/* Fallback faces sized to the web fonts' metrics, so text keeps its size and line height when the web font arrives.
   Computed from the hhea and hmtx tables of the font files against Georgia, Arial and Courier New (frequency-weighted letter widths). */
@font-face{font-family:"Fraunces Fallback";src:local("Georgia");size-adjust:105.96%;ascent-override:92.30%;descent-override:24.07%;line-gap-override:0%}
@font-face{font-family:"Nunito Fallback";src:local("Arial");size-adjust:101.91%;ascent-override:99.20%;descent-override:34.64%;line-gap-override:0%}
@font-face{font-family:"Space Mono Fallback";src:local("Courier New");size-adjust:101.98%;ascent-override:109.82%;descent-override:35.40%;line-gap-override:0%}
/* ---------- design tokens ---------- */
:root{
  --bg:#F7E8CF; --paper:#FFF7E8; --paper-2:#FBEFD9;
  --ink:#2B1B33; --body:#42304A; --lead:#5A4862; --muted:#6E5C76;
  --line:#E6CFAE; --line-2:#DCC19C; --line-strong:#2B1B33;
  --accent:#E8632B; --accent-ink:#B9471A; --accent-soft:#FFD9C2; --accent-bright:#FFB38A;
  --purple:#5B3A8C; --purple-ink:#3F2566; --purple-soft:#E9DDF6;
  --mustard:#D9A24A; --mustard-soft:#F6E3B8; --mustard-ink:#7A5208;
  --green:#4F7A22; --green-soft:#DCEBC3; --green-ink:#355514;
  --rust:#C8402E; --rust-soft:#FFD5CC; --rust-ink:#8E2A1D;
  --sky:#2F7FB8;
  --moss:#6B8E4E; --moss-2:#8FAD6A; --soil-a:#8C5433; --soil-b:#C27A42; --soil-c:#E9CB96;
  --dark:#2B1B33; --dark-text:#FFF1DC; --dark-muted:#D7BFAF; --dark-line:rgba(255,241,220,.22); --dark-border:transparent;
  --bar-off:#EFDDC0;
  --shadow:6px 6px 0 var(--mustard);
  --shadow-hover:9px 9px 0 var(--moss);
  --r-lg:34px 14px 34px 14px; --r-md:22px 10px 22px 10px;
}
:root[data-theme="dark"]{
  --bg:#1C1324; --paper:#26192F; --paper-2:#2E1F38;
  --ink:#FFF1DC; --body:#EAD9CC; --lead:#D7BFAF; --muted:#C2A89A;
  --line:#3E2C4A; --line-2:#4A365A; --line-strong:#FFF1DC;
  --accent:#F27A45; --accent-ink:#FFB38A; --accent-soft:#4A2A1C; --accent-bright:#FFB38A;
  --purple:#B89BE3; --purple-ink:#D8C6F2; --purple-soft:#3A2850;
  --mustard:#E8B45A; --mustard-soft:#4A3A12; --mustard-ink:#FFD98A;
  --green:#8BBF4F; --green-soft:#2F4418; --green-ink:#C9E6A2;
  --rust:#E86A55; --rust-soft:#4A221B; --rust-ink:#FFB3A3;
  --dark:#2E1F38; --dark-text:#FFF1DC; --dark-muted:#D7BFAF; --dark-line:rgba(255,241,220,.2); --dark-border:#4A365A;
  --bar-off:#3E2C4A;
  --moss:#8DB06A; --moss-2:#A9C48A; --soil-a:#A86A45; --soil-b:#D18E58; --soil-c:#E9CB96;
  --shadow:6px 6px 0 var(--mustard);
  --shadow-hover:9px 9px 0 var(--moss);
}

/* ---------- base ---------- */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Nunito","Nunito Fallback",Arial,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--purple);text-decoration:none}
a:hover{color:var(--accent-ink)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:var(--bg);padding:8px 12px;border-radius:8px}
.skip:focus{left:8px;top:8px;z-index:50}
.display{font-family:"Fraunces","Fraunces Fallback",Georgia,"Times New Roman",serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;letter-spacing:-.01em;line-height:1;margin:0}
.serif{font-family:"Fraunces","Fraunces Fallback",Georgia,"Times New Roman",serif;font-style:italic;font-weight:700;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}
.mono{font-family:"Space Mono","Space Mono Fallback",ui-monospace,"SF Mono",Menlo,Consolas,monospace;text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:700}
.accent{color:var(--purple)}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--purple)}
.eyebrow::before{content:"";width:14px;height:14px;border-radius:50%;background:var(--mustard);border:2px solid var(--ink)}
.box{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--shadow)}
p{margin:0 0 12px}
.lead{color:var(--lead);max-width:72ch;font-size:17px;line-height:1.55}
.prose{max-width:720px;font-size:18px;line-height:1.65;color:var(--body)}
.prose p{margin:0 0 16px}
dfn{font-style:normal;font-weight:800;color:var(--ink);background:var(--mustard-soft);padding:0 4px;border-radius:6px}
.hidden{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ico{width:16px;height:16px;flex:none}
.wave{display:block;width:100%;height:22px;color:var(--ink)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 24px;border-radius:999px;background:var(--mustard);color:var(--ink);font:inherit;font-size:15px;font-weight:800;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform .12s,box-shadow .12s,background .12s}
.btn:hover{background:var(--moss-2);color:var(--ink);transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--ink)}
.btn.ghost{background:var(--paper);color:var(--ink)}
.btn.ghost:hover{background:var(--purple-soft);color:var(--ink)}
.btn.dark{background:var(--ink);color:var(--bg);border-color:var(--ink);box-shadow:3px 3px 0 var(--mustard)}
.btn.dark:hover{background:var(--green);color:#FFF1DC;box-shadow:5px 5px 0 var(--mustard)}
.btn.light{background:var(--mustard);color:#2B1B33;border-color:#2B1B33;box-shadow:3px 3px 0 #FFF1DC}
.btn.light:hover{background:#FFF1DC;color:#2B1B33;box-shadow:5px 5px 0 #FFF1DC}
.btn.sm{height:40px;padding:0 18px;font-size:14px}
.arrow{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:var(--purple);font-size:14px;white-space:nowrap}

/* ---------- top bar ---------- */
.topbar{position:sticky;top:0;z-index:20;background:var(--bg);border-bottom:2px solid var(--ink)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;min-height:72px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
.wordmark{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:24px;letter-spacing:-.01em}
.wordmark:hover{color:var(--accent-ink)}
.wordmark svg{width:34px;height:34px;flex:none;transition:transform .2s}
.wordmark:hover svg{transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){.wordmark svg{transition:none}}
.topnav{display:flex;gap:4px;flex-wrap:wrap}
.topnav a{color:var(--ink);font-size:15px;font-weight:700;padding:8px 14px;border-radius:999px;border:2px solid transparent}
.topnav a:hover{border-color:var(--ink);background:var(--mustard-soft);color:var(--ink)}
@media (max-width:720px){.topnav{order:3;width:100%}.topbar .wrap{padding-top:10px;padding-bottom:10px;min-height:60px}}

/* ---------- hero ---------- */
.hero{padding:72px 0 56px;position:relative;overflow:hidden}
.hero .wrap{position:relative}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px 64px;align-items:center}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0}
.ground-wrap{display:flex;flex-direction:column;align-items:center;gap:16px;padding:0 28px 0 12px}
.ground{--k:var(--kd,28px);display:flex;flex-direction:column;align-items:center;position:relative}
.ground .one{display:block;width:calc(var(--k)*.82);height:calc(var(--k)*.82);border-radius:50%;background:var(--accent);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);position:relative;z-index:2;margin-bottom:-2px}
.slab{display:flex;flex-direction:column;border:2px solid var(--ink);border-top-width:5px;border-radius:6px 6px 22px 10px;background:var(--paper);box-shadow:var(--shadow);padding:2px}
.layer{display:flex;justify-content:center}
.blk{box-sizing:border-box;display:block;flex:none;width:var(--k);height:calc(var(--k)*.74);margin:-1px;border:2px solid var(--ink);border-radius:5px;background:var(--soil-c);position:relative;transition:transform .12s}
.blk.half{width:calc(var(--k)*.5)}
.blk.gA{background:var(--soil-a)}
.blk.gB{background:var(--soil-b)}
.blk.gC{background:var(--soil-c)}
.blk.rock{background:var(--bar-off)}
.blk.blank{background:var(--paper);border-style:dashed;border-color:var(--muted)}
a.blk:hover,a.blk:focus-visible{transform:scale(1.3);z-index:3;box-shadow:3px 3px 0 var(--ink);outline:none}
.ground-cap{margin:0;color:var(--muted);text-align:center;line-height:1.7}
@media (max-width:900px){.hero-inner{grid-template-columns:minmax(0,1fr)}.ground-wrap{padding:8px 0 0}.ground{--k:min(var(--kd,26px),26px)}}
@media (prefers-reduced-motion:reduce){.blk{transition:none}}
.hero h1{font-size:clamp(44px,6.4vw,80px)}
.hero h1 em{color:var(--green);display:inline-block;transform:rotate(-2deg)}
.name-band{margin-bottom:72px}
.name-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 48px;align-items:center}
.name-band .sec-head{max-width:none;margin:0}
.name-band .sec-head h2{font-size:clamp(28px,3.2vw,40px)}
.name-parts{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.name-parts li{display:flex;align-items:center;gap:14px;padding:12px 16px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-md);box-shadow:3px 3px 0 var(--ink);font-size:15px;line-height:1.45;color:var(--body);font-weight:600}
.name-parts svg{width:30px;height:30px;flex:none}
.name-parts b{font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:19px;color:var(--ink);margin-right:8px}
.name-src{margin:14px 0 0;font-size:13px;font-weight:700;color:var(--muted)}
.name-src a{font-weight:800}
@media (max-width:900px){.name-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.name-band{margin-bottom:56px}}
.hero .sub{font-size:clamp(17px,1.3vw,19px);line-height:1.55;color:var(--lead);max-width:640px;margin:0;font-weight:600}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap}

/* ---------- stats strip ---------- */
.stats-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);margin:0 0 96px}
.stats-strip div{padding:28px 24px;border-left:2px solid var(--ink);display:flex;flex-direction:column;gap:6px}
.stats-strip div:first-child{border-left:0;padding-left:0}
.stats-strip b{font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:clamp(30px,3.2vw,44px);line-height:1}
.stats-strip div:nth-child(1) b{color:var(--accent-ink)}
.stats-strip div:nth-child(2) b{color:var(--purple)}
.stats-strip div:nth-child(3) b{color:var(--green)}
.stats-strip div:nth-child(4) b{color:var(--rust)}
.stats-strip span{font-size:14px;color:var(--muted);font-weight:600}
@media (max-width:720px){
  .stats-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:56px}
  .stats-strip div{padding:20px 16px}
  .stats-strip div:nth-child(odd){border-left:0;padding-left:0}
  .stats-strip div:nth-child(-n+2){border-bottom:2px solid var(--ink)}
}

/* ---------- method ---------- */
.method{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;margin:0 0 112px}
.method .intro{grid-column:span 4;display:flex;flex-direction:column;gap:16px}
.method .intro h2{font-size:clamp(32px,3.6vw,44px)}
.method ol{grid-column:span 8;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;align-items:start}
.method li{display:flex;flex-direction:column;gap:14px;padding:18px 16px 20px;border:2px solid var(--ink);border-radius:var(--r-md);background:var(--paper);font-size:16px;font-weight:800;line-height:1.3;box-shadow:4px 4px 0 var(--ink)}
.method li:nth-child(odd){transform:rotate(-2deg)}
.method li:nth-child(even){transform:rotate(2deg)}
.method li .mono{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:2px solid var(--ink);color:var(--ink);background:var(--mustard)}
.method li:nth-child(2) .mono{background:var(--accent)}
.method li:nth-child(3) .mono{background:var(--green-soft)}
.method li:nth-child(4) .mono{background:var(--purple-soft)}
.method li:nth-child(5) .mono{background:var(--rust-soft)}
@media (max-width:900px){.method .intro,.method ol{grid-column:span 12}.method ol{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.method{margin-bottom:72px}}

/* ---------- sections ---------- */
.sec{margin:0 0 112px}
.sec-head{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;max-width:720px}
.sec-head .lead{margin:4px 0 0}
.sec h2{font-size:clamp(32px,3.6vw,44px)}
.sec h3{font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:22px;margin:32px 0 10px}
.num-head{display:flex;align-items:center;gap:18px;border-top:2px solid var(--ink);padding-top:22px;margin-bottom:20px}
.num-head .mono{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--purple);color:#FFF1DC;border:2px solid var(--ink);flex:none;transform:rotate(-6deg)}
.num-head h2{font-size:clamp(30px,3.2vw,40px)}
@media (max-width:640px){.sec{margin-bottom:72px}}

/* ---------- controls ---------- */
.controls{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.controls .sec-head{margin-bottom:0}
.search-wrap{display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);width:320px;max-width:100%;box-shadow:3px 3px 0 var(--ink)}
.search-wrap:focus-within{background:#fff}
.search-wrap svg{color:var(--muted)}
.search{border:0;outline:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);flex:1;min-width:0;font-weight:600}
.filters{display:flex;gap:10px 18px;flex-wrap:wrap;align-items:center;margin:0 0 12px}
.fgroup{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fgroup .lab{color:var(--purple);margin-right:2px}
.fbtn{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:transform .12s,box-shadow .12s,background .12s}
.fbtn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);background:var(--purple-soft)}
.fbtn[aria-pressed="true"]{background:var(--mustard);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}
#stories{scroll-margin-top:96px}
.browse{margin:4px 0 26px}
.browse h3{font-size:18px;margin:0 0 12px}
.browse .colls{margin-bottom:0}
.gtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0 0 24px}
.gtile,.coll{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 14px;border:2px solid var(--ink);border-radius:14px;background:var(--paper);color:var(--ink);text-decoration:none;font-size:14px;line-height:1.3;transition:transform .15s,box-shadow .15s}
.gtile b,.coll b{font-weight:800}
.gtile span,.coll b span{font-size:12px;color:var(--purple);font-weight:700;white-space:nowrap}
.gtile:hover,.coll:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--ink);background:var(--purple-soft)}
.gtile[aria-current="true"],.coll[aria-current="true"]{background:var(--mustard);box-shadow:3px 3px 0 var(--ink)}
.colls{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.coll{background:var(--mustard-soft)}
.coll b{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}
.gsel{padding:20px 24px;margin:0 0 22px;background:var(--purple-soft);box-shadow:5px 5px 0 var(--purple)}
.gsel h3{font-size:24px;margin:6px 0 8px}
.gsel p{margin:0 0 10px;max-width:80ch;line-height:1.55;color:var(--body);font-weight:600}
.gsel .back{margin:0}
.more-filters{margin:0 0 14px}
.more-filters summary{cursor:pointer;font-weight:800;font-size:14px;color:var(--purple);margin:0 0 12px}
.more-filters .filters{margin-bottom:8px}
.stat .v .trend{display:block;margin-top:6px;font-size:12px;color:var(--purple);letter-spacing:.04em}
.fnote{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted);max-width:90ch}
@media (max-width:480px){.gtiles{grid-template-columns:1fr 1fr}.gtile{padding:10px 12px;font-size:13px}.colls{grid-template-columns:1fr}}
.count{margin:8px 0 24px;color:var(--muted)}

/* ---------- card grid ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,400px),1fr));gap:32px;margin:0 0 40px}
.card{display:flex;flex-direction:column;color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translate(-3px,-3px);box-shadow:var(--shadow-hover);color:var(--ink)}
.card-caution{display:flex;align-items:center;gap:10px;padding:10px 28px;background:var(--rust-soft);color:var(--rust-ink);border-bottom:2px solid var(--ink);font-size:12px}
.card-caution::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--rust-ink);font-weight:700;flex:none}
.caution-box{padding:22px 26px;margin:0 0 36px;background:var(--rust-soft);box-shadow:6px 6px 0 var(--rust)}
.caution-box .mono{color:var(--rust-ink)}
.caution-box h2{font-size:24px;margin:8px 0 8px}
.caution-box p{margin:0;font-size:16px;line-height:1.6;color:var(--body);font-weight:600;max-width:80ch}
@media (max-width:640px){.card-caution{padding-left:20px;padding-right:20px}}
.card-head{padding:28px 28px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.card-head .meta{display:flex;flex-direction:column;gap:8px}
.card-head .meta .mono{color:var(--purple)}
.card h3{font-size:40px;margin:0}
.ev{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;border:2px solid var(--ink);background:var(--green-soft);color:var(--green-ink);font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:12px;font-weight:700;white-space:nowrap;transform:rotate(3deg)}
.ev.B{background:var(--mustard-soft);color:var(--mustard-ink)}
.ev.C{background:var(--rust-soft);color:var(--rust-ink)}
.card-outcome{padding:22px 28px 0;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.card-outcome b{display:inline-block;font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:clamp(34px,3.6vw,44px);line-height:1;color:var(--ink);background:var(--mustard);border:2px solid var(--ink);border-radius:999px;padding:10px 20px 12px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-3deg)}
.card-outcome span{font-size:15px;color:var(--lead);font-weight:600}
.card-body{padding:26px 28px 0;display:flex;flex-direction:column;gap:16px}
.card-body .lbl{display:block;color:var(--purple);margin-bottom:4px}
.card-body p{margin:0;font-size:15px;line-height:1.55;color:var(--body)}
.meters{padding:24px 28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.meter{display:flex;flex-direction:column;gap:8px}
.meter .row{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted);font-weight:600}
.meter .row b{color:var(--ink);font-weight:800}
.bar{height:12px;border-radius:999px;background:var(--paper);border:2px solid var(--ink);overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent)}
.bar.alt i{background:var(--purple)}
.card-foot{margin-top:auto;padding:16px 28px;border-top:2px solid var(--ink);background:var(--paper-2);display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.card-foot .facts{display:flex;gap:18px;font-size:13px;color:var(--muted);flex-wrap:wrap;font-weight:600}
.card-foot .facts b{color:var(--ink);font-weight:800}
.coming{border:2px dashed var(--ink);border-radius:var(--r-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 40px;gap:12px;color:var(--muted);min-height:320px;background:repeating-linear-gradient(-45deg,transparent 0 14px,rgba(43,27,51,.05) 14px 16px)}
.coming .display{font-size:26px;color:var(--ink)}
.coming p{margin:0;font-size:15px;max-width:34ch;font-weight:600}
.coming svg{width:44px;height:44px}
.empty{padding:32px;text-align:center}
@media (max-width:480px){
  .card-head,.card-outcome,.card-body,.card-foot{padding-left:20px;padding-right:20px}
  .meters{padding:20px;grid-template-columns:1fr;gap:12px}
  .card h3{font-size:32px}
}

/* ---------- grades ---------- */
.grade{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:26px;padding:0 8px;border-radius:999px;border:2px solid var(--ink);font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:12px;font-weight:700;vertical-align:middle;line-height:1}
.grade.A{background:var(--green-soft);color:var(--green-ink)}
.grade.B{background:var(--mustard-soft);color:var(--mustard-ink)}
.grade.C{background:var(--rust-soft);color:var(--rust-ink)}
.grade.X{background:var(--paper);color:var(--ink)}
.grade.big{width:40px;height:40px;font-size:17px;border-radius:50%;transform:rotate(-8deg)}
.grade.big.A{background:var(--green);color:#FFF1DC}
.grade.big.B{background:var(--mustard);color:#2B1B33}
.grade.big.C{background:var(--rust);color:#FFF1DC}
.grade.big.X{width:auto;padding:0 12px;font-size:13px;border-radius:999px}

/* ---------- how we verify ---------- */
.verify-band{background:var(--purple-soft);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:96px 0}
.legend{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:22px;margin:40px 0}
.legend div{border:2px solid var(--ink);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:14px;background:var(--paper);box-shadow:4px 4px 0 var(--ink)}
.legend b{font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:20px}
.legend p{margin:0;font-size:14px;line-height:1.55;color:var(--lead);font-weight:600}
.two-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:40px}
.two-col h3{margin:0 0 10px}
.two-col p{margin:0;font-size:15px;line-height:1.6;color:var(--lead);max-width:none;font-weight:600}
@media (max-width:640px){.verify-band{padding:56px 0}}

/* ---------- submit ---------- */
.submit{background:var(--accent);color:var(--ink);border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:8px 8px 0 var(--purple);padding:56px;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;margin:96px 0}
.submit h2{font-size:clamp(30px,3.2vw,40px);margin:0 0 12px}
.submit p{margin:0;font-size:17px;color:var(--ink);max-width:620px;font-weight:600}
.note{margin-top:8px;width:100%;background:var(--paper);border:2px solid var(--ink);border-radius:16px;padding:16px 20px;font-size:15px;color:var(--ink);font-weight:600}
@media (max-width:640px){.submit{padding:32px 24px;margin:56px 0}}

/* ---------- story page ---------- */
.back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:var(--purple);margin:40px 0 28px}
.back:hover{color:var(--accent-ink)}
.story-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;align-items:end;margin-bottom:56px}
.story-head .title{grid-column:span 7;display:flex;flex-direction:column;gap:20px}
.story-head h1{font-size:clamp(52px,8vw,96px);line-height:.95}
.story-head .stats{grid-column:span 5;padding:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;transform:rotate(1.5deg)}
.stat{display:flex;flex-direction:column;gap:6px}
.stat .mono{color:var(--purple)}
.stat .v{font-size:17px;font-weight:800;line-height:1.3}
.tags{display:flex;gap:8px;flex-wrap:wrap}
.tags span{display:inline-flex;align-items:center;height:32px;padding:0 14px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-size:13px;font-weight:800}
.tags span:nth-child(3n+1){background:var(--mustard-soft)}
.tags span:nth-child(3n+2){background:var(--purple-soft)}
.tags span:nth-child(3n){background:var(--green-soft)}
.story-intro{margin-bottom:72px}
.story-card{margin:28px 0 8px}.story-card img{display:block;width:100%;max-width:760px;height:auto;border:2px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink)}.story-card figcaption{margin-top:10px;color:var(--muted)}
@media (max-width:900px){.story-head .title,.story-head .stats{grid-column:span 12}.story-head{gap:28px}.story-head .stats{transform:none}}
@media (max-width:480px){.story-head .stats{grid-template-columns:1fr;padding:22px}}

.table-wrap{overflow-x:auto;background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow);margin:14px 0}
table{border-collapse:collapse;width:100%;min-width:680px;font-size:14px}
caption{text-align:left;padding:16px;font-weight:800;font-size:15px;border-bottom:2px solid var(--ink);background:var(--mustard-soft)}
th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}
thead th{font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--purple);background:var(--paper-2);border-bottom:2px solid var(--ink)}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
td{color:var(--lead)}
td b{color:var(--ink);font-weight:800}
td.num,th.num{text-align:right;white-space:nowrap}
th[scope="row"]{font-weight:700;color:var(--ink)}
.srcs{color:var(--muted);font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:12px;white-space:nowrap}
.table-read{color:var(--muted);font-size:14px;max-width:80ch;font-weight:600}

.timeline{list-style:none;padding:0;margin:16px 0 0 8px;border-left:3px dotted var(--ink)}
.timeline li{position:relative;padding:0 0 22px 30px;font-size:15px;line-height:1.5;color:var(--body)}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{content:"";position:absolute;left:-10px;top:3px;width:16px;height:16px;border-radius:50%;background:var(--mustard);border:2px solid var(--ink)}
.timeline li:nth-child(3n+2)::before{background:var(--accent)}
.timeline li:nth-child(3n)::before{background:var(--purple-soft)}
.timeline .when{display:flex;gap:10px;align-items:center;margin-bottom:4px;color:var(--purple)}

.mech{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:22px;margin-top:8px}
.mech .box{padding:24px;display:flex;flex-direction:column;gap:10px}
.mech .box:nth-child(odd){transform:rotate(-1deg)}
.mech .box:nth-child(even){transform:rotate(1deg)}
.mech .n{font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--purple)}
.mech h3{margin:0;font-size:22px}
.mech p{font-size:14px;margin:0;color:var(--lead);line-height:1.55;font-weight:600}
.bul{max-width:80ch;padding-left:22px;color:var(--body)}
.bul li{margin:6px 0}

.corpses{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:22px;margin-top:8px}
.corpse{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r-md);box-shadow:6px 6px 0 var(--rust);display:flex;flex-direction:column;gap:12px;padding:24px}
.corpse-head{display:flex;justify-content:space-between;gap:8px;color:var(--muted)}
.corpse-head span:first-child{color:var(--rust-ink)}
.corpse .body{flex:1}
.corpse h3{margin:0 0 10px;font-size:26px}
.corpse .lbl{display:block;color:var(--purple);margin:8px 0 2px}
.corpse p{font-size:14px;margin:0;color:var(--lead);line-height:1.55;font-weight:600}
.corpse .foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;border-top:2px solid var(--ink);padding-top:12px;color:var(--muted);font-weight:700}
.corpse .foot a{white-space:nowrap;font-weight:800}

.verdict{background:var(--purple);color:#FFF1DC;border:2px solid var(--ink);border-radius:var(--r-lg);box-shadow:8px 8px 0 var(--mustard);padding:48px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:40px;margin-top:8px}
.verdict .left{grid-column:span 5;display:flex;flex-direction:column;gap:14px}
.verdict .left p.big{font-size:clamp(34px,3.6vw,48px);line-height:1.05;margin:0;color:var(--mustard)}
.verdict .left p{margin:0;font-size:15px;line-height:1.6;color:#EADFF5;font-weight:600}
.verdict .left p b{color:#FFF1DC;font-weight:800}
.verdict ol{grid-column:span 7;margin:0;padding:0;list-style:none;display:flex;flex-direction:column}
.verdict ol li{display:flex;gap:16px;padding:16px 0;border-top:2px dotted rgba(255,241,220,.45);font-size:15px;line-height:1.5;font-weight:600}
.verdict ol li:last-child{border-bottom:2px dotted rgba(255,241,220,.45)}
.verdict ol .mono{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--mustard);color:#2B1B33;border:2px solid #2B1B33;flex:none}
@media (max-width:900px){.verdict .left,.verdict ol{grid-column:span 12}.verdict{padding:32px 24px;gap:24px}}

.watch{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px;margin-top:8px}
.watch .box{padding:24px;box-shadow:5px 5px 0 var(--sky)}
.watch h3{margin:0 0 8px;font-size:20px}
.watch p{margin:0;font-size:14px;color:var(--lead);line-height:1.55;font-weight:600}
ol.sources{padding-left:22px;max-width:90ch;color:var(--body)}
ol.sources li{margin:10px 0;font-size:15px}
ol.sources .how{color:var(--muted);font-size:14px;font-weight:600}
.bigbtn{display:flex;justify-content:center;margin:0 0 40px}

/* ---------- tools tab ---------- */
.tools-head{padding:56px 0 8px}
.tools-head h1{font-size:clamp(40px,5.6vw,68px);max-width:16ch}
.tools-head .lead{margin:18px 0 0}
.tools-legend{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin:22px 0 0;font-size:14px;font-weight:700;color:var(--lead)}
.tools-legend span{display:inline-flex;align-items:center;gap:8px}
.tools-legend .blk{--k:18px;margin:0}
.job-nav{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0 0}
.job-nav a{display:inline-flex;align-items:center;height:36px;padding:0 14px;border:2px solid var(--ink);border-radius:999px;background:var(--paper);color:var(--ink);font-size:14px;font-weight:800}
.job-nav a:hover{background:var(--mustard-soft);color:var(--ink)}
.job-sec{margin:0 0 64px}
.job-sec .sec-head{margin-bottom:14px}
.job-sec h2{font-size:clamp(26px,3vw,36px)}
.trow{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr) auto;gap:6px 24px;align-items:center;padding:14px 0;border-top:1px solid var(--line-2)}
.job-sec .sec-head + .trow,.tmore .trow:first-of-type{border-top:2px solid var(--ink)}
.trow .tname{font-weight:800;font-size:18px;color:var(--ink)}
.trow .tname:hover{color:var(--accent-ink)}
.trow .tdef{font-size:13px;line-height:1.45;color:var(--muted);font-weight:600;margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kbar{--k:18px;display:flex;flex-wrap:wrap;padding:1px;min-width:0}
.tcount{color:var(--purple);white-space:nowrap}
.tmore{margin-top:4px;border-top:1px solid var(--line-2)}
.tmore summary{cursor:pointer;padding:14px 0;font-weight:800;font-size:15px;color:var(--purple)}
.tool-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;margin:0 0 64px}
.tool-lists .box{padding:28px}
.tool-lists h2{font-size:26px;margin:0 0 6px}
.tool-lists p.lead{font-size:15px;margin:0 0 14px}
.tool-lists ul{list-style:none;margin:0;padding:0}
.tool-lists li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line-2);font-size:15px;font-weight:700;color:var(--body)}
.tool-lists li .mono{color:var(--purple);white-space:nowrap}
.tool-limits{padding:28px;margin:0 0 72px;background:var(--paper-2)}
.tool-limits h2{font-size:24px;margin:0 0 10px}
.tool-limits ul{margin:0;padding-left:20px;color:var(--body);font-size:15px;line-height:1.6;font-weight:600}
.tool-head{margin:0 0 36px}
.tool-head h1{font-size:clamp(44px,7vw,84px);line-height:.98;margin:10px 0 18px}
.tool-head .lead{font-size:19px;max-width:70ch}
.tool-facts{display:flex;gap:10px 28px;flex-wrap:wrap;margin:22px 0 0;font-size:15px;font-weight:700;color:var(--body)}
.tool-facts b{color:var(--ink)}
.tool-chips{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}
.tool-chips a{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 14px;border-radius:999px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);font-size:13px;font-weight:800}
.tool-chips a:hover{background:var(--mustard-soft);color:var(--ink)}
.tool-chips a span{font-family:"Space Mono","Space Mono Fallback",ui-monospace,monospace;font-size:11px;color:var(--purple)}
.story-tools{margin-top:28px}
.story-tools .lead{font-size:15px;margin:0}
@media (max-width:900px){.tool-lists{grid-template-columns:minmax(0,1fr)}}
@media (max-width:720px){.trow{grid-template-columns:minmax(0,1fr) auto}.trow .kbar{grid-column:1 / -1;order:3}}

/* ---------- footer ---------- */
.site-foot{border-top:2px solid var(--ink);margin-top:40px;background:var(--paper-2)}
.site-foot .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px;padding-top:40px;padding-bottom:56px;font-size:13px;line-height:1.6;color:var(--muted);font-weight:600}
.site-foot .brand{grid-column:span 3;display:flex;flex-direction:column;gap:10px}
.site-foot .brand b{font-family:"Fraunces","Fraunces Fallback",Georgia,serif;font-weight:900;font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1;font-size:22px;color:var(--ink)}
.site-foot .c1{grid-column:span 5}
.site-foot .c2{grid-column:span 4}
@media (max-width:900px){.site-foot .brand,.site-foot .c1,.site-foot .c2{grid-column:span 12}.site-foot .wrap{gap:20px}}
noscript .box{padding:16px;margin:16px}
@media (max-width:640px){.wrap{padding:0 16px}.hero{padding:40px 0 32px}}
