@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500 800;font-display:swap;src:url(/static/fonts/bricolage-grotesque-normal-500.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/static/fonts/ibm-plex-mono-normal-400.woff2) format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/static/fonts/ibm-plex-mono-normal-500.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;src:url(/static/fonts/source-serif-4-normal-400.woff2) format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:400;font-display:swap;src:url(/static/fonts/source-serif-4-italic-400.woff2) format('woff2')}
:root{
  --bg:#FAFAF7;--panel:#FFFFFF;--panel2:#F1F3EE;--ink:#10211C;--muted:#5F6B66;--line:#DCE1DC;--line2:#EEF1EC;
  --accent:#0B6E4F;--accent-ink:#FFFFFF;--accent-soft:#E3F1EA;--amber:#C77D00;--amber-soft:#FBF0DA;--good:#1F7A3A;--warn:#8A5A00;
  --shadow:0 1px 2px rgba(16,33,28,.06),0 8px 24px rgba(16,33,28,.06);
  --display:"Bricolage Grotesque",system-ui,sans-serif;--body:"Source Serif 4",Georgia,serif;--mono:"IBM Plex Mono",ui-monospace,monospace;
  --ui:"Bricolage Grotesque",system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0F1714;--panel:#16211C;--panel2:#1B2722;--ink:#E9EEEA;--muted:#9AA8A1;--line:#2A3630;--line2:#22302A;--accent:#4CC38A;--accent-ink:#0B1A14;--accent-soft:#173A2A;--amber:#F0B44C;--amber-soft:#3A2D12;--good:#7BD497;--warn:#F0C36A;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35)}}
:root[data-theme="dark"]{--bg:#0F1714;--panel:#16211C;--panel2:#1B2722;--ink:#E9EEEA;--muted:#9AA8A1;--line:#2A3630;--line2:#22302A;--accent:#4CC38A;--accent-ink:#0B1A14;--accent-soft:#173A2A;--amber:#F0B44C;--amber-soft:#3A2D12;--good:#7BD497;--warn:#F0C36A;--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.6 var(--body);padding-block:0;padding-inline:clamp(16px,4vw,48px)}
a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:3px}
h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.015em;line-height:1.08;margin:0;text-wrap:balance}
h1{font-size:clamp(34px,5.4vw,64px);font-weight:800}
h2{font-size:clamp(26px,3.2vw,38px);font-weight:700}
h3{font-size:20px;font-weight:700}
h4{font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
p{margin:0}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--panel);padding:8px;z-index:20}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow a{color:inherit}
.lede{font-size:clamp(17px,1.6vw,21px);max-width:62ch;color:var(--ink)}
.muted{color:var(--muted)}
.note{color:var(--muted);font-size:15px;max-width:72ch;margin-top:12px}
.btn{display:inline-block;font:700 15px/1 var(--ui);background:var(--accent);color:var(--accent-ink);padding:14px 20px;border-radius:8px;text-decoration:none;border:1px solid var(--accent);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.small{padding:10px 14px;font-size:14px}
.btn:focus-visible,a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* nav */
.top{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line2);margin-inline:calc(-1*clamp(16px,4vw,48px));padding-inline:clamp(16px,4vw,48px)}
.nav{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:24px;height:64px}
.brand{font:800 20px/1 var(--display);color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:10px;letter-spacing:-.02em}
.brand-mark{width:22px;height:22px;border-radius:6px;background:var(--accent);position:relative}
.brand-mark::before{content:"";position:absolute;inset:5px 5px;background:repeating-linear-gradient(to bottom,var(--accent-ink) 0 2px,transparent 2px 6px)}
.navlinks{list-style:none;margin:0 0 0 auto;padding:0;display:flex;gap:4px}
.navlinks a{font:600 14px/1 var(--ui);color:var(--ink);text-decoration:none;padding:10px 12px;border-radius:6px}
.navlinks a:hover{background:var(--panel2)}
.nav-toggle{display:none;margin-left:auto;font:600 14px var(--ui);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:8px 12px;color:var(--ink)}
@media (max-width:820px){.nav-toggle{display:block}.navlinks{display:none;position:absolute;left:0;right:0;top:64px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;padding:8px clamp(16px,4vw,48px) 16px;margin:0}.navlinks.open{display:flex}}
/* layout */
main{max-width:1180px;margin:0 auto;padding-block:24px 64px}
section{margin-block:56px}
.section-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:22px}
.section-head p{color:var(--muted)}
.page-head{margin-block:36px 28px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
/* hero */
.hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:40px;align-items:center;margin-block:40px 32px}
.hero-copy{display:grid;gap:18px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.hero-viz{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow)}
.viz-head{display:flex;justify-content:space-between;gap:12px;font:700 16px var(--display);margin-bottom:14px}
.viz-note{font:500 12px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;align-self:center}
.viz-bars{display:grid;gap:10px}
.vbar{display:grid;grid-template-columns:86px 1fr 74px;align-items:center;gap:10px;font:500 13px var(--mono)}
.vbar .vtrack{height:14px;background:var(--panel2);border-radius:7px;overflow:hidden}
.vbar .vfill{height:100%;width:var(--w,50%);background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 60%,var(--amber)));border-radius:7px;transition:width .9s cubic-bezier(.2,.8,.2,1)}
.vbar b{text-align:right;font-weight:500;color:var(--ink)}
@media (max-width:820px){.hero{grid-template-columns:1fr}}
/* stats */
.band{background:var(--panel2);margin-inline:calc(-1*clamp(16px,4vw,48px));padding:28px clamp(16px,4vw,48px)}
.stats,.statrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:18px;max-width:1180px;margin:0 auto}
.stat b{display:block;font:800 clamp(24px,3vw,34px)/1.05 var(--display);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.stat span{display:block;color:var(--muted);font-size:14px;margin-top:6px}
.statrow{margin:22px 0 0;width:100%;max-width:none;justify-self:stretch}
/* career cards */
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.ccard{display:grid;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}
.ccard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent)}
.ccard-cluster{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ccard-title{font:700 20px/1.15 var(--display)}
.ccard-tag{color:var(--muted);font-size:15px;line-height:1.4}
.ccard-ladder{display:grid;gap:4px;margin-top:6px}
.ccard-ladder i{display:block;height:6px;border-radius:3px;background:var(--panel2);position:relative;overflow:hidden}
.ccard-ladder i::after{content:"";position:absolute;inset:0;width:var(--w);background:var(--accent);border-radius:3px}
.ccard-nums{font:500 13px var(--mono);color:var(--muted)}.ccard-nums b{color:var(--ink);font-weight:500}.sep{opacity:.6}
/* ladder */
.ladder{display:grid;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px}
.rung{display:grid;grid-template-columns:150px 1fr;gap:6px 16px;align-items:center}
.rung-label b{display:block;font:700 15px var(--display)}.rung-label span{font:500 12px var(--mono);color:var(--muted)}
.rung-track{position:relative;height:22px;background:var(--panel2);border-radius:6px}
.rung-band{position:absolute;top:0;bottom:0;left:var(--lo);width:max(9%,calc(var(--hi) - var(--lo)));background:var(--accent-soft);border-radius:6px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}
.rung-median{position:absolute;left:calc((var(--md) - var(--lo)) / (var(--hi) - var(--lo)) * 100%);top:50%;transform:translate(-50%,-50%);background:var(--accent);color:var(--accent-ink);font:500 12px var(--mono);padding:2px 7px;border-radius:999px;white-space:nowrap}
.rung-range{grid-column:2;display:flex;justify-content:space-between;font:500 12px var(--mono);color:var(--muted);margin-top:-4px}
.ladder.mini{padding:14px}.ladder.mini .rung{grid-template-columns:110px 1fr}
@media (max-width:640px){.rung{grid-template-columns:1fr}.rung-range{grid-column:1}}
.outlook{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-top:18px}
.outlook div{background:var(--panel2);border-radius:10px;padding:14px}.outlook b{display:block;font:800 26px/1 var(--display);text-transform:capitalize}.outlook span{color:var(--muted);font-size:13px}
.tool-link{margin-top:16px}
/* career page */
.chead{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-block:20px 8px}
.subnav{position:sticky;top:64px;z-index:5;display:flex;gap:2px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--line);padding:8px 0;margin-bottom:8px;scrollbar-width:none}
.subnav a{font:600 13px/1 var(--ui);color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:6px;white-space:nowrap}.subnav a:hover,.subnav a.on{color:var(--ink);background:var(--panel2)}
.prose{max-width:72ch}.prose p{margin-bottom:14px}.prose h2{margin-bottom:14px}.prose h3{margin:24px 0 8px}.prose ul{padding-left:20px;margin:0 0 14px}.prose li{margin:4px 0}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;max-width:none}
.day{padding-left:20px}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.path{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:10px;align-content:start}
.path p{color:var(--muted);font-size:15px}
.path-meta{display:flex;gap:16px;align-items:center;font:500 12px var(--mono);color:var(--muted);margin-top:auto}.path-meta b{color:var(--ink);font-weight:500}
.diff{display:inline-flex;gap:3px}.diff i{width:8px;height:8px;border-radius:2px;background:var(--panel2);border:1px solid var(--line)}.diff i.on{background:var(--amber);border-color:var(--amber)}
/* roadmap */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:0}
.step{display:grid;grid-template-columns:56px 1fr;gap:16px}
.step-rail{position:relative}.step-rail::before{content:"";position:absolute;left:19px;top:40px;bottom:-8px;width:2px;background:var(--line)}
.step:last-child .step-rail::before{display:none}
.step-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font:800 16px var(--display)}
.step-body{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin-bottom:16px;display:grid;gap:10px}
.step-what{font-size:16px}.step-why{color:var(--muted);font-size:15px}
.reslist{list-style:none;margin:4px 0 0;padding:0;display:grid;gap:8px}
.res{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:start}
.res-type{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel2);border-radius:4px;padding:5px 6px;text-align:center}
.res-body{display:grid}.res-body small{color:var(--muted);font-size:13px}
.step-meta{display:flex;gap:18px;font:500 12px var(--mono);color:var(--muted);border-top:1px solid var(--line2);padding-top:10px}.step-meta b{color:var(--ink);font-weight:500}
@media (max-width:640px){.step{grid-template-columns:40px 1fr}.step-rail::before{left:12px}.step-n{width:26px;height:26px;font-size:12px}}
/* certs */
.certgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.certcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:8px;align-content:start}
.certcard.req{border-color:var(--amber)}
.pill{justify-self:start;font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);padding:4px 8px;border-radius:999px}
.certcard.req .pill{background:var(--amber-soft);color:var(--warn)}
.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:6px 0 0;font-size:14px}.kv dt{color:var(--muted)}.kv dd{margin:0}
.kv.wide{margin-top:18px;font-size:16px;max-width:72ch}
.skills{margin-top:26px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.chip{font:600 13px/1 var(--ui);background:var(--panel2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;color:var(--ink)}
.chip.tool{background:var(--accent-soft);border-color:transparent;color:var(--accent)}
button.chip{cursor:pointer}button.chip.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
/* courses */
.courses{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.course{display:grid;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.course:hover{border-color:var(--accent);transform:translateY(-2px)}
.course-prov{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.course-name{font:700 17px/1.25 var(--display)}
.course-meta{font:500 12px var(--mono);color:var(--muted)}
.course-why{font-size:14px;color:var(--muted)}
.course[hidden]{display:none}
/* faq, tables */
.faq{border-top:1px solid var(--line);padding:12px 0}.faq summary{cursor:pointer;font:700 17px var(--display);list-style:none;display:flex;justify-content:space-between;gap:12px}.faq summary::after{content:"+";color:var(--accent);font-weight:400}.faq[open] summary::after{content:"–"}.faq p{margin-top:10px;color:var(--ink)}
.table-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th{text-align:left;font:600 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}
.tbl td{padding:12px;border-bottom:1px solid var(--line2);vertical-align:top;font-variant-numeric:tabular-nums}
.tbl.cmp td:first-child{color:var(--muted);width:200px}
.sortable th[data-num]{cursor:pointer}
.sources{font-size:13px;color:var(--muted);margin-top:40px;line-height:1.8}
.related{margin-top:48px}
.vs{color:var(--muted);font-weight:500;font-size:.6em}
.linklist{columns:2;gap:32px;padding-left:20px}.linklist li{margin:6px 0;break-inside:avoid}@media (max-width:640px){.linklist{columns:1}}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.filters input{font:16px var(--body);padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);width:min(100%,520px)}
/* tools */
.tgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.tcard{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:20px;text-decoration:none;color:var(--ink);display:grid;gap:8px;transition:border-color .15s,transform .15s}.tcard:hover{border-color:var(--accent);transform:translateY(-2px)}.tcard p{color:var(--muted);font-size:15px}
.tool{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:24px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:var(--shadow)}
@media (max-width:820px){.tool{grid-template-columns:1fr}}
.tool-form{display:grid;gap:14px;align-content:start}
.tool-form label{display:grid;gap:6px;font:600 13px var(--ui);color:var(--muted)}
.tool-form select,.tool-form input[type=number],.tool-form input[type=date]{font:16px var(--body);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink)}
.tool-form input[type=range]{width:100%}.tool-form output{font:500 14px var(--mono);color:var(--ink)}
.tool-out{display:grid;gap:16px;align-content:start}
.big b{display:block;font:800 clamp(34px,5vw,56px)/1 var(--display);font-variant-numeric:tabular-nums;margin:6px 0}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.timeline li{display:grid;grid-template-columns:110px 1fr;gap:12px;font-size:15px;padding:8px 0;border-bottom:1px solid var(--line2)}
.timeline li span:first-child{font:500 13px var(--mono);color:var(--muted)}
/* quiz */
.quiz{max-width:720px}
.qprog{height:6px;background:var(--panel2);border-radius:3px;overflow:hidden;margin-bottom:20px}.qbar{height:100%;width:0;background:var(--accent);transition:width .3s}
.qcard{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:var(--shadow)}
.qcard h2{font-size:24px;margin-bottom:16px}
.qopts{display:grid;gap:10px}
.qopt{text-align:left;font:16px var(--body);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px 16px;color:var(--ink);cursor:pointer;transition:border-color .15s,transform .15s}.qopt:hover{border-color:var(--accent);transform:translateX(2px)}
.qnav{display:flex;justify-content:space-between;margin-top:16px}.qnav button{font:600 14px var(--ui);background:transparent;border:1px solid var(--line);border-radius:8px;padding:8px 12px;color:var(--ink);cursor:pointer}
.qresults{display:grid;gap:14px}
.qres{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:8px}
.qres.top{border-color:var(--accent);box-shadow:var(--shadow)}
.qres-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.qres-head b{font:700 20px var(--display)}.qres-head span{font:500 12px var(--mono);color:var(--muted)}
.qres-score{height:6px;background:var(--panel2);border-radius:3px;overflow:hidden}.qres-score i{display:block;height:100%;width:var(--w);background:var(--accent)}
/* glossary */
.gl{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px 28px;margin:0}
.gl div{padding:12px 0;border-top:1px solid var(--line2)}.gl dt{font:700 16px var(--display)}.gl dd{margin:4px 0 0;font-size:15px;color:var(--muted)}
/* footer */
.foot{max-width:1180px;margin:40px auto 0;padding-block:32px 24px;border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
.foot-h{font:700 13px/1 var(--display);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px}.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.foot ul a{color:var(--ink);text-decoration:none;font-size:15px}.foot ul a:hover{text-decoration:underline}
.foot-tag{color:var(--muted);font-size:14px;max-width:44ch;margin-top:10px}
.foot-legal{color:var(--muted);font-size:13px;max-width:90ch;margin-top:24px}
@media (max-width:720px){.foot-grid{grid-template-columns:1fr 1fr}}
/* motion */
.reveal{animation:rise .6s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{transform:translateY(12px);opacity:.001}to{transform:none;opacity:1}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---- review additions ---- */
.viz-bars{display:grid;gap:10px;min-height:126px}
.crumbs{margin:14px 0 0}.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;font:500 12px/1.4 var(--mono);color:var(--muted)}.crumbs li+li::before{content:"/";margin-right:6px;opacity:.6}.crumbs a{color:inherit}
.checked{font:500 13px/1.5 var(--mono);color:var(--muted)}.checked a{color:inherit}
.stat-src{font:500 11px var(--mono);color:var(--muted);text-decoration:underline dotted;margin-left:4px}
.keyfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 28px;margin:22px 0 0;padding:6px 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px;font-size:15.5px}
.keyfacts div{padding:12px 0;border-bottom:1px solid var(--line2)}.keyfacts dt{font:700 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.keyfacts dd{margin:0;line-height:1.55}
.cite{font-size:.86em;color:var(--muted)}.cite a{color:inherit}
.capsule{background:var(--accent-soft);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;padding:14px 18px;margin:0 0 20px;font-size:17px;line-height:1.6;max-width:78ch}
.capsule.big{font-size:clamp(18px,1.6vw,21px);max-width:none;margin:8px 0 26px}
.prose .capsule{margin-bottom:18px}
.pullquote{margin:28px 0;padding:22px 26px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.pullquote blockquote{margin:0}.pullquote p{font:italic 500 clamp(18px,1.8vw,23px)/1.4 var(--body);text-wrap:balance}.pullquote figcaption{margin-top:12px;font:500 13px var(--mono);color:var(--muted)}.pullquote cite{font-style:normal}
.method summary{cursor:pointer;font:600 14px var(--ui);color:var(--muted);margin-top:12px}.method p{color:var(--muted);font-size:15px;margin-top:8px;max-width:80ch}
.linkbtn{font:inherit;color:var(--accent);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.linklist{list-style:none;margin:0;padding:0;display:grid;gap:8px}.linklist.inline{display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:18px}.linklist.cols{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:6px 24px}.linklist li[hidden]{display:none}
.progress{margin:0 0 18px}.progress .qprog{margin-bottom:8px}.progress p{font:500 13px var(--mono)}
.step-check{display:flex;gap:10px;align-items:flex-start;cursor:pointer}.step-check input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--accent);flex:none}.step.done .step-body{opacity:.72}.step.done .step-check span{text-decoration:line-through;text-decoration-thickness:1.5px}
.tbl caption{caption-side:bottom;text-align:left;font:500 13px/1.5 var(--mono);color:var(--muted);padding:10px 0 0}
.tbl th[scope=row]{font:600 15px var(--body);color:var(--ink);text-transform:none;letter-spacing:0;padding:12px;border-bottom:1px solid var(--line2);vertical-align:top}
.tbl.cmp th[scope=row]{color:var(--muted);font-weight:500;width:180px}
.tbl.data td,.tbl.data th{font-size:14.5px}
.sources ol{padding-left:20px;margin:8px 0 0}.sources li{margin:4px 0;overflow-wrap:anywhere}.sources h2{font-size:20px;color:var(--ink)}
.gcard{display:grid;gap:8px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s,border-color .15s}.gcard:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--accent)}
.guide .chead{max-width:80ch}.guide-body{min-width:0}.keynums div{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;margin-top:8px}
.guide-body h2{margin:34px 0 12px;font-size:clamp(22px,2.6vw,30px)}.guide-body h3{margin:22px 0 8px}.guide-body table{margin:6px 0 14px}.guide-body blockquote{margin:0 0 14px;padding-left:16px;border-left:3px solid var(--line);color:var(--muted)}
.guide-side{position:sticky;top:84px;display:grid;gap:22px}.toc ol{margin:0;padding-left:18px;font-size:14px;display:grid;gap:6px}.toc a{color:var(--ink);text-decoration:none}.toc a:hover{text-decoration:underline}
.sidecards{display:grid;gap:10px}.sidecards .ccard{padding:14px}.sidecards .ccard-tag{display:none}
.keynums{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:0 0 22px}.keynums dl{margin:0;display:grid;gap:8px}.keynums div{display:grid;grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:12px;font-size:14.5px;border-top:1px solid var(--line2);padding-top:8px}.keynums div:first-child{border:0;padding:0}.keynums dt{color:var(--muted)}.keynums dd{margin:0}
.citebox{margin:28px 0 0;padding:14px 18px;background:var(--panel2);border-radius:10px;font-size:14px}
.courses-inline{margin-top:32px}.courses-inline h2{margin-bottom:14px}
.picker{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-top:10px}.picker label{display:grid;gap:6px;font:600 13px var(--ui);color:var(--muted)}.picker select{font:16px var(--body);padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);max-width:100%}.picker label{min-width:0;max-width:100%}.picker{max-width:100%}
.home-method{margin-block:40px}
.qshare{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:14px}.qshare input{font:14px var(--mono);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);min-width:min(100%,360px)}
@media (max-width:900px){.guide-grid{grid-template-columns:minmax(0,1fr)}.guide-side{position:static}}
@media print{.top,.foot,.subnav,.crumbs,.hero-viz,.tool-link,.courses,#courses,#interview,#compare,#guides,.related,.progress,.linkbtn,.step-check input,.pullquote,.skip{display:none!important}body{padding:0;font-size:12pt;color:#000;background:#fff}.step-body{border:0;padding:0 0 10px;break-inside:avoid}.step-rail::before{display:none}.capsule{background:none;border-left:2px solid #000}a{color:#000;text-decoration:none}.keyfacts{border:0;padding:0}}

.guide-body p,.guide-body li,.guide-body dd{overflow-wrap:anywhere}
select{max-width:100%;min-width:0}
.tool{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.tool-form{min-width:0}.tool-form select,.tool-form input[type=number],.tool-form input[type=date]{width:100%;min-width:0}
@media (max-width:820px){.tool{grid-template-columns:minmax(0,1fr)}}
.picker label{flex:1 1 200px}.picker select{width:100%}
.tool-form label{min-width:0;grid-template-columns:minmax(0,1fr)}
.tool-out{min-width:0}.big b{overflow-wrap:anywhere}.kv{grid-template-columns:minmax(0,auto) minmax(0,1fr)}.kv dd{overflow-wrap:anywhere}
.tool-out{grid-template-columns:minmax(0,1fr)}.tool-out>*{min-width:0}
.note,.muted,.step-why,.course-why{overflow-wrap:anywhere}
