@font-face{font-family:"Fraunces";src:url(/assets/fonts/fraunces-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Plex";src:url(/assets/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Plex";src:url(/assets/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"PlexMono";src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--paper:#f5f1e8;--card:#fffdf8;--ink:#1b1f24;--muted:#545a61;--rule:#d9d2c3;--stamp:#a63a24;--stamp-soft:#f6e3db;--ledger:#2c5a4d;--ledger-soft:#e1ece7;
--t1:#f4dfd2;--t2:#e9b79e;--t3:#d68766;--t4:#a54a2f;--t5:#7f2a17;--tink-dark:#fff;--tink-light:#1b1f24;
--radius:6px;--wrap:1120px;--serif:"Fraunces",Georgia,serif;--sans:"Plex",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"PlexMono",ui-monospace,Menlo,monospace}
@media (prefers-color-scheme:dark){:root{--paper:#14161a;--card:#1c1f24;--ink:#ece7dd;--muted:#a9a397;--rule:#343840;--stamp:#f08f72;--stamp-soft:#3a231d;--ledger:#8cc9b4;--ledger-soft:#1d2e29;
--t1:#3a2a24;--t2:#5e3527;--t3:#8a4129;--t4:#dc7552;--t5:#f39a7b;--tink-dark:#fff;--tink-light:#fff}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1.0625rem/1.6 var(--sans)}
a{color:var(--stamp);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--card);padding:8px;z-index:9}
header.top{border-bottom:1px solid var(--rule)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{font:600 1.25rem/1 var(--serif);color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand svg{flex:none}
nav.main{display:flex;gap:18px;flex-wrap:wrap}
nav.main a{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}
nav.main a:hover{color:var(--stamp)}
.disclose{font-size:.85rem;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--rule)}
.disclose a{color:var(--muted)}
.draft{background:var(--stamp-soft);border:1px dashed var(--stamp);padding:10px 14px;border-radius:var(--radius);margin:16px 0}
main{padding:28px 0 56px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.01em}
h1{font-size:clamp(2rem,5vw,3.1rem);margin:.2em 0 .35em;max-width:20ch}
h2{font-size:clamp(1.45rem,3vw,1.9rem);margin:2.2em 0 .6em}
h3{font-size:1.2rem;margin:1.6em 0 .4em}
.lede{font-size:1.2rem;color:var(--muted);max-width:60ch}
.eyebrow{font:500 .8rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ledger)}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:6px}
.crumbs a{color:var(--muted)}
.num,.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.verdict{background:var(--card);border:1px solid var(--rule);border-left:5px solid var(--stamp);border-radius:var(--radius);padding:18px 22px;margin:20px 0 8px;max-width:760px}
.verdict p{margin:.3em 0}
.verdict strong{font-family:var(--mono);font-weight:500}
.grid2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:28px;align-items:start}
@media (max-width:860px){.grid2{grid-template-columns:minmax(0,1fr)}}
/* receipt */
.receipt{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:22px 22px 16px;position:relative;box-shadow:0 1px 0 var(--rule),0 12px 30px -22px rgba(0,0,0,.35)}
.receipt:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:10px;background:radial-gradient(circle at 6px -1px,transparent 6px,var(--card) 6.5px) 0 0/12px 10px repeat-x}
.receipt h3{margin:0 0 4px;font-size:1.1rem}
.receipt .sub{font-size:.85rem;color:var(--muted);margin:0 0 12px}
.rline{display:flex;align-items:baseline;gap:8px;padding:5px 0;font-size:.98rem}
.rline .lab{flex:0 1 auto}
.rline .dots{flex:1;border-bottom:1px dotted var(--muted);transform:translateY(-4px);min-width:16px}
.rline .amt{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.rgroup{font:500 .75rem/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:14px 0 4px}
.rtotal{border-top:2px solid var(--ink);margin-top:10px;padding-top:10px;display:flex;justify-content:space-between;align-items:baseline;font-weight:600}
.rtotal .amt{font:500 1.7rem/1 var(--mono);color:var(--stamp)}
.assume{font-size:.8rem;color:var(--muted);margin:12px 0 0}
/* calculator */
.calc{background:var(--ledger-soft);border-radius:var(--radius);padding:20px;display:grid;gap:14px}
.calc label{display:block;font-weight:600;font-size:.9rem;margin-bottom:4px}
.calc select,.calc input[type=range]{width:100%}
.calc select{font:inherit;padding:10px 12px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card);color:var(--ink)}
.calc output{font-family:var(--mono)}
.btn{display:inline-flex;align-items:center;gap:8px;background:var(--stamp);color:#fff;border-radius:var(--radius);padding:11px 18px;font-weight:600;text-decoration:none;border:0}
@media (prefers-color-scheme:dark){.btn{color:#1b1f24}}
.btn.ghost{background:transparent;color:var(--stamp);border:1.5px solid var(--stamp)}
.paid{font:500 .7rem/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
/* tile map */
.mapwrap{margin:8px 0 0}
.tilemap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px;max-width:720px}
.tile{aspect-ratio:1;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;font:500 clamp(.55rem,1.6vw,.85rem)/1.1 var(--mono);color:var(--tink-light);transition:transform .12s}
.tile:hover,.tile:focus{transform:scale(1.08);outline:2px solid var(--ink);outline-offset:1px}
.tile small{font-size:.8em}
.q1{background:var(--t1);color:#1b1f24}.q2{background:var(--t2);color:#1b1f24}.q3{background:var(--t3);color:#1b1f24}.q4{background:var(--t4);color:#fff}.q5{background:var(--t5);color:#fff}
@media (prefers-color-scheme:dark){.q1,.q2,.q3{color:#fff}.q4,.q5{color:#14161a}}
@media (max-width:520px){.tile small{display:none}}
.legend{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:.8rem;color:var(--muted);margin-top:10px}
.legend span.sw{width:18px;height:12px;border-radius:2px;display:inline-block}
/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--radius);background:var(--card)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{padding:10px 12px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--card);position:sticky;top:0}
td.r,th.r{text-align:right}
tbody tr:last-child td{border-bottom:0}
table.fixed th:first-child,table.fixed td:first-child{position:sticky;left:0;background:var(--card);z-index:1}
th button{all:unset;cursor:pointer;text-decoration:underline dotted}
th button:focus-visible{outline:2px solid var(--stamp)}
.badge{display:inline-block;font:500 .72rem/1 var(--mono);padding:4px 7px;border-radius:99px;background:var(--ledger-soft);color:var(--ledger);margin-left:6px;vertical-align:2px}
.badge.hot{background:var(--stamp-soft);color:var(--stamp)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.card{background:var(--card);border:1px solid var(--rule);border-radius:var(--radius);padding:16px}
.card h3{margin:0 0 6px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}
.fact{border-top:3px solid var(--ledger);padding-top:8px}
.fact b{display:block;font:500 1.5rem/1.2 var(--mono)}
.fact span{font-size:.85rem;color:var(--muted)}
.srcs{font-size:.85rem;color:var(--muted);border-top:1px solid var(--rule);padding-top:12px;margin-top:32px;overflow-wrap:anywhere}
.faq dt{font-weight:600;margin-top:16px}
.faq dd{margin:4px 0 0}
.prose{max-width:70ch}
footer{border-top:1px solid var(--rule);padding:28px 0 40px;font-size:.88rem;color:var(--muted)}
footer a{color:var(--muted)}
footer .cols{display:flex;gap:28px;flex-wrap:wrap;justify-content:space-between}
.stale{background:var(--stamp-soft);padding:8px 12px;font-size:.88rem}
.calc input[type=range]{accent-color:var(--stamp)}

.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:50;max-width:560px;margin:0 auto;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px;box-shadow:0 6px 24px rgba(0,0,0,.18)}
.consent p{margin:0 0 12px;font-size:.95rem}
.consent .row{display:flex;gap:10px;flex-wrap:wrap}
.consent .row .btn{cursor:pointer;font:inherit;font-weight:600}
.consent .row .btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.linkbtn{all:unset;cursor:pointer;text-decoration:underline}
.linkbtn:focus-visible{outline:2px solid var(--stamp)}
