@font-face{font-family:"Bricolage Grotesque";src:url("/fonts/bricolage-grotesque.woff2") format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Geist Sans";src:url("/fonts/geist-sans.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{--paper:#fcfcfa;--ink:#101318;--muted:#6b7a90;--line:#e2e4e8;--electric:#1b4fe8;--amber:#e8a31b;--coral:#e2564a;--pine:#1e8a6e;--white:#fff;--max:1180px;--radius:5px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Geist Sans",system-ui,sans-serif;font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
a{color:var(--electric);text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:2px}
img{max-width:100%;height:auto}
.shell{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{position:fixed;top:10px;left:10px;z-index:20;transform:translateY(-160%);background:var(--ink);color:var(--white);padding:10px 14px}
.skip-link:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:rgba(252,252,250,.96);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}
.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:inline-flex;align-items:center;gap:11px;color:var(--ink);text-decoration:none;font:700 1.25rem/1 "Bricolage Grotesque",sans-serif;letter-spacing:-.03em}
.brand-mark{width:28px;height:28px;fill:var(--electric)}
.brand-mark rect:nth-child(1){fill:var(--amber)}.brand-mark rect:nth-child(2){fill:var(--coral)}
.primary-nav{display:flex;align-items:center;gap:24px;font-size:.91rem;font-weight:650}
.primary-nav a{color:var(--ink);text-decoration:none}
.primary-nav a:hover{color:var(--electric)}
.hero{padding:78px 0 58px;border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:center;gap:52px}
.eyebrow{display:flex;align-items:center;gap:9px;color:var(--electric);font-size:.78rem;line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.eyebrow:before{content:"";width:28px;height:3px;background:var(--electric)}
h1,h2,h3{font-family:"Bricolage Grotesque",sans-serif;line-height:1.06;letter-spacing:-.045em;margin:0 0 .55em}
h1{font-size:clamp(2.7rem,7vw,5.8rem);max-width:940px}
h2{font-size:clamp(1.75rem,4vw,3.15rem);margin-top:1.4em}
h3{font-size:1.35rem;margin-top:1.6em;letter-spacing:-.025em}
.dek{font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.5;color:#344052;max-width:760px}
.hero-art{position:relative;min-height:390px;background:#111827;border-radius:var(--radius);overflow:hidden}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92}
.hero-art:after{content:"May 2025";position:absolute;right:18px;bottom:16px;background:var(--paper);padding:7px 10px;font:700 .78rem/1 "Geist Sans";letter-spacing:.07em;text-transform:uppercase}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:44px;background:var(--line);border:1px solid var(--line)}
.hero-stat{background:var(--paper);padding:20px}
.hero-stat strong,.stat-value{display:block;font:750 clamp(2.2rem,5vw,4.8rem)/.95 "Bricolage Grotesque";font-variant-numeric:tabular-nums;letter-spacing:-.065em}
.hero-stat span{color:var(--muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.07em;font-weight:650}
.section{padding:70px 0;border-bottom:1px solid var(--line)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:30px}
.section-heading h2{margin:0;max-width:760px}.section-heading p{max-width:410px;color:var(--muted);margin:0}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{border:1px solid var(--line);background:var(--white);padding:24px;border-radius:var(--radius);color:var(--ink);text-decoration:none;min-height:210px;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(16,19,24,.09);border-color:#b9c0cb}
.card-kicker{color:var(--muted);font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.1em}
.card strong{font:700 1.55rem/1.15 "Bricolage Grotesque";letter-spacing:-.035em;margin:18px 0 10px}.card p{color:#4c596c;margin:auto 0 0}
.page-shell{padding:44px 0 90px;max-width:1080px}
.breadcrumbs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.82rem;margin-bottom:32px}.breadcrumbs a{color:var(--muted)}
.page-shell>h1{font-size:clamp(2.45rem,6vw,5rem);max-width:960px}
.page-shell>p,.page-shell>ul,.page-shell>ol,.prose{max-width:790px}
.page-shell>p:first-of-type{font-size:1.23rem;line-height:1.55;color:#364256}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:34px 0}
.stat-block{background:var(--white);padding:24px;min-height:158px}.stat-label{display:block;color:var(--muted);font-size:.74rem;line-height:1.25;text-transform:uppercase;letter-spacing:.095em;font-weight:750;margin-bottom:18px}.stat-block .stat-value{font-size:clamp(2.25rem,5vw,4.45rem)}.stat-note{display:block;color:var(--muted);font-size:.8rem;margin-top:9px}
.data-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:42px;align-items:start}
.aside-card{border-top:4px solid var(--electric);background:#f1f4fc;padding:22px;position:sticky;top:100px}.aside-card h2{font-size:1.4rem;margin-top:0}.aside-card ul{padding-left:19px}
.chart{margin:36px 0;border:1px solid var(--line);background:var(--white);padding:22px;border-radius:var(--radius)}
.chart svg{display:block;width:100%;height:auto}.chart-title{font:700 1.25rem/1.2 "Bricolage Grotesque";margin-bottom:5px}.chart-subtitle,.chart-alt{color:var(--muted);font-size:.84rem}.chart-alt{margin:12px 0 0}
.bar-list{display:grid;gap:12px;margin:25px 0}.bar-row{display:grid;grid-template-columns:minmax(130px,210px) 1fr auto;gap:13px;align-items:center;font-variant-numeric:tabular-nums}.bar-track{height:14px;background:#edf0f4;position:relative}.bar-fill{height:100%;background:var(--electric)}.bar-row:nth-child(4n+2) .bar-fill{background:var(--amber)}.bar-row:nth-child(4n+3) .bar-fill{background:var(--coral)}.bar-row:nth-child(4n+4) .bar-fill{background:var(--pine)}
.percentile{position:relative;height:18px;background:linear-gradient(90deg,#d8deeb,#88a3ee,#1b4fe8);margin:26px 0 44px}.percentile i{position:absolute;top:-7px;width:2px;height:32px;background:var(--ink)}.percentile i:after{content:attr(data-label);position:absolute;top:34px;transform:translateX(-50%);font-style:normal;font-size:.72rem;white-space:nowrap;color:var(--muted)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin:28px 0}
table{width:100%;border-collapse:collapse;background:var(--white);font-variant-numeric:tabular-nums;font-size:.9rem}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;text-transform:uppercase;letter-spacing:.065em;background:#f4f5f7;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8f9fc}th[data-key]{cursor:pointer}th[data-key]:after{content:" ↕";color:var(--muted)}th[aria-sort="ascending"]:after{content:" ↑"}th[aria-sort="descending"]:after{content:" ↓"}
.source-list{border-left:4px solid var(--pine);padding:3px 0 3px 20px;margin:30px 0;max-width:800px}.source-list li{margin:9px 0}
.callout{background:#fff7e6;border:1px solid #f2d898;padding:20px;border-radius:var(--radius);max-width:820px}.legal-note{background:#fff0ee;border-left:4px solid var(--coral);padding:18px 20px;max-width:820px}
.verification{display:flex;flex-wrap:wrap;gap:10px 24px;border-top:1px solid var(--line);padding-top:18px;margin-top:48px;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700}
.site-footer{background:var(--ink);color:#d8dde7;padding:50px 0 26px}.site-footer a{color:var(--white)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.footer-brand{color:var(--white)}.footer-grid p{max-width:420px;color:#aab3c2}.footer-grid nav{display:grid;grid-template-columns:repeat(2,max-content);gap:8px 38px;justify-content:end}.disclaimer{border-top:1px solid #343b48;margin-top:38px;padding-top:22px;font-size:.78rem;line-height:1.55;color:#aab3c2}
@media(max-width:850px){.primary-nav{display:none}.hero{padding-top:46px}.hero-grid,.data-layout{grid-template-columns:1fr}.hero-art{min-height:300px}.hero-stats,.stat-grid{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}.aside-card{position:static}.section-heading{display:block}.section-heading p{margin-top:10px}.footer-grid{grid-template-columns:1fr}.footer-grid nav{justify-content:start}}
@media(max-width:560px){body{font-size:16px}.shell{width:min(calc(100% - 26px),var(--max))}.card-grid{grid-template-columns:1fr}.hero-art{min-height:240px}.bar-row{grid-template-columns:1fr auto}.bar-track{grid-column:1/-1;grid-row:2}.footer-grid nav{grid-template-columns:1fr 1fr}.page-shell{padding-top:28px}th,td{padding:11px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
