@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap');
:root{--paper:#f5f4ee;--ink:#18221e;--line:#c5c8be;--soft:#e9ebe2;--muted:#59635a;--accent:#d9ff5e;--deep:#253b31;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #749c27;outline-offset:3px}p{margin:0}h1,h2,h3,h4{margin:0;font-weight:400}::marker{color:var(--muted)}
.skip{position:absolute;top:-100px;left:1rem;background:var(--accent);padding:.7rem 1rem;z-index:99}.skip:focus{top:1rem}
.wrap{width:min(1320px,calc(100% - 88px));margin:auto}
.topline{height:8px;background:var(--ink);position:relative}.topline:after{content:"";position:absolute;left:0;top:0;width:22%;height:100%;background:var(--accent)}
.header{border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:20px}.brand{display:flex;align-items:center;gap:13px}.mark{display:grid;place-items:center;background:var(--ink);color:var(--accent);width:45px;height:45px;font:600 20px var(--mono);letter-spacing:-3px;padding-right:3px}.brand-copy{font:600 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;line-height:1.4}.brand-copy span{display:block;font:400 11px var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:3px}.nav{display:flex;gap:32px;align-items:center;font-size:13px;font-weight:600}.nav a{transition:opacity .15s}.nav a:hover,.text-link:hover{opacity:.62}.nav .nav-call{padding:11px 15px;background:var(--ink);color:var(--paper)}.nav .nav-call:hover{opacity:1;background:var(--deep)}.menu-toggle{display:none;border:1px solid var(--line);padding:10px 12px;background:transparent}
.kicker,.eyebrow,.micro,.number,.section-id,.status-tag,.meta,.detail,.step-label{font-family:var(--mono);letter-spacing:.045em}.kicker,.eyebrow{font-size:11px;text-transform:uppercase;font-weight:500}.eyebrow{color:var(--muted)}.section-id{font-size:11px;color:var(--muted);text-transform:uppercase;white-space:nowrap}
.hero{display:grid;grid-template-columns:1.45fr .55fr;gap:64px;min-height:660px;border-bottom:1px solid var(--line);padding-top:78px;padding-bottom:68px}.hero-main{display:flex;flex-direction:column;align-items:flex-start}.hero-title{font-family:var(--serif);font-size:clamp(74px,9.1vw,148px);line-height:.86;letter-spacing:-.035em;max-width:925px;margin:31px 0 34px}.hero-title em{font-weight:400;color:#567765}.hero-description{font-size:clamp(16px,1.55vw,22px);line-height:1.48;max-width:680px;color:#38453d}.hero-actions{display:flex;align-items:center;gap:27px;margin-top:43px;flex-wrap:wrap}.button{padding:15px 19px;font:600 12px var(--mono);background:var(--ink);color:var(--paper);display:inline-flex;align-items:center;gap:25px;transition:transform .2s,background .2s;border:1px solid var(--ink);white-space:nowrap}.button:hover{background:#37513c;transform:translateY(-2px)}.button-light{background:transparent;color:var(--ink);border-color:var(--ink)}.button-light:hover{background:var(--soft)}.text-link{font:500 12px var(--mono);border-bottom:1px solid currentColor;padding-bottom:5px}
.hero-aside{display:flex;flex-direction:column;justify-content:space-between;border-left:1px solid var(--line);padding-left:27px;gap:24px}.hero-aside-head{display:flex;align-items:center;justify-content:space-between;font:500 11px var(--mono);text-transform:uppercase}.pulse{display:inline-flex;align-items:center;gap:9px}.pulse:before{content:"";width:8px;height:8px;background:#4a775e;border-radius:50%;box-shadow:0 0 0 4px #dae5d5}.diagram{width:100%;height:auto;margin:0;overflow:visible}.aside-footer{border-top:1px solid var(--line);padding-top:20px}.aside-footer strong{font:400 38px var(--serif);line-height:1}.aside-footer p{color:var(--muted);font-size:13px;line-height:1.5;margin-top:8px}
.ticker{border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(4,1fr)}.metric{padding:28px 20px 29px;border-right:1px solid var(--line)}.metric:first-child{padding-left:0}.metric:last-child{border-right:0}.metric b{font:400 39px var(--serif)}.metric span{display:block;font:500 10px var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-top:8px;line-height:1.6}
.section{padding:94px 0 102px;border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2.2fr;align-items:end;gap:35px;margin-bottom:38px}.section-title{font:400 clamp(48px,5.4vw,88px)/.97 var(--serif);letter-spacing:-.025em}.section-head .section-title{max-width:780px}.section-intro{font-size:16px;line-height:1.65;max-width:650px;color:var(--muted);margin-top:15px}.section-head-link{font:500 12px var(--mono);border-bottom:1px solid var(--ink);width:max-content;justify-self:end;align-self:end;white-space:nowrap}
.feature-grid{display:grid;grid-template-columns:1.28fr 1fr 1fr;gap:12px}.feature{min-height:405px;background:#e9eee3;padding:24px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;border:1px solid #d5dbd0;transition:transform .16s,box-shadow .16s}.feature:hover{transform:translateY(-4px);box-shadow:0 12px 25px rgba(16,35,25,.08)}.feature.dark{background:var(--ink);color:#f4f4e9;border-color:var(--ink)}.feature.lime{background:#e5efc9;border-color:#d1dfab}.feature-top{display:flex;align-items:center;justify-content:space-between;font:500 10px var(--mono);letter-spacing:.04em;text-transform:uppercase}.feature-title{font:400 clamp(37px,3.5vw,60px)/.96 var(--serif);letter-spacing:-.018em;margin-bottom:16px;max-width:420px}.feature p{font-size:13px;line-height:1.56;max-width:350px;opacity:.85}.feature-tag{font:500 10px var(--mono);border-top:1px solid currentColor;padding-top:13px;margin-top:24px;display:flex;justify-content:space-between;gap:10px;opacity:.75}.feature-art{position:absolute;right:-12px;top:47px;opacity:.38;width:195px;pointer-events:none}.feature.dark .feature-art{opacity:.5}.feature .feature-body{position:relative;z-index:1}
.bar{border-top:1px solid var(--line);padding:18px 0;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.bar .lead{font-size:13px;color:var(--muted);max-width:740px;line-height:1.5}
.filterbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:17px 0 27px;border-bottom:1px solid var(--ink)}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid var(--line);padding:10px 13px;background:transparent;font:500 11px var(--mono);color:var(--muted)}.filter[aria-pressed="true"]{background:var(--ink);color:white;border-color:var(--ink)}.search{border:0;border-bottom:1px solid var(--line);padding:12px 5px;background:transparent;color:var(--ink);font:12px var(--mono);width:220px;border-radius:0}.search::placeholder{color:#69736a}
.research-row{border-bottom:1px solid var(--line);display:grid;grid-template-columns:48px 1fr 1.8fr 170px 24px;gap:20px;align-items:center;padding:26px 5px 28px;transition:background .15s}.research-row:hover{background:#ebece5}.research-row .number{font-size:12px;color:var(--muted)}.research-title{font:400 30px/1.07 var(--serif)}.research-desc{font-size:13px;color:#4c5a51;line-height:1.5;max-width:520px}.research-status{font:500 10px/1.5 var(--mono);color:#476250;text-transform:uppercase;letter-spacing:.01em}.research-arrow{font-size:25px;align-self:center;text-align:right}.empty{padding:32px 0;font-size:14px;color:var(--muted)}
.review-section{background:var(--ink);color:#eef2e7;border-bottom:0;margin-top:0}.review-section .section-id,.review-section .section-intro{color:#b5c2b6}.review-section .section-head-link{color:#eaf2e6;border-color:#eaf2e6}.review-intro{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;border-top:1px solid #516157;padding-top:24px;margin-top:45px}.review-intro p{line-height:1.7;color:#b7c3b9;font-size:15px}.review-intro strong{color:#eaf2e6;font-size:17px;font-weight:500}.review-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:47px}.review-card{border:1px solid #617465;background:#24362c;min-height:320px;padding:20px 19px;display:flex;flex-direction:column;transition:background .2s}.review-card:hover{background:#314b3b}.review-card .review-num{color:var(--accent);font:500 11px var(--mono)}.review-card h3{font:400 34px/1.0 var(--serif);margin:34px 0 16px}.review-card p{font-size:12px;color:#bdc9bd;line-height:1.63}.review-card .review-link{font:500 11px var(--mono);border-top:1px solid #657367;margin-top:auto;padding-top:16px;display:flex;justify-content:space-between}.review-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;flex-wrap:wrap}.review-actions small{color:#b9c6bc;font:11px/1.6 var(--mono);max-width:650px}.review-actions .button{background:var(--accent);border-color:var(--accent);color:var(--ink)}.review-actions .button:hover{background:#ecffa6}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.method{padding:25px 25px 40px 0;border-right:1px solid var(--line)}.method+.method{padding-left:25px}.method:last-child{border:0}.method .n{font:500 11px var(--mono);color:var(--muted)}.method h3{font:400 37px var(--serif);margin-top:24px;margin-bottom:14px}.method p{font-size:13px;line-height:1.66;color:var(--muted)}.principle{font:400 clamp(29px,3vw,47px)/1.2 var(--serif);max-width:1150px;padding:37px 0 0}.principle em{color:#63806a}
.footer{background:#e5e9dd;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:2fr 1fr;gap:40px;padding:70px 0}.footer h2{font:400 clamp(55px,6vw,95px)/.96 var(--serif);max-width:750px}.footer .footright{display:flex;flex-direction:column;align-items:flex-start;gap:16px;font-size:13px;line-height:1.6}.footer-bottom{border-top:1px solid var(--line);padding:19px 0 30px;display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);color:var(--muted);gap:20px;flex-wrap:wrap}
#review-steps{scroll-margin-top:25px}#work,#review,#method{scroll-margin-top:25px}
@media(max-width:1100px){.wrap{width:min(100% - 48px,1100px)}.hero{gap:35px}.hero-title{font-size:clamp(72px,8.6vw,120px)}.feature-grid{grid-template-columns:1fr 1fr}.feature:first-child{grid-column:span 2;min-height:360px}.feature{min-height:360px}.review-cards{grid-template-columns:repeat(2,1fr)}.research-row{grid-template-columns:35px 1fr 1.4fr 120px 16px;gap:12px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.header-inner{min-height:70px}.nav{display:none;position:absolute;top:78px;left:0;right:0;z-index:20;padding:25px 18px;background:var(--paper);box-shadow:0 10px 15px #0001;flex-direction:column;align-items:stretch;gap:23px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero{grid-template-columns:1fr;min-height:auto;padding-top:56px;padding-bottom:42px;gap:44px}.hero-title{font-size:clamp(75px,12vw,110px);margin:23px 0 30px}.hero-description{font-size:18px}.hero-actions{gap:20px;margin-top:32px}.hero-aside{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:15px}.hero-aside-head{grid-column:1/-1}.diagram{max-width:240px}.aside-footer{align-self:end}.aside-footer strong{font-size:32px}.ticker{grid-template-columns:1fr 1fr}.metric{border-bottom:1px solid var(--line);padding:23px 10px}.metric:first-child{padding-left:10px}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.section{padding:64px 0 70px}.section-head{display:block;margin-bottom:28px}.section-title{font-size:clamp(50px,10vw,76px);margin-top:13px}.section-head-link{display:inline-block;margin-top:18px}.feature-grid{grid-template-columns:1fr}.feature:first-child{grid-column:auto}.feature,.feature:first-child{min-height:315px}.feature-title{font-size:48px}.research-row{grid-template-columns:28px 1fr 20px;gap:11px;padding:23px 3px}.research-title{font-size:27px}.research-desc{grid-column:2;grid-row:2;font-size:13px}.research-status{grid-column:2;grid-row:3}.research-arrow{grid-column:3;grid-row:1}.search{width:100%}.filterbar{align-items:stretch}.filter{padding:9px}.review-intro{grid-template-columns:1fr;gap:13px}.review-cards{grid-template-columns:1fr}.review-card{min-height:245px}.review-card h3{margin-top:22px}.method-grid{grid-template-columns:1fr}.method,.method+.method{padding:23px 0 26px;border-right:0;border-bottom:1px solid var(--line)}.principle{font-size:35px}.footer-top{grid-template-columns:1fr;padding:54px 0;gap:25px}.footer h2{font-size:64px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* Evidence-first mathematical provenance table */
.evidence{border-bottom:1px solid var(--line);padding-top:12px;padding-bottom:70px}
.evidence-inner{border:1px solid #b9c9ae;background:#eaf0e0;padding:clamp(20px,3vw,45px)}
.evidence-top{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.evidence h2{font:400 clamp(42px,5vw,76px)/1 var(--serif);letter-spacing:-.025em;margin:22px 0}
.evidence-lede{font-size:15px;line-height:1.65;color:#3c5040;max-width:980px;margin-bottom:25px}
.compare-table-wrap{overflow-x:auto}
.compare-table{width:100%;border-collapse:collapse;font-size:12px;line-height:1.5;text-align:left}
.compare-table caption{text-align:left;color:#50614f;font:11px/1.5 var(--mono);margin:0 0 13px}
.compare-table th{border-bottom:2px solid #9bac96;padding:13px 12px;font:500 10px var(--mono);letter-spacing:.03em}
.compare-table td{padding:13px 12px;border-bottom:1px solid #c3d0bd}
.compare-table td:nth-child(2){font-family:var(--mono);white-space:nowrap}
.compare-table .compare-focus{background:#d7f29a;font-weight:600}
.evidence-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:26px}
.evidence-notes>div{border-left:2px solid #809779;padding-left:16px}
.evidence-notes span{font:600 10px/1.5 var(--mono);color:#445d46}
.evidence-notes p{font-size:13px;line-height:1.7;color:#344b38;margin-top:8px}
.evidence-notes code{font:500 11px var(--mono);overflow-wrap:anywhere}
.evidence-sources{font:11px/2 var(--mono);color:#344b38;margin-top:28px;padding-top:15px;border-top:1px solid #b9c9ae}
.evidence-sources a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.evidence{padding-bottom:50px}.evidence-notes{grid-template-columns:1fr}.evidence-inner{padding:20px 14px}.compare-table{font-size:11px}.compare-table td,.compare-table th{padding:11px 8px}.evidence h2{font-size:49px}}


/* Shared responsive navigation on standalone research pages */
.review-nav{display:flex;gap:21px;align-items:center;font-size:13px;font-weight:600}
.review-nav a:not(.nav-call){border-bottom:1px solid transparent}
.review-nav a:hover:not(.nav-call){border-color:currentColor}
.review-nav .nav-call{padding:11px 15px;background:var(--ink);color:var(--paper)}
.status-key{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.status-key>div{padding:17px 20px 22px;border-right:1px solid var(--line)}
.status-key>div:first-child{padding-left:0}
.status-key>div:last-child{border-right:0}
.status-key strong{font:600 11px/1.6 var(--mono);display:block;color:var(--deep)}
.status-key p{font-size:12px;line-height:1.6;color:var(--muted);margin-top:7px}
.status-key-heading{font:500 11px var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:27px}
@media(max-width:900px){.status-key{grid-template-columns:repeat(2,minmax(0,1fr))}.status-key>div{border-bottom:1px solid var(--line)}.status-key>div:nth-child(2){border-right:0}.status-key>div:nth-child(n+3){border-bottom:0}.status-key>div:nth-child(3){padding-left:0}}
@media(max-width:760px){.review-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:11px}.review-nav a:nth-child(2){display:none}.review-nav .nav-call{padding:9px 11px}.review-nav a{white-space:nowrap}}
@media(max-width:440px){.review-nav .nav-call{display:none}.review-nav a:first-child{padding:9px 10px;border:1px solid var(--line)}}
