:root{--paper:#f5f4ed;--ivory:#fbfaf6;--blue:#1b365d;--blue2:#2d5a8a;--ink:#171716;--muted:#67655f;--line:#d9d6c9;--tint:#e9eef4;--serif:Charter,Georgia,Cambria,"Times New Roman",serif;--ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}a:hover{color:var(--blue2)}.shell{width:min(1080px,calc(100% - 96px));margin:auto}.skip{position:absolute;top:-60px;left:16px;padding:9px 14px;background:var(--blue);color:white;border-radius:999px}.skip:focus{top:12px}.nav{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(12px)}.nav-inner{min-height:60px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-family:var(--ui);font-size:13px}.nav-home{font-family:var(--serif);font-size:19px;color:var(--ink)}.nav-actions{display:flex;gap:18px}.hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:64px;align-items:center;padding:82px 0 64px;border-bottom:1px solid var(--line)}.eyebrow,.label,.metric-label,.step-no{font-family:var(--ui);font-size:12px;letter-spacing:.06em;text-transform:uppercase}.eyebrow,.label,.step-no{color:var(--blue)}h1,h2,h3,p{margin-top:0}h1{margin:14px 0 18px;font-size:clamp(44px,6vw,72px);font-weight:500;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}.lede{max-width:730px;color:var(--muted);font-size:21px;line-height:1.45}.authors{margin:22px 0 0;color:var(--muted);font-family:var(--ui);font-size:13px}.hero-visual{min-height:350px;padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--ivory);box-shadow:18px 18px 0 var(--tint)}.visual-title{font-size:14px;color:var(--muted)}.pipeline{display:grid;gap:10px;margin-top:28px}.pipe{position:relative;padding:15px 16px;border:1px solid var(--line);border-radius:6px;background:white}.pipe:not(:last-child)::after{content:"↓";position:absolute;left:50%;bottom:-19px;z-index:2;color:var(--blue);font-family:var(--ui)}.pipe strong{display:block;font-weight:500}.pipe span{display:block;color:var(--muted);font-family:var(--ui);font-size:11px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.metric{padding:28px 22px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric-value{margin-bottom:4px;color:var(--blue);font-size:31px;line-height:1.1;font-variant-numeric:tabular-nums}.metric-label{color:var(--muted);text-transform:none;letter-spacing:0}section{padding:78px 0 0}.section-head{display:grid;grid-template-columns:130px 1fr;gap:26px;margin-bottom:30px}.section-head h2{margin:0;font-size:36px;font-weight:500;line-height:1.15;letter-spacing:-.02em}.section-head p{max-width:720px;margin:9px 0 0;color:var(--muted)}.problem-grid,.method-grid,.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.panel,.step,.evidence{padding:24px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--ivory) 75%,transparent)}.panel h3,.step h3,.evidence h3{margin:8px 0 9px;font-size:20px;font-weight:500;line-height:1.25}.panel p,.step p,.evidence p{margin:0;color:var(--muted);font-size:15px}.chart{margin-top:18px}.bar-row{display:grid;grid-template-columns:82px 1fr 54px;gap:10px;align-items:center;margin:10px 0;font-family:var(--ui);font-size:12px}.bar-track{height:9px;border-radius:999px;background:#dedbd0;overflow:hidden}.bar-fill{height:100%;border-radius:999px;background:var(--blue)}.bar-fill.alt{background:#8aa0b8}.bar-value{text-align:right;font-variant-numeric:tabular-nums}.note{margin-top:14px;color:var(--muted);font-family:var(--ui);font-size:11px}.boundary{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.boundary>div{padding:28px}.boundary>div:first-child{padding-left:0;border-right:1px solid var(--line)}.boundary h3{font-size:20px;font-weight:500}.boundary ul{margin:0;padding-left:20px;color:var(--muted)}.cta{display:flex;justify-content:space-between;align-items:center;gap:30px;margin:78px 0 70px;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta h2{margin:0;font-size:30px;font-weight:500}.buttons{display:flex;flex-wrap:wrap;gap:10px}.button{display:inline-flex;justify-content:center;padding:10px 18px;border:1px solid var(--blue);border-radius:999px;font-family:var(--ui);font-size:13px;white-space:nowrap}.button.primary{background:var(--blue);color:white}.button:hover{background:var(--tint)}.button.primary:hover{background:var(--blue2)}footer{display:flex;justify-content:space-between;gap:24px;padding-bottom:54px;color:var(--muted);font-family:var(--ui);font-size:12px}@media(max-width:820px){.shell{width:min(100% - 48px,700px)}.hero{grid-template-columns:1fr;gap:34px;padding-top:58px}.hero-visual{min-height:0}.problem-grid,.method-grid,.evidence-grid{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.metric,.metric:first-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.metric:last-child{border-bottom:0}.section-head{grid-template-columns:1fr;gap:5px}.boundary{grid-template-columns:1fr}.boundary>div,.boundary>div:first-child{padding:24px 0;border-right:0}.boundary>div:first-child{border-bottom:1px solid var(--line)}.cta{align-items:flex-start;flex-direction:column}}@media(max-width:420px){.shell{width:calc(100% - 32px)}.nav-actions a:first-child{display:none}.hero{padding:42px 0}.hero-visual{padding:18px;box-shadow:8px 8px 0 var(--tint)}h1{font-size:42px}.lede{font-size:18px}section{padding-top:58px}.section-head h2{font-size:30px}.panel,.step,.evidence{padding:20px}.bar-row{grid-template-columns:68px 1fr 46px}.cta{margin-top:58px}footer{display:block}footer span{display:block;margin-top:8px}}
.nav-home,.nav-actions a{white-space:nowrap}

/* Method figures: editorial diagrams with restrained, explanatory motion. */
.motion-section{padding-top:58px}.motion-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:18px}.motion-head h2{max-width:680px;margin:5px 0 0;font-size:31px;font-weight:500;line-height:1.18}.motion-key{max-width:270px;margin:0;color:var(--muted);font-family:var(--ui);font-size:12px;line-height:1.5;text-align:right}.method-diagram{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#f5f4ed}.method-diagram svg{width:100%;height:auto;display:block}.method-diagram figcaption{display:flex;justify-content:space-between;gap:28px;padding:13px 18px;border-top:1px solid var(--line);color:var(--muted);font-family:var(--ui);font-size:11px}.method-diagram .node{fill:#faf9f5;stroke:#b2b1ac;stroke-width:1}.method-diagram .node-focal{fill:#eef2f7;stroke:#1b365d;stroke-width:1.5}.method-diagram .node-dashed{fill:#faf9f5;stroke:#6b6a64;stroke-width:1;stroke-dasharray:5 5}.method-diagram .axis,.method-diagram .connector{fill:none;stroke:#b2b1ac;stroke-width:1.2}.method-diagram .connector-focal{fill:none;stroke:#1b365d;stroke-width:1.7}.method-diagram .connector-dashed{fill:none;stroke:#6b6a64;stroke-width:1.1;stroke-dasharray:6 5}.method-diagram .label-svg{fill:#141413;font:500 18px Charter,Georgia,serif}.method-diagram .small-svg{fill:#504e49;font:12px Inter,system-ui,sans-serif}.method-diagram .micro-svg{fill:#6b6a64;font:10px Inter,system-ui,sans-serif;letter-spacing:.08em}.method-diagram .accent-svg{fill:#1b365d}.method-diagram .dot{fill:#1b365d}.method-diagram .dot-neutral{fill:#6b6a64}.method-diagram .signal{fill:none;stroke:#1b365d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.method-diagram .signal-muted{fill:none;stroke:#b2b1ac;stroke-width:1.5;stroke-linecap:round}.method-diagram .travel{animation:diagram-travel 3.8s cubic-bezier(.45,0,.2,1) infinite;animation-delay:var(--delay,0s);transform-box:fill-box;transform-origin:center}.method-diagram .pulse{animation:diagram-pulse 2.4s ease-in-out infinite;animation-delay:var(--delay,0s);transform-box:fill-box;transform-origin:center}.method-diagram .draw{stroke-dasharray:520;stroke-dashoffset:520;animation:diagram-draw 5.5s ease-in-out infinite}.method-diagram .scan{animation:diagram-scan 5.2s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.method-diagram .fade-cycle{animation:diagram-fade 5.6s ease-in-out infinite;animation-delay:var(--delay,0s)}.method-diagram .shift{animation:diagram-shift 5.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.method-diagram .rotate-slow{animation:diagram-rotate 12s linear infinite;transform-box:fill-box;transform-origin:center}.method-diagram .dash-flow{stroke-dasharray:8 7;animation:diagram-dash 1.8s linear infinite}.method-diagram .cluster-left{animation:cluster-left 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.method-diagram .cluster-right{animation:cluster-right 6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.method-diagram .edge-reveal{stroke-dasharray:80;stroke-dashoffset:80;animation:edge-reveal 6s ease-in-out infinite}.method-diagram .bar-grow{animation:bar-grow 5.6s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}.method-diagram .mask-band{animation:mask-band 4.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes diagram-travel{0%,12%{transform:translate(0,0);opacity:0}18%{opacity:1}72%{transform:translate(var(--dx,120px),var(--dy,0));opacity:1}82%,100%{transform:translate(var(--dx,120px),var(--dy,0));opacity:0}}@keyframes diagram-pulse{0%,100%{transform:scale(.78);opacity:.35}50%{transform:scale(1.18);opacity:1}}@keyframes diagram-draw{0%,12%{stroke-dashoffset:520}58%,82%{stroke-dashoffset:0}100%{stroke-dashoffset:-520}}@keyframes diagram-scan{0%,10%{transform:translateX(-72px);opacity:.25}45%,65%{opacity:.8}90%,100%{transform:translateX(72px);opacity:.25}}@keyframes diagram-fade{0%,18%,100%{opacity:.22}42%,72%{opacity:1}}@keyframes diagram-shift{0%,22%{transform:translateX(-54px)}62%,88%{transform:translateX(54px)}100%{transform:translateX(-54px)}}@keyframes diagram-rotate{to{transform:rotate(360deg)}}@keyframes diagram-dash{to{stroke-dashoffset:-30}}@keyframes cluster-left{0%,25%{transform:translate(0,0)}58%,86%{transform:translate(22px,4px)}100%{transform:translate(0,0)}}@keyframes cluster-right{0%,25%{transform:translate(0,0)}58%,86%{transform:translate(-22px,-4px)}100%{transform:translate(0,0)}}@keyframes edge-reveal{0%,28%{stroke-dashoffset:80;opacity:.15}52%,84%{stroke-dashoffset:0;opacity:1}100%{stroke-dashoffset:-80;opacity:.15}}@keyframes bar-grow{0%,15%{transform:scaleY(.28);opacity:.4}48%,78%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.28);opacity:.4}}@keyframes mask-band{0%,100%{transform:scaleX(.35);opacity:.22}48%,72%{transform:scaleX(1);opacity:.72}}
@media(max-width:820px){.motion-head{display:block}.motion-key{max-width:none;margin-top:8px;text-align:left}.method-diagram figcaption{display:block}.method-diagram figcaption span:last-child{display:block;margin-top:4px}}
@media(max-width:420px){.motion-section{padding-top:44px}.motion-head h2{font-size:27px}.method-diagram{margin-left:-8px;margin-right:-8px}.method-diagram figcaption{padding:12px 14px}.method-diagram .label-svg{font-size:16px}.method-diagram .small-svg{font-size:11px}.method-diagram .micro-svg{font-size:9px}}
@media(prefers-reduced-motion:reduce){.method-diagram *{animation:none!important}.method-diagram .draw{stroke-dashoffset:0}.method-diagram .edge-reveal{stroke-dashoffset:0;opacity:1}}
.method-diagram g[transform].cluster-left,.method-diagram g[transform].cluster-right{animation:none}
@media(max-width:600px){.motion-head::after{content:"Swipe the figure horizontally to inspect each stage →";display:block;margin-top:10px;color:var(--blue);font-family:var(--ui);font-size:11px;letter-spacing:.02em}.method-diagram{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.method-diagram svg{width:720px;max-width:none;scroll-snap-align:start}.method-diagram figcaption{position:sticky;left:0;width:calc(100vw - 32px);background:#f5f4ed}}
.method-diagram svg[aria-labelledby^="sg-story"]{min-height:520px}
@media(max-width:600px){.method-diagram svg[aria-labelledby^="sg-story"]{width:880px;min-height:0}}
.method-diagram svg[aria-labelledby^="lbor"] text[x="680"][y="316"]{display:none}
/* Paper-first method figures. These pages use the published figure wherever a reusable source exists. */
main:has(.paper-method){display:flex;flex-direction:column}main:has(.paper-method)>header{order:0}main:has(.paper-method)>.metrics{order:1}main:has(.paper-method)>.paper-method{order:2}main:has(.paper-method)>section:not(.paper-method){order:3}main:has(.paper-method)>.cta{order:4}main:has(.paper-method)>.motion-section{display:none}.paper-method{padding-top:58px}.paper-method .section-head{margin-bottom:18px}.paper-method .section-head h2{max-width:720px}.paper-figure{position:relative;margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.paper-figure::after{content:attr(data-source);position:absolute;top:14px;right:14px;padding:6px 8px;border:1px solid rgba(27,54,93,.18);border-radius:999px;background:rgba(255,255,255,.92);color:var(--blue);font-family:var(--ui);font-size:10px;letter-spacing:.045em}.paper-figure img{display:block;width:100%;max-height:620px;object-fit:contain;background:#fff;animation:paper-figure-drift 18s ease-in-out infinite alternate;transform-origin:center}.paper-figure figcaption{display:flex;justify-content:space-between;gap:28px;padding:13px 18px;border-top:1px solid var(--line);background:#fbfaf7;color:var(--muted);font-family:var(--ui);font-size:11px;line-height:1.45}.paper-reading{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.paper-reading span{padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--ink);font-family:var(--ui);font-size:11px;line-height:1.35}.paper-reading strong{color:var(--blue);font-weight:600}@keyframes paper-figure-drift{0%{transform:scale(1.004);filter:saturate(.96)}100%{transform:scale(1.018);filter:saturate(1.04)}}
@media(max-width:820px){.paper-figure figcaption{display:block}.paper-figure figcaption span:last-child{display:block;margin-top:4px}}
@media(max-width:600px){.paper-method{padding-top:44px}.paper-figure{margin-left:-8px;margin-right:-8px}.paper-figure::after{top:10px;right:10px}.paper-figure img{max-height:none;min-height:240px}.paper-figure figcaption{padding:12px 14px}.paper-reading{gap:6px}.paper-reading span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.paper-figure img{animation:none}}
