/* Bootstrapper.com v2 design system */
@font-face{font-family:"Fraunces";src:url(fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:300 900;font-display:optional}
@font-face{font-family:"Inter";src:url(fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
 --paper:#F6F2EA;--paper-2:#EFE9DD;--card:#FFFDF8;--ink:#0D1620;--ink-2:#2A3542;--muted:#5D6772;--line:#E1D8C8;--line-2:#CFC3AE;
 --brass:#B07D2B;--brass-2:#8A5F1A;--brass-soft:#F3E6CC;--pine:#1F5A47;--pine-soft:#DCEBE3;--rust:#A6402B;--rust-soft:#F5DDD6;--amber:#9A6A12;--amber-soft:#F7E9C8;
 --c1:#1F5A47;--c2:#B07D2B;--c3:#2F4C6E;--c4:#A6402B;--chart-ink:#0D1620;
 --serif:"Fraunces",ui-serif,Georgia,"Times New Roman",serif;--sans:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 --r-sm:8px;--r:14px;--r-lg:22px;--shadow:0 1px 0 rgba(13,22,32,.04),0 10px 30px -12px rgba(13,22,32,.18);--shadow-lg:0 30px 60px -25px rgba(13,22,32,.35);
 --wrap:1200px;--read:720px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:72px;--s9:112px;
 color-scheme:light}
[data-theme=dark]{--paper:#0B1118;--paper-2:#111A24;--card:#131D28;--ink:#F2EEE6;--ink-2:#D7D1C5;--muted:#9AA4AF;--line:#223040;--line-2:#2F4054;
 --brass:#D6A24C;--brass-2:#E8BC6E;--brass-soft:#2A2213;--pine:#5CC29B;--pine-soft:#12291F;--rust:#E07A62;--rust-soft:#2E1712;--amber:#E2B24F;--amber-soft:#2A2210;
 --c1:#5CC29B;--c2:#D6A24C;--c3:#7FA6D6;--c4:#E07A62;--chart-ink:#F2EEE6;--shadow:0 1px 0 rgba(0,0,0,.3),0 12px 30px -12px rgba(0,0,0,.6);color-scheme:dark}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:560;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em;font-variation-settings:"SOFT" 30,"opsz" 96}
h1{font-size:clamp(2.4rem,5.6vw,4.6rem);letter-spacing:-.03em}h2{font-size:clamp(1.7rem,3vw,2.5rem)}h3{font-size:1.3rem;line-height:1.25}
p{margin:0 0 1em}.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(18px,4vw,40px)}
.eyebrow{font:600 .74rem/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);margin:0 0 var(--s4);display:inline-flex;gap:10px;align-items:center}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.lede{font-size:clamp(1.08rem,1.6vw,1.28rem);color:var(--ink-2);max-width:62ch}
.muted{color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 14px;border-radius:8px;z-index:99}.skip-link:focus{left:8px}
:focus-visible{outline:3px solid var(--brass);outline-offset:2px;border-radius:4px}
/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;font:600 .95rem/1 var(--sans);padding:14px 20px;border-radius:999px;border:1px solid transparent;text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{box-shadow:var(--shadow)}
.btn-brass{background:var(--brass);color:#fff}.btn-ghost{border-color:var(--line-2);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--card)}
.btn[disabled]{opacity:.55;cursor:not-allowed;transform:none}.btn-sm{padding:9px 14px;font-size:.85rem}
.link-arrow{font-weight:600;text-decoration:none;border-bottom:1px solid var(--brass);padding-bottom:1px}.link-arrow::after{content:" →"}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line)}
.hdr{display:flex;align-items:center;gap:var(--s5);height:70px}.brand img{height:34px;width:auto}.brand .logo-dark{display:none}[data-theme=dark] .brand .logo-light{display:none}[data-theme=dark] .brand .logo-dark{display:block}
.nav{display:flex;gap:2px;margin-left:auto;align-items:center}.nav a{text-decoration:none;font-weight:500;font-size:.93rem;padding:8px 12px;border-radius:999px;color:var(--ink-2)}.nav a:hover,.nav a[aria-current]{background:var(--paper-2);color:var(--ink)}
.nav .nav-cta{background:var(--ink);color:var(--paper);margin-left:8px}.nav .nav-cta:hover{background:var(--ink-2);color:var(--paper)}
.icon-btn{width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);display:grid;place-items:center;cursor:pointer}
.menu-btn{display:none}
@media(max-width:960px){.menu-btn{display:grid;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 18px 20px}.nav.open{display:flex}.nav a{padding:12px}.nav .nav-cta{margin:8px 0 0;text-align:center}.hdr .theme-btn{margin-left:0}}
/* sections */
.section{padding:var(--s9) 0}.section.tight{padding:var(--s8) 0}.band{background:var(--paper-2);border-block:1px solid var(--line)}
.ink-band{background:var(--ink);color:var(--paper)}.ink-band .eyebrow{color:var(--brass)}.ink-band .lede{color:color-mix(in srgb,var(--paper) 80%,transparent)}
[data-theme=dark] .ink-band{background:#060A0F}
.sec-head{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);align-items:end;margin-bottom:var(--s7)}.sec-head p{color:var(--muted);margin:0}
@media(max-width:800px){.sec-head{grid-template-columns:1fr}.section{padding:var(--s8) 0}}
/* home hero */
.hero{padding:clamp(48px,8vw,104px) 0 clamp(48px,7vw,96px);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 400px at 85% 10%,color-mix(in srgb,var(--brass) 18%,transparent),transparent 70%),radial-gradient(600px 300px at 0% 100%,color-mix(in srgb,var(--pine) 10%,transparent),transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center;position:relative}
.hero h1 em{font-style:italic;color:var(--brass-2);font-weight:480}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin:var(--s6) 0 var(--s5)}
.proof{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.86rem;color:var(--muted);list-style:none;padding:0;margin:0}.proof li::before{content:"✓ ";color:var(--pine);font-weight:700}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
/* mini analyzer card */
.mini{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:var(--s5);position:relative}
.mini-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--s4)}.mini-top b{font:600 .8rem var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.chip{font:600 .72rem/1 var(--sans);padding:6px 10px;border-radius:999px;background:var(--pine-soft);color:var(--pine)}
.mini .fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini .kpis{grid-template-columns:1fr 1fr}
/* forms */
.field{display:flex;flex-direction:column;gap:6px}.field>span{font-weight:600;font-size:.88rem}.field small{color:var(--muted);font-size:.78rem;line-height:1.4}
.inp{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper);padding:0 12px;transition:border .15s,box-shadow .15s}
.inp:focus-within{border-color:var(--brass);box-shadow:0 0 0 4px color-mix(in srgb,var(--brass) 18%,transparent)}
.inp input,.inp select{flex:1;min-width:0;border:0;background:transparent;font:500 1rem var(--sans);color:var(--ink);padding:11px 0;outline:none;font-variant-numeric:tabular-nums}
.inp i{font-style:normal;color:var(--muted);font-size:.9rem}
input[type=range]{accent-color:var(--brass);width:100%}
.check{display:flex;gap:10px;align-items:center;font-size:.9rem}
/* KPIs & results */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.kpi{border:1px solid var(--line);border-radius:var(--r);padding:14px 16px;background:var(--card)}.kpi span{display:block;font-size:.78rem;color:var(--muted);font-weight:500}
.kpi b{font:600 1.35rem/1.2 var(--sans);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.kpi.hero{grid-column:1/-1;background:var(--ink);color:var(--paper);border-color:var(--ink)}.kpi.hero span{color:color-mix(in srgb,var(--paper) 70%,transparent)}.kpi.hero b{font:500 2.6rem/1.1 var(--serif)}
[data-theme=dark] .kpi.hero{background:var(--brass-soft);color:var(--ink);border-color:var(--line-2)}
.verdict{border-radius:var(--r);padding:14px 16px;margin:14px 0;font-size:.95rem;border:1px solid}
.verdict.good{background:var(--pine-soft);border-color:color-mix(in srgb,var(--pine) 35%,transparent);color:var(--pine)}.verdict.warn{background:var(--amber-soft);border-color:color-mix(in srgb,var(--amber) 35%,transparent);color:var(--amber)}
.verdict.bad{background:var(--rust-soft);border-color:color-mix(in srgb,var(--rust) 35%,transparent);color:var(--rust)}.verdict.info{background:var(--paper-2);border-color:var(--line);color:var(--ink-2)}
.chart{margin:18px 0 0}.chart figcaption{font-weight:600;font-size:.85rem;margin-bottom:8px}.chart svg rect:first-child{rx:6}.chart svg text{font:11px var(--sans);fill:var(--muted)}
.chart svg[preserveAspectRatio]{border-radius:8px;overflow:hidden}
.legend{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}.legend b{color:var(--ink);font-weight:600}
.hbars{display:grid;gap:8px}.hbar{display:grid;grid-template-columns:minmax(110px,180px) 1fr 84px;gap:10px;align-items:center;font-size:.85rem}.hbar div{height:12px;background:var(--paper-2);border-radius:99px;overflow:hidden}.hbar i{display:block;height:100%;border-radius:99px}.hbar b{text-align:right;font-variant-numeric:tabular-nums}
.gauge{position:relative;height:56px}.gz{position:absolute;top:8px;left:0;right:0;height:14px;border-radius:99px;background:linear-gradient(90deg,var(--rust) 0 var(--o),var(--amber) var(--o) var(--t),var(--pine) var(--t))}
.gneedle{position:absolute;top:0;width:4px;height:30px;margin-left:-2px;background:var(--ink);border-radius:2px;box-shadow:0 0 0 3px var(--card);transition:left .3s}.gt{position:absolute;top:34px;transform:translateX(-50%);font-size:.72rem;color:var(--muted);white-space:nowrap}
/* tool page */
.tool-hero{padding:clamp(40px,6vw,72px) 0 var(--s6)}.tool-shell{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s5);align-items:start}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(18px,3vw,28px);box-shadow:var(--shadow)}
.panel h2{font-size:1.25rem;margin-bottom:var(--s4)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid .full{grid-column:1/-1}
fieldset{border:0;padding:0;margin:0 0 18px}legend{font:600 .74rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--brass-2);margin-bottom:10px}
.results-panel{position:sticky;top:90px}.tool-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
@media(max-width:900px){.tool-shell{grid-template-columns:1fr}.results-panel{position:static}}@media(max-width:520px){.form-grid{grid-template-columns:1fr}}
.amort{margin-top:16px}.amort summary{cursor:pointer;font-weight:600}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px}.steps li{counter-increment:s;padding-left:44px;position:relative}.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:99px;background:var(--brass-soft);color:var(--brass-2);display:grid;place-items:center;font-weight:700;font-size:.85rem}
/* cards & grids */
.grid{display:grid;gap:var(--s4)}.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);text-decoration:none;display:flex;flex-direction:column;gap:8px;transition:transform .18s,box-shadow .18s,border-color .18s}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-2)}.card h3{margin:0}.card p{color:var(--muted);margin:0;font-size:.94rem}.card .go{margin-top:auto;padding-top:8px;font-weight:600;font-size:.88rem;color:var(--brass-2)}
.tag{font:600 .7rem/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.tool-card{position:relative}.tool-card .ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--brass-soft);color:var(--brass-2);font:600 1.1rem var(--serif)}
.tool-card.flag{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tool-card.flag p{color:color-mix(in srgb,var(--paper) 72%,transparent)}.tool-card.flag .go{color:var(--brass)}.tool-card.flag .ico{background:var(--brass);color:var(--ink)}
.new{position:absolute;top:18px;right:18px;font:700 .65rem/1 var(--sans);letter-spacing:.12em;padding:5px 8px;border-radius:99px;background:var(--brass);color:#fff}
/* job rail */
.jobs{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--card)}
.job{padding:var(--s5);text-decoration:none;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:10px;transition:background .15s}.job:last-child{border-right:0}.job:hover{background:var(--paper-2)}
.job .n{font:500 2.2rem/1 var(--serif);color:var(--brass)}.job h3{font-size:1.15rem;margin:0}.job p{font-size:.88rem;color:var(--muted);margin:0}.job ul{list-style:none;padding:0;margin:4px 0 0;font-size:.84rem;display:grid;gap:4px}.job li::before{content:"→ ";color:var(--brass)}
@media(max-width:1000px){.jobs{grid-template-columns:1fr 1fr}.job{border-bottom:1px solid var(--line)}}@media(max-width:600px){.jobs{grid-template-columns:1fr}.job{border-right:0}}
/* principles */
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s6)}.principles h3{font-size:1.2rem}.principles p{color:color-mix(in srgb,var(--paper) 75%,transparent);font-size:.95rem}
.principles .k{font:600 .8rem var(--mono);color:var(--brass)}@media(max-width:800px){.principles{grid-template-columns:1fr}}
/* article */
.article-hero{padding:clamp(40px,6vw,80px) 0 var(--s6);border-bottom:1px solid var(--line)}.article-hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:20ch}
.crumbs{font-size:.84rem;color:var(--muted);margin-bottom:var(--s5);display:flex;flex-wrap:wrap;gap:6px}.crumbs a{text-decoration:none}.crumbs a:hover{text-decoration:underline}
.meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;color:var(--muted);margin-top:var(--s4)}.meta span+span::before{content:"·";margin-right:18px}
.layout{display:grid;grid-template-columns:240px minmax(0,var(--read)) 1fr;gap:clamp(24px,4vw,56px);padding-top:var(--s7);padding-bottom:var(--s8)}
.toc{position:sticky;top:96px;align-self:start;font-size:.86rem;max-height:calc(100vh - 120px);overflow:auto}.toc strong{display:block;font:600 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.toc a{display:block;text-decoration:none;padding:6px 0 6px 12px;border-left:2px solid var(--line);color:var(--ink-2)}.toc a:hover,.toc a.active{border-color:var(--brass);color:var(--ink)}
.rail{position:sticky;top:96px;align-self:start;display:grid;gap:12px}.rail .card{padding:18px}
@media(max-width:1180px){.layout{grid-template-columns:220px minmax(0,1fr)}.rail{grid-column:2;position:static;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}
@media(max-width:860px){.layout{grid-template-columns:1fr}.toc{position:static;max-height:none;border:1px solid var(--line);border-radius:var(--r);padding:16px;background:var(--card)}.rail{grid-column:1}}
.prose{font-size:1.06rem;line-height:1.75}.prose h2{margin:2.2em 0 .6em;font-size:clamp(1.55rem,2.6vw,2.05rem)}.prose h3{margin:1.8em 0 .5em}
.prose a{text-decoration-color:var(--brass);text-underline-offset:3px;text-decoration-thickness:1.5px}.prose ul,.prose ol{padding-left:1.25em}.prose li{margin:.35em 0}.prose li::marker{color:var(--brass)}
.prose strong{font-weight:650}.prose section:first-child h2{margin-top:0}
.responsive-table{overflow-x:auto;margin:1.4em 0;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}table{border-collapse:collapse;width:100%;font-size:.92rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:650;background:var(--paper-2)}tr:last-child td{border-bottom:0}
.formula-card{border-left:3px solid var(--brass);background:var(--brass-soft);padding:16px 20px;border-radius:0 var(--r) var(--r) 0;margin:1.4em 0}.formula-card p{margin:.3em 0}
pre.template{white-space:pre-wrap;background:var(--card);border:1px dashed var(--line-2);border-radius:var(--r);padding:20px;font:.86rem/1.6 var(--mono);overflow:auto}
.faq h3{font-size:1.1rem;font-family:var(--sans);font-weight:650;letter-spacing:0}
.inline-tool{display:flex;gap:16px;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:20px 24px;margin:2em 0;flex-wrap:wrap}
.inline-tool small{font:600 .7rem var(--sans);letter-spacing:.14em;color:var(--brass)}.inline-tool h3{color:var(--paper);margin:4px 0}.inline-tool p{margin:0;font-size:.9rem;color:color-mix(in srgb,var(--paper) 72%,transparent)}.inline-tool .btn{background:var(--brass);color:#fff}
/* placeholders */
.placeholder{border:1.5px dashed var(--line-2);border-radius:var(--r-lg);padding:var(--s5);background:repeating-linear-gradient(135deg,transparent 0 12px,color-mix(in srgb,var(--line) 30%,transparent) 12px 13px)}
.ph-label{display:inline-block;font:700 .66rem/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:var(--amber-soft);color:var(--amber);margin-bottom:10px}
.lead h3{margin:.2em 0}.lead p{color:var(--muted);font-size:.92rem}.lead form{display:grid;gap:10px;margin-top:12px}
/* newsletter */
.nl{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--s6);align-items:center;background:var(--ink);color:var(--paper);border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);position:relative;overflow:hidden}
.nl::after{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;border:1px solid color-mix(in srgb,var(--brass) 50%,transparent)}
.nl h2{color:var(--paper)}.nl .eyebrow{color:var(--brass)}.nl ul{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:.94rem;color:color-mix(in srgb,var(--paper) 80%,transparent)}.nl li::before{content:"◆ ";color:var(--brass);font-size:.7em}
.nl form{display:grid;gap:10px;position:relative;z-index:1}.nl .inp{background:color-mix(in srgb,var(--paper) 8%,transparent);border-color:color-mix(in srgb,var(--paper) 25%,transparent)}.nl .inp input{color:var(--paper)}
.nl small{font-size:.78rem;color:color-mix(in srgb,var(--paper) 60%,transparent)}.nl .ph-label{background:color-mix(in srgb,var(--brass) 25%,transparent);color:var(--brass)}
[data-theme=dark] .nl{background:var(--card);border:1px solid var(--line)}
@media(max-width:800px){.nl{grid-template-columns:1fr}}
.disclaimer{font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:2.5em}
/* checklist */
.ck-top{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;position:sticky;top:70px;z-index:5;background:var(--paper);padding:14px 0;border-bottom:1px solid var(--line)}
.progress{flex:1;min-width:200px;height:10px;background:var(--paper-2);border-radius:99px;overflow:hidden}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--pine),var(--brass));width:0;transition:width .3s}
.ck-group{margin-top:28px}.ck-group h2{font-size:1.4rem;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.ck-group h2 small{font:600 .82rem var(--sans);color:var(--muted)}
.ck-item{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);margin-bottom:8px;cursor:pointer}
.ck-item input{width:20px;height:20px;accent-color:var(--pine);margin-top:3px;flex:none}.ck-item.done span{color:var(--muted);text-decoration:line-through}
/* footer */
.site-footer{border-top:1px solid var(--line);padding:var(--s8) 0 var(--s6);margin-top:var(--s8)}
.f-grid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:var(--s6)}.f-grid strong{display:block;font:600 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.f-grid a{display:block;text-decoration:none;font-size:.9rem;padding:4px 0;color:var(--ink-2)}.f-grid a:hover{color:var(--brass-2)}.f-brand img{height:30px;width:auto;margin-bottom:14px}.f-brand p{font-size:.9rem;color:var(--muted);max-width:34ch}
.f-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:var(--s7);padding-top:var(--s5);font-size:.8rem;color:var(--muted)}
@media(max-width:900px){.f-grid{grid-template-columns:1fr 1fr}.f-brand{grid-column:1/-1}}
.notfound{min-height:60vh;display:grid;place-items:center;text-align:center}
@media print{.site-header,.site-footer,.toc,.rail,.nl,.placeholder,.ck-top .btn{display:none!important}body{background:#fff}.ck-item{break-inside:avoid}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.form-grid,.mini .fields{grid-template-columns:repeat(2,minmax(0,1fr))}.field,.hero-grid>*,.tool-shell>*,.layout>*{min-width:0}
@media(max-width:900px){.hero-grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.form-grid{grid-template-columns:minmax(0,1fr)}.kpi.hero b{font-size:2.1rem}}
html,body{overflow-x:clip}
/* logo v2.1 */
.brand img,.f-brand img{width:auto;display:block}.brand img{height:46px}.f-brand img{height:56px}
.logo-dark{display:none}[data-theme=dark] .logo-light{display:none}[data-theme=dark] .logo-dark{display:block}
.brand,.f-brand>a{display:inline-flex;line-height:0}.f-brand>a{margin-bottom:14px}
.hdr{height:78px}@media(max-width:520px){.brand img{height:36px}.hdr{height:66px}}
/* newsletter form */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.nl-msg{margin:0;font-size:.9rem;min-height:1.2em}.nl-msg.ok{color:#8fd3a8}.nl-msg.err{color:#f2a38a}
.nl-form[aria-busy=true] button{opacity:.6;pointer-events:none}.nl .inp.invalid{border-color:#f2a38a}
.nav a{white-space:nowrap}.brand img{height:42px}@media(max-width:1180px) and (min-width:961px){.brand img{height:36px}.nav a{padding-inline:8px}}
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;max-width:760px;margin:0 auto;display:flex;gap:16px;align-items:center;justify-content:space-between;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:0 12px 40px rgba(0,0,0,.18);font-size:.9rem}
.consent[hidden]{display:none}.consent p{margin:0}.consent a{text-decoration:underline}.consent-btns{display:flex;gap:8px;flex:none}
@media(max-width:600px){.consent{flex-direction:column;align-items:stretch}.consent-btns>*{flex:1}}
.linkish{background:none;border:0;padding:0;font:inherit;color:inherit;cursor:pointer;text-align:left;opacity:.85}.linkish:hover{text-decoration:underline}
@media print{.consent{display:none!important}}
.brand{flex:none}.brand picture{flex:none}@media(max-width:380px){.brand img{height:30px}}
.f-brand img{height:auto;width:100%;max-width:300px;aspect-ratio:721/96}.f-brand>a{display:block;line-height:0}.f-grid .linkish{display:block;font-size:.9rem;padding:4px 0;color:var(--ink-2);opacity:1}.f-grid .linkish:hover{color:var(--brass-2)}
@media(max-width:520px){.brand img{height:auto;width:min(230px,56vw)}}

/* r4: theme toggle + nav fit + article rail */
.hdr .icon-btn{flex:none}.theme-btn .i-sun{display:none}[data-theme=dark] .theme-btn .i-sun{display:block}[data-theme=dark] .theme-btn .i-moon{display:none}
.icon-btn svg{max-width:none;flex:none}
@media(max-width:1279px) and (min-width:1101px){.hdr{gap:16px}.brand img{height:34px}.nav a{padding:8px 9px;font-size:.88rem}.nav .nav-cta{margin-left:4px}}
@media(max-width:1100px){.menu-btn{display:grid;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--paper);border-bottom:1px solid var(--line);padding:12px 18px 20px;z-index:50}.nav.open{display:flex}.nav a{padding:12px}.nav .nav-cta{margin:8px 0 0;text-align:center}.hdr .theme-btn{margin-left:0}.site-header .hdr{position:relative}}
.layout{grid-template-columns:220px minmax(0,var(--read)) minmax(260px,300px)}
@media(max-width:1279px){.layout{grid-template-columns:220px minmax(0,1fr)}.rail{grid-column:2;position:static;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch}.rail>.tag{grid-column:1/-1}}
@media(max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}.rail{grid-column:1}}
.rail .card h3{font-size:1.08rem;line-height:1.25;hyphens:none;overflow-wrap:normal}.rail .card p{font-size:.9rem;line-height:1.5}
/* r5: a11y contrast, author box, sources */
.btn-brass,.new{background:var(--brass-2);color:#fff}[data-theme=dark] .btn-brass,[data-theme=dark] .new{background:var(--brass);color:#0B1118}
.ph-label{color:#6E4A08}[data-theme=dark] .ph-label{color:var(--amber)}
.refs{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--line)}.refs ol{padding-left:1.2em}.refs li{font-size:.92rem;margin-bottom:8px;color:var(--ink-2)}
.author-box{margin-top:var(--s6);padding:16px 18px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);font-size:.92rem}.author-box p{margin:0}
h2.eyebrow{font-size:.78rem;margin:0 0 16px}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--brass-2);outline-offset:2px}
.inline-tool .btn{background:var(--brass-2);color:#fff}[data-theme=dark] .inline-tool .btn{background:var(--brass);color:#0B1118}
