:root{--paper:#FAF8F4;--surface:#F4F0E9;--sunken:#EDE7DC;--rule:#DED6C8;--ruledeep:#C9BFAD;--ink:#15171B;--inksoft:#3C4149;--muted:#6B7078;--earth:#8B8377;--pine:#1B4D3A;--moss:#4A6B2A;--umber:#6E4A2A;--amber:#C07A12;--red:#B23A2E;--water:#2F6F9F;--night:#101418}
*{box-sizing:border-box;margin:0}
body{background:var(--paper);color:var(--ink);font:15px/1.55 Archivo,system-ui,sans-serif}
a{color:var(--pine)}
.wrap{max-width:1280px;margin:0 auto;padding:28px 24px 60px}
.mark{width:48px;height:4px;background:var(--amber)}
.eyebrow{font:600 11px/1 Archivo;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:16px}
.eyebrow a{color:var(--muted);text-decoration:none}
h1{font:400 36px/1.05 Newsreader,Georgia,serif;letter-spacing:-.02em;margin-top:10px;text-wrap:balance}
.lede{max-width:78ch;color:var(--inksoft);margin-top:10px;font-size:14px}
.bar{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:16px;padding:12px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.seg{display:inline-flex;border:1px solid var(--ruledeep);flex-wrap:wrap}
.seg button{font:600 11px/1 Archivo;letter-spacing:.1em;text-transform:uppercase;padding:10px 12px;border:0;border-left:1px solid var(--ruledeep);background:var(--surface);color:var(--ink);cursor:pointer}
.seg button:first-child{border-left:0}
.seg button[aria-pressed=true]{background:var(--pine);color:var(--paper)}
.grp{display:inline-flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding-left:16px;border-left:1px solid var(--rule)}
.grp:first-child{padding-left:0;border-left:0}
.grp[hidden]{display:none}
label.t{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--inksoft);cursor:pointer}
input[type=search],select{font:14px Archivo,sans-serif;padding:8px 10px;border:1px solid var(--ruledeep);background:var(--paper);color:var(--ink);min-width:220px}
.btn{font:600 11px/1 Archivo;letter-spacing:.12em;text-transform:uppercase;padding:10px 14px;border:1px solid var(--ruledeep);background:var(--surface);color:var(--ink);cursor:pointer}
.btn.primary{background:var(--moss);border-color:var(--moss);color:var(--paper)}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:14px}
.fig{border-top:2px solid var(--rule);padding-top:8px}
.fig b{display:block;font:500 26px/1 Newsreader,Georgia,serif;font-variant-numeric:tabular-nums}
.fig span{display:block;font:600 10px/1.3 Archivo;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:6px}
.sub{font-size:12px;color:var(--muted);margin-top:8px}
#chart{margin-top:16px;border:1px solid var(--rule);background:var(--paper);position:relative;overflow-x:auto}
#chart svg{display:block;width:100%;min-width:760px;height:auto}
#tip{position:absolute;pointer-events:none;background:var(--paper);border:1px solid var(--ruledeep);box-shadow:0 8px 30px rgba(0,0,0,.15);padding:8px 10px;font-size:12px;line-height:1.4;display:none;z-index:2;max-width:300px}
#tip b{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:15px;display:block}
.grid{display:grid;grid-template-columns:1fr;gap:28px;margin-top:30px}
@media(min-width:960px){.grid{grid-template-columns:1fr 1fr}}
h2,h3.block-title{font:400 22px/1.15 Newsreader,Georgia,serif;letter-spacing:-.01em;border-bottom:1px solid var(--rule);padding-bottom:8px}
.block p{margin-top:10px;color:var(--inksoft);font-size:14px}
.note{font-size:12px;color:var(--earth);margin-top:14px;line-height:1.5}
ol.rank{list-style:none;margin-top:8px}
ol.rank li{display:grid;grid-template-columns:30px 1fr 90px;gap:10px;align-items:center;padding:7px 0;border-bottom:1px solid var(--sunken);font-size:13px;cursor:pointer}
ol.rank li:hover{background:var(--surface)}
ol.rank .n{font:500 16px/1 Newsreader,Georgia,serif;color:var(--earth)}
ol.rank .v{text-align:right;font-variant-numeric:tabular-nums;font:500 16px/1 Newsreader,Georgia,serif}
ol.rank small{display:block;color:var(--muted);font-size:12px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:32px}
.card{border:1px solid var(--rule);background:var(--surface);padding:0 0 18px;text-decoration:none;color:inherit}
.card:hover{border-color:var(--ruledeep)}
.card img{display:block;width:100%;height:auto;border-bottom:1px solid var(--rule)}
.card h2{font-size:22px;padding:16px 18px 0;border:0}
.card p{padding:8px 18px 0;color:var(--muted);font-size:14px}
footer{margin-top:44px;border-top:1px solid var(--rule);padding-top:14px;color:var(--earth);font-size:13px}
