:root {
  color-scheme: light;
  --paper: #f3f1e8;
  --paper-deep: #e9e5d9;
  --surface: #faf9f4;
  --ink: #191d1a;
  --ink-soft: #3e463e;
  --muted: #697168;
  --line: #cbc9bd;
  --line-strong: #9ca097;
  --moss: #50664a;
  --moss-bright: #7d9a68;
  --moss-pale: #dce5d1;
  --rust: #b94e2f;
  --rust-pale: #f0d8ca;
  --sand: #c4ad7a;
  --serif: Georgia, "Times New Roman", Times, serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --shell: min(1440px, calc(100vw - 80px));
  --text: 720px;
  --radius: 3px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .27;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.88' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.07'/%3E%3C/svg%3E");
}

img, svg { display: block; max-width: 100%; }
a { color: inherit; }
button, input { font: inherit; }
button { color: inherit; }
sub, sup { line-height: 0; }
::selection { background: var(--moss); color: #fff; }

.shell { width: var(--shell); margin-inline: auto; }
.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 15px;
  background: var(--ink); color: white; text-decoration: none; transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--rust); outline-offset: 4px; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 100;
  background: color-mix(in srgb, var(--paper) 88%, transparent);
  border-bottom: 1px solid transparent;
  backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  transition: border-color .25s ease, background .25s ease;
}
.site-header.scrolled { border-color: var(--line); background: color-mix(in srgb, var(--paper) 96%, transparent); }
.nav-shell { width: var(--shell); height: 72px; margin: auto; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; letter-spacing: -.03em; text-decoration: none; }
.brand-mark { display: grid; grid-template-columns: repeat(3, 6px); align-items: end; gap: 3px; width: 25px; height: 23px; }
.brand-mark i { display: block; background: var(--moss); }
.brand-mark i:nth-child(1) { height: 9px; }
.brand-mark i:nth-child(2) { height: 22px; background: var(--rust); }
.brand-mark i:nth-child(3) { height: 14px; }
.desktop-nav { margin-left: auto; display: flex; align-items: center; gap: 26px; }
.desktop-nav a { position: relative; color: var(--muted); font-size: 13px; font-weight: 650; text-decoration: none; }
.desktop-nav a::after { content: ""; position: absolute; inset: auto 0 -7px; height: 1px; background: var(--moss); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--ink); }
.desktop-nav a.active::after, .desktop-nav a:hover::after { transform: scaleX(1); }
.nav-paper { padding: 8px 12px; border: 1px solid var(--line-strong); font-size: 12px; font-weight: 750; text-decoration: none; text-transform: uppercase; letter-spacing: .08em; }
.language-links { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; font-weight: 750; }
.language-links a { text-decoration: none; }.language-links a[aria-current="page"] { color: var(--ink); }
.mobile-languages { display: flex; gap: 22px; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
.nav-paper:hover { color: white; background: var(--ink); border-color: var(--ink); }
.menu-button { display: none; width: 42px; height: 42px; border: 0; background: none; padding: 10px; }
.menu-button i { display: block; height: 1px; background: currentColor; margin: 6px 0; transition: transform .2s; }
.menu-button[aria-expanded="true"] i:first-of-type { transform: translateY(3.5px) rotate(45deg); }
.menu-button[aria-expanded="true"] i:last-of-type { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav { width: var(--shell); margin: auto; padding: 5px 0 24px; border-top: 1px solid var(--line); }
.mobile-nav a { display: block; padding: 10px 0; font-weight: 700; text-decoration: none; }

.hero { position: relative; overflow: hidden; padding: 150px 0 0; border-bottom: 1px solid var(--line); }
.hero-grid { position: absolute; inset: 72px 0 0; opacity: .47; pointer-events: none; background-image: linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px); background-size: 80px 80px; mask-image: linear-gradient(to bottom, black, transparent 85%); }
.hero::after { content: ""; position: absolute; width: 620px; height: 620px; right: -250px; top: -170px; border: 1px solid var(--moss); border-radius: 50%; opacity: .15; box-shadow: 0 0 0 90px var(--paper), 0 0 0 91px var(--moss), 0 0 0 180px var(--paper), 0 0 0 181px var(--moss); }
.hero-shell { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(440px, .95fr); gap: clamp(48px, 7vw, 120px); align-items: center; padding-bottom: 76px; }
.eyebrow, .section-index { margin: 0 0 21px; color: var(--moss); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.eyebrow span { width: 7px; height: 7px; background: var(--rust); border-radius: 50%; box-shadow: 0 0 0 4px var(--rust-pale); }
.hero h1 { display: flex; align-items: center; margin: 0; font-family: var(--serif); font-size: clamp(72px, 7.4vw, 122px); font-weight: 400; letter-spacing: -.075em; line-height: .8; }
.hero h1 span:last-child { color: var(--moss); }
.hero h1 i { padding: 0 .12em; color: var(--rust); font-weight: 400; }
.paper-title { max-width: 760px; margin: 40px 0 0; font-family: var(--serif); font-size: clamp(27px, 2.6vw, 42px); line-height: 1.12; letter-spacing: -.03em; }
.paper-subtitle { margin: 10px 0 0; color: var(--muted); font-size: clamp(17px, 1.5vw, 23px); letter-spacing: -.015em; }
.hero-deck { max-width: 720px; margin: 28px 0; color: var(--ink-soft); font-size: 18px; line-height: 1.65; }
.hero-deck strong { color: var(--rust); font-weight: 750; }
.authors { display: flex; flex-wrap: wrap; gap: 3px 15px; max-width: 750px; }
.authors > span { font-size: 15px; font-weight: 720; }
.authors sup { margin-left: 2px; color: var(--moss); }
.affiliations { max-width: 760px; margin: 8px 0 27px; color: var(--muted); font-size: 13px; line-height: 1.55; }
.resource-links { display: flex; flex-wrap: wrap; gap: 8px; }
.button { min-width: 108px; display: flex; align-items: baseline; justify-content: space-between; gap: 13px; padding: 10px 12px; border: 1px solid var(--line-strong); background: color-mix(in srgb, var(--surface) 70%, transparent); font-size: 13px; font-weight: 750; text-decoration: none; transition: color .2s, background .2s, transform .2s; }
.button small { color: var(--muted); font-size: 11px; letter-spacing: .04em; }
.button:hover { color: white; background: var(--ink); transform: translateY(-2px); }
.button:hover small { color: #d8ddd6; }
.button.primary { color: white; background: var(--moss); border-color: var(--moss); }

.hero-visual { position: relative; min-height: 590px; padding: 0; color: var(--ink); }
.visual-heading { display: flex; justify-content: space-between; gap: 20px; padding-bottom: 13px; border-bottom: 1px solid var(--line-strong); color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.mask-stage { position: relative; }
.mask-stage svg { width: 100%; min-height: 410px; color: var(--ink); }
.mask-ghost { fill: var(--moss-pale); stroke: var(--moss); stroke-width: 3; stroke-dasharray: 5 8; opacity: .75; }
.mask-cut { fill: var(--moss); opacity: .07; stroke: var(--moss); stroke-width: 1; }
.zero-pixels { fill: var(--rust); opacity: .9; }
.visual-note { position: absolute; display: flex; flex-direction: column; line-height: 1.3; font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
.visual-note span { color: var(--muted); }
.visual-note b { font-size: 12px; }
.note-failure { top: 37%; left: 4%; color: #f08a62; }
.note-recovery { right: 3%; bottom: 8%; text-align: right; color: var(--moss); }
.cliff-scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding-top: 17px; border-top: 1px solid var(--line-strong); }
.cliff-scale div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 6px; }
.cliff-scale span { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
.cliff-scale strong { font-family: var(--mono); font-size: 14px; }
.cliff-scale i { position: relative; grid-column: 1 / -1; height: 3px; background: var(--line); }
.cliff-scale i::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--level); background: #dce8d6; }
.cliff-scale i.failure::before { background: var(--rust); }
.cliff-scale i.recovery::before { background: var(--moss-bright); }
.visual-caption { max-width: 430px; margin: 15px 0 0 auto; color: var(--muted); font-family: var(--serif); font-size: 14px; font-style: italic; line-height: 1.5; text-align: right; }
.metric-rail { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); }
.metric-rail article { min-height: 148px; padding: 27px clamp(12px, 2.4vw, 35px); border-left: 1px solid var(--line); }
.metric-rail article:last-child { border-right: 1px solid var(--line); }
.metric-rail strong { display: block; margin-bottom: 7px; font-family: var(--serif); font-size: clamp(25px, 2.5vw, 39px); font-weight: 400; letter-spacing: -.04em; line-height: 1; }
.metric-rail strong small { color: var(--moss); font-family: var(--sans); font-size: .4em; font-weight: 800; letter-spacing: 0; }
.metric-rail span { display: block; max-width: 210px; color: var(--muted); font-size: 13px; line-height: 1.45; text-transform: uppercase; letter-spacing: .05em; }

.section { position: relative; padding: clamp(95px, 10vw, 160px) 0; border-bottom: 1px solid var(--line); }
.section-heading h2 { max-width: 800px; margin: 0; font-family: var(--serif); font-size: clamp(40px, 4.5vw, 68px); font-weight: 400; letter-spacing: -.045em; line-height: 1.02; }
.section-lead, .centered-heading > p:last-child { max-width: 650px; margin: 27px 0 0; color: var(--muted); font-size: 18px; }
.centered-heading { max-width: 950px; margin: 0 auto clamp(55px, 6vw, 90px); text-align: center; }
.centered-heading h2, .centered-heading > p:last-child { margin-inline: auto; }
.split-intro { display: grid; grid-template-columns: minmax(330px, .75fr) minmax(520px, 1.25fr); gap: clamp(70px, 10vw, 180px); }
.sticky-heading { position: sticky; top: 120px; align-self: start; }
.cliff-section { background: var(--surface); }
.comparison-head { display: flex; justify-content: space-between; padding-bottom: 14px; border-bottom: 1px solid var(--line-strong); color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.bit-comparison article { position: relative; display: grid; grid-template-columns: 1fr auto 30px; align-items: center; gap: 15px; min-height: 106px; border-bottom: 1px solid var(--line); overflow: hidden; }
.bit-comparison article > * { position: relative; z-index: 1; }
.bit-comparison article > i { position: absolute; z-index: 0; left: 0; bottom: 0; height: 4px; width: var(--bar); background: var(--moss); opacity: .65; }
.bit-comparison article b { font-size: 20px; }
.bit-comparison article small { display: block; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.bit-comparison article strong { font-family: var(--mono); font-size: clamp(30px, 3vw, 45px); font-weight: 500; }
.bit-comparison article > span { color: var(--muted); font-family: var(--serif); }
.bit-comparison article.collapsed { color: var(--rust); background: linear-gradient(90deg, transparent, var(--rust-pale)); }
.bit-comparison article.collapsed > i { background: var(--rust); opacity: 1; }
.cliff-content blockquote { margin: 48px 0 24px; padding: 0 0 0 25px; border-left: 3px solid var(--rust); font-family: var(--serif); font-size: clamp(25px, 2.6vw, 38px); line-height: 1.25; }
.cliff-content blockquote em { color: var(--rust); }
.cliff-content > p { max-width: 760px; color: var(--muted); font-size: 17px; }
.cliff-content > p strong { color: var(--ink); }

.mechanism-section { overflow: hidden; }
.mechanism-section::before { content: ""; position: absolute; inset: 0; opacity: .1; background: radial-gradient(circle at 15% 32%, var(--moss) 0 1px, transparent 2px), radial-gradient(circle at 86% 65%, var(--rust) 0 1px, transparent 2px); background-size: 30px 33px, 49px 55px; mask-image: linear-gradient(90deg, black, transparent 30%, transparent 70%, black); }
.causal-chain { position: relative; display: grid; grid-template-columns: repeat(7, auto); align-items: stretch; gap: 14px; }
.causal-chain article { width: min(19vw, 280px); min-height: 405px; display: grid; grid-template-rows: auto 150px minmax(76px, auto) 1fr; align-content: start; padding: 22px 4px 0; border: 0; border-top: 2px solid var(--ink); background: transparent; }
.chain-step { color: var(--muted); font-family: var(--mono); font-size: 12px; }
.causal-chain h3 { align-self: start; margin: 18px 0 12px; font-family: var(--serif); font-size: 23px; font-weight: 400; line-height: 1.12; }
.causal-chain h3 small { display: block; min-height: 22px; margin-top: 7px; color: var(--moss); font-family: var(--sans); font-size: 14px; font-weight: 750; letter-spacing: .02em; }
.causal-chain p { align-self: start; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
.causal-chain p span { display: block; margin-top: 8px; color: var(--ink-soft); font-size: 13px; line-height: 1.55; }
.chain-arrow { align-self: center; color: var(--line-strong); font-family: var(--serif); font-size: 26px; }
.causal-chain .chain-failure { padding-inline: 16px; border-color: var(--rust); background: linear-gradient(to bottom, var(--rust-pale), transparent 75%); }
.causal-chain .chain-failure h3 { color: var(--rust); }
.mechanism-visual { position: relative; height: 150px; margin-top: 8px; overflow: hidden; border-bottom: 0; }
.mechanism-visual svg { width: 100%; height: 122px; }
.mechanism-visual .axis, .mechanism-visual .shared-range { fill: none; stroke: var(--line-strong); stroke-width: 1.5; }
.mechanism-visual .background-bars, .mechanism-visual .quant-levels { fill: none; stroke: var(--moss); stroke-width: 8; }
.mechanism-visual .spike { stroke: var(--rust); stroke-width: 9; }
.mechanism-visual .spike-dot { fill: var(--rust); }
.mechanism-visual .callout { fill: none; stroke: var(--rust); stroke-width: 1.5; stroke-dasharray: 3 3; }
.mechanism-visual .small-signals { fill: var(--moss); }
.mechanism-visual text { fill: var(--muted); font-family: var(--mono); font-size: 11px; }
.mechanism-visual .delta-bracket { fill: none; stroke: var(--rust); stroke-width: 1.5; }
.mechanism-visual .delta-text { fill: var(--rust); font-family: var(--serif); font-size: 15px; font-style: italic; }
.mechanism-visual .weak-wave { fill: none; stroke: var(--rust); stroke-width: 2; stroke-dasharray: 4 3; }
.mechanism-visual .boundary-before { fill: none; stroke: var(--moss); stroke-width: 4; }
.mechanism-visual .collapse-arrow { fill: none; stroke: var(--rust); stroke-width: 2; }
.mechanism-visual .zero-zone { fill: var(--rust); }
.mechanism-visual .zero-text { fill: white; font-family: var(--mono); font-size: 16px; font-weight: 700; }
.mechanism-visual .lost-pixels { fill: var(--rust); opacity: .5; }
.visual-tag { position: absolute; right: 0; bottom: 7px; color: var(--muted); font-size: 11px; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.mechanism-bottom { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, .45fr); gap: 50px; margin-top: 80px; align-items: start; }
.paper-figure { margin: 0; }
.figure-open { position: relative; display: block; width: 100%; padding: 0; overflow: hidden; border: 1px solid var(--line); background: white; cursor: zoom-in; }
.figure-open img { width: 100%; height: auto; transition: transform .45s cubic-bezier(.2,.7,.2,1); }
.figure-open > span { position: absolute; right: 9px; bottom: 9px; padding: 7px 9px; color: white; background: color-mix(in srgb, var(--ink) 90%, transparent); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; opacity: 0; transform: translateY(5px); transition: opacity .2s, transform .2s; }
.figure-open:hover img { transform: scale(1.012); }
.figure-open:hover > span { opacity: 1; transform: none; }
.paper-figure figcaption { max-width: 950px; margin-top: 13px; color: var(--muted); font-family: var(--serif); font-size: 13px; line-height: 1.55; }
.paper-figure figcaption b, .paper-figure figcaption strong { color: var(--ink); }
.diagnostic-key { padding: 25px 0 0; border-top: 1px solid var(--ink); }
.aside-label { margin: 0 0 10px; color: var(--moss); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.diagnostic-key dl { margin: 0; }
.diagnostic-key dl div { display: grid; grid-template-columns: 70px 1fr; padding: 19px 0; border-bottom: 1px solid var(--line); }
.diagnostic-key dt { color: var(--moss); font-family: var(--serif); font-size: 21px; font-style: italic; }
.diagnostic-key dd { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.method-section { color: #edf0e9; background: #20251f; }
.method-section .section-index { color: #a8bc99; }
.method-intro, .evidence-intro, .results-intro, .qualitative-intro { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr); align-items: end; gap: 80px; margin-bottom: 75px; }
.method-intro > p, .evidence-intro > p, .results-intro > p, .qualitative-intro > p { margin: 0; color: #aeb6ab; font-size: 17px; }
.web-method { display: grid; grid-template-columns: 1fr auto .72fr auto .72fr auto 1fr; align-items: center; gap: 18px; padding: 38px 0; border-block: 1px solid #596257; }
.method-before, .method-after { min-height: 160px; padding: 19px; background: #171b17; }
.method-before p, .method-after p { margin: 0; color: #8e9b89; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.method-before > span, .method-after > span { display: block; margin-top: 9px; color: #899187; font-size: 10px; }
.token-ranges { height: 68px; display: flex; align-items: flex-end; gap: 8px; margin-top: 10px; }
.token-ranges i { width: 13%; height: var(--r); background: #788772; }.token-ranges .outlier { background: var(--rust); }
.method-arrow { color: #697466; font-size: 25px; }
.method-node { min-height: 145px; display: flex; flex-direction: column; justify-content: center; padding: 17px; border: 0; border-top: 3px solid #8da183; background: transparent; }
.method-node span { color: #93a28e; font-family: var(--mono); font-size: 9px; }
.method-node b { margin-top: 12px; font-family: var(--serif); font-size: clamp(28px, 3vw, 42px); font-weight: 400; }
.method-node small { color: #9fa89d; font-size: 9px; line-height: 1.3; text-transform: uppercase; letter-spacing: .06em; }
.dcrp-node { border-color: #d49a84; }
.method-after > div { display: flex; justify-content: space-between; align-items: center; height: 68px; }
.method-after i { width: 9px; background: #a7bf94; height: 35%; }.method-after i:nth-child(2) { height: 62%; }.method-after i:nth-child(3) { height: 42%; }.method-after i:nth-child(4) { height: 80%; }.method-after i:nth-child(5) { height: 55%; }.method-after i:nth-child(6) { height: 72%; }.method-after i:nth-child(7) { height: 38%; }
.method-details { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 8vw, 130px); margin: 85px 0 100px; background: transparent; border: 0; }
.method-details > article { min-height: 410px; padding: 0; background: transparent; }
.method-details > article + article { padding-left: clamp(30px, 4vw, 65px); border-left: 1px solid #596257; }
.method-number { display: flex; align-items: center; gap: 16px; color: #93a18e; font-family: var(--mono); font-size: 11px; }
.method-number i { flex: 1; height: 1px; background: #596257; }
.method-kicker { margin: 75px 0 8px; color: #9aaa94; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.method-details h3 { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(32px, 3.4vw, 51px); font-weight: 400; letter-spacing: -.035em; line-height: 1; }
.method-details > article > p:not(.method-kicker) { max-width: 600px; color: #aeb6ab; }
.mini-equation { margin-top: 32px; padding: 20px; border: 1px solid #4d574b; color: #dce7d5; font-family: var(--serif); font-size: 26px; }
.mini-equation span { color: var(--rust); }.mini-equation small { display: block; margin-top: 9px; color: #858f82; font-family: var(--sans); font-size: 9px; text-transform: uppercase; letter-spacing: .07em; }
.constraint-list { margin-top: 28px; }
.constraint-list > div { display: grid; grid-template-columns: 42px 1fr; gap: 15px; padding: 14px 0; border-top: 1px solid #4d574b; }
.constraint-list > div > span { display: grid; place-items: center; width: 36px; height: 36px; color: #20251f; background: #d59a83; font-size: 10px; font-weight: 800; }
.constraint-list p { margin: 0; }.constraint-list b { font-family: var(--serif); font-size: 19px; font-weight: 400; }.constraint-list small { display: block; color: #929b90; font-size: 10px; }
.framework-figure .figure-open { background: #f3edf6; }
.method-section .paper-figure figcaption { color: #99a096; }.method-section .paper-figure figcaption b { color: #edf0e9; }

.evidence-section { background: var(--surface); }
.evidence-intro > p, .results-intro > p, .qualitative-intro > p { color: var(--muted); }
.evidence-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 55px; align-items: start; }
.evidence-wide { grid-column: 1 / -1; }
.evidence-grid .paper-figure { padding-top: 15px; border-top: 1px solid var(--ink); }
.figure-meta { display: flex; justify-content: space-between; margin-bottom: 11px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.evidence-large figcaption { font-size: 15px; }
.evidence-large + .evidence-wide { margin-top: 10px; }

.model-tabs { display: flex; border-bottom: 1px solid var(--line-strong); }
.model-tabs button { min-width: 230px; padding: 16px 20px; border: 0; border-top: 1px solid var(--line); border-inline: 1px solid var(--line); background: transparent; text-align: left; font-weight: 800; cursor: pointer; }
.model-tabs button + button { margin-left: -1px; }
.model-tabs button span { display: block; color: var(--muted); font-size: 9px; font-weight: 600; text-transform: uppercase; letter-spacing: .09em; }
.model-tabs button[aria-selected="true"] { color: white; background: var(--moss); border-color: var(--moss); }
.model-tabs button[aria-selected="true"] span { color: #d8e1d3; }
.result-panel { padding-top: 29px; }
.table-scroll { max-width: 100%; overflow-x: auto; scrollbar-color: var(--moss) var(--paper-deep); }
table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
th, td { padding: 16px 13px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
thead th { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
thead tr:first-child th:not(:first-child) { color: var(--ink); border-bottom: 1px solid var(--line-strong); text-align: center; }
tbody th { min-width: 180px; text-align: left; font-size: 13px; }
tbody th small { display: block; color: var(--muted); font-size: 8px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
tbody td { font-family: var(--mono); font-size: 13px; }
.failure-row { color: var(--rust); background: color-mix(in srgb, var(--rust-pale) 45%, transparent); }
.ours-row { color: #253020; background: var(--moss-pale); font-weight: 800; }
.ours-row th span { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: var(--moss); }
.table-note { margin: 14px 0 0; color: var(--muted); font-size: 11px; }
.ablation-callout { display: grid; grid-template-columns: .8fr 1.1fr .65fr; gap: 55px; align-items: center; margin-top: 95px; padding: 40px; border: 1px solid var(--line-strong); }
.ablation-callout h3 { margin: 0; font-family: var(--serif); font-size: 32px; font-weight: 400; line-height: 1.1; }
.ablation-bars p { display: grid; grid-template-columns: 100px 1fr 40px; align-items: center; gap: 10px; margin: 9px 0; font-size: 10px; }
.ablation-bars i { height: 6px; background: var(--paper-deep); }.ablation-bars b { display: block; width: var(--w); height: 100%; background: var(--line-strong); }.ablation-bars strong { font-family: var(--mono); font-weight: 500; }
.ablation-bars .active { color: var(--moss); font-weight: 800; }.ablation-bars .active b { background: var(--moss); }
.ablation-callout > p { color: var(--muted); font-size: 12px; }

.qualitative-section { background: #dedbce; }
.qualitative-figure { width: min(1680px, calc(100vw - 40px)); margin-left: 50%; padding: 0; border: 0; background: transparent; box-shadow: none; transform: translateX(-50%); }
.qualitative-figure .figure-open { border: 0; }
.qualitative-figure figcaption { padding: 0 5px 3px; }

.deployment-section { color: #eff1ec; background: #20251f; }
.deployment-section .section-index { color: #a8bc99; }
.deployment-shell { display: grid; grid-template-columns: minmax(380px, .8fr) minmax(560px, 1.2fr); gap: 100px; align-items: start; }
.deployment-copy h2 { margin: 0; font-family: var(--serif); font-size: clamp(46px, 5vw, 75px); font-weight: 400; line-height: 1; letter-spacing: -.05em; }
.deployment-copy > p:not(.section-index) { color: #adb5aa; font-size: 17px; }
.deployment-spec { display: flex; flex-wrap: wrap; gap: 7px; margin: 27px 0; }
.deployment-spec span { padding: 6px 8px; border: 1px solid #536050; color: #c5cec1; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.scope-note { margin-top: 42px; padding: 20px; border-left: 3px solid var(--sand); background: #2a3029; }
.scope-note b { color: #d9c89f; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.scope-note p { margin: 7px 0 0; color: #aeb5aa; font-size: 11px; line-height: 1.55; }
.deployment-metrics { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid #4e594c; }
.deployment-metrics article { min-height: 210px; padding: 30px; border-right: 1px solid #4e594c; border-bottom: 1px solid #4e594c; }
.deployment-metrics article:nth-child(even) { border-right: 0; }.deployment-metrics article:nth-last-child(-n+2) { border-bottom: 0; }
.deployment-metrics span { color: #939e91; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.deployment-metrics strong { display: block; margin-top: 28px; font-family: var(--serif); font-size: clamp(42px, 4vw, 64px); font-weight: 400; line-height: 1; }
.deployment-metrics small { color: #939e91; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.deployment-metrics p { margin: 15px 0 0; color: #9da599; font-size: 10px; }.deployment-metrics p b { color: #b9d0aa; }
.deployment-metrics .metric-feature { background: var(--moss); }.deployment-metrics .metric-feature span, .deployment-metrics .metric-feature small, .deployment-metrics .metric-feature p { color: #d5dfd1; }
.runtime-table { margin-top: 70px; }.runtime-table table { color: #dce1d9; }.runtime-table th, .runtime-table td { border-color: #485147; }.runtime-table thead th { color: #9ba597; }.runtime-table tbody .ours-row { color: #e6ede1; background: #354231; }

.abstract-section { background: var(--surface); }
.abstract-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 120px; }
.abstract-layout .section-heading h2 { font-size: clamp(40px, 4.5vw, 67px); }
.abstract-layout > div:last-child { max-width: 850px; }
.abstract-lead { margin-top: 0; font-family: var(--serif); font-size: clamp(28px, 3.3vw, 45px); line-height: 1.22; letter-spacing: -.025em; }
.abstract-layout > div:last-child > p:last-child { color: var(--muted); font-size: 17px; }

.citation-layout { display: grid; grid-template-columns: minmax(360px, .85fr) minmax(560px, 1.15fr); gap: 100px; }
.citation-layout .section-heading h2 { font-size: clamp(48px, 5.3vw, 77px); }
.citation-layout .section-heading > p:last-of-type { max-width: 600px; color: var(--muted); }
.resource-list { margin-top: 34px; border-top: 1px solid var(--line-strong); }
.resource-list a { display: flex; justify-content: space-between; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; text-decoration: none; }
.resource-list a:hover { color: var(--moss); padding-left: 6px; }
.bibtex-card { align-self: start; overflow: hidden; border: 1px solid var(--line-strong); background: #20251f; color: #e7ebe3; }
.bibtex-toolbar { display: flex; justify-content: space-between; align-items: center; padding: 11px 14px; border-bottom: 1px solid #50594e; color: #9ca899; font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.bibtex-toolbar button { padding: 5px 10px; border: 1px solid #647061; color: #e5e9e1; background: transparent; font-size: 9px; font-weight: 800; cursor: pointer; text-transform: uppercase; }
.bibtex-toolbar button:hover { color: #20251f; background: #e5e9e1; }
.bibtex-card pre { margin: 0; padding: 24px; overflow-x: auto; white-space: pre-wrap; word-break: normal; }
.bibtex-card code { font-family: var(--mono); font-size: 11px; line-height: 1.75; }

footer { padding: 36px 0; }
.footer-shell { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 30px; color: var(--muted); font-size: 10px; }
.footer-shell p { margin: 0; }

.lightbox { width: min(96vw, 1700px); max-width: none; height: min(94vh, 1100px); max-height: none; padding: 0; border: 0; background: #111410; color: white; box-shadow: 0 30px 100px #0008; }
.lightbox::backdrop { background: #111410e8; backdrop-filter: blur(6px); }
.lightbox > div { width: 100%; height: 100%; overflow: auto; display: grid; place-items: center; padding: 54px 28px 30px; }
.lightbox img { width: auto; max-width: none; min-width: min(1450px, 160vw); max-height: none; background: white; }
.lightbox p { position: fixed; left: 50%; bottom: 8px; transform: translateX(-50%); margin: 0; padding: 4px 8px; background: #111410cc; color: #aab1a7; font-size: 9px; }
.lightbox-close { position: fixed; z-index: 2; top: 12px; right: 18px; width: 38px; height: 38px; border: 1px solid #777; border-radius: 50%; background: #111; color: white; font-size: 24px; cursor: pointer; }

/* Readability pass: legible annotations with a calmer display scale. */
.figure-open > span { padding: 8px 10px; font-size: 11px; letter-spacing: .06em; }
.paper-figure figcaption { max-width: 1000px; margin-top: 14px; font-size: 15px; line-height: 1.6; }
.aside-label { font-size: 12px; letter-spacing: .1em; }
.diagnostic-key dd { font-size: 14px; line-height: 1.55; }
.method-before p, .method-after p { color: #aab3a6; font-size: 11px; letter-spacing: .1em; }
.method-before > span, .method-after > span { color: #a9b1a6; font-size: 12px; }
.method-node span { color: #aab7a5; font-size: 11px; }
.method-node b { font-size: clamp(28px, 2.6vw, 38px); }
.method-node small { color: #bbc3b8; font-size: 11px; }
.method-kicker { margin-top: 68px; color: #b0bea9; font-size: 11px; letter-spacing: .1em; }
.method-details h3 { font-size: clamp(31px, 3vw, 46px); line-height: 1.05; }
.mini-equation small { color: #aeb7ab; font-size: 11px; }
.constraint-list > div > span { font-size: 12px; }
.constraint-list small { color: #b2bbae; font-size: 12px; }
.figure-meta { font-size: 11px; letter-spacing: .09em; }
.model-tabs button span { font-size: 11px; }
thead th { font-size: 12px; letter-spacing: .06em; }
tbody th { min-width: 190px; font-size: 15px; }
tbody th small { font-size: 11px; }
tbody td { font-size: 14px; }
.table-note { font-size: 13px; }
.ablation-bars p { grid-template-columns: 110px 1fr 42px; font-size: 12px; }
.ablation-callout > p { font-size: 14px; }
.deployment-copy h2 { font-size: clamp(42px, 4.4vw, 65px); line-height: 1.03; }
.deployment-spec span { padding: 7px 9px; font-size: 11px; }
.scope-note b { font-size: 12px; }
.scope-note p { color: #c1c8be; font-size: 13px; line-height: 1.6; }
.deployment-metrics span { color: #aeb8aa; font-size: 11px; }
.deployment-metrics strong { font-size: clamp(40px, 3.6vw, 57px); }
.deployment-metrics small { color: #aeb8aa; font-size: 12px; }
.deployment-metrics p { color: #b7beb3; font-size: 12px; }
.citation-layout .section-heading h2 { font-size: clamp(42px, 4.5vw, 66px); }
.resource-list a { padding-block: 14px; font-size: 14px; }
.bibtex-toolbar { color: #b4beb1; font-size: 11px; }
.bibtex-toolbar button { font-size: 11px; }
.bibtex-card code { font-size: 13px; line-height: 1.7; }
.footer-shell { font-size: 12px; }
.lightbox p { font-size: 11px; }

[hidden] { display: none !important; }

@media (max-width: 1180px) {
  :root { --shell: min(100% - 48px, 1100px); }
  .desktop-nav { gap: 17px; }.language-links { margin-left: auto; }.desktop-nav { margin-left: 0; }
  .hero-shell { grid-template-columns: 1fr 440px; gap: 40px; }
  .hero h1 { font-size: 95px; }
  .causal-chain { grid-template-columns: 1fr 32px 1fr; }
  .causal-chain article { width: auto; }.causal-chain .chain-arrow:nth-of-type(2) { display: none; }.causal-chain article:nth-of-type(3) { grid-column: 1; }.causal-chain .chain-arrow:nth-of-type(3) { grid-column: 2; }.causal-chain article:nth-of-type(4) { grid-column: 3; }
  .ablation-callout { grid-template-columns: 1fr 1.3fr; }.ablation-callout > p { grid-column: 1 / -1; }
  .deployment-shell { gap: 55px; }
}

@media (max-width: 900px) {
  :root { --shell: calc(100% - 40px); }
  .desktop-nav, .nav-paper, .language-links { display: none; }.menu-button { display: block; margin-left: auto; }
  .hero { padding-top: 125px; }.hero-shell { grid-template-columns: 1fr; }.hero h1 { font-size: clamp(70px, 15vw, 104px); }.hero-visual { max-width: 650px; }
  .metric-rail { grid-template-columns: 1fr 1fr; }.metric-rail article:nth-child(3) { border-top: 1px solid var(--line); }.metric-rail article:nth-child(4) { border-top: 1px solid var(--line); }
  .split-intro, .abstract-layout, .citation-layout { grid-template-columns: 1fr; gap: 55px; }.sticky-heading { position: static; }
  .mechanism-bottom { grid-template-columns: 1fr; }
  .method-intro, .evidence-intro, .results-intro, .qualitative-intro { grid-template-columns: 1fr; gap: 25px; }
  .web-method { grid-template-columns: 1fr; padding: 20px 0; }
  .web-method > * { grid-column: auto; grid-row: auto; }
  .web-method .method-arrow { transform: rotate(90deg); justify-self: center; }
  .method-before, .method-after { width: 100%; }
  .method-details { grid-template-columns: 1fr; }.method-details > article { min-height: auto; }
  .evidence-grid { grid-template-columns: 1fr; }.evidence-wide { grid-column: auto; }
  .ablation-callout { grid-template-columns: 1fr; }.ablation-callout > p { grid-column: auto; }
  .deployment-shell { grid-template-columns: 1fr; }.deployment-metrics { max-width: 700px; }
  .footer-shell { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 620px) {
  :root { --shell: calc(100% - 28px); }
  html { scroll-padding-top: 65px; }.nav-shell { height: 62px; }.hero-grid { inset-block-start: 62px; background-size: 44px 44px; }
  .hero { padding-top: 105px; }.hero-shell { padding-bottom: 52px; }.hero h1 { font-size: clamp(58px, 17vw, 78px); }.paper-title { margin-top: 35px; }.paper-subtitle { font-size: 16px; }.hero-deck { font-size: 16px; }
  .button { min-width: calc(50% - 4px); }
  .hero-visual { min-height: auto; }.visual-heading span:last-child { display: none; }.mask-stage svg { min-height: 260px; height: 260px; }.cliff-scale { gap: 8px; }.cliff-scale span { font-size: 10px; }.cliff-scale strong { font-size: 13px; }.visual-caption { text-align: left; }
  .metric-rail article { min-height: 125px; padding: 23px 14px; }.metric-rail strong { font-size: 26px; }
  .section { padding: 78px 0; }.section-heading h2 { font-size: clamp(36px, 10.5vw, 50px); }.section-lead, .centered-heading > p:last-child { font-size: 16px; }
  .split-intro { gap: 42px; }.bit-comparison article { min-height: 90px; }.bit-comparison article strong { font-size: 28px; }
  .causal-chain { display: grid; grid-template-columns: 1fr; gap: 0; }.causal-chain article { width: 100%; min-height: 340px; grid-template-rows: auto 135px auto auto; padding: 20px 0 30px; }.causal-chain .chain-failure { padding-inline: 14px; }.chain-arrow { height: 38px; transform: rotate(90deg); justify-self: center; }.causal-chain .chain-arrow:nth-of-type(2) { display: block; }.causal-chain article:nth-of-type(3), .causal-chain .chain-arrow:nth-of-type(3), .causal-chain article:nth-of-type(4) { grid-column: auto; }.mechanism-visual { height: 135px; }.causal-chain h3 { margin-top: 8px; }.visual-tag { bottom: 2px; }
  .mechanism-bottom { margin-top: 50px; }.figure-open > span { opacity: 1; transform: none; }
  .web-method { padding: 13px; }
  .method-details { margin-top: 65px; gap: 70px; }.method-details > article { min-height: auto; padding: 0; }.method-details > article + article { padding: 65px 0 0; border-left: 0; border-top: 1px solid #596257; }.method-kicker { margin-top: 45px; }
  .model-tabs button { min-width: 50%; padding-inline: 13px; }.result-panel { margin-right: -14px; }.table-scroll { padding-right: 14px; }.table-scroll::after { content: "Swipe table →"; display: block; padding: 7px 0; color: var(--muted); font-size: 11px; text-align: right; text-transform: uppercase; letter-spacing: .07em; }
  th, td { padding: 13px 10px; }.ablation-callout { margin-top: 65px; padding: 24px 17px; gap: 30px; }.ablation-bars p { grid-template-columns: 85px 1fr 35px; }
  .qualitative-figure { width: calc(100vw - 16px); }
  .deployment-copy h2 { font-size: 47px; }.deployment-metrics article { min-height: 170px; padding: 19px 14px; }.deployment-metrics strong { font-size: 36px; }
  .abstract-layout, .citation-layout { gap: 38px; }.abstract-lead { font-size: 29px; }.bibtex-card pre { padding: 17px; }.bibtex-card code { font-size: 11px; }
  .lightbox { width: 100vw; height: 100vh; }.lightbox > div { padding-inline: 12px; }.lightbox img { min-width: 1300px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media print {
  .site-header, .figure-open > span, .lightbox { display: none !important; }
  .hero { padding-top: 40px; }.section { break-inside: avoid; padding-block: 50px; }
  body { background: white; }.method-section, .deployment-section { color: black; background: white; }
}
