:root {
  --night:#071829; --navy:#0d2940; --cyan:#55d6d1; --cyan-soft:#dff9f7;
  --ink:#132334; --muted:#586878; --line:#d9e2e8; --paper:#ffffff; --mist:#f3f7f9;
  --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.68 var(--sans); }
a { color:inherit; }
.skip-link { position:absolute; left:-9999px; top:8px; z-index:20; padding:10px 14px; background:white; color:var(--night); }
.skip-link:focus { left:8px; }
.site-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; min-height:68px; padding:0 max(24px,calc((100vw - 1180px)/2)); background:rgba(7,24,41,.96); color:white; backdrop-filter:blur(10px); }
.wordmark { text-decoration:none; font-size:.92rem; font-weight:760; letter-spacing:.01em; }
.wordmark span { margin-right:8px; color:var(--cyan); font-family:var(--serif); font-size:1.12rem; }
nav { display:flex; align-items:center; gap:24px; }
nav a { color:#d9e6ee; text-decoration:none; font-size:.9rem; font-weight:650; }
nav a:hover { color:white; }
.nav-paper { padding:8px 12px; border:1px solid #436278; border-radius:8px; }
main { overflow:hidden; }
.hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:60px; width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:104px 0 92px; }
.eyebrow,.section-number,.mini-label { margin:0 0 14px; color:#137d79; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:820px; margin:0; font:800 clamp(4rem,9vw,7.6rem)/.88 var(--serif); letter-spacing:-.065em; color:var(--night); }
.deck { max-width:780px; margin:28px 0 18px; font:500 clamp(1.45rem,3vw,2.25rem)/1.25 var(--serif); color:#274458; }
.authors { margin:0; color:var(--muted); }
.authors strong { color:var(--ink); }
.actions { display:flex; flex-wrap:wrap; align-items:center; gap:13px; margin-top:34px; }
.button { padding:12px 17px; border-radius:9px; text-decoration:none; font-size:.92rem; font-weight:760; }
.primary { background:var(--night); color:white; }
.primary:hover { background:#123651; }
.secondary { border:1px solid #aabac5; background:white; }
.text-link { margin-left:5px; color:#24546f; font-size:.92rem; font-weight:700; text-underline-offset:4px; }
.hero-result { align-self:end; padding:29px; border-radius:18px; background:var(--night); color:white; box-shadow:24px 24px 0 var(--cyan-soft); }
.hero-result .mini-label { color:var(--cyan); }
.hero-result strong { display:block; margin:8px 0 18px; font:800 clamp(4rem,8vw,6.6rem)/.9 var(--serif); letter-spacing:-.06em; }
.hero-result p { margin:0; color:#cfe0e9; font-size:.96rem; }
.scale { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; margin-top:26px; }
.scale i { height:7px; border-radius:20px; background:var(--cyan); opacity:.35; }
.scale i:nth-child(-n+3) { opacity:1; }
.direct-answer { display:grid; grid-template-columns:280px 1fr; column-gap:60px; padding:72px max(24px,calc((100vw - 1180px)/2)); background:var(--night); color:white; }
.direct-answer .section-number { grid-column:1; color:var(--cyan); }
.direct-answer h2 { grid-column:1; margin:0; font:700 2rem/1.17 var(--serif); }
.direct-answer > p:last-child { grid-column:2; grid-row:1/3; align-self:center; margin:0; max-width:750px; color:#d8e6ee; font-size:1.22rem; }
.direct-answer strong { color:white; }
.content-section,.citation { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:88px 0; }
.content-section + .content-section { border-top:1px solid var(--line); }
.section-heading { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); gap:60px; align-items:end; margin-bottom:42px; }
.section-heading.compact { grid-template-columns:1fr; }
.section-heading h2,.citation h2 { max-width:760px; margin:0; font:750 clamp(2rem,4.4vw,3.7rem)/1.08 var(--serif); letter-spacing:-.025em; color:var(--night); }
.section-heading > p { margin:0; color:var(--muted); }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:var(--line); }
.stat-grid article { min-height:190px; padding:30px; background:white; }
.stat-grid strong { display:block; color:#0b716d; font:750 clamp(2.1rem,4vw,3.4rem)/1 var(--serif); letter-spacing:-.04em; }
.stat-grid p { margin:20px 0 0; color:var(--muted); }
.overview-figure { margin:56px 0 0; padding:20px; border-radius:18px; background:var(--mist); }
.overview-figure img { display:block; width:100%; height:auto; border-radius:9px; background:white; }
.overview-figure figcaption { margin:13px 4px 0; color:var(--muted); font-size:.88rem; }
.baseline { padding-top:72px; }
.table-wrap { overflow-x:auto; border:1px solid var(--line); border-radius:14px; }
table { width:100%; border-collapse:collapse; font-size:.94rem; }
th,td { padding:15px 17px; border-bottom:1px solid var(--line); text-align:left; white-space:nowrap; }
th { background:var(--night); color:white; font-size:.8rem; letter-spacing:.04em; }
tbody tr:last-child td { border-bottom:0; }
tbody tr:nth-child(even) { background:var(--mist); }
td small { color:var(--muted); }
.method-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.method-grid article { padding:26px; border:1px solid var(--line); border-radius:15px; background:linear-gradient(145deg,#fff,var(--mist)); }
.method-grid span { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:var(--cyan-soft); color:#07635f; font:750 1.15rem var(--serif); }
.method-grid h3 { margin:22px 0 8px; font:700 1.3rem var(--serif); }
.method-grid p,.scope-grid p { margin:0; color:var(--muted); }
.scope-grid { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:38px; margin-top:46px; padding-top:34px; border-top:1px solid var(--line); }
.scope-grid h3 { margin:0 0 8px; font-size:.96rem; }
.faq details { border-top:1px solid var(--line); }
.faq details:last-child { border-bottom:1px solid var(--line); }
.faq summary { padding:21px 36px 21px 0; cursor:pointer; font-weight:740; list-style-position:outside; }
.faq details p { max-width:790px; margin:-4px 0 22px; color:var(--muted); }
.citation { display:grid; grid-template-columns:1fr 1fr; gap:60px; padding:70px; border-radius:20px; background:var(--cyan-soft); }
.citation pre { grid-row:1/3; grid-column:2; margin:0; padding:22px; overflow:auto; border-radius:12px; background:var(--night); color:#d9edf0; font:13px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace; }
.citation > p { margin:0; align-self:end; }
.citation a { color:#075d59; font-weight:700; text-underline-offset:4px; }
.site-footer { display:flex; justify-content:space-between; gap:40px; margin-top:88px; padding:38px max(24px,calc((100vw - 1180px)/2)); background:var(--night); color:white; font-size:.9rem; }
.site-footer div { display:flex; gap:18px; }
.site-footer span,.site-footer a { color:#bcd0dc; text-decoration:none; }
@media (max-width:850px) {
  nav a:not(.nav-paper) { display:none; }
  .hero { grid-template-columns:1fr; padding:70px 0; }
  .hero-result { max-width:520px; }
  .direct-answer { grid-template-columns:1fr; gap:14px; }
  .direct-answer .section-number,.direct-answer h2,.direct-answer > p:last-child { grid-column:1; grid-row:auto; }
  .section-heading,.citation { grid-template-columns:1fr; gap:22px; }
  .stat-grid,.method-grid,.scope-grid { grid-template-columns:1fr; }
  .stat-grid article { min-height:0; }
  .citation { width:calc(100% - 32px); padding:32px 24px; }
  .citation pre { grid-column:1; grid-row:auto; }
  .site-footer,.site-footer div { flex-direction:column; }
}
@media (max-width:520px) {
  body { font-size:16px; }
  .site-header { padding:0 16px; }
  .wordmark { max-width:190px; }
  .hero,.content-section { width:calc(100% - 32px); }
  h1 { font-size:3.7rem; }
  .hero-result { box-shadow:12px 12px 0 var(--cyan-soft); }
  .direct-answer { padding:55px 20px; }
  .content-section { padding:64px 0; }
  .site-footer { margin-top:64px; }
}
