:root{--ink:#101e29;--paper:#f6f9fa;--red:#bc1129;--edge:clamp(1.2rem,4.6vw,6rem);--mono:600 .66rem/1.35 Consolas,'Courier New',monospace}
body{background:var(--paper)}.mast{position:absolute;z-index:4;top:0;left:var(--edge);right:var(--edge);padding:1.05rem 0;border-bottom:1px solid #23344636}.mast .brand{font-style:italic;font-size:1rem;letter-spacing:-.035em}.mast .brand img{width:30px;height:30px;border-radius:0}.mast nav a{font-size:.8rem}.skip{z-index:8}
.journey{position:relative}.journey.live{height:445vh;height:445svh}.stage{position:sticky;top:0;height:100vh;height:100svh;min-height:525px;overflow:hidden;isolation:isolate;background:#dfecf2}
.city-art,.city-art canvas,.veil{position:absolute;inset:0;width:100%;height:100%}.city-art{z-index:-3;background:linear-gradient(#ccdee8,#edf6fa 58%,#c3d4dd)}.city-art canvas{display:block}.journey:not(.live) .city-art{background:center/cover url('media/menu-city.jpg')}
.veil{pointer-events:none;z-index:-1;background:linear-gradient(90deg,#eff6f9ed 0%,#edf5f9d6 19%,#eef6f975 38%,transparent 60%),linear-gradient(0deg,#eef5f9dc 0%,transparent 19%)}
.edition,.station,.panel-head,.scroll-hint,.motion{font:var(--mono);text-transform:uppercase;letter-spacing:.1em}.edition{position:absolute;right:var(--edge);top:5.1rem;display:flex;align-items:center;gap:.65rem;font-size:.58rem}.edition i,.station:before{display:inline-block;background:#d61930}.edition i{width:6px;height:6px}.edition span{opacity:.45}
.title-stack{position:absolute;top:clamp(6rem,22vh,15rem);left:var(--edge);max-width:46%;}.station{display:flex;gap:.4em;align-items:center;color:#253b4a}.station:before{content:'';width:1.75rem;height:3px;margin-right:.5rem}.station span{color:#a30d23}
.title-stack h1{font-family:'Arial Black',Arial,Helvetica,sans-serif;font-weight:900;font-size:clamp(4rem,7.9vw,9.2rem);line-height:.86;letter-spacing:-.083em;margin:1.1rem 0 1.25rem}.title-stack em{font-style:italic;font-weight:900}.dek{max-width:30ch;font-size:clamp(.98rem,1.2vw,1.22rem);line-height:1.42;color:#263c4a}
.title-stack.change{animation:beat .42s cubic-bezier(.2,.65,.3,1) both}@keyframes beat{from{opacity:0;transform:translateY(10px)}}
.flight-controls{position:absolute;left:var(--edge);bottom:12%;display:flex;gap:1rem;align-items:center}.next-stop{background:#cf122a;color:white;min-width:11.3rem;display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:.85rem 1.1rem;text-decoration:none;font-size:.95rem;font-weight:800}.next-stop:hover{background:#9c0920}.next-stop span{font-size:1.15rem}.scroll-hint{font-size:.57rem;color:#30424d}
.flight-panel{position:absolute;bottom:4.1%;right:var(--edge);width:min(30vw,420px);padding:.85rem .95rem;background:#f8fbfccf;border-top:2px solid #253744}.panel-head{display:flex;justify-content:space-between;gap:.4rem;font-size:.59rem}.readout{color:#ac1025}.stops{display:flex;justify-content:space-between;gap:.6rem;margin:.65rem 0 .38rem}.stops a{text-decoration:none;color:#344651;font-size:.78rem}.stops a[aria-current]{color:#ad0c24}.stops a:before{content:'';display:inline-block;width:4px;height:4px;background:currentColor;margin:0 .38rem .15rem 0}.ruler{height:2px;background:#bdc9d0}.ruler i{height:100%;width:100%;display:block;background:#c4192a;transform-origin:left;transform:scaleX(.03)}
.motion{position:absolute;bottom:3.6%;left:var(--edge);background:transparent;border:0;border-bottom:1px solid #71828a;color:#293e4b;cursor:pointer;padding:.35rem 0;font-size:.55rem}.motion:hover{color:var(--red)}.shots{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{background:#11212b}.route-picker a[aria-current=true]{color:#aa1023}.gallery .kicker{color:#ffa4ac}
@media(max-width:700px){.title-stack{top:18%;max-width:90%}.title-stack h1{font-size:clamp(3.9rem,12vw,5.4rem)}.edition{top:4.25rem;left:var(--edge);right:auto}.veil{background:linear-gradient(180deg,#eaf4fadd 0%,#edf6f9ba 27%,#edf6f90a 55%,transparent 72%,#eef5f9ec 98%)}.dek{max-width:26ch;font-size:.96rem}.flight-panel{left:var(--edge);right:var(--edge);bottom:2%;width:auto;padding:.5rem .7rem}.flight-controls{bottom:16%}.motion{right:var(--edge);left:auto;bottom:16.5%}.scroll-hint{display:none}.shots{grid-template-columns:1fr}.mast{padding:.75rem 0}.stops{margin:.4rem 0}.stage{min-height:540px}}
@media(max-height:590px) and (min-width:701px){.title-stack{top:20%}.title-stack h1{font-size:4.35rem}.flight-controls{bottom:10%}.edition{top:4rem}}
@media(prefers-reduced-motion:reduce){.title-stack.change{animation:none}}

.flight-panel{width:min(34vw,435px)}.stops a{white-space:nowrap}.title-stack h1{font-size:clamp(3.35rem,6.6vw,8rem)}@media(max-width:700px){.flight-panel{width:auto}.title-stack{top:14%}.title-stack h1{font-size:clamp(2.7rem,9vw,4rem);margin:.5rem 0}.title-stack .dek{max-width:26ch;font-size:.86rem}}

/* The art stays in projection; the chapter copy is in the real page flow. */
.journey,.journey.live{height:auto;overflow-anchor:none}.stage{z-index:1;min-height:0}.stage .flight-panel{pointer-events:auto;z-index:3}.narrative{position:relative;z-index:2;margin-top:-100vh;margin-top:-100svh;pointer-events:none}.scene-story{height:100vh;height:100svh;display:flex;align-items:flex-start;padding:clamp(6.2rem,19vh,14rem) var(--edge) 0}.scene-story>div{max-width:min(40vw,560px)}.scene-story :is(h1,h2){font:900 clamp(3.4rem,6.8vw,8rem)/.86 'Arial Black',Arial,sans-serif;letter-spacing:-.08em;margin:1rem 0 1.15rem}.scene-story .next-stop{display:inline-block;pointer-events:auto;margin-top:1.1rem}.travel-cue{font:var(--mono);letter-spacing:.09em;text-transform:uppercase;margin-top:1.65rem}.journey:not(.live) .city-art{background:linear-gradient(#cbdfe9,#f1f7f9)}.edition{top:4.9rem}.stops a{padding:.3rem 0}
@media(max-width:700px){.scene-story{padding-top:6.3rem}.scene-story>div{max-width:80vw}.scene-story :is(h1,h2){font-size:clamp(2.8rem,11vw,4.1rem);margin:.55rem 0}.scene-story .dek{font-size:.85rem;max-width:23ch}.travel-cue{margin-top:.65rem}.edition{top:3.8rem}}
.mast .brand img.official-logo,footer .brand img.official-logo{display:block;width:clamp(116px,11vw,169px);height:auto;border-radius:0}.mast:has(.official-logo){padding-block:.65rem}
@media(max-width:700px){.mast .brand img.official-logo{width:106px}}

.scene-story.opening {padding-top:clamp(7rem,23vh,16rem)}
.scene-story.opening > div {width:min(53vw,810px);max-width:100%}
.scene-story.opening h1 {margin:0}
.opening h1 img {width:100%;height:auto}
.opening-headline {margin:1rem 0 1.5rem;font-size:clamp(1.15rem,2.2vw,2.3rem);font-weight:750;letter-spacing:-.045em;line-height:1.1}
.platforms,.steam-brand {display:flex;align-items:center}
.platforms {gap:1.15rem}
.steam-brand {gap:.42rem}
.steam-brand img:first-child {width:29px;height:29px;filter:brightness(0)}
.steam-brand img:last-child {width:auto;height:15px;filter:brightness(0)}
.epic-brand {width:auto;height:39px;filter:invert(1)}
.opening .travel-cue {margin-top:2rem}
@media(max-width:700px){
 .scene-story.opening {padding-top:clamp(7rem,21svh,12rem)}
 .scene-story.opening > div {width:min(85vw,480px)}
 .opening-headline {margin:.8rem 0 1rem}
}

/* The semantic lockup doubles as the no-script version of the world artwork. */
.journey.live .opening :is(h1,.opening-headline,.platforms) {
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; margin:0; padding:0;
}
.journey.live .opening {align-items:flex-end;padding-bottom:12svh}
.journey.live:has(.opening) .veil {opacity:var(--chapter-veil,1)}
@media(max-width:700px){.journey.live .opening{padding-bottom:19svh}}
