:root {
  --void: #050806;
  --coal: #0a100d;
  --panel: #0d1712;
  --panel-2: #101d16;
  --phosphor: #9affb5;
  --phosphor-soft: #5fba7a;
  --ink: #d7e2d8;
  --muted: #93a398;
  --rule: rgba(154, 255, 181, .22);
  --red: #cf2924;
  --warning: #e3ad37;
  --defcon-color: #9affb5;
  --dial-angle: -42deg;
  --pace: 7s;
  --header-h: 72px;
  --display: 'Six Caps', sans-serif;
  --mono: 'Space Mono', monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--void); }
body { margin: 0; min-width: 320px; overflow-x: clip; background: var(--void); color: var(--ink); font-family: var(--mono); font-size: 16px; line-height: 1.65; }
body::before { content: ''; position: fixed; inset: 0; pointer-events: none; z-index: 200; opacity: .17; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E"); mix-blend-mode: soft-light; }
body.is-paused *, body.is-paused *::before, body.is-paused *::after { animation-play-state: paused !important; }
button, a { font: inherit; }
a { color: inherit; }
button { color: inherit; }
::selection { background: var(--phosphor); color: var(--void); }
.skip-link { position: fixed; z-index: 999; left: 12px; top: 12px; padding: 10px 14px; background: var(--phosphor); color: var(--void); transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--phosphor); outline-offset: 4px; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: var(--header-h); display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(18px, 4vw, 64px); background: linear-gradient(180deg, rgba(5,8,6,.98), rgba(5,8,6,.74)); border-bottom: 1px solid rgba(154,255,181,.14); backdrop-filter: blur(14px); }
.site-mark { display: flex; align-items: center; gap: 12px; min-height: 44px; text-decoration: none; color: var(--phosphor); font-size: 12px; font-weight: 700; letter-spacing: .12em; }
.site-mark svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1; }
.site-mark .mark-core { fill: var(--red); stroke: none; }
.desktop-nav { display: flex; gap: clamp(24px, 3.5vw, 58px); }
.desktop-nav a, .mobile-nav a { position: relative; padding: 13px 0; color: #bdc9bf; font-size: 11px; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.desktop-nav a::after { content: ''; position: absolute; right: 0; bottom: 7px; left: 0; height: 1px; background: var(--phosphor); transform: scaleX(0); transform-origin: right; transition: transform .3s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.audio-toggle { min-height: 44px; min-width: 122px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid var(--rule); background: rgba(9,15,11,.75); cursor: pointer; font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.audio-lamp { width: 7px; height: 7px; border-radius: 50%; background: #68736b; box-shadow: 0 0 0 3px rgba(104,115,107,.12); }
.audio-toggle[aria-pressed="true"] .audio-lamp { background: var(--phosphor); box-shadow: 0 0 10px var(--phosphor); }
.menu-toggle { display: none; width: 46px; height: 44px; border: 1px solid var(--rule); background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 19px; height: 1px; margin: 6px auto; background: currentColor; transition: transform .25s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
.mobile-nav { display: none; }

.hero { min-height: 100svh; padding: calc(var(--header-h) + 18px) clamp(12px, 2.2vw, 34px) 18px; background: #020302; }
.cinema-frame { position: relative; min-height: calc(100svh - var(--header-h) - 36px); overflow: hidden; display: flex; align-items: flex-end; isolation: isolate; border: 1px solid rgba(194,214,197,.14); background: #020302; }
.hero-image { position: absolute; z-index: -4; inset: -4%; background-image: linear-gradient(90deg, rgba(2,3,2,.75) 0%, rgba(2,3,2,.24) 52%, rgba(2,3,2,.6) 100%), linear-gradient(0deg, rgba(2,3,2,.84), transparent 60%), url('/assets/gen/warroom/hero.jpg'); background-size: cover; background-position: 50% 50%; transform: scale(1.09) translate3d(var(--hero-x, 0), var(--hero-y, 0), 0); filter: contrast(1.18) sepia(.22) saturate(.62); animation: hero-breathe 12s ease-in-out infinite alternate; transition: filter .8s ease; }
@keyframes hero-breathe { to { transform: scale(1.035) translate3d(var(--hero-x, 0), calc(var(--hero-y, 0) - 1%), 0); } }
.hero-grid { position: absolute; z-index: -3; inset: 0; opacity: .22; background-image: linear-gradient(rgba(154,255,181,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(154,255,181,.08) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(90deg, transparent 10%, #000 50%, transparent 90%); }
.hero-flare { position: absolute; z-index: -2; top: -20%; left: 49%; width: 2px; height: 85%; background: rgba(233,247,208,.7); box-shadow: 0 0 35px 8px rgba(223,244,191,.28), 0 0 130px 45px rgba(223,244,191,.08); transform: rotate(4deg); opacity: 0; animation: flare-enter 1.8s .4s ease forwards; }
@keyframes flare-enter { 40% { opacity: .85; } 100% { opacity: .24; } }
.letterbox { position: absolute; z-index: 3; left: 0; right: 0; height: clamp(16px, 2.7vw, 42px); background: #010201; }
.letterbox.top { top: 0; transform: translateY(-100%); animation: bar-in .8s .1s cubic-bezier(.22,.8,.26,1) forwards; }
.letterbox.bottom { bottom: 0; transform: translateY(100%); animation: bar-in-bottom .8s .1s cubic-bezier(.22,.8,.26,1) forwards; }
@keyframes bar-in { to { transform: translateY(0); } }
@keyframes bar-in-bottom { to { transform: translateY(0); } }
.hero-copy { width: min(1040px, 92%); margin: 0 auto clamp(58px, 11vh, 120px); padding-right: 26%; }
.hero-kicker { margin: 0 0 8px; color: var(--phosphor); font-size: 10px; letter-spacing: .21em; text-transform: uppercase; transform: translateY(16px); opacity: 0; animation: load-up .7s .35s ease forwards; }
.hero h1 { margin: 0; white-space: nowrap; font-family: var(--display); font-size: clamp(96px, 15vw, 205px); font-weight: 400; line-height: .72; letter-spacing: .015em; text-transform: uppercase; text-shadow: 0 12px 45px rgba(0,0,0,.8); transform: translateY(24px); opacity: 0; animation: load-up .9s .48s cubic-bezier(.16,.8,.2,1) forwards; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(215,226,216,.66); }
.hero-deck { max-width: 540px; margin: 28px 0 30px; color: #c7d0c8; font-size: clamp(13px, 1.15vw, 16px); transform: translateY(16px); opacity: 0; animation: load-up .7s .67s ease forwards; }
.hero-entry { display: inline-flex; align-items: center; min-height: 48px; gap: 18px; color: var(--void); background: var(--phosphor); padding: 0 8px 0 18px; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; transform: translateY(16px); opacity: 0; animation: load-up .7s .82s ease forwards; transition: box-shadow .25s, transform .25s; }
.hero-entry i { position: relative; display: grid; place-items: center; width: 34px; height: 34px; background: var(--void); }
.hero-entry i::before { content: '↓'; color: var(--phosphor); font-style: normal; }
.hero-entry:hover { box-shadow: 0 0 28px rgba(154,255,181,.28); transform: translateY(-2px); }
.hero-time { position: absolute; right: clamp(24px, 5vw, 80px); bottom: clamp(58px, 9vh, 102px); display: grid; justify-items: end; color: #c8d2ca; font-size: 9px; letter-spacing: .16em; }
.hero-time strong { color: var(--phosphor); font-size: clamp(16px, 2vw, 28px); font-weight: 400; letter-spacing: .08em; }
@keyframes load-up { to { opacity: 1; transform: translateY(0); } }

.threshold { position: relative; min-height: 104vh; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); align-items: center; gap: clamp(50px, 10vw, 160px); max-width: 1280px; margin: auto; padding: 120px clamp(22px, 6vw, 90px); overflow: hidden; }
.threshold-number { position: absolute; left: -1vw; bottom: -18vh; z-index: -1; color: rgba(154,255,181,.025); font-family: var(--display); font-size: min(85vw, 1100px); line-height: .7; }
.section-label { margin: 0 0 22px; color: var(--phosphor-soft); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }
.threshold h2, .phone-copy h2, .ledger-heading h2, .human-cost h2, .outcome h2 { margin: 0; font-family: var(--display); font-weight: 400; text-transform: uppercase; letter-spacing: .02em; line-height: .88; }
.threshold h2 { max-width: 780px; font-size: clamp(70px, 10vw, 150px); }
.threshold-lede { max-width: 680px; margin: 42px 0 0 18%; color: #bdc8bf; font-size: clamp(14px, 1.2vw, 17px); }
.museum-plaque { position: relative; padding: 32px; background: linear-gradient(145deg, #38413b, #242b27); color: #f0f0e7; border: 1px solid #606b63; box-shadow: 0 28px 70px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.13); }
.museum-plaque::before, .museum-plaque::after { content: ''; position: absolute; width: 7px; height: 7px; border-radius: 50%; background: #151916; box-shadow: inset 0 1px 2px #727b74; }
.museum-plaque::before { left: 12px; top: 12px; }.museum-plaque::after { right: 12px; bottom: 12px; }
.museum-plaque > span { color: #cdd8ce; font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.museum-plaque p { margin: 26px 0 32px; font-size: 13px; line-height: 1.8; }
.museum-plaque dl { margin: 0; border-top: 1px solid rgba(255,255,255,.2); }
.museum-plaque dl div { display: flex; justify-content: space-between; gap: 16px; padding: 11px 0; border-bottom: 1px solid rgba(255,255,255,.13); font-size: 10px; }
.museum-plaque dt { color: #aeb9b0; }.museum-plaque dd { margin: 0; }

.board-sequence { position: relative; min-height: 560vh; background: #020503; }
.board-sticky { position: sticky; z-index: 1; top: 0; height: 100svh; display: grid; place-items: center; padding: calc(var(--header-h) + 14px) clamp(10px, 2.5vw, 40px) 16px; overflow: hidden; }
.board-shell { position: relative; width: min(1500px, 100%); height: 100%; max-height: 860px; overflow: hidden; background: radial-gradient(circle at 54% 46%, rgba(42,116,65,.16), transparent 47%), #07100a; border: 2px solid #28352c; box-shadow: 0 0 0 5px #050805, 0 0 0 6px #243128, 0 35px 100px #000, inset 0 0 120px rgba(0,0,0,.9); transition: box-shadow .5s, background .5s; }
.board-shell::before { content: ''; position: absolute; z-index: 10; inset: 0; pointer-events: none; background: linear-gradient(rgba(154,255,181,.018) 50%, rgba(0,0,0,.08) 50%); background-size: 100% 4px; }
.board-topline { position: absolute; z-index: 11; top: 0; left: 0; right: 0; height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; color: var(--phosphor-soft); border-bottom: 1px solid var(--rule); background: rgba(4,8,5,.88); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
.cycle-status { color: var(--defcon-color); }.cycle-status i { display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; animation: contact-pulse calc(var(--pace) / 2) infinite; }
.map-wrap { position: absolute; inset: 45px 172px 56px 180px; overflow: hidden; color: var(--defcon-color); background: radial-gradient(ellipse, color-mix(in srgb, var(--defcon-color) 8%, transparent), transparent 64%); transition: color .5s, filter .5s; }
.world-map { width: 100%; height: 100%; display: block; }
.grid-field { color: var(--defcon-color); }
.continents { fill: color-mix(in srgb, var(--defcon-color) 15%, transparent); stroke: color-mix(in srgb, var(--defcon-color) 46%, transparent); stroke-width: 1.4; transition: fill .45s, stroke .45s; }
.route { stroke: var(--defcon-color); stroke-width: 1.7; stroke-dasharray: .08 .025; stroke-dashoffset: 1; opacity: .18; animation: route-draw var(--pace) linear infinite; transition: opacity .4s; }
.r2,.r5,.r8 { animation-delay: -2.2s; }.r3,.r6,.r9 { animation-delay: -4.1s; }.r4,.r7,.r10 { animation-delay: -5.4s; }
@keyframes route-draw { 0% { stroke-dashoffset: 1; } 55%,100% { stroke-dashoffset: 0; } }
.contact { fill: var(--defcon-color); stroke: #e8ffec; stroke-width: 1.5; cursor: pointer; animation: contact-pulse calc(var(--pace) * .45) ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.contact:nth-child(2n) { animation-delay: -1.3s; }.contact:nth-child(3n) { animation-delay: -2.4s; }
.contact:hover, .contact:focus { r: 10px; }
@keyframes contact-pulse { 0%,100% { opacity: .45; transform: scale(.72); } 50% { opacity: 1; transform: scale(1.25); } }
.radar-sweep { position: absolute; width: min(72vw, 750px); aspect-ratio: 1; left: 50%; top: 50%; transform: translate(-50%,-50%) rotate(0); border-radius: 50%; opacity: .28; background: conic-gradient(from 12deg, transparent 0 84%, color-mix(in srgb, var(--defcon-color) 28%, transparent) 92%, transparent 99%); animation: sweep var(--pace) linear infinite; pointer-events: none; }
@keyframes sweep { to { transform: translate(-50%,-50%) rotate(360deg); } }
.map-readout { position: absolute; left: 16px; bottom: 12px; display: grid; padding: 8px 12px; background: rgba(2,5,3,.72); border-left: 2px solid var(--defcon-color); font-size: 8px; letter-spacing: .1em; }
.map-readout span { color: var(--muted); text-transform: uppercase; }.map-readout strong { color: var(--defcon-color); font-size: 9px; font-weight: 400; }
.map-scale { position: absolute; right: 16px; bottom: 15px; display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 8px; }.map-scale i { width: 76px; height: 6px; border: solid var(--muted); border-width: 0 1px 1px; }
.defcon-module { position: absolute; z-index: 12; left: 14px; top: 58px; bottom: 70px; width: 150px; padding: 16px 10px; color: #b5c2b7; border: 1px solid var(--rule); background: rgba(4,9,5,.94); }
.defcon-heading { padding-bottom: 13px; border-bottom: 1px solid var(--rule); font-size: 8px; letter-spacing: .13em; text-align: center; text-transform: uppercase; }
.defcon-ladder { list-style: none; margin: 16px 0 96px; padding: 0; display: grid; gap: 4px; }
.defcon-ladder li { display: grid; grid-template-columns: 32px 1fr; align-items: center; min-height: 45px; color: #718077; border-left: 3px solid #263229; background: rgba(255,255,255,.02); transition: .4s ease; }
.defcon-ladder b { font-family: var(--display); font-size: 35px; line-height: 1; font-weight: 400; text-align: center; }.defcon-ladder span { font-size: 7px; letter-spacing: .08em; text-transform: uppercase; }
.defcon-ladder li.is-current { color: var(--defcon-color); border-left-color: var(--defcon-color); background: color-mix(in srgb, var(--defcon-color) 10%, transparent); box-shadow: inset 0 0 18px color-mix(in srgb, var(--defcon-color) 8%, transparent); }
.needle-housing { position: absolute; left: 18px; right: 18px; bottom: 16px; height: 68px; overflow: hidden; border-radius: 80px 80px 0 0; border: 1px solid var(--rule); background: repeating-conic-gradient(from -55deg at 50% 100%, var(--rule) 0 1deg, transparent 1deg 13deg); }
.needle { position: absolute; left: calc(50% - 1px); bottom: 0; width: 2px; height: 58px; background: var(--defcon-color); box-shadow: 0 0 8px var(--defcon-color); transform-origin: 50% 100%; transform: rotate(var(--dial-angle)); transition: transform .65s cubic-bezier(.2,.9,.25,1), background .4s; }
.needle-pin { position: absolute; left: 50%; bottom: -6px; width: 16px; height: 16px; transform: translateX(-50%); border-radius: 50%; background: #111b14; border: 2px solid var(--defcon-color); }
.board-side { position: absolute; top: 50%; z-index: 11; width: 52px; display: grid; gap: 4px; transform: translateY(-50%); color: #718178; font-size: 7px; letter-spacing: .12em; text-align: center; }.board-side b { margin-bottom: 12px; color: var(--defcon-color); font-size: 12px; font-weight: 400; }.board-side-left { left: 180px; }.board-side-right { right: 20px; }
.teleprinter { position: absolute; z-index: 12; left: 14px; right: 14px; bottom: 10px; height: 38px; display: flex; align-items: center; gap: 8px; overflow: hidden; padding: 0 13px; color: var(--defcon-color); border-top: 1px solid var(--rule); background: #030704; font-family: var(--mono); font-size: 10px; letter-spacing: .08em; }
.tele-prefix { color: #718178; }.cursor { width: 7px; height: 14px; flex: 0 0 auto; background: var(--defcon-color); animation: cursor-blink .8s steps(1) infinite; }@keyframes cursor-blink { 50% { opacity: 0; } }
.bell-indicator { margin-left: auto; padding: 2px 6px; color: #808d83; border: 1px solid currentColor; font-size: 7px; }.bell-indicator.is-ringing { color: var(--defcon-color); box-shadow: 0 0 12px color-mix(in srgb,var(--defcon-color) 40%,transparent); }
body[data-defcon="4"] { --defcon-color: #cfe56d; --dial-angle: -22deg; --pace: 5.8s; }
body[data-defcon="3"] { --defcon-color: #e3ad37; --dial-angle: 0deg; --pace: 4.2s; }
body[data-defcon="2"] { --defcon-color: #e36a30; --dial-angle: 23deg; --pace: 2.2s; }
body[data-defcon="1"] { --defcon-color: #e12c27; --dial-angle: 43deg; --pace: 1.15s; }
body[data-defcon="2"] .route, body[data-defcon="1"] .route { opacity: .92; stroke-width: 2.2; }
body[data-defcon="2"] .board-shell, body[data-defcon="1"] .board-shell { box-shadow: 0 0 0 5px #050805, 0 0 0 6px #51302a, 0 20px 100px #000, inset 0 0 140px color-mix(in srgb, var(--defcon-color) 13%, #000); }
body[data-defcon="1"] .board-shell { animation: impact-shake .23s linear 2; }
@keyframes impact-shake { 25% { transform: translateX(2px); } 75% { transform: translateX(-2px); } }
.defcon-story { position: relative; z-index: 2; margin-top: -100svh; pointer-events: none; }
.story-step { min-height: 112svh; width: min(460px, calc(100% - 42px)); display: flex; flex-direction: column; justify-content: center; margin: 0 clamp(20px, 7vw, 110px); padding: 120px 32px 70px; text-shadow: 0 2px 16px #000, 0 2px 6px #000; }
.story-step.step-right { margin-left: auto; }.story-step.step-left { margin-right: auto; }
.story-step span { align-self: flex-start; padding: 7px 10px; color: var(--defcon-color); background: rgba(2,5,3,.84); border-left: 2px solid currentColor; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; }
.story-step h3 { margin: 22px 0 16px; color: #f0f4f0; font-family: var(--display); font-size: clamp(54px, 6vw, 86px); font-weight: 400; line-height: .87; letter-spacing: .025em; text-transform: uppercase; }
.story-step p { margin: 0; padding: 18px; color: #d2dbd3; background: rgba(2,5,3,.83); border: 1px solid rgba(174,202,181,.2); font-size: 12px; line-height: 1.75; }
.story-step.is-active h3 { color: white; text-shadow: 0 0 20px color-mix(in srgb, var(--defcon-color) 32%, transparent), 0 3px 15px #000; }

.phone-room { position: relative; min-height: 115vh; overflow: hidden; display: grid; grid-template-columns: minmax(320px, 1.05fr) minmax(300px, .95fr); align-items: center; gap: clamp(40px, 8vw, 120px); padding: 140px clamp(24px, 7vw, 110px); background: radial-gradient(circle at 25% 50%, rgba(207,41,36,.12), transparent 34%), #080b09; border-top: 1px solid #251716; }
.phone-stage { position: relative; min-height: 560px; display: grid; place-items: center; perspective: 900px; }
.phone-glow { position: absolute; width: 78%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(207,41,36,.24), rgba(207,41,36,.03) 48%, transparent 69%); filter: blur(20px); }
.red-phone { position: relative; width: min(480px, 88%); aspect-ratio: 1.25; border: 0; background: transparent; cursor: pointer; filter: drop-shadow(0 40px 30px rgba(0,0,0,.7)); transform: rotateX(58deg) rotateZ(-8deg); transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2,.9,.2,1); }
.red-phone:hover { transform: rotateX(52deg) rotateZ(-5deg) translateY(-8px); }
.phone-body { position: absolute; inset: 17% 14% 5%; display: block; border-radius: 42% 42% 24% 24% / 34% 34% 18% 18%; background: radial-gradient(circle at 48% 35%, #e65348 0, #ae1d1a 47%, #5e0d0d 100%); border: 3px solid #64110f; box-shadow: inset 0 9px 15px rgba(255,255,255,.15), inset 0 -18px 28px rgba(53,0,0,.55); transform: translateZ(12px); }
.handset { position: absolute; z-index: 3; left: 2%; right: 2%; top: 4%; height: 27%; border-radius: 36% 36% 45% 45% / 70% 70% 38% 38%; background: linear-gradient(#e5483e, #9f1715 60%, #5f0b0a); border: 3px solid #630c0b; box-shadow: inset 0 7px 9px rgba(255,255,255,.13), 0 15px 18px rgba(49,0,0,.5); transform: translateZ(55px); transform-origin: 80% 50%; transition: transform .45s ease; }
.handset::before,.handset::after { content: ''; position: absolute; top: -12%; width: 23%; height: 124%; border-radius: 42%; background: linear-gradient(90deg,#710d0b,#d73730); }.handset::before { left: -2%; }.handset::after { right: -2%; transform: rotate(180deg); }
.dial-ring { position: absolute; left: 50%; top: 51%; width: 42%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; border: 15px solid #350807; box-shadow: 0 0 0 6px #e25148, inset 0 0 0 5px #6b0c0b; }
.dial-ring b { position: absolute; left: 50%; top: 50%; width: 14px; height: 14px; margin: -7px; border-radius: 50%; background: #cf392f; border: 2px solid #5b0b09; transform: rotate(calc(var(--n) * 45deg)) translateY(-62px); }.dial-ring b:nth-child(1){--n:0}.dial-ring b:nth-child(2){--n:1}.dial-ring b:nth-child(3){--n:2}.dial-ring b:nth-child(4){--n:3}.dial-ring b:nth-child(5){--n:4}.dial-ring b:nth-child(6){--n:5}.dial-ring b:nth-child(7){--n:6}.dial-ring b:nth-child(8){--n:7}
.dial-center { position: absolute; left: 50%; top: 51%; display: grid; place-items: center; width: 20%; aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; color: #25120e; background: #d6bd89; border: 5px solid #75110f; font-family: var(--display); font-size: 42px; font-style: normal; }
.phone-cord { position: absolute; z-index: -1; right: -14%; bottom: -10%; width: 45%; height: 32%; border: 7px solid #270605; border-left-color: transparent; border-radius: 50%; transform: translateZ(-10px); }
.red-phone.is-ringing { animation: phone-ring .14s linear 6; }@keyframes phone-ring { 0%,100% { transform: rotateX(58deg) rotateZ(-8deg) translateX(0); } 50% { transform: rotateX(58deg) rotateZ(-6deg) translateX(5px); } }
.red-phone[aria-pressed="true"] .handset { transform: translateZ(120px) translateX(-18%) rotate(-9deg); }
.phone-status { position: absolute; bottom: 0; margin: 0; color: #8d9b90; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.phone-copy { max-width: 600px; }
.object-index { display: block; margin-bottom: 22px; color: var(--red); font-family: var(--display); font-size: 60px; line-height: 1; }
.phone-copy h2 { font-size: clamp(76px, 10vw, 148px); }
.phone-copy > p { max-width: 560px; color: #b9c4bb; font-size: 14px; }
.inspect-phone { min-height: 48px; margin-top: 18px; padding: 0; display: inline-flex; align-items: center; gap: 20px; border: 0; background: transparent; cursor: pointer; color: #f3cbc7; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }.inspect-phone i { width: 54px; height: 1px; background: var(--red); transition: width .3s; }.inspect-phone:hover i { width: 86px; }
.phone-copy blockquote { margin: 62px 0 0 12%; padding: 0 0 0 26px; color: #d8ddd8; border-left: 1px solid var(--red); font-family: var(--display); font-size: clamp(28px, 3.2vw, 46px); line-height: 1; text-transform: uppercase; }.phone-copy cite { display: block; margin-top: 16px; color: #8f9a91; font-family: var(--mono); font-size: 8px; font-style: normal; letter-spacing: .09em; text-transform: uppercase; }

.archive-ledger { display: grid; grid-template-columns: .7fr 1.3fr; gap: clamp(60px, 11vw, 170px); padding: 150px clamp(24px, 7vw, 110px); background: #0b100d; border-top: 1px solid rgba(154,255,181,.12); }
.ledger-heading { position: sticky; top: 120px; align-self: start; }.ledger-heading h2 { font-size: clamp(72px, 8vw, 122px); }.ledger-heading p { max-width: 350px; color: #9ba99e; font-size: 13px; }
.ledger-list article { display: grid; grid-template-columns: 50px minmax(160px,1fr) minmax(180px,1.15fr) auto; gap: 24px; align-items: center; min-height: 128px; border-top: 1px solid rgba(154,255,181,.2); transition: padding .25s, background .25s; }.ledger-list article:last-child { border-bottom: 1px solid rgba(154,255,181,.2); }.ledger-list article:hover { padding: 0 14px; background: rgba(154,255,181,.035); }
.ledger-list span { color: var(--phosphor-soft); font-size: 10px; }.ledger-list h3 { margin: 0; font-family: var(--display); font-size: 42px; font-weight: 400; line-height: .95; text-transform: uppercase; }.ledger-list p { margin: 0; color: #9eaca1; font-size: 11px; }.ledger-list b { color: #849187; font-size: 8px; font-weight: 400; letter-spacing: .08em; text-align: right; text-transform: uppercase; }

.human-cost { min-height: 110vh; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; padding: 140px clamp(24px, 7vw, 110px); background: linear-gradient(90deg, #080b09, #101510); }
.cost-title-wrap { display: grid; grid-template-columns: auto 1fr; gap: 30px; align-items: stretch; }.vertical-word { color: rgba(211,226,215,.23); border-right: 1px solid rgba(211,226,215,.17); padding-right: 12px; font-size: 9px; letter-spacing: .42em; writing-mode: vertical-rl; text-orientation: mixed; }.human-cost h2 { max-width: 650px; font-size: clamp(72px, 9vw, 138px); }
.cost-register > p { max-width: 580px; margin: 0 0 58px; color: #b9c4ba; font-size: 14px; }
.register-tape { border-top: 1px solid rgba(211,226,215,.18); }.register-tape span { display: block; padding: 17px 0; color: #93a096; border-bottom: 1px solid rgba(211,226,215,.12); font-size: 10px; text-transform: uppercase; }.register-tape span::before { content: '+'; margin-right: 16px; color: var(--phosphor-soft); }

.outcome { position: relative; min-height: 100vh; overflow: hidden; display: grid; place-items: center; padding: 100px 24px; text-align: center; background: radial-gradient(circle, rgba(48,103,62,.17), transparent 47%), #050806; }
.outcome-halo { position: absolute; display: grid; place-items: center; width: min(80vw, 850px); aspect-ratio: 1; border: 1px solid rgba(154,255,181,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(154,255,181,.018), 0 0 0 140px rgba(154,255,181,.012); }.outcome-halo::before,.outcome-halo::after { content: ''; position: absolute; background: rgba(154,255,181,.12); }.outcome-halo::before { width: 120%; height: 1px; }.outcome-halo::after { width: 1px; height: 120%; }.outcome-halo span { color: rgba(154,255,181,.035); font-family: var(--display); font-size: min(70vw, 700px); line-height: .7; }
.outcome-copy { position: relative; max-width: 980px; }.outcome-status { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 38px; color: var(--phosphor); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }.outcome-status i { width: 8px; height: 8px; border-radius: 50%; background: var(--phosphor); box-shadow: 0 0 12px var(--phosphor); }
.outcome h2 { font-size: clamp(86px, 11vw, 155px); }.outcome p { max-width: 680px; margin: 34px auto; color: #b6c2b8; font-size: 14px; }
.outcome-link { display: inline-flex; align-items: center; gap: 18px; min-height: 48px; padding: 0 20px; color: var(--phosphor); border-bottom: 1px solid var(--phosphor); text-decoration: none; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; transition: gap .25s, background .25s, color .25s; }.outcome-link:hover { gap: 30px; color: var(--void); background: var(--phosphor); }

.site-footer { min-height: 170px; display: grid; grid-template-columns: auto 1fr auto; gap: 36px; align-items: center; padding: 38px clamp(24px, 5vw, 72px); background-color: #020302; background-image: linear-gradient(rgba(154,255,181,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(154,255,181,.025) 1px,transparent 1px); background-size: 48px 48px; border-top: 1px solid rgba(154,255,181,.15); color: #839087; font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
.footer-mark { color: var(--phosphor); font-family: var(--display); font-size: 42px; line-height: .65; }.footer-mark span { color: var(--red); }.site-footer p { margin: 0; }.site-footer nav { display: flex; gap: 28px; flex-wrap: wrap; justify-content: flex-end; }.site-footer a { min-height: 44px; display: inline-flex; align-items: center; color: #aab6ac; text-decoration: none; }.site-footer a:hover { color: var(--phosphor); }

@media (max-width: 1000px) {
  .hero-copy { padding-right: 10%; }
  .threshold { grid-template-columns: 1fr; min-height: auto; }.threshold-lede { margin-left: 10%; }.museum-plaque { max-width: 560px; margin-left: auto; }
  .map-wrap { left: 160px; right: 90px; }
  .board-side { display: none; }
  .phone-room { grid-template-columns: 1fr; }.phone-stage { order: 2; }.phone-copy { max-width: 720px; }
  .archive-ledger { grid-template-columns: 1fr; }.ledger-heading { position: static; }
  .human-cost { grid-template-columns: 1fr; min-height: auto; }
}

@media (max-width: 760px) {
  :root { --header-h: 64px; }
  .site-header { padding: 0 14px; }
  .desktop-nav { display: none; }.menu-toggle { display: block; }.audio-toggle { min-width: 84px; width: 84px; }.audio-label { position: static; width: auto; height: auto; overflow: visible; clip: auto; font-size: 8px; }
  .mobile-nav { position: absolute; display: grid; top: 63px; left: 0; right: 0; padding: 18px; background: rgba(5,8,6,.98); border-bottom: 1px solid var(--rule); transform: translateY(-130%); opacity: 0; visibility: hidden; transition: transform .3s, opacity .3s, visibility .3s; }.mobile-nav.is-open { transform: translateY(0); opacity: 1; visibility: visible; }.mobile-nav a { min-height: 48px; border-bottom: 1px solid rgba(154,255,181,.11); }
  .hero { padding: var(--header-h) 0 0; }.cinema-frame { min-height: calc(100svh - var(--header-h)); border-width: 0; }.hero-image { inset: 0; background-position: 55% 50%; transform: none; animation: none; }.hero-copy { width: auto; margin: 0 20px 88px; padding: 0; }.hero-kicker { font-size: 8px; }.hero h1 { font-size: clamp(78px, 22.5vw, 94px); line-height: .75; letter-spacing: 0; }.hero-deck { max-width: 330px; margin: 22px 0 24px; font-size: 12px; }.hero-time { top: 56px; right: 18px; bottom: auto; }.hero-time strong { font-size: 13px; }.letterbox { height: 13px; }
  .threshold { padding: 100px 22px; gap: 62px; }.threshold-number { left: 0; }.threshold h2 { font-size: clamp(68px, 21vw, 96px); }.threshold-lede { margin: 30px 0 0; font-size: 13px; }.museum-plaque { padding: 28px 24px; }
  .board-sequence { min-height: 520vh; }.board-sticky { padding: calc(var(--header-h) + 6px) 6px 8px; }.board-shell { height: 100%; border-width: 1px; }.board-topline { height: 37px; padding: 0 8px; }.board-topline span:first-child { display: none; }.map-wrap { inset: 38px 6px 128px; }.world-map { transform: none; }.defcon-module { left: 7px; right: 7px; top: auto; bottom: 43px; width: auto; height: 80px; display: grid; grid-template-columns: 88px 1fr; padding: 8px; }.defcon-heading { display: grid; place-items: center; padding: 0 8px 0 0; border: 0; border-right: 1px solid var(--rule); }.defcon-ladder { grid-template-columns: repeat(5, 1fr); gap: 2px; margin: 0; padding-left: 8px; }.defcon-ladder li { min-height: 63px; display: flex; flex-direction: column; justify-content: center; border-left: 0; border-bottom: 2px solid #263229; }.defcon-ladder b { font-size: 29px; }.defcon-ladder span { display: none; }.needle-housing { display: none; }.teleprinter { left: 7px; right: 7px; bottom: 5px; height: 34px; padding: 0 7px; font-size: 7px; }.tele-prefix { display: none; }.bell-indicator { font-size: 6px; }.map-readout { bottom: 7px; left: 7px; max-width: 75%; }.map-readout strong { max-width: 230px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }.map-scale { display: none; }.radar-sweep { width: 100%; }
  .defcon-story { margin-top: -100svh; }.story-step { min-height: 104svh; width: calc(100% - 28px); margin: 0 14px !important; padding: 110px 8px 180px; justify-content: center; }.story-step h3 { max-width: 288px; margin: 13px 0 10px; font-size: 42px; }.story-step p { max-width: 340px; padding: 13px; font-size: 11px; line-height: 1.62; }.story-step span { font-size: 8px; }.story-step.step-right h3,.story-step.step-right p,.story-step.step-right span { align-self: flex-end; text-align: right; }
  .phone-room { min-height: auto; padding: 100px 22px; gap: 40px; }.phone-copy h2 { font-size: clamp(76px, 23vw, 104px); }.phone-stage { min-height: 390px; overflow: hidden; }.red-phone { width: 88%; }.phone-cord { right: 1%; width: 38%; }.dial-ring b { display: none; }.phone-copy blockquote { margin: 48px 0 0; }
  .archive-ledger { padding: 100px 22px; gap: 42px; }.ledger-heading h2 { font-size: 78px; }.ledger-list article { grid-template-columns: 28px 1fr; gap: 9px 14px; padding: 20px 0; }.ledger-list article:hover { padding: 20px 8px; }.ledger-list h3 { font-size: 34px; }.ledger-list p { grid-column: 2; }.ledger-list b { grid-column: 2; text-align: left; }
  .human-cost { padding: 110px 22px; gap: 58px; }.cost-title-wrap { gap: 18px; }.human-cost h2 { font-size: 78px; }.cost-register > p { font-size: 13px; }
  .outcome { min-height: 100svh; }.outcome h2 { font-size: clamp(78px, 22vw, 102px); }.outcome p { font-size: 12px; }.outcome-halo { width: 100%; }
  .site-footer { grid-template-columns: auto 1fr; align-items: start; padding: 42px 22px; }.site-footer p { align-self: center; }.site-footer nav { grid-column: 1 / -1; display: grid; gap: 0; justify-content: stretch; }.site-footer nav a { border-top: 1px solid rgba(154,255,181,.12); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero-image { transform: none; }
  .board-sticky { position: relative; height: 100svh; }
  .defcon-story { margin-top: 0; background: var(--void); }
  .story-step { min-height: auto; padding-top: 80px; padding-bottom: 80px; }
}

/* Pass 2: authored instrument-room composition */
:root {
  --void: #020403;
  --coal: #070d09;
  --panel: #0a140e;
  --panel-2: #0c1a11;
  --phosphor: #8dffae;
  --phosphor-soft: #65cf83;
  --ink: #e1e9e2;
  --muted: #9aa89d;
  --rule: rgba(141,255,174,.2);
  --red: #ff3b32;
  --warning: #ffb43e;
}
html { scroll-padding-top: var(--header-h); }
body { background: radial-gradient(circle at 52% 4%, #0d1810 0, var(--void) 31rem); font-size: 15px; }
body::after { content:''; position:fixed; z-index:199; inset:0; pointer-events:none; background:linear-gradient(90deg,transparent 0 49.92%,rgba(165,255,188,.025) 50%,transparent 50.08%),radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.42)); }
.site-header { background: linear-gradient(180deg,rgba(2,4,3,.99),rgba(2,4,3,.86)); box-shadow:0 12px 40px rgba(0,0,0,.35); }
.site-mark span { position:relative; }
.site-mark span::after { content:'MUSEUM RECORD'; display:block; margin-top:-2px; color:#718077; font-size:6px; font-weight:400; letter-spacing:.2em; }
.desktop-nav a { color:#c8d3ca; }

.cinema-frame { border-color:rgba(141,255,174,.2); box-shadow:inset 0 0 0 1px #000,inset 0 -12vh 18vh #000; }
.hero-image { inset:-6%; background-image:linear-gradient(90deg,rgba(1,3,2,.8) 0%,rgba(1,3,2,.1) 44%,rgba(1,3,2,.55) 100%),linear-gradient(0deg,#010201 0%,rgba(1,2,1,.84) 19%,transparent 68%),url('/assets/gen/warroom/hero.jpg'); filter:contrast(1.28) sepia(.15) saturate(.55) brightness(.88); }
.hero-grid { opacity:.3; background-size:48px 48px; mask-image:linear-gradient(180deg,transparent 8%,#000 35%,#000 72%,transparent 95%); }
.hero-shutter { position:absolute; z-index:8; inset:0; pointer-events:none; overflow:hidden; }
.hero-shutter::before,.hero-shutter::after { content:''; position:absolute; left:0; right:0; height:51%; background:#010201; animation:shutter-open 1.15s .08s cubic-bezier(.76,0,.18,1) forwards; }
.hero-shutter::before { top:0; transform-origin:top; }
.hero-shutter::after { bottom:0; transform-origin:bottom; }
@keyframes shutter-open { 70% { opacity:1; } to { transform:scaleY(0); opacity:.25; } }
.classification-rail { position:absolute; z-index:5; top:16%; right:18px; bottom:18%; display:flex; align-items:center; justify-content:space-between; writing-mode:vertical-rl; color:#748078; font-size:7px; letter-spacing:.18em; text-transform:uppercase; }
.classification-rail::before { content:''; position:absolute; top:0; bottom:0; left:50%; z-index:-1; width:1px; background:linear-gradient(transparent,var(--rule),transparent); }
.classification-rail>* { padding:8px 3px; background:rgba(2,4,3,.75); }
.classification-rail b { color:var(--phosphor); font-weight:400; }
.hero-ghost-number { position:absolute; z-index:-1; right:3.2%; bottom:-11%; color:rgba(141,255,174,.035); font-family:var(--display); font-size:min(43vw,620px); line-height:.7; }
.hero-copy { position:relative; width:min(1180px,86%); margin:0 auto clamp(64px,10vh,112px); padding-right:28%; }
.hero h1 { display:flex; align-items:flex-end; gap:.045em; font-size:clamp(118px,16.5vw,238px); letter-spacing:.01em; }
.hero h1 span { padding-bottom:.075em; font-size:.38em; letter-spacing:.04em; }
.hero-deck { margin-left:12.5%; border-left:1px solid rgba(141,255,174,.3); padding-left:18px; }
.hero-entry { margin-left:12.5%; clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%); }
.hero-time::before { content:'DUTY CLOCK 14'; margin-bottom:3px; color:#69766c; font-size:7px; }

.threshold { grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr); max-width:1440px; gap:clamp(30px,7vw,110px); }
.threshold::before { content:'ARCHIVE / THRESHOLD'; position:absolute; top:14%; left:clamp(22px,6vw,90px); color:#536057; font-size:8px; letter-spacing:.18em; writing-mode:vertical-rl; }
.threshold-copy { padding-left:clamp(24px,5vw,72px); }
.threshold h2 { max-width:880px; font-size:clamp(84px,10.4vw,164px); }
.threshold-lede { position:relative; margin-left:24%; }
.threshold-lede::before { content:'1958'; position:absolute; right:calc(100% + 24px); top:.35em; color:var(--phosphor); font-size:9px; letter-spacing:.14em; }
.museum-plaque { transform:rotate(1.2deg); background:linear-gradient(135deg,#465048,#252d27 58%,#1c231e); box-shadow:0 38px 90px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.16); }

.board-sequence { min-height:600svh; background:linear-gradient(#010302,#030704 38%,#010302); }
.board-sticky { padding-top:calc(var(--header-h) + 12px); }
.board-shell { max-height:900px; background:radial-gradient(circle at 52% 43%,color-mix(in srgb,var(--defcon-color) 14%,transparent),transparent 53%),linear-gradient(135deg,#07110a,#020603); border-color:#34463a; box-shadow:0 0 0 4px #030503,0 0 0 5px #314136,0 42px 130px #000,inset 0 0 150px rgba(0,0,0,.92); }
.board-shell::after { content:''; position:absolute; z-index:9; inset:44px 0 48px; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,.014),transparent 17%,transparent 83%,rgba(255,255,255,.014)); box-shadow:inset 0 0 90px #000; }
.map-wrap { inset:45px 330px 56px 180px; }
.world-map { filter:drop-shadow(0 0 5px color-mix(in srgb,var(--defcon-color) 20%,transparent)); }
.route { stroke-width:1.45; stroke-dasharray:.055 .02; }
.contact.is-selected { r:11px; stroke-width:3px; filter:drop-shadow(0 0 8px currentColor); }
.board-side-right { display:none; }
.board-dossier { position:absolute; z-index:13; top:76px; right:20px; width:286px; padding:16px 16px 18px; color:#d7e2d9; border:1px solid color-mix(in srgb,var(--defcon-color) 35%,#17251b); border-left:3px solid var(--defcon-color); background:linear-gradient(145deg,rgba(5,12,7,.96),rgba(1,4,2,.89)); box-shadow:0 18px 55px rgba(0,0,0,.58),inset 0 0 30px color-mix(in srgb,var(--defcon-color) 4%,transparent); transition:border-color .5s,box-shadow .5s; }
.dossier-index { display:flex; align-items:start; justify-content:space-between; gap:14px; color:var(--defcon-color); font-size:7px; letter-spacing:.11em; text-transform:uppercase; }
.dossier-index span { padding-top:4px; }
.dossier-index b { color:color-mix(in srgb,var(--defcon-color) 18%,transparent); font-family:var(--display); font-size:54px; font-weight:400; line-height:.65; }
.board-dossier h3 { margin:18px 0 13px; color:#f2f6f2; font-family:var(--display); font-size:45px; font-weight:400; line-height:.88; letter-spacing:.02em; text-transform:uppercase; }
.board-dossier p { margin:0; color:#bcc8bf; font-size:9px; line-height:1.68; }
.dossier-meter { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:9px; margin-top:18px; padding-top:11px; color:#849087; border-top:1px solid var(--rule); font-size:6px; letter-spacing:.12em; text-transform:uppercase; }
.dossier-meter i { height:3px; background:linear-gradient(90deg,var(--defcon-color) 0 var(--confidence,98%),rgba(255,255,255,.08) var(--confidence,98%)); box-shadow:0 0 8px color-mix(in srgb,var(--defcon-color) 30%,transparent); }
.dossier-meter b { color:var(--defcon-color); font-weight:400; }
body[data-defcon="5"] { --confidence:98%; }
body[data-defcon="4"] { --confidence:74%; }
body[data-defcon="3"] { --confidence:41%; }
body[data-defcon="2"] { --confidence:6%; }
body[data-defcon="1"] { --confidence:0%; }
.line-k-indicator { position:absolute; z-index:14; right:22px; bottom:66px; width:282px; min-height:44px; display:grid; grid-template-columns:28px 1fr auto; align-items:center; padding:0 12px; color:#657168; border:1px solid #253129; background:#020503; font-size:8px; letter-spacing:.14em; text-transform:uppercase; }
.line-k-indicator i { width:12px; height:12px; border-radius:50%; background:#3c4540; box-shadow:0 0 0 4px rgba(255,255,255,.025); }
.line-k-indicator b { color:#535f56; font-family:var(--display); font-size:25px; font-weight:400; }
body[data-defcon="2"] .line-k-indicator { color:#ffd0cb; border-color:var(--red); animation:line-ring .13s linear 7; box-shadow:0 0 38px rgba(255,59,50,.22); }
body[data-defcon="2"] .line-k-indicator i { background:var(--red); box-shadow:0 0 16px var(--red),0 0 0 5px rgba(255,59,50,.11); }
body[data-defcon="2"] .line-k-indicator b { color:var(--red); }
@keyframes line-ring { 0%,100%{transform:translateX(0)} 33%{transform:translateX(-4px)} 66%{transform:translateX(4px)} }
.board-burst { position:absolute; z-index:15; left:50%; top:50%; width:min(55vw,700px); transform:translate(-50%,-44%) scale(.94); display:grid; place-items:center; padding:26px; color:#ff8a50; border-block:1px solid currentColor; background:linear-gradient(90deg,transparent,rgba(18,5,2,.92) 18% 82%,transparent); opacity:0; visibility:hidden; text-align:center; transition:opacity .16s,transform .2s,visibility .2s; pointer-events:none; }
.board-burst span,.board-burst i { font-size:7px; font-style:normal; letter-spacing:.28em; }
.board-burst b { font-family:var(--display); font-size:clamp(58px,7vw,108px); font-weight:400; line-height:.82; letter-spacing:.025em; }
body[data-defcon="2"] .board-burst { opacity:1; visibility:visible; transform:translate(-50%,-50%) scale(1); animation:burst-dismiss 2.1s .55s forwards; }
@keyframes burst-dismiss { 75%{opacity:1} to{opacity:0;visibility:hidden;filter:blur(5px)} }
.teleprinter { right:328px; }
.defcon-story { z-index:0; }
.story-step { opacity:0; }
.story-step.critical-step { min-height:220svh; }
body[data-defcon="2"] .map-wrap { filter:contrast(1.17) saturate(1.12); }
body[data-defcon="2"] .board-shell { animation:board-impact .24s .18s linear 2; }
@keyframes board-impact { 25%{transform:translate(2px,-1px)} 75%{transform:translate(-2px,1px)} }

.phone-room { background:radial-gradient(circle at 24% 51%,rgba(255,59,50,.17),transparent 28%),linear-gradient(115deg,#080b09 0 49.8%,#120604 50%,#080a08 50.2%); }
.phone-copy { position:relative; }
.phone-copy::before { content:'SEALED OBJECT'; position:absolute; right:0; top:-38px; color:rgba(255,59,50,.55); font-size:8px; letter-spacing:.2em; }
.archive-ledger { background:linear-gradient(135deg,#0b110d,#060906); }
.ledger-list article { position:relative; overflow:hidden; }
.ledger-list article::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--phosphor) 6%,transparent),transparent); transform:translateX(-105%); transition:transform .65s cubic-bezier(.2,.75,.2,1); }
.ledger-list article:hover::after { transform:translateX(105%); }
.human-cost { background:linear-gradient(100deg,#060806 0 48%,#0d120e 48%); }
.register-tape span { transition:color .25s,transform .25s; }
.register-tape span:hover { color:#dfe8e0; transform:translateX(8px); }
.outcome { background:radial-gradient(circle,rgba(52,114,67,.2),transparent 48%),linear-gradient(#050806,#020403); }
.outcome-status { padding:8px 12px; border:1px solid rgba(141,255,174,.25); background:#030704; }
.site-footer a { position:relative; }
.site-footer a::after { content:''; position:absolute; left:0; right:0; bottom:8px; height:1px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .3s; }
.site-footer a:hover::after { transform:scaleX(1); transform-origin:left; }

@media (max-width:1000px) {
  .hero h1 { font-size:clamp(112px,18vw,170px); }
  .threshold { grid-template-columns:1fr; }
  .map-wrap { right:20px; left:150px; }
  .board-dossier { width:264px; }
  .line-k-indicator { width:260px; }
  .teleprinter { right:14px; }
}

@media (max-width:760px) {
  body { font-size:14px; }
  .site-mark span::after { display:none; }
  .hero-copy { width:auto; margin:0 20px 80px; padding:0; }
  .hero h1 { display:block; white-space:normal; font-size:clamp(92px,26vw,112px); line-height:.72; }
  .hero h1 span { display:inline; padding:0; font-size:1em; }
  .hero-deck,.hero-entry { margin-left:0; }
  .hero-deck { max-width:310px; }
  .classification-rail { display:none; }
  .hero-ghost-number { right:-4%; bottom:1%; font-size:72vw; }
  .hero-flare { left:61%; }
  .threshold-copy { padding-left:0; }
  .threshold::before { display:none; }
  .threshold-lede { margin-left:0; padding-left:40px; }
  .threshold-lede::before { left:0; right:auto; }
  .museum-plaque { transform:rotate(.5deg); }
  .board-sequence { min-height:570svh; }
  .board-sticky { padding-left:5px; padding-right:5px; }
  .board-shell::after { inset:37px 0 41px; }
  .board-dossier { top:45px; left:10px; right:10px; width:auto; min-height:181px; padding:12px 13px; }
  .dossier-index b { font-size:43px; }
  .board-dossier h3 { max-width:305px; margin:10px 0 8px; font-size:39px; }
  .board-dossier p { max-width:335px; font-size:8px; line-height:1.55; }
  .dossier-meter { margin-top:10px; padding-top:7px; }
  .map-wrap { inset:223px 6px 128px; }
  .line-k-indicator { z-index:16; right:9px; bottom:129px; width:146px; min-height:31px; grid-template-columns:18px 1fr auto; padding:0 7px; font-size:6px; }
  .line-k-indicator i { width:8px; height:8px; }
  .line-k-indicator b { font-size:18px; }
  .teleprinter { right:7px; }
  .board-burst { top:58%; width:94%; padding:18px 10px; }
  .board-burst b { font-size:57px; }
  .story-step { padding:0; min-height:112svh; }
  .story-step.critical-step { min-height:200svh; }
  .story-step>* { visibility:hidden; }
  .phone-room { background:radial-gradient(circle at 50% 70%,rgba(255,59,50,.18),transparent 26%),#080a08; }
  .phone-copy::before { top:-25px; }
  .human-cost { background:linear-gradient(160deg,#060806 0 54%,#0d120e 54%); }
  .outcome { min-height:65svh; padding:64px 20px; }
  .outcome-status { margin-bottom:28px; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-shutter { display:none; }
  .story-step { opacity:1; }
  .story-step.critical-step { min-height:auto; }
  .story-step>* { visibility:visible; }
  .board-dossier,.line-k-indicator,.board-burst { display:none; }
  .teleprinter { right:14px; }
  .map-wrap { right:20px; }
}

/* Pass 3: projection-grade finish and the K-44 verification glass */
html {
  scrollbar-color: #426c4f #020403;
  scrollbar-width: thin;
}
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: #020403; }
::-webkit-scrollbar-thumb { border: 3px solid #020403; background: #426c4f; }
::-webkit-scrollbar-thumb:hover { background: var(--phosphor-soft); }
body { font-variant-numeric: tabular-nums slashed-zero; font-feature-settings: 'tnum' 1, 'zero' 1; }
button, a { -webkit-tap-highlight-color: rgba(141,255,174,.15); }
.audio-toggle { transition:color .25s,background .25s,border-color .25s,box-shadow .25s; }
.audio-toggle:hover { color:var(--phosphor);border-color:rgba(141,255,174,.48);background:rgba(25,48,31,.7);box-shadow:inset 0 0 24px rgba(141,255,174,.045); }
.audio-toggle[aria-pressed="true"] { color:var(--phosphor);border-color:var(--phosphor-soft); }
.desktop-nav a::after,.mobile-nav a::after { transition-timing-function:cubic-bezier(.22,.8,.24,1); }

.cinema-frame { box-shadow:inset 0 0 0 1px #000,inset 0 -12vh 18vh #000,0 35px 110px rgba(0,0,0,.62); }
.hero-image {
  background-position:calc(50% + var(--hero-x, 0%)) calc(50% + var(--hero-y, 0%));
  transform:scale(1.075);
  animation:hero-gate-weave 13s cubic-bezier(.45,.02,.55,.98) infinite alternate;
  will-change:transform,background-position;
}
.hero-image::before {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 52% 17%,rgba(239,244,204,.24),transparent 22%),linear-gradient(102deg,transparent 43%,rgba(229,245,199,.08) 50%,transparent 56%);
  mix-blend-mode:screen;opacity:.42;animation:projector-pulse 5.4s steps(1,end) infinite;
}
.hero-image::after {
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.78),transparent 19% 76%,rgba(0,0,0,.66)),radial-gradient(ellipse at center,transparent 46%,rgba(0,0,0,.7) 100%);
}
@keyframes hero-gate-weave {
  0% { transform:scale(1.075) translate3d(-.12%,.08%,0); }
  48% { transform:scale(1.045) translate3d(.08%,-.2%,0); }
  51% { transform:scale(1.045) translate3d(-.06%,-.1%,0); }
  100% { transform:scale(1.065) translate3d(.14%,-.3%,0); }
}
@keyframes projector-pulse { 0%,42%,100%{opacity:.42} 43%{opacity:.25} 44%{opacity:.46} 81%{opacity:.38} 82%{opacity:.47} }
.film-stock { position:absolute;z-index:6;left:18px;top:17%;display:grid;gap:7px;color:#77847b;font-size:6px;letter-spacing:.19em;text-transform:uppercase;writing-mode:vertical-rl; }
.film-stock i { width:1px;height:64px;margin:4px auto;background:linear-gradient(transparent,var(--phosphor-soft),transparent);opacity:.55; }
.film-stock b { color:#a3afa6;font-weight:400; }
.hero-kicker,.hero-time,.film-stock { text-shadow:0 2px 8px #000; }
.hero h1 { letter-spacing:.006em; }
.hero h1 span { letter-spacing:.03em; }
.hero-deck { max-width:510px;text-wrap:balance; }
.hero-time strong,.dossier-index b,.defcon-ladder b,.board-side b,.line-k-indicator b { font-variant-numeric:tabular-nums; }

.verification-key {
  position:absolute;z-index:16;right:22px;bottom:118px;width:282px;min-height:44px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:0 12px;
  color:#78847b;border:1px solid #2a372e;background:linear-gradient(180deg,#08100a,#020503);box-shadow:inset 0 1px rgba(255,255,255,.04),0 9px 20px rgba(0,0,0,.28);cursor:not-allowed;
  font-size:7px;letter-spacing:.13em;text-align:left;text-transform:uppercase;transition:color .25s,border-color .25s,box-shadow .25s,transform .25s;
}
.verification-key::before { content:'';position:absolute;inset:3px;border:1px solid rgba(255,255,255,.025);pointer-events:none; }
.verification-key b { color:#59645c;font-size:6px;font-weight:400;letter-spacing:.08em; }
body[data-defcon="2"] .verification-key { color:#ffbd83;border-color:rgba(255,180,62,.62);cursor:pointer;box-shadow:inset 0 0 22px rgba(255,180,62,.055),0 0 22px rgba(255,106,48,.09);animation:key-ready 1.5s ease-in-out infinite; }
body[data-defcon="2"] .verification-key b { color:#ffe0bb; }
body[data-defcon="2"] .verification-key:hover { color:#1b0902;background:var(--warning);border-color:#ffd784;box-shadow:0 0 34px rgba(255,180,62,.25);transform:translateY(-2px); }
body[data-defcon="2"] .verification-key:hover b { color:#3a1605; }
.verification-key[aria-pressed="true"] { color:#caffe0!important;border-color:var(--phosphor)!important;background:#0b2414!important;box-shadow:0 0 32px rgba(141,255,174,.2)!important;animation:none!important; }
.verification-key[aria-pressed="true"] b { color:var(--phosphor)!important; }
@keyframes key-ready { 50%{box-shadow:inset 0 0 24px rgba(255,180,62,.08),0 0 30px rgba(255,106,48,.16)} }

.verification-overlay {
  position:absolute;z-index:12;inset:45px 330px 56px 180px;display:grid;grid-template-rows:auto 1fr auto;align-items:center;padding:18px 28px 20px;
  color:#dfffe7;border:1px solid rgba(141,255,174,.7);background:linear-gradient(105deg,rgba(2,9,5,.98),rgba(8,28,15,.94) 53%,rgba(1,5,3,.98));
  box-shadow:inset 0 0 90px rgba(104,255,145,.09),0 0 60px rgba(0,0,0,.68);clip-path:inset(0 100% 0 0);opacity:0;visibility:hidden;pointer-events:none;
  transition:clip-path .72s cubic-bezier(.18,.78,.17,1),opacity .2s,visibility .72s;
}
.verification-overlay::before { content:'';position:absolute;top:0;bottom:0;left:-16%;width:16%;background:linear-gradient(90deg,transparent,rgba(202,255,217,.26),transparent);filter:blur(4px); }
.board-shell.is-verified .verification-overlay { clip-path:inset(0);opacity:1;visibility:visible; }
.board-shell.is-verified .verification-overlay::before { animation:glass-scan 1.25s .15s cubic-bezier(.2,.7,.25,1) both; }
@keyframes glass-scan { to{left:108%} }
.verification-header { display:flex;justify-content:space-between;gap:20px;width:100%;padding-bottom:12px;color:#86ad90;border-bottom:1px solid rgba(141,255,174,.24);font-size:7px;letter-spacing:.15em;text-transform:uppercase; }
.verification-header b { color:var(--phosphor);font-weight:400; }
.verification-values { display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(18px,4vw,60px);width:min(620px,94%);margin:auto;text-align:center; }
.verification-values div { display:grid;place-items:center; }
.verification-values span,.verification-values small { color:#a1b7a7;font-size:7px;letter-spacing:.14em;text-transform:uppercase; }
.verification-values strong { color:#ecfff0;font-family:var(--display);font-size:clamp(110px,12vw,184px);font-weight:400;line-height:.65;text-shadow:0 0 34px rgba(141,255,174,.22); }
.verification-values div:last-child strong { color:#ff7a4a;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#ff3b32;text-shadow:0 0 34px rgba(255,59,50,.24); }
.verification-values>i { color:#ffb43e;font-family:var(--display);font-size:74px;font-style:normal;line-height:1; }
.verification-overlay>p { margin:0;padding-top:12px;color:var(--phosphor);border-top:1px solid rgba(141,255,174,.24);font-size:8px;letter-spacing:.13em;text-align:center;text-transform:uppercase; }
.board-shell.is-verified .route:not(.r1),.board-shell.is-verified .contact:not(:nth-child(2)) { opacity:.06; }
.board-shell.is-verified .board-burst { display:none; }

.ledger-list article:focus-within,.ledger-list article:hover { border-color:rgba(141,255,174,.35); }
.inspect-phone:focus-visible i { width:86px;box-shadow:0 0 12px var(--red); }
.outcome h2 { text-wrap:balance;letter-spacing:.014em; }
.site-footer a:focus-visible::after { transform:scaleX(1); }

@media (max-width:1000px) {
  .verification-key { right:22px;width:260px; }
  .verification-overlay { left:150px;right:20px; }
  .hero-deck { text-wrap:pretty; }
}

@media (max-width:760px) {
  .film-stock { display:none; }
  .hero-image { background-position:55% 50%;transform:none;animation:none;will-change:auto; }
  .hero-image::before { animation:none;opacity:.35; }
  .hero h1 { letter-spacing:-.005em; }
  .verification-key { top:226px;right:auto;bottom:auto;left:9px;width:143px;min-height:32px;padding:0 7px;gap:6px;font-size:5.8px; }
  .verification-key b { font-size:5px; }
  .verification-overlay { inset:223px 6px 128px;padding:10px 12px 12px; }
  .verification-header { padding-bottom:7px;font-size:5px; }
  .verification-values { gap:12px;width:100%; }
  .verification-values span,.verification-values small { font-size:5px;letter-spacing:.08em; }
  .verification-values strong { font-size:88px; }
  .verification-values>i { font-size:45px; }
  .verification-overlay>p { padding-top:7px;font-size:5.5px; }
  .board-shell.is-verified .board-dossier { opacity:.2; }
}

@media (prefers-reduced-motion:reduce) {
  .hero-image,.hero-image::before { animation:none!important;transform:none!important;will-change:auto; }
  .verification-key { animation:none!important; }
  .verification-overlay { transition:none; }
  .board-shell.is-verified .verification-overlay::before { animation:none;display:none; }
}
