:root {
  --ink:#1a1113;
  --blood:#a91f32;
  --blood-bright:#e33d56;
  --paper:#f0eadf;
  --paper-hi:#fbf6ec;
  --night:#130d0f;
  --muted:#766b68;
  --line:rgba(26,17,19,.18);
  --mint:#9fceb5;
  --amber:#dfb46a;
  --mono:'SFMono-Regular', 'Cascadia Mono', Consolas, monospace;
  --serif:'Iowan Old Style', 'Baskerville', 'Times New Roman', serif;
  --sans:'Avenir Next', Avenir, 'Segoe UI', system-ui, sans-serif;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--paper); }
body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); overflow-x:hidden; }
button,input { font:inherit; }
a { color:inherit; }
.skip { position:fixed; left:16px; top:-60px; z-index:100; background:var(--paper-hi); color:var(--ink); padding:12px 16px; }
.skip:focus { top:12px; }
.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; }

.hero { position:relative; min-height:100svh; color:var(--paper-hi); background:var(--night); isolation:isolate; overflow:hidden; }
#hero-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:.9; z-index:-1; }
.hero::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(19,13,15,.96) 0%,rgba(19,13,15,.7) 44%,rgba(19,13,15,.03) 78%),linear-gradient(0deg,rgba(19,13,15,.72),transparent 45%); }
.topbar { height:92px; margin:0 clamp(22px,4vw,68px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid rgba(255,255,255,.18); font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.mark { display:flex; align-items:center; gap:12px; text-decoration:none; }
.mark > span:first-child { display:grid; place-items:center; width:30px; height:30px; border:1px solid currentColor; border-radius:50%; font-family:var(--serif); font-size:17px; font-style:italic; }
.navlinks { display:flex; align-items:center; gap:28px; }
.navlinks a { text-decoration:none; }
.navlinks a:hover { color:var(--blood-bright); }
.sound-toggle { border:0; padding:0; color:inherit; background:none; text-transform:inherit; letter-spacing:inherit; cursor:pointer; }
.hero-copy { position:absolute; left:clamp(22px,8vw,128px); top:50%; transform:translateY(-44%); max-width:920px; }
.eyebrow,.section-no,.dialog-kicker { font:500 11px/1.2 var(--mono); text-transform:uppercase; letter-spacing:.18em; }
.eyebrow { color:var(--blood-bright); margin:0 0 28px; }
.hero h1 { margin:0; max-width:900px; font:300 clamp(58px,9.5vw,142px)/.78 var(--serif); letter-spacing:-.065em; }
.hero h1 em { color:var(--blood-bright); font-weight:300; }
.dek { max-width:620px; margin:38px 0; color:rgba(251,246,236,.72); font:400 clamp(17px,1.5vw,23px)/1.5 var(--sans); }
.enter { width:min(330px,80vw); display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.4); padding:14px 0; text-decoration:none; font:400 12px var(--mono); text-transform:uppercase; letter-spacing:.14em; }
.enter:hover { color:var(--blood-bright); }
.hero-readout { position:absolute; right:clamp(22px,4vw,68px); bottom:28px; display:flex; gap:22px; font:300 9px var(--mono); letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.5); }
.hero-readout span::before { content:'•'; color:var(--blood-bright); margin-right:7px; }

.premise,.ethics { display:grid; grid-template-columns:minmax(260px,1fr) 1.2fr; gap:8vw; padding:clamp(80px,11vw,170px) clamp(22px,7vw,110px); }
.premise { border-bottom:1px solid var(--line); }
.section-no { color:var(--blood); margin:0 0 26px; }
.premise h2,.atlas h2,.ethics h2 { font:300 clamp(44px,6vw,92px)/.96 var(--serif); letter-spacing:-.045em; margin:0; }
.premise-copy { max-width:690px; font:400 clamp(18px,1.7vw,25px)/1.55 var(--sans); }
.premise-copy p { margin:0 0 1em; }
.premise-copy strong { font-weight:600; color:var(--blood); }
.legend { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:20px 34px; margin-top:50px; padding-top:22px; border-top:1px solid var(--line); font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.dot { width:8px; height:8px; border-radius:50%; display:inline-block; margin-right:8px; }
.dot.observed{background:var(--ink)} .dot.debated{background:var(--amber)} .dot.frontier{background:var(--blood)} .dot.context{border:1px solid var(--ink)}

.atlas { padding:clamp(80px,10vw,150px) clamp(22px,4vw,68px) 130px; }
.atlas-head { display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:end; }
.atlas-tools { display:flex; flex-direction:column; gap:28px; }
.search input { width:100%; border:0; border-bottom:1px solid var(--ink); background:transparent; padding:12px 0; border-radius:0; color:var(--ink); outline:none; font:400 15px var(--mono); }
.search input:focus { border-color:var(--blood); }
.filters { display:flex; flex-wrap:wrap; gap:8px; }
.filters button { border:1px solid var(--line); background:transparent; padding:8px 11px; cursor:pointer; font:400 9px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.filters button:hover,.filters button[aria-pressed=true] { color:var(--paper-hi); background:var(--ink); border-color:var(--ink); }
.result-count { margin:70px 0 14px; text-align:right; font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.12em; color:var(--muted); }
.study-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-top:1px solid var(--ink); border-left:1px solid var(--line); }
.study-card { min-height:340px; position:relative; display:flex; flex-direction:column; border:0; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:transparent; color:inherit; text-align:left; padding:20px; cursor:pointer; overflow:hidden; }
.study-card::after { content:''; position:absolute; inset:auto -30% -65% 40%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle,var(--card-accent,rgba(169,31,50,.16)),transparent 67%); transition:transform .55s ease; }
.study-card:hover::after,.study-card:focus-visible::after { transform:scale(1.8); }
.study-card:hover,.study-card:focus-visible { outline:none; background:var(--paper-hi); }
.card-top { display:flex; justify-content:space-between; gap:12px; font:400 9px var(--mono); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.card-glyph { height:116px; display:grid; place-items:center; margin:14px 0; }
.card-glyph svg { width:100%; height:100%; overflow:visible; }
.study-card h3 { position:relative; z-index:1; margin:auto 0 10px; font:400 clamp(23px,2vw,32px)/1 var(--serif); letter-spacing:-.025em; }
.study-card p { position:relative; z-index:1; margin:0; color:var(--muted); font:400 11px/1.45 var(--mono); }
.card-status { margin-top:16px!important; color:var(--blood)!important; text-transform:uppercase; letter-spacing:.08em; font-size:9px!important; }

.ethics { position:relative; background:var(--blood); color:var(--paper-hi); overflow:hidden; }
.ethics > div:last-child { max-width:620px; font-size:19px; line-height:1.55; }
.ethics-orbit { position:absolute; width:52vw; aspect-ratio:1; left:-20vw; bottom:-28vw; border:1px solid rgba(255,255,255,.22); border-radius:50%; }
.ethics-orbit span { position:absolute; inset:12%; border:1px solid rgba(255,255,255,.16); border-radius:50%; }
.ethics-orbit span:nth-child(2){inset:28%}.ethics-orbit span:nth-child(3){inset:44%;background:var(--paper-hi)}
.ethics .section-no { color:var(--paper-hi); }
footer { min-height:280px; display:grid; grid-template-columns:1fr 1fr auto; align-items:end; gap:30px; padding:80px clamp(22px,4vw,68px) 38px; color:rgba(255,255,255,.65); background:var(--night); font:300 10px/1.5 var(--mono); text-transform:uppercase; letter-spacing:.08em; }
footer p,footer a{margin:0} footer a{text-decoration:none;color:var(--paper-hi)}

.study-dialog { width:100vw; max-width:none; height:100vh; max-height:none; margin:0; padding:0; border:0; color:var(--paper-hi); background:var(--night); overflow:auto; }
.study-dialog::backdrop { background:rgba(0,0,0,.75); }
.dialog-close { position:fixed; z-index:5; right:28px; top:24px; border:0; background:none; color:var(--paper-hi); cursor:pointer; font:400 11px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.dialog-shell { min-height:100%; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr); }
.sim-panel { position:sticky; top:0; height:100vh; background:#080607; overflow:hidden; }
#sim-canvas { display:block; width:100%; height:100%; }
.sim-label { position:absolute; left:24px; right:24px; top:22px; display:flex; justify-content:space-between; font:300 9px var(--mono); text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.55); }
.sim-action { position:absolute; left:50%; bottom:34px; transform:translateX(-50%); color:var(--paper-hi); border:1px solid rgba(255,255,255,.5); background:rgba(0,0,0,.25); backdrop-filter:blur(8px); padding:12px 18px; cursor:pointer; font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.sim-action:hover { color:var(--night); background:var(--paper-hi); }
.study-copy { padding:clamp(92px,10vw,150px) clamp(28px,5vw,84px) 60px; }
.dialog-kicker { color:var(--blood-bright); }
.study-copy h2 { margin:22px 0 28px; font:300 clamp(50px,6vw,96px)/.9 var(--serif); letter-spacing:-.05em; }
.dialog-lede { color:rgba(255,255,255,.78); font-size:20px; line-height:1.55; }
.evidence-ledger { margin:55px 0 38px; }
.evidence-ledger > div { display:grid; grid-template-columns:140px 1fr; gap:24px; padding:18px 0; border-top:1px solid rgba(255,255,255,.18); }
.evidence-ledger dt { color:rgba(255,255,255,.45); font:400 9px var(--mono); text-transform:uppercase; letter-spacing:.1em; }
.evidence-ledger dd { margin:0; font-size:13px; line-height:1.55; }
.source-link { display:inline-block; color:var(--blood-bright); font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.study-dialog .dossier-link { margin-left:20px; }
.dialog-nav { display:flex; justify-content:space-between; align-items:center; margin-top:70px; padding-top:20px; border-top:1px solid rgba(255,255,255,.18); }
.dialog-nav button { border:0; background:none; color:var(--paper-hi); padding:0; cursor:pointer; font:400 10px var(--mono); text-transform:uppercase; letter-spacing:.08em; }
.dialog-nav span { color:rgba(255,255,255,.45); font:400 9px var(--mono); }
.noscript { margin:0; padding:20px; color:white; background:#8c1326; }

@media (max-width:1100px){.study-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dialog-shell{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  .study-dialog .dossier-link{display:block;margin:18px 0 0}
  .topbar{height:72px;margin:0 18px}.mark>span:last-child,.navlinks a{display:none}.navlinks{gap:12px}.hero-copy{left:22px;right:22px}.hero h1{font-size:clamp(60px,19vw,95px)}.dek{font-size:16px;max-width:36ch}.hero-readout{left:22px;right:auto}.hero-readout span:not(:first-child){display:none}
  .premise,.ethics{grid-template-columns:1fr;gap:40px}.legend{grid-column:auto}.atlas{padding-inline:18px}.atlas-head{grid-template-columns:1fr;gap:45px}.study-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.study-card{min-height:300px;padding:15px}.card-glyph{height:92px}.study-card h3{font-size:25px}
  footer{grid-template-columns:1fr;align-content:end;min-height:340px}.dialog-shell{display:block}.sim-panel{position:relative;height:52vh;min-height:390px}.study-copy{padding-top:70px}.evidence-ledger>div{grid-template-columns:1fr;gap:8px}.dialog-close{top:14px;right:14px;background:rgba(0,0,0,.45);padding:8px}.study-copy h2{font-size:55px}
}
@media (max-width:430px){.study-grid{grid-template-columns:1fr}.study-card{min-height:270px}.card-glyph{position:absolute;width:42%;right:10px;top:34px;opacity:.65}.study-card h3{max-width:75%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}}
