:root{--review-night:#06111b;--review-carbon:#0a1722;--review-paper:#eef4f7;--review-white:#f9fcfd;--review-ink:#07141e;--review-muted:#536672;--review-line:#07141e2e;--review-line-dark:#eef4f733;--review-cobalt:#315cff;--review-cyan:#66d6ff;--review-mint:#58e0b5;--review-amber:#f1b85b}*{box-sizing:border-box}html{scroll-behavior:smooth}body.review-page{color:var(--review-ink);background:var(--review-paper);margin:0;font-family:Inter,Arial,sans-serif}.review-skip{z-index:1000;color:var(--review-night);background:var(--review-mint);padding:10px 14px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.review-skip:focus{transform:translateY(0)}.review-page :where(a,button,[tabindex]):focus-visible{outline:3px solid var(--review-amber);outline-offset:3px}.review-hero{min-height:min(780px,100svh - 70px);color:var(--review-white);background:linear-gradient(116deg, transparent 0 61%, #315cff33 61.1% 61.3%, transparent 61.4%), repeating-linear-gradient(90deg, transparent 0 79px, #66d6ff0b 80px), var(--review-night);border-bottom:1px solid var(--review-line-dark);grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);display:grid;position:relative;overflow:hidden}.review-hero:after{content:"";pointer-events:none;background:linear-gradient(#0000 70%,#58e0b50f);position:absolute;top:0;bottom:0;left:0;right:0}.review-hero__thesis{align-self:end;max-width:990px;padding:clamp(88px,11vw,160px) clamp(28px,7vw,112px) clamp(70px,9vw,128px)}.review-kicker{color:var(--review-cyan);letter-spacing:.15em;text-transform:uppercase;margin:0 0 20px;font:500 .72rem/1.4 IBM Plex Mono,monospace}.review-hero h1,.review-section h2{letter-spacing:-.045em;margin:0;font-family:Bricolage Grotesque,Inter,sans-serif;font-weight:560}.review-hero h1{max-width:900px;font-size:clamp(3.4rem,7.5vw,8.1rem);line-height:.89}.review-hero__thesis>p:not(.review-kicker){color:#b9c8d1;max-width:700px;margin:34px 0 0;font-size:clamp(1rem,1.45vw,1.3rem);line-height:1.65}.review-hero__actions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.review-button{min-height:48px;color:inherit;letter-spacing:.04em;text-transform:uppercase;border:1px solid;justify-content:center;align-items:center;padding:12px 18px;font:500 .76rem/1 IBM Plex Mono,monospace;text-decoration:none;transition:color .18s,background .18s,border-color .18s;display:inline-flex}.review-button:hover{background:#ffffff14}.review-button--primary{color:var(--review-night);background:var(--review-mint);border-color:var(--review-mint)}.review-button--primary:hover{background:var(--review-cyan);border-color:var(--review-cyan)}.review-tally{z-index:1;border-left:1px solid var(--review-line-dark);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a1722c7;align-self:stretch;padding:clamp(88px,11vw,160px) clamp(26px,4vw,66px) 72px;position:relative}.review-tally>p{border-bottom:1px solid var(--review-line-dark);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;gap:20px;margin:0 0 42px;padding-bottom:18px;font:500 .7rem/1.4 IBM Plex Mono,monospace;display:flex}.review-tally>p span{color:#8fa3af}.review-tally>p strong{color:var(--review-amber);font-weight:500}.review-tally dl{margin:0}.review-tally dl div{border-bottom:1px solid var(--review-line-dark);grid-template-columns:1fr auto;align-items:baseline;gap:20px;padding:18px 0;display:grid}.review-tally dt{color:#9fb0ba;font-size:.86rem}.review-tally dd{margin:0;font:500 clamp(1.5rem,2.4vw,2.4rem)/1 Bricolage Grotesque,sans-serif}.review-boundary{color:#dce8ed;background:var(--review-cobalt);grid-template-columns:minmax(150px,.25fr) 1fr;gap:30px;padding:28px clamp(24px,6vw,96px);display:grid}.review-boundary span{letter-spacing:.12em;text-transform:uppercase;font:500 .7rem/1.4 IBM Plex Mono,monospace}.review-boundary p{max-width:1100px;margin:0;line-height:1.55}.review-section{padding:clamp(84px,10vw,150px) clamp(24px,6vw,96px)}.review-section__head{grid-template-columns:minmax(270px,.85fr) minmax(260px,.55fr);justify-content:space-between;gap:40px;margin-bottom:56px;display:grid}.review-section__head .review-kicker{color:var(--review-cobalt);grid-column:1/-1;margin-bottom:-20px}.review-section h2{max-width:800px;font-size:clamp(2.4rem,5vw,5.5rem);line-height:.98}.review-section__head>p:last-child{color:var(--review-muted);align-self:end;margin:0;line-height:1.7}.review-bench__legend{border-top:1px solid var(--review-line);border-inline:1px solid var(--review-line);grid-template-columns:1fr 1fr;margin-left:min(31%,410px);display:grid}.review-bench__legend span{letter-spacing:.11em;text-transform:uppercase;padding:12px 18px;font:500 .66rem/1 IBM Plex Mono,monospace}.review-bench__legend span:first-child{color:var(--review-cobalt);border-right:1px solid var(--review-line)}.review-bench__legend span:last-child{color:#08755b}.review-bench__list{border-top:1px solid var(--review-ink)}.review-manuscript{border-bottom:1px solid var(--review-ink)}.review-manuscript__head{grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:20px;min-height:130px;padding:24px 0;display:grid}.review-manuscript__index{border-right:1px solid var(--review-line);color:var(--review-muted);align-self:stretch;place-items:center;font:500 .74rem/1 IBM Plex Mono,monospace;display:grid}.review-manuscript__head p,.review-manuscript__head h3{margin:0}.review-manuscript__head p{color:var(--review-muted);text-transform:uppercase;margin-bottom:8px;font:500 .68rem/1.4 IBM Plex Mono,monospace}.review-manuscript__head h3{letter-spacing:-.03em;max-width:900px;font:560 clamp(1.35rem,2.5vw,2.35rem)/1.08 Bricolage Grotesque,sans-serif}.review-manuscript__state{color:#825500;letter-spacing:.06em;text-transform:uppercase;border:1px solid #ba7a00;padding:8px 10px;font:500 .64rem/1 IBM Plex Mono,monospace}.review-manuscript__lanes{border:1px solid var(--review-line);border-bottom:0;grid-template-columns:1fr 1fr;margin-left:min(31%,410px);display:grid}.review-lane{grid-template-rows:auto 1fr auto;min-height:190px;padding:26px;display:grid;position:relative;overflow:hidden}.review-lane:first-child{border-right:1px solid var(--review-line)}.review-lane:after{content:"";background:var(--review-cobalt);height:4px;position:absolute;top:auto;bottom:0;left:0;right:0}.review-lane--repro:after{background:var(--review-mint)}.review-lane>span,.review-lane>small{letter-spacing:.08em;text-transform:uppercase;font:500 .66rem/1.3 IBM Plex Mono,monospace}.review-lane>span{color:var(--review-cobalt)}.review-lane--repro>span{color:#08755b}.review-lane>strong{align-self:center;max-width:390px;font:550 1.08rem/1.4 Bricolage Grotesque,sans-serif}.review-lane>small{color:var(--review-muted)}.review-manuscript__foot{justify-content:space-between;align-items:center;gap:24px;padding:20px 0 22px min(31%,410px);display:flex}.review-manuscript__foot code{color:var(--review-muted);font:400 .68rem/1.4 IBM Plex Mono,monospace}.review-manuscript__foot div{gap:24px;display:flex}.review-manuscript__foot a{color:var(--review-ink);text-underline-offset:4px;font:500 .74rem/1.3 IBM Plex Mono,monospace}.review-manuscript__foot a:last-child{color:var(--review-cobalt)}.review-protocol{color:var(--review-white);background:var(--review-carbon)}.review-protocol .review-kicker{color:var(--review-mint)}.review-protocol .review-section__head{grid-template-columns:1fr}.review-protocol ol{border-top:1px solid var(--review-line-dark);margin:0;padding:0;list-style:none}.review-protocol li{border-bottom:1px solid var(--review-line-dark);grid-template-columns:90px minmax(0,1fr);gap:24px;padding:30px 0;display:grid}.review-protocol li>span{color:var(--review-mint);font:500 .72rem/1.4 IBM Plex Mono,monospace}.review-protocol li div{grid-template-columns:minmax(180px,.4fr) minmax(280px,.6fr);gap:32px;display:grid}.review-protocol strong{font:550 clamp(1.2rem,2vw,1.8rem)/1.2 Bricolage Grotesque,sans-serif}.review-protocol li p{color:#9fb0ba;max-width:720px;margin:0;line-height:1.65}.review-states{background:var(--review-white);grid-template-columns:minmax(240px,.7fr) minmax(400px,1.3fr);gap:clamp(50px,9vw,150px);display:grid}.review-states .review-kicker{color:var(--review-cobalt)}.review-states dl{border-top:1px solid var(--review-ink);margin:0}.review-states dl div{border-bottom:1px solid var(--review-line);grid-template-columns:.9fr 1.15fr .75fr;gap:24px;padding:22px 0;display:grid}.review-states :where(dt,dd,small){margin:0}.review-states dt{font-weight:600}.review-states dd{color:var(--review-muted)}.review-states small{color:#8a5b00;text-transform:uppercase;font:500 .67rem/1.4 IBM Plex Mono,monospace}.review-close{color:var(--review-white);background:linear-gradient(90deg, #315cff24, transparent 55%), var(--review-night)}.review-close .review-kicker{color:var(--review-cyan)}.review-close h2{max-width:1050px}.review-close>p:not(.review-kicker){color:#aebdc6;max-width:700px;margin:32px 0 0;line-height:1.7}@media (max-width:900px){.review-hero{grid-template-columns:1fr}.review-hero__thesis{padding:100px 24px 72px}.review-tally{border-top:1px solid var(--review-line-dark);border-left:0;padding:48px 24px 64px}.review-boundary,.review-section__head,.review-states{grid-template-columns:1fr}.review-section__head .review-kicker{margin-bottom:0}.review-bench__legend{display:none}.review-manuscript__lanes,.review-manuscript__foot{margin-left:0;padding-left:0}.review-manuscript__foot{align-items:flex-start}.review-states{gap:50px}}@media (max-width:620px){.review-hero h1{font-size:clamp(3rem,15vw,5rem)}.review-boundary{grid-template-columns:1fr;gap:10px}.review-manuscript__head{grid-template-columns:36px minmax(0,1fr)}.review-manuscript__state{grid-column:2;justify-self:start}.review-manuscript__lanes{grid-template-columns:1fr}.review-lane:first-child{border-right:0;border-bottom:1px solid var(--review-line)}.review-lane{min-height:170px}.review-manuscript__foot,.review-manuscript__foot div{flex-direction:column}.review-manuscript__foot div{gap:12px}.review-protocol li{grid-template-columns:44px minmax(0,1fr)}.review-protocol li div{grid-template-columns:1fr;gap:10px}.review-states dl div{grid-template-columns:1fr;gap:8px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
