:root{--body:#666;--accent:#a78c59;--max:1320px}
html{scroll-behavior:smooth;scroll-padding-top:100px}
section[id]{scroll-margin-top:20px}
body{font-size:18px;line-height:1.65}
.display-hero{line-height:1.08;letter-spacing:-1.3px}
.display-lg{line-height:1.13}
.film-line{line-height:1.06;max-width:15ch;font-size:clamp(48px,7.6vw,104px)}
.masthead{background:rgba(255,255,255,.96);transition:box-shadow .3s;backdrop-filter:blur(14px)}
.masthead.scrolled{box-shadow:0 4px 24px #0000000a}
.masthead-inner{min-height:78px}
.wordmark{font-size:25px}.wordmark span{font-size:12px;font-weight:400;letter-spacing:1px}
.nav{gap:22px}.nav a{font-size:14px;position:relative;font-weight:400;letter-spacing:0}
.nav a::after{content:"";position:absolute;bottom:-9px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav a:hover{text-decoration:none}.nav a:hover::after,.nav a[aria-current]::after{transform:scaleX(1)}
.reading-progress{position:fixed;left:0;top:0;z-index:50;width:100%;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
.film{min-height:calc(92svh - 78px)}
.film-media{animation:film-drift 28s ease-in-out infinite alternate;transform-origin:center}
.film-veil{background:linear-gradient(180deg,#00000020 0%,#00000055 40%,#000000bb 100%)}
.film .wrap{padding-bottom:56px}.film-rule{width:100px;border-color:#c8b080}
.film-explore{display:inline-flex;align-items:center;gap:30px;margin-top:36px;font:14px var(--sans);text-decoration:none;border-bottom:1px solid #ffffff77;padding-bottom:12px}
.film-explore span{font-size:24px;transition:transform .25s}.film-explore:hover span{transform:translateY(5px)}
.film-note{font-size:12px;margin-top:30px;color:#ccc}
.motion-toggle{position:absolute;right:var(--gutter);bottom:55px;color:#eee;border:1px solid #ffffff66;background:#0003;padding:10px 14px;font:12px var(--sans);cursor:pointer}
.motion-toggle:hover{background:#fff;color:#111}
.film :focus-visible,footer :focus-visible{outline-color:white}
.hero{padding-top:88px}.hero .lead{line-height:1.65;color:#444;font-size:19px}
.kicker{font-size:12px;line-height:1.6;letter-spacing:1.2px;font-weight:400}
.byline{font-size:14px}.hero-figure{padding-top:4px}
.btn{transition:background .25s,color .25s,transform .25s;border-radius:0;font-size:14px;padding:15px 21px}
.btn-sm{padding:11px 15px}.btn:hover{transform:translateY(-2px)}.btn-primary:hover{background:#333}.btn-outline:hover{background:#111;color:#fff}
.strip{margin-top:64px}.strip b{font-size:clamp(40px,4.6vw,58px);line-height:1.15}.strip p{line-height:1.6}
@media(min-width:700px){.strip div{padding:30px}.strip div:first-child{padding-left:0}}
.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:400;margin-bottom:22px}
.copy{line-height:1.7}.head-grid{align-items:start}.rows li{padding:24px 0}.rows h3,.steps h3{font-weight:400}.rows p,.card p,.steps p{line-height:1.65}
.rows li{transition:background .3s}.rows li:hover{background:#f7f7f7}
.card img{transition:filter .7s}.card:hover img{filter:grayscale(.65) contrast(1.05)}
.card h3{margin-top:25px}.card p{max-width:57ch}
.black{background:#101110}.black .table{margin-top:45px}.table td{padding-top:22px;padding-bottom:22px}.table td.fig{font-size:38px;line-height:1.2;padding-right:56px}
.markgrid{grid-template-columns:repeat(auto-fill,minmax(12px,1fr));gap:8px}.markgrid i{height:26px;opacity:1;transition:opacity .3s,background .3s,transform .3s}
.markgrid i:hover{transform:scaleY(1.18);border-color:white}.markgrid[data-filter="indexed"] i:not(.on),.markgrid[data-filter="missing"] i.on{opacity:.12!important}
.evidence-controls{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}.evidence-controls button{font:14px var(--sans);border:1px solid #5b5b5b;background:transparent;color:#ddd;padding:12px 16px;cursor:pointer;transition:background .2s,color .2s}
.evidence-controls button[aria-pressed="true"]{background:#fff;color:#111;border-color:white}.evidence-controls button:hover{border-color:white}
.evidence-status{font:14px var(--sans);color:#ccc;margin:20px 0 0}.marklegend span{font-size:13px}.black .caption{line-height:1.6}
.steps li{display:block;padding:0;counter-increment:none}.steps li::before{display:none}.step-toggle{width:100%;display:grid;grid-template-columns:64px 1fr 24px;gap:20px;align-items:center;padding:28px 0;background:none;border:0;text-align:left;cursor:pointer;color:inherit}.step-number{font:32px var(--display)}.step-title{font:18px var(--sans)}.step-icon{font:24px var(--sans);transition:transform .3s}.step-toggle[aria-expanded="true"] .step-icon{transform:rotate(45deg)}
.step-detail{padding:0 44px 26px 84px}.step-detail p{margin:0}.steps .terms{font-size:14px;line-height:1.6;margin-top:12px}.step-toggle:hover .step-title{color:#74603b}
.contact{padding-top:70px;padding-bottom:70px}.mail{font-size:clamp(23px,3vw,35px)}
.skip-link{position:fixed;top:-100px;left:20px;background:#fff;color:#000;z-index:100;padding:12px}.skip-link:focus{top:10px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}
@keyframes film-drift{from{transform:scale(1)}to{transform:scale(1.09)}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation:none!important;transition:none!important}.motion-paused .reveal{opacity:1;transform:none}html:has(.motion-paused){scroll-behavior:auto}
@media(min-width:900px){section{padding-top:100px;padding-bottom:100px}.hero-grid,.head-grid,.split{gap:70px}.hero-figure{position:sticky;top:115px}}
@media(max-width:1150px){.nav{display:none}.navtoggle{display:block}.navpanel.open{display:block!important}}
@media(min-width:1151px){.navtoggle{display:none}.navpanel{display:none!important}}
@media(max-width:600px){.masthead-inner{gap:8px;min-height:72px}.wordmark{font-size:21px}.wordmark span{font-size:10px}.masthead .btn-sm{display:none}.film{min-height:calc(85svh - 72px)}.film .wrap{padding-bottom:32px}.film-line{font-size:clamp(44px,11.8vw,65px)}.film-note{max-width:24ch}.motion-toggle{bottom:34px;font-size:12px}.hero{padding-top:48px}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{text-align:center}.table td.fig{font-size:26px;padding-right:16px}.table td{line-height:1.6}.step-toggle{grid-template-columns:40px 1fr 20px;gap:12px}.step-detail{padding-left:52px;padding-right:12px}.evidence-controls button{font-size:13px;padding:11px}.markgrid{gap:5px}.markgrid i{height:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Fullscreen opening, with navigation over the background media. */
.masthead{position:fixed;inset:0 0 auto;background:transparent;backdrop-filter:none;border-bottom-color:transparent;color:#fff;transition:background .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}
.masthead:not(.scrolled) .wordmark span{color:#ddd}
.masthead:not(.scrolled) .btn-primary{color:#fff;background:transparent;border-color:#ffffff88}
.masthead:not(.scrolled) .btn-primary:hover{background:#fff;color:#111}
.masthead:not(.scrolled) .navtoggle{color:#fff;background:transparent;border-color:#ffffff88}
.masthead:not(.scrolled) :focus-visible{outline-color:white}
.masthead.scrolled{background:rgba(255,255,255,.97);color:#111;backdrop-filter:blur(14px);border-bottom-color:var(--hairline)}
.navpanel{background:#fff;color:#111;max-height:calc(100dvh - 78px);overflow:auto}
.film{min-height:100vh;min-height:100svh;min-height:100dvh}
.film .wrap{padding-top:140px}
.film img.film-media{animation:none;transform:none}
.hero-video{animation:none;transform:none;pointer-events:none;opacity:0;transition:opacity .6s ease}
.hero-video.is-playing{opacity:1}
.type-word{display:inline-block;white-space:nowrap}
.type-letter{opacity:0;transition:opacity .09s ease}
.type-letter.typed{opacity:1}
.reveal:focus-within{opacity:1;transform:none}
@keyframes opening-fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .masthead-inner{animation:opening-fade .8s ease both}
  .film-rule{animation:opening-fade .9s ease .15s both}
  .film-explore{animation:opening-fade .9s ease 2.4s both}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(prefers-reduced-motion:reduce){.type-letter{opacity:1}}

/* Reading scale and spacing across the archive sections. */
body{font-size:1.3125rem;line-height:1.75;letter-spacing:0}
.hero .lead,.lead{font-size:1.4375rem;line-height:1.65}
.copy{max-width:54ch;margin-bottom:1.5em;line-height:1.75}
.display-hero{font-size:clamp(2.625rem,4.5vw,4rem);line-height:1.16;letter-spacing:-.025em;text-wrap:balance}
.display-lg{font-size:clamp(2.25rem,3.4vw,3.25rem);line-height:1.2;letter-spacing:-.02em;text-wrap:balance}
.display-md{font-size:clamp(1.875rem,2.6vw,2.25rem);line-height:1.25;text-wrap:balance}
.hero h1{margin-bottom:2rem}
.kicker,.eyebrow{font-size:.875rem;line-height:1.6}
.byline{font-size:1rem;line-height:1.6;margin-top:1.25rem}
.caption,.film-note,.foot-bottom p{font-size:.875rem;line-height:1.65}
.sm,.strip p,.table td,.btn,.navpanel a,.evidence-controls button,.evidence-status,.marklegend span,.steps .terms,footer a,footer p{font-size:1rem;line-height:1.65}
.btn{padding:1rem 1.375rem}
.btn-sm{font-size:.9375rem;padding:.75rem 1rem}
.nav a,.navtoggle{font-size:.9375rem;line-height:1.5}
.wordmark span{font-size:.8125rem;line-height:1.4}
.motion-toggle,.film-explore{font-size:.9375rem;line-height:1.5}
.strip{margin-top:5rem}
.strip div{padding:2.5rem 0}
.strip b{font-size:clamp(2.75rem,4.1vw,3.625rem);line-height:1.2;margin-bottom:1rem}
.strip p{max-width:30ch;letter-spacing:0}
.head-grid,.split,.hero-grid{gap:3rem}
.rows,.cards,.steps{margin-top:3.5rem}
.rows li{padding:2rem 0;gap:1rem;align-items:start}
.rows h3{font-size:1.125rem;line-height:1.55;letter-spacing:0}
.rows p,.card p,.steps p{max-width:54ch;line-height:1.75}
.card h3{margin-top:2rem;margin-bottom:1.25rem}
.cards{gap:3.5rem}
.table td{padding-top:1.75rem;padding-bottom:1.75rem;letter-spacing:0}
.table td.fig{font-size:2.375rem;line-height:1.3;padding-right:3rem}
.marklegend{gap:1.25rem 2rem}
.marklegend em{flex-shrink:0}
.step-toggle{padding:2rem 0;grid-template-columns:64px minmax(0,1fr) 24px}
.step-title{font-size:1.25rem;line-height:1.5}
.step-detail{padding-bottom:2rem}
.steps .terms{margin-top:1rem}
.contact{padding-top:5rem;padding-bottom:5rem}
footer{padding-top:4rem;padding-bottom:3rem}
footer h4{font-size:.9375rem;line-height:1.5}
footer li{margin-bottom:1rem}
.head-grid>div,.hero-grid>div,.split>div,.card,.foot-grid>div{min-width:0}
@media(min-width:700px){
  .strip div{padding:2.5rem 2rem}
  .strip div:first-child{padding-left:0}
}
@media(min-width:900px){
  section:not(.film){padding-top:7rem;padding-bottom:7rem}
  section.hero{padding-bottom:0}
  .head-grid,.split,.hero-grid{column-gap:5rem}
  .rows li{grid-template-columns:minmax(0,17rem) minmax(0,1fr);column-gap:3rem}
}
@media(min-width:900px) and (max-width:1100px){
  .head-grid{grid-template-columns:1fr}
  .head-grid .display-lg{max-width:22ch}
  .head-grid .copy{max-width:60ch}
  .strip b{font-size:2.625rem}
}
@media(max-width:899px){
  body{font-size:1.1875rem}
  .hero .lead,.lead{font-size:1.3125rem}
  section:not(.film){padding-top:4.5rem;padding-bottom:4.5rem}
  section.hero{padding-bottom:0}
  .rows li{grid-template-columns:1fr}
  .cards{gap:3.5rem}
  .head-grid,.split,.hero-grid{gap:2.25rem}
}
@media(max-width:699px){
  .cards{grid-template-columns:1fr}
  .strip{margin-top:3.5rem}
  .strip div{padding:2rem 0}
  .strip p{max-width:34ch}
  .table td.fig{font-size:clamp(1.25rem,5.6vw,1.75rem);padding-right:1rem;white-space:normal;min-width:6.5rem}
  .table td{padding-top:1.5rem;padding-bottom:1.5rem}
  .step-toggle{grid-template-columns:36px minmax(0,1fr) 20px;gap:12px}
  .step-detail{padding-left:0;padding-right:0}
  .motion-toggle{position:static;display:block;margin-top:1.5rem}
  .film-note{max-width:none}
  .contact-grid{gap:2rem}
  .wordmark{font-size:1.375rem}
  .wordmark span{font-size:.75rem}
  .mail{font-size:clamp(1.25rem,6vw,2rem)}
}
