:root{
  --bg:#f3eee4;
  --paper:#fffdf8;
  --ink:#1a232c;
  --muted:#5a6470;
  --line:#d8cfc2;
  --teal:#0b6b63;
  --teal-2:#0e8379;
  --teal-dark:#084e48;
  --teal-soft:#e6f4f2;
  --coral:#b54a32;
  --coral-soft:#f8e8e3;
  --gold:#a47b1e;
  --sage:#3c6a4c;
  --sage-soft:#e7f1ea;
  --shadow:0 12px 40px -18px rgba(26,35,44,.28);
  --radius:18px;
  --max:1120px;
  --sans:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:light;scroll-behavior:smooth}
body{margin:0;font:17px/1.6 var(--sans);color:var(--ink);background:
  radial-gradient(1200px 500px at 10% -10%,rgba(11,107,99,.08),transparent 55%),
  radial-gradient(900px 400px at 100% 0,rgba(181,74,50,.06),transparent 50%),
  var(--bg)}
img,svg{max-width:100%;height:auto}
a{color:var(--teal-dark)}
a:hover,a:focus-visible{color:var(--coral)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:.5rem 1rem;z-index:20}
.skip:focus{left:8px}
.wrap{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.top{position:sticky;top:0;z-index:10;background:rgba(243,238,228,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:1rem;min-height:64px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--ink);font-family:var(--serif);letter-spacing:.02em}
.brand b{font-weight:600}
.mark{width:34px;height:34px;flex:none}
.nav{display:flex;flex-wrap:wrap;gap:.15rem .85rem;margin-left:auto}
.nav a{color:var(--muted);text-decoration:none;font-size:.92rem;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a.on{color:var(--ink);border-bottom-color:var(--teal)}
.burger{display:none;background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:8px;padding:.35rem .55rem;font-size:1.1rem}
.banner{margin:0;padding:.85rem 0;background:var(--teal-soft);border-bottom:1px solid #cfe3df;color:#214740;font-size:.95rem}
.banner .wrap{display:block}
.banner b{color:var(--teal-dark)}
main{padding:0 0 4rem}
.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:2.2rem;align-items:center;padding:2.6rem 0 1.6rem}
.hero.narrow,.hero.topic-hero{grid-template-columns:1fr;max-width:800px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--teal);margin:0 0 .6rem;font-weight:700}
h1{font-family:var(--serif);font-weight:600;font-size:clamp(2rem,5.2vw,3.25rem);line-height:1.15;margin:0 0 .6rem;letter-spacing:-.02em}
.lede{font-size:1.18rem;color:var(--muted);margin:0 0 1.2rem;max-width:42rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.btn{display:inline-block;background:var(--teal);color:#fff;text-decoration:none;border-radius:999px;padding:.65rem 1.15rem;font-weight:600;border:1px solid var(--teal)}
.btn:hover,.btn:focus-visible{background:var(--teal-dark);color:#fff}
.btn.ghost{background:transparent;color:var(--teal-dark);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--teal);color:var(--teal-dark)}
.hero-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.25rem 1.1rem;box-shadow:var(--shadow)}
.hero-panel h2{margin:0 0 .4rem;font-size:1.05rem}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1.2rem 0 2rem}
.stat{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1rem 1.05rem 1.05rem;box-shadow:0 8px 24px -16px rgba(26,35,44,.3)}
.stat .num{font-family:var(--serif);font-size:clamp(1.7rem,3vw,2.15rem);line-height:1;color:var(--teal-dark);font-weight:600}
.stat .num.alert{color:var(--coral)}
.stat .lbl{margin:.45rem 0 0;font-size:.86rem;color:var(--muted)}
.stat .src{margin:.35rem 0 0;font-size:.72rem;color:#7a8490}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem 1.35rem 1.3rem;margin:1rem 0;box-shadow:0 8px 28px -18px rgba(26,35,44,.25)}
.card h2,.doc h2,section h2{font-family:var(--serif);font-size:1.45rem;margin:0 0 .5rem;letter-spacing:-.01em}
.card h3{font-size:1.05rem;margin:1.1rem 0 .35rem}
.grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.tile{display:block;text-decoration:none;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.05rem 1.1rem;transition:transform .2s,border-color .2s,box-shadow .2s}
.tile:hover,.tile:focus-visible{transform:translateY(-2px);border-color:#b7d4cf;box-shadow:var(--shadow);color:inherit}
.tile .tag{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);font-weight:700}
.tile h3{margin:.2rem 0 .3rem;font-size:1.12rem;font-family:var(--serif)}
.tile p{margin:0;color:var(--muted);font-size:.95rem}
.notice,.callout{background:var(--teal-soft);border:1px solid #cfe3df;border-radius:14px;padding:1rem 1.1rem;margin:1rem 0}
.callout.alert{background:var(--coral-soft);border-color:#efd3cb}
.callout.sage{background:var(--sage-soft);border-color:#c9dfd1}
.muted,.source,.credit,figcaption{color:var(--muted);font-size:.86rem}
.source{margin:.8rem 0 0}
.unit{color:var(--muted);margin:0;font-size:.9rem}
.chart-card .chart-wrap{position:relative;height:340px;margin:.8rem 0}
.chart-card canvas{max-width:100%}
details.data-details{margin-top:.7rem}
details.data-details summary{cursor:pointer;color:var(--teal-dark);font-weight:600}
.tbl-wrap{overflow:auto;margin:.7rem 0}
table.tbl{width:100%;border-collapse:collapse;font-size:.92rem}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:.45rem .5rem;text-align:left;vertical-align:top}
.tbl th{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}
.tbl td.num,.tbl th.num{text-align:right;font-variant-numeric:tabular-nums}
.compare{display:grid;grid-template-columns:140px 1fr auto;gap:.45rem 1rem;align-items:center;margin:.4rem 0}
.compare .bar{height:14px;background:#ece6db;border-radius:99px;overflow:hidden}
.compare .bar>span{display:block;height:100%;background:var(--teal);border-radius:99px}
.compare.high .bar>span{background:var(--coral)}
.compare .val{font-variant-numeric:tabular-nums;font-weight:700}
.explorer-ui{display:grid;grid-template-columns:280px 1fr;gap:1.4rem;align-items:start}
.explorer-ui label{display:block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 .35rem;font-weight:700}
select,button{font:inherit}
select{width:100%;padding:.65rem .7rem;border-radius:10px;border:1px solid var(--line);background:#fff}
.snapshot{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem}
.snapshot .ratio{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);margin:.2rem 0;color:var(--teal-dark)}
.snapshot .ratio.high{color:var(--coral)}
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.7rem 0}
.chip{background:var(--teal-soft);color:var(--teal-dark);border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:600}
.prose p{margin:0 0 1em}
.prose ul,.caveats{margin:.3rem 0 1rem;padding-left:1.2rem}
.prose li,.caveats li{margin:.25rem 0}
.fine-links{display:flex;flex-wrap:wrap;gap:.5rem .9rem}
footer{background:#1a232c;color:#d7dde4;padding:2.4rem 0 2rem;margin-top:2rem}
footer a{color:#b7e0da}
footer a:hover{color:#fff}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:1.4rem}
footer h4{margin:0 0 .5rem;color:#fff;font-size:.86rem;letter-spacing:.1em;text-transform:uppercase}
footer ul{list-style:none;margin:0;padding:0;font-size:.92rem}
footer li{margin:.25rem 0}
footer .fine{margin:1.6rem 0 0;padding-top:1.1rem;border-top:1px solid #334049;font-size:.8rem;color:#9aa4ae}
.legal-updated{font-size:.82rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
@media (max-width:880px){
  .hero,.explorer-ui,footer .cols,.stats{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr}
  .nav{display:none}
  .top.is-open .nav{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:64px;background:var(--bg);padding:12px 16px 18px;border-bottom:1px solid var(--line);gap:.4rem}
  .burger{display:block;margin-left:auto}
  .chart-card .chart-wrap{height:280px}
}
@media (max-width:520px){
  .stats{grid-template-columns:1fr}
  h1{font-size:1.85rem}
  .wrap{width:min(var(--max),calc(100% - 24px))}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tile{transition:none}
}
