@font-face{font-family:"Bricolage";src:url(/fonts/bricolage-grotesque-var.woff2) format("woff2");font-weight:200 800;font-stretch:75% 100%;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Manrope;src:url(/fonts/manrope-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--night:#0a0e18;--night2:#111726;--night3:#18203a;--chalk:#f1efe9;--ink:#0d1220;--soft:#a9b0c2;--dim:#717a90;--amber:#ffc84a;--amber2:#ffb020;--line:rgba(241,239,233,.13);--lineink:rgba(13,18,32,.14);
--disp:"Bricolage",system-ui,sans-serif;--sans:Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;--pad:clamp(20px,4.6vw,76px);--bar:0px;--ease:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
html,body{height:auto}
html{scroll-behavior:auto!important}
body{margin:0;background:var(--night);color:var(--chalk);font-family:var(--sans);font-size:clamp(16px,1.08vw,18px);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-color:var(--amber);text-decoration-thickness:1px;text-underline-offset:.22em}
a:hover{color:var(--amber)}
h1,h2,h3{font-weight:400;margin:0}
b{font-weight:700}
::selection{background:var(--amber);color:var(--ink)}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--chalk);color:var(--ink);padding:10px 16px}
.skip:focus{left:10px;top:44px}


.progress{position:fixed;top:var(--bar);left:0;right:0;height:2px;z-index:69;pointer-events:none}
.progress i{display:block;height:100%;width:100%;background:var(--amber);transform:scaleX(0);transform-origin:0 50%}
.grain{position:fixed;inset:-50%;z-index:68;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
.nav{position:fixed;top:calc(var(--bar) + 2px);left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:16px var(--pad);transition:background .5s var(--ease),transform .5s var(--ease)}
.nav.is-solid{background:rgba(10,14,24,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav.is-hidden{transform:translateY(-130%)}
.nav__brand{text-decoration:none;display:flex;flex-direction:column;line-height:1.05}
.nav__brand b{font-family:var(--disp);font-weight:700;font-size:20px;letter-spacing:-.02em}
.nav__brand span{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--soft);margin-top:4px}
.nav nav{display:flex;gap:clamp(14px,2.4vw,36px);align-items:center;font-size:14px}
.nav nav a{text-decoration:none;color:var(--soft);transition:color .3s}
.nav nav a:hover{color:var(--chalk)}
.nav .nav__cta{color:var(--ink);background:var(--amber);padding:10px 18px;border-radius:999px;font-weight:700}
.nav .nav__cta:hover{color:var(--ink);background:var(--chalk)}
.label{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft);margin:0 0 28px;font-weight:500}
.label span{color:var(--amber);font-family:var(--disp);font-weight:600;letter-spacing:.05em}
.label::after{content:"";width:48px;height:1px;background:currentColor;opacity:.5}
.display{font-family:var(--disp);font-weight:700;font-size:clamp(56px,9vw,168px);line-height:.9;letter-spacing:-.045em}
.placeholder{color:var(--dim);font-style:italic;border-left:2px dashed currentColor;padding-left:12px;font-size:.95em}
.placeholder-inline{color:var(--dim);font-style:italic}
.note{color:var(--dim);font-size:14px}
section{position:relative}

/* HERO */
.hero{height:100svh;min-height:640px;position:relative;overflow:hidden;isolation:isolate;padding:0 var(--pad)}
.hero__beam{position:absolute;inset:0;z-index:-1;pointer-events:none;background:
 radial-gradient(38% 70% at var(--bx,64%) -8%,rgba(255,214,140,.30),rgba(255,200,74,.08) 45%,transparent 72%),
 radial-gradient(30% 22% at var(--bx,64%) 96%,rgba(255,200,74,.10),transparent 70%)}
.hero__sky{position:absolute;left:0;right:0;bottom:0;height:62%;z-index:-3;opacity:.38;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 95%);mask-image:linear-gradient(to top,#000 10%,transparent 95%)}
.hero__sky img{width:100%;height:100%;object-fit:cover;object-position:center 72%;filter:grayscale(.55) brightness(.7) hue-rotate(185deg) saturate(.6)}
.hero__portrait{position:absolute;z-index:-2;left:44%;bottom:-6%;width:min(58vw,880px)}
.hero__portrait img{width:100%;-webkit-mask-image:radial-gradient(closest-side at 50% 48%,#000 52%,transparent 100%);mask-image:radial-gradient(closest-side at 50% 48%,#000 52%,transparent 100%)}
.hero__kicker{position:absolute;top:calc(var(--bar) + 120px);left:var(--pad);display:flex;gap:10px;margin:0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--soft)}
.hero__kicker span+span::before{content:"·";margin-right:10px;color:var(--amber)}
.hero__title{position:absolute;left:var(--pad);right:var(--pad);top:calc(var(--bar) + 150px);font-family:var(--disp);font-weight:800;font-size:clamp(72px,12.6vw,230px);line-height:.86;letter-spacing:-.055em;pointer-events:none}
.hl{display:block;white-space:nowrap}
.hl--b{color:var(--amber);font-weight:300;letter-spacing:-.06em;padding-left:.12em}
.chars .c{display:inline-block;will-change:transform}
.hero__foot{position:absolute;left:var(--pad);bottom:40px;max-width:440px}
.hero__lede{font-size:clamp(17px,1.35vw,21px);line-height:1.45;margin:0 0 12px}
.hero__aside{color:var(--soft);margin:0;font-size:15px}
.hero__scroll{position:absolute;right:var(--pad);bottom:44px;display:flex;flex-direction:column;align-items:center;gap:10px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;color:var(--soft)}
.hero__scroll i{width:1px;height:56px;background:linear-gradient(transparent,var(--amber));display:block;animation:drip 2s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* STORY */
.story{background:radial-gradient(60% 70% at 85% 10%,rgba(255,200,74,.13),transparent 70%),var(--night2)}
.story__pin{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:clamp(100px,14vh,160px) var(--pad)}
.story__text{font-family:var(--disp);font-weight:600;font-size:clamp(38px,5.6vw,104px);line-height:.98;letter-spacing:-.04em;max-width:17ch;margin:0}
.js .story__text .fw{color:rgba(241,239,233,.14)}
.story__note{margin:56px 0 0;max-width:46ch;color:var(--soft)}

/* DATES: pinned step sequence */
.dates{background:radial-gradient(70% 60% at 80% 30%,rgba(255,200,74,.10),transparent 70%),var(--night)}
.dates__pin{position:relative;padding:clamp(110px,15vh,160px) var(--pad) 60px}
.dates__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;flex-wrap:wrap}
.dates__head .label{flex-basis:100%;margin-bottom:0}
.dates__title{font-family:var(--disp);font-weight:700;font-size:clamp(56px,7vw,124px);line-height:.9;letter-spacing:-.05em}
.dates__sub{margin:0;color:var(--soft);font-size:clamp(17px,1.3vw,20px)}
.steps{list-style:none;margin:60px 0 0;padding:0;display:grid;gap:70px}
.step{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-template-areas:"chip chip" "date body";gap:18px clamp(24px,4vw,70px);align-items:center}
.step__chip{grid-area:chip;margin:0;justify-self:start;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink);background:var(--amber);padding:8px 14px;border-radius:999px}
.step:not(:first-child) .step__chip{background:transparent;color:var(--amber);border:1px solid rgba(255,200,74,.5)}
.step--open .step__chip{border-style:dashed}
.step__date{grid-area:date;margin:0;font-family:var(--disp);font-weight:800;font-size:clamp(84px,13vw,236px);line-height:.82;letter-spacing:-.06em;white-space:nowrap}
.step__date small{font-size:.3em;font-weight:400;letter-spacing:-.02em;color:var(--soft);margin-left:.15em}
.step--open .step__date{color:transparent;-webkit-text-stroke:1px rgba(241,239,233,.5)}
.step__body{grid-area:body;max-width:560px;position:relative;z-index:2}
.step h3{font-family:var(--disp);font-weight:600;font-size:clamp(28px,2.7vw,46px);line-height:1.02;letter-spacing:-.03em}
.step__when{margin:16px 0 0;color:var(--amber);font-size:15px;font-weight:500}
.step__line{margin:14px 0 0;color:var(--soft);font-size:clamp(16px,1.15vw,19px)}
.step__fine{margin:12px 0 0;color:var(--dim);font-size:13px}
.rail{display:none}
.waiting{margin:0;padding:24px var(--pad) clamp(90px,12vh,140px);color:var(--dim);font-size:14px;max-width:none}
.waiting b{color:var(--soft);font-weight:600}
/* pinned version (JS + desktop or phone) */
.js .dates__pin{height:100svh;padding-bottom:0;display:flex;flex-direction:column;overflow:hidden}
.js .steps{position:relative;flex:1;margin:0;display:block}
.js .step{position:absolute;inset:0;align-content:center;opacity:0;visibility:hidden}
.js .step:first-child{opacity:1;visibility:visible}
.js .rail{display:flex;position:absolute;right:var(--pad);top:50%;transform:translateY(-50%);flex-direction:column;gap:16px;font-size:12px;letter-spacing:.1em;color:var(--dim);font-family:var(--disp);font-weight:600}
.rail i{font-style:normal;display:flex;align-items:center;gap:10px;transition:color .3s}
.rail i::before{content:"";width:18px;height:1px;background:currentColor;transition:width .4s var(--ease)}
.rail i.on{color:var(--amber)}
.rail i.on::before{width:40px}

/* HERO actions, buttons, HUD, phone bar */
.hero__ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn{display:inline-flex;align-items:center;text-decoration:none;font-weight:700;font-size:15px;padding:15px 24px;border-radius:999px;transition:background .3s,color .3s,border-color .3s}
.btn span{display:inline-block}
.btn--amber{background:var(--amber);color:var(--ink)}
.btn--amber:hover{background:var(--chalk);color:var(--ink)}
.btn--line{border:1px solid rgba(241,239,233,.35);color:var(--chalk)}
.btn--line:hover{border-color:var(--amber);color:var(--amber)}
.hud{position:fixed;left:var(--pad);bottom:22px;z-index:55;display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--soft);mix-blend-mode:difference;pointer-events:none}
.hud__n{font-family:var(--disp);font-weight:700;font-size:15px;color:var(--chalk)}
.hud__t{font-style:normal;letter-spacing:.16em;text-transform:uppercase;margin-left:8px}
.mbar{display:none}

/* LIGHTS */
.shot{margin:0}
.shot--b{margin-top:120px}
.shot--c{margin-top:40px}
.shot__img{overflow:hidden;border-radius:4px;--f:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 86%,transparent);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect}
.shot__img img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 30%;transform:scale(1.12)}
.shot__img--empty{aspect-ratio:3/4;-webkit-mask-image:none;mask-image:none;border:1px dashed var(--dim);border-radius:18px;display:grid;place-items:center;background:radial-gradient(60% 50% at 50% 40%,rgba(255,200,74,.06),transparent)}
.shot__img--empty span{color:var(--dim);font-style:italic}
.shot figcaption{margin-top:16px;font-size:14px;color:var(--soft);max-width:40ch}

/* CHAMBERS */
.chambers{padding:clamp(120px,18vh,220px) var(--pad);overflow:hidden;background:linear-gradient(var(--night),var(--night2))}
.chambers__bg{position:absolute;right:-4%;top:6%;width:min(50vw,760px);opacity:.5;pointer-events:none}
.chambers__bg img{width:100%;-webkit-mask-image:radial-gradient(closest-side at 50% 50%,#000 40%,transparent 100%);mask-image:radial-gradient(closest-side at 50% 50%,#000 40%,transparent 100%);filter:grayscale(.3) sepia(.2) hue-rotate(180deg) saturate(.7) brightness(.85)}
.chambers__inner{position:relative}
.chambers__title{font-family:var(--disp);font-weight:700;font-size:clamp(48px,6.4vw,112px);line-height:.92;letter-spacing:-.045em}
.chambers__lede{max-width:46ch;color:var(--soft);margin:30px 0 0}
.chambers__list{list-style:none;padding:0;margin:70px 0 30px}
.chambers__list li{display:flex;align-items:baseline;gap:clamp(14px,2vw,30px);padding:clamp(14px,1.6vw,22px) 0;border-top:1px solid var(--line)}
.chambers__list li:last-child{border-bottom:1px solid var(--line)}
.chambers__list .n{font-family:var(--disp);font-weight:600;color:var(--amber);font-size:14px}
.chambers__list .t{position:relative;font-family:var(--disp);font-weight:700;font-size:clamp(30px,5.2vw,92px);line-height:1;letter-spacing:-.045em;color:transparent;-webkit-text-stroke:1px rgba(241,239,233,.35)}
.chambers__list .t::after{content:attr(data-text);position:absolute;inset:0;color:var(--chalk);-webkit-text-stroke:0;-webkit-text-stroke:1px var(--chalk);clip-path:inset(0 var(--clip,100%) 0 0)}

/* ROAD */
.road{padding:clamp(120px,18vh,220px) var(--pad);background:var(--night2)}
.road__head{display:grid;grid-template-columns:1fr 1fr;gap:20px 60px;align-items:end}
.road__head .label{grid-column:1/-1}
.road__head p:not(.label){color:var(--soft);max-width:40ch;margin:0}
.road__list{list-style:none;margin:90px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.road__list li{padding:36px 28px 36px 0;border-top:1px solid var(--line)}
.road__list b{display:block;font-family:var(--disp);font-weight:700;font-size:clamp(34px,3.4vw,58px);line-height:.95;letter-spacing:-.04em;color:var(--chalk)}
.road__list li:nth-child(4) b{color:var(--amber)}
.road__list span{display:block;margin-top:16px;color:var(--soft);font-size:15px;line-height:1.5;max-width:28ch}

/* BOOK */
.book{padding:clamp(130px,18vh,220px) var(--pad);overflow:hidden;isolation:isolate}
.book__beam{position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 60% at 22% 0%,rgba(255,214,140,.20),transparent 70%)}
.book__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:var(--pad);align-items:center}
.book__photo img{width:100%;max-width:500px;--f:linear-gradient(to right,transparent,#000 22%,#000 78%,transparent),linear-gradient(to bottom,transparent 0,#000 16%,#000 60%,transparent 100%);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect;filter:sepia(.25) brightness(.8) contrast(1.1)}
.book__copy .display{font-size:clamp(48px,6.2vw,110px)}
.book__copy>p:not(.label):not(.note){color:var(--soft);max-width:46ch;margin:30px 0 0}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;margin:40px 0 18px;max-width:740px}
.form label{display:flex;flex-direction:column;gap:8px;font-size:13px;letter-spacing:.05em;color:var(--soft)}
.form__wide{grid-column:1/-1}
.form input,.form textarea{font:inherit;color:var(--chalk);background:rgba(241,239,233,.04);border:0;border-bottom:1px solid rgba(241,239,233,.28);border-radius:0;padding:12px 2px;width:100%;transition:border-color .3s}
.form input:focus,.form textarea:focus{outline:none;border-bottom-color:var(--amber);background:rgba(255,200,74,.05)}
.form textarea{resize:vertical}
.form ::placeholder{color:var(--dim)}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.form button{grid-column:1/-1;justify-self:start;margin-top:14px;font:inherit;font-weight:700;background:var(--amber);color:var(--ink);border:0;border-radius:999px;padding:20px 34px;cursor:pointer;transition:background .3s}
.form button span{display:inline-block}
.form button:hover{background:var(--chalk)}
.form button:focus-visible,.nav a:focus-visible,a:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* FOOT */
.foot{padding:100px var(--pad) 50px;border-top:1px solid var(--line);overflow:hidden}
.foot__big{font-family:var(--disp);font-weight:800;font-size:clamp(56px,11.6vw,210px);line-height:.85;letter-spacing:-.055em;margin:0;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(241,239,233,.3)}
.foot__cols{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:60px;color:var(--soft);font-size:15px}
.foot__cols b{color:var(--chalk)}
.foot__flag{color:var(--amber);letter-spacing:.16em;text-transform:uppercase;font-size:12px;text-align:right;font-weight:700}

/* initial states only when motion runs */
.js .reveal,.js .intro{opacity:0;transform:translateY(24px)}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.split .w>span{display:inline-block}
.js .split .w>span{transform:translateY(110%)}
.js .hero__title .c{transform:translateY(105%)}
.js .hl{overflow:hidden;padding-bottom:.04em}

@media (max-width:1000px){
  .road__list{grid-template-columns:repeat(2,1fr)}
  .row{grid-template-columns:1fr auto}
  .row__date{grid-column:1/-1;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:12px}
  .row__main{grid-column:1}
  .chip{grid-column:2;grid-row:2}
}
@media (max-width:760px){
  :root{--bar:0px}
  .hud{bottom:auto;top:calc(var(--bar) + 70px);left:auto;right:var(--pad)}
  .hud__t{display:none}
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:58;justify-content:center;padding:15px;border-radius:999px;background:var(--amber);color:var(--ink);font-weight:700;text-decoration:none;box-shadow:0 10px 40px rgba(0,0,0,.5);transform:translateY(140%);transition:transform .5s var(--ease)}
  .mbar.on{transform:none}
  .hero__ctas .btn--line{display:none}
  .step{grid-template-columns:1fr;grid-template-areas:"chip" "date" "body";align-content:center}
  .step__date{font-size:clamp(76px,24vw,120px)}
  .js .rail{top:auto;bottom:24px;right:auto;left:var(--pad);transform:none;flex-direction:row;gap:12px}
  .rail i::before{width:10px}
  .rail i.on::before{width:22px}
  .foot{padding-bottom:100px}
  
  .nav nav a:not(.nav__cta){display:none}
  .nav__brand span{display:none}
  .hero{min-height:700px}
  .hero__portrait{width:118vw;left:-9vw;bottom:auto;top:calc(var(--bar) + 150px)}
  .hero__kicker{top:calc(var(--bar) + 84px);font-size:10.5px;letter-spacing:.16em}
  .hero__title{top:auto;bottom:250px;font-size:clamp(66px,21vw,120px)}
  .hl--b{padding-left:0}
  .hero__foot{bottom:34px;right:var(--pad)}
  .hero__lede{font-size:16.5px}
  .hero__aside{font-size:14px}
  .hero__scroll{display:none}
  .dates{border-radius:24px 24px 0 0}
  .dates__head{grid-template-columns:1fr}
  .row{grid-template-columns:1fr;gap:12px}
  .chip{grid-column:1;grid-row:auto;justify-self:start}
  .shot--b,.shot--c{margin-top:0}
  .chambers__bg{width:110vw;right:-30vw;top:2%;opacity:.35}
  .road__head{grid-template-columns:1fr}
  .road__list{grid-template-columns:1fr}
  .book__grid{grid-template-columns:1fr}
  .book__photo img{max-width:320px}
  .form{grid-template-columns:1fr}
  .foot__cols{grid-template-columns:1fr}
  .foot__flag{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  .grain,.hero__scroll i{animation:none}
}

/* ===== DIVE: stage -> house lights (dimension change) ===== */
:root{--day:#e9eff8;--day2:#dce5f1;--dayink:#0d1220;--daysoft:#4d5871;--daydim:#7a849a;--dayline:rgba(13,18,32,.14);--amberdk:#a86a00}
.dive{background:var(--day);color:var(--dayink)}
.dive__pin{position:relative;height:100svh;overflow:hidden;background:var(--night)}
.dive__cv{position:absolute;inset:0;width:100%;height:100%;display:block}
.dive__gate{position:absolute;left:50%;top:50%;width:46vmin;height:46vmin;margin:-23vmin 0 0 -23vmin;border-radius:50%;background:radial-gradient(circle,#fffaf0 0%,#fff2cf 30%,rgba(255,200,74,.85) 52%,rgba(255,200,74,.18) 68%,transparent 72%);transform:scale(.06);opacity:0;will-change:transform}
.dive__day{position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 40%,#f7f9fc,var(--day) 70%);opacity:0}
.dive__pre{position:absolute;left:0;right:0;bottom:16vh;text-align:center;margin:0;font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--soft);opacity:0}
.dive__copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:0 var(--pad);z-index:3}
.dive__copy .label{color:var(--daysoft)}
.dive__copy .label span{color:var(--amberdk)}
.dive__title{font-family:var(--disp);font-weight:800;font-size:clamp(68px,9vw,170px);line-height:.85;letter-spacing:-.055em;color:var(--dayink)}
.dive__title span{display:inline-block}
.dive__title span:last-child{font-weight:300;color:var(--amberdk)}
.dive__line{margin:28px 0 0;font-size:clamp(19px,1.6vw,26px);color:var(--daysoft);max-width:30ch}
.js .dive__copy .label,.js .dive__title span,.js .dive__line{opacity:0}

/* daylight world for everything after the dive */
.chambers{background:linear-gradient(var(--day),var(--day2));color:var(--dayink)}
.chambers .label,.road .label,.book .label{color:var(--daysoft)}
.chambers .label span,.road .label span,.book .label span{color:var(--amberdk)}
.chambers__lede,.chambers .note{color:var(--daysoft)!important}
.chambers__list li{border-color:var(--dayline)!important}
.chambers__list .n{color:var(--amberdk)}
.chambers__list .t{-webkit-text-stroke:1px rgba(13,18,32,.35)}
.chambers__list .t::after{color:var(--dayink);-webkit-text-stroke:1px var(--dayink)}
.chambers__bg{opacity:.22;mix-blend-mode:multiply}
.chambers__bg img{filter:grayscale(1) contrast(1.1) brightness(1.2)}
.road{background:var(--day2);color:var(--dayink)}
.road__head p:not(.label){color:var(--daysoft)}
.road__list li{border-color:var(--dayline)}
.road__list b{color:var(--dayink)}
.road__list li:nth-child(4) b{color:var(--amberdk)}
.road__list span{color:var(--daysoft)}
.book{background:var(--day);color:var(--dayink)}
.book__beam{background:radial-gradient(40% 60% at 22% 0%,rgba(255,200,74,.28),transparent 70%)}
.book__copy>p:not(.label):not(.note){color:var(--daysoft)}
.book .note{color:var(--daydim)}
.book__photo img{filter:sepia(.15) contrast(1.05)}
.form label{color:var(--daysoft)}
.form input,.form textarea{color:var(--dayink);background:rgba(13,18,32,.03);border-bottom-color:rgba(13,18,32,.3)}
.form input:focus,.form textarea:focus{border-bottom-color:var(--amberdk);background:rgba(255,200,74,.08)}
.form button:hover{background:var(--dayink);color:var(--day)}
.form button:focus-visible{outline-color:var(--dayink)}
html.day .nav.is-solid{background:rgba(233,239,248,.8)}
html.day .nav__brand,html.day .nav nav a{color:var(--dayink)}
html.day .nav__brand span{color:var(--daysoft)}
html.day .nav .nav__cta{color:var(--dayink)}
@media (max-width:760px){
  .dive__title{font-size:clamp(64px,19vw,110px)}
}
/* no-JS / reduced motion: the dive is a simple static gradient beat */
html:not(.js) .dive__pin{height:auto;min-height:80svh;background:linear-gradient(var(--night) 0,#3a3a52 12svh,#f2d48a 24svh,var(--day) 36svh,var(--day))}
html:not(.js) .dive__cv,html:not(.js) .dive__gate,html:not(.js) .dive__day,html:not(.js) .dive__pre{display:none}
html:not(.js) .dive__copy{position:relative;padding-top:40svh;padding-bottom:12svh}

.dive__wait{margin:22px 0 0;font-size:13px;color:var(--daydim);font-style:italic;max-width:44ch}
@media (max-width:760px){
  .dive__copy{justify-content:flex-start;padding-top:calc(var(--bar) + 120px)}
  .js .steps{margin-bottom:84px}
}
html:not(.js) .hud{display:none}

/* ===== v3: dates with depth ===== */
.dates__pin{isolation:isolate}
.dates__bgs{position:absolute;inset:0;z-index:-1;pointer-events:none}
.dbg{position:absolute;inset:0;opacity:0}
.dbg img{position:absolute;right:0;top:0;height:100%;width:56%;object-fit:cover;--f:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 18%,#000 72%,transparent 100%);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect}
.dbg--1 img{object-position:50% 45%;filter:brightness(.7) saturate(.9)}
.dbg--2 img{width:50%;object-position:50% 30%;filter:brightness(.75)}
.dbg--3{background:radial-gradient(45% 55% at 74% 50%,rgba(255,200,74,.16),transparent 70%)}
.dbg--4 img{width:48%;object-position:50% 40%;filter:brightness(.62) saturate(.95)}
.dbg--5{background:radial-gradient(38% 50% at 72% 52%,rgba(255,200,74,.12),transparent 70%)}
.js .dbg--1{opacity:1}
.dates__ghost{position:absolute;left:calc(var(--pad) - .06em);bottom:-.16em;z-index:-1;font-family:var(--disp);font-weight:800;font-size:clamp(150px,27vw,470px);line-height:1;letter-spacing:-.06em;pointer-events:none;white-space:nowrap}
.dates__ghost span{position:absolute;left:0;bottom:0;color:transparent;-webkit-text-stroke:1px rgba(241,239,233,.09);opacity:0}
.dates__ghost span:first-child{opacity:1}
.step{grid-template-columns:minmax(0,1fr);grid-template-areas:"chip" "date" "body";max-width:min(60vw,920px);gap:18px;align-content:center}
.step__date{font-size:clamp(84px,11.5vw,200px)}
.step__body{max-width:600px}
.step h3{text-shadow:0 2px 24px rgba(10,14,24,.8)}
html:not(.js) .dates__bgs,html:not(.js) .dates__ghost{display:none}

/* ===== v3: dive landing, a lit room ===== */
.dive__glow{position:absolute;inset:0;background:radial-gradient(48% 62% at 74% 46%,rgba(255,190,90,.32),transparent 72%);opacity:0;pointer-events:none}
.dive__stage{position:absolute;z-index:1;top:0;bottom:0;right:0;width:64vw;margin:0}
.dive__stageimg{position:absolute;inset:0;overflow:hidden;--f:linear-gradient(to right,transparent 0,#000 40%),linear-gradient(to bottom,#000 0,#000 74%,transparent 100%);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect}
.dive__stageimg picture,.dive__stageimg img{display:block;width:100%;height:100%}
.dive__stageimg img{object-fit:cover;object-position:50% 32%;transform-origin:60% 40%}
.dive__stage figcaption{position:absolute;right:var(--pad);bottom:calc(var(--bar) + 26px);max-width:34ch;text-align:right;font-size:13px;line-height:1.45;color:var(--daysoft)}
.dive__copy{pointer-events:none}
.dive__copy a{pointer-events:auto}
.dive__copy>*{max-width:min(50vw,760px)}
.dive__title{font-size:clamp(68px,8.6vw,164px)}
.dive__title span{display:block}
.dive__line{text-shadow:0 0 30px rgba(233,239,248,.9)}
.inset{margin:0;display:flex;align-items:flex-end;gap:16px}
.inset__img{width:112px;flex:none;--f:linear-gradient(to right,transparent,#000 12%,#000 88%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 86%,transparent);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect}
.inset__img img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 25%}
.inset figcaption{font-size:13px;line-height:1.4;color:var(--daysoft);max-width:18ch;padding-bottom:8px}
.inset--dive{margin-top:34px}
.dive__wait{margin-top:18px}
.js .dive__stage,.js .dive__stage figcaption,.js .inset--dive,.js .dive__wait{opacity:0}
html:not(.js) .dive__stage{position:relative;width:100%;height:80svh}
html:not(.js) .dive__glow{display:none}
html:not(.js) .dive__copy>*{max-width:none}

/* ===== v3: chambers in front of the Capitol ===== */
.chambers{position:relative;min-height:100svh;display:flex;align-items:center}
.chambers__bg{right:0;top:0;bottom:0;width:58vw;opacity:1;mix-blend-mode:normal}
.chambers__bg picture{display:block;height:100%}
.chambers__bg img{height:100%;width:100%;object-fit:cover;object-position:50% 30%;filter:none;--f:linear-gradient(to right,transparent 0,#000 42%),linear-gradient(to bottom,transparent 0,#000 14%,#000 82%,transparent 100%);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-in;mask-composite:intersect}
.chambers__inner{z-index:2;max-width:min(54vw,880px)}
.chambers__title{font-size:clamp(46px,5.4vw,96px)}
.chambers__list .nm{display:flex;flex-direction:column;gap:4px}
.chambers__list .t{font-size:clamp(40px,5.4vw,96px);line-height:.95}
.chambers__list .s{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--daysoft);font-weight:600}

/* ===== v3: road opens on the skyline ===== */
.road{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(180px,26vh,260px)}
.road__env{position:absolute;left:0;right:0;top:0;height:min(96vh,880px);z-index:-1}
.road__env::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,14,24,.55),rgba(10,14,24,.15) 45%,transparent 70%)}
.road__env picture{display:block;height:100%}
.road__env img{width:100%;height:120%;object-fit:cover;object-position:50% 40%;--f:linear-gradient(to bottom,transparent 0,#000 10%,#000 52%,transparent 86%);-webkit-mask-image:var(--f);mask-image:var(--f)}
.road__env{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 54%,transparent 88%);mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 54%,transparent 88%)}
.road__env img{-webkit-mask-image:none;mask-image:none}
.road .road__head .label,.road .road__head h2{color:var(--chalk)}
.road .road__head .label span{color:var(--amber)}
.road .road__head p:not(.label){color:rgba(241,239,233,.88)}
.road__head h2{text-shadow:0 4px 40px rgba(10,14,24,.5)}
.road__list{margin-top:clamp(260px,40vh,420px)}

@media (max-width:760px){
  .dbg img,.dbg--2 img,.dbg--4 img{width:100%;height:56%;top:auto;bottom:0;--f:linear-gradient(to bottom,transparent 0,#000 40%,#000 100%);opacity:.75}
  .dates__ghost{font-size:44vw;bottom:auto;top:calc(var(--bar) + 130px)}
  .step{max-width:none}
  .step__date{font-size:clamp(76px,23vw,118px)}
  .dive__stage{width:100%;bottom:auto;height:60svh}
  .dive__stageimg{--f:linear-gradient(to bottom,#000 0,#000 50%,transparent 100%);-webkit-mask-composite:source-over;mask-composite:add}
  .dive__stage figcaption{display:none}
  .dive__copy{justify-content:flex-end;padding-top:0;padding-bottom:96px}
  .dive__copy>*{max-width:none}
  .dive__title{font-size:clamp(58px,17vw,96px)}
  .dive__line{font-size:18px;margin-top:16px}
  .inset--dive{margin-top:18px}
  .inset__img{width:72px}
  .dive__wait{font-size:12px;margin-top:12px}
  html:not(.js) .dive__stage{height:70svh}
  .chambers{display:block;min-height:0;padding-top:58vh}
  .chambers__bg{width:100%;bottom:auto;height:66vh}
  .chambers__bg img{--f:linear-gradient(to bottom,#000 0,#000 50%,transparent 100%)}
  .chambers__inner{max-width:none}
  .chambers__list .t{font-size:clamp(38px,11vw,60px)}
  .chambers__list .s{font-size:11px}
  .road{padding-top:150px}
  .road__env{height:78vh}
  .road__list{margin-top:34vh}
}

/* ===== v4: layered environments (sets, haze, shafts, dust, vignette) ===== */
.scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.scene--front{z-index:4}
.story__pin,.chambers,.book{position:relative;isolation:isolate}
.story__pin>*:not(.scene){position:relative;z-index:1}
.sc{position:absolute;left:0;top:0;width:100%;height:100%;background-repeat:repeat-x;background-size:auto 100%;will-change:transform;opacity:0;transition:opacity 1.2s ease}
.sc.is-in{opacity:var(--o,1)}
.sc--vig{opacity:1;background:radial-gradient(120% 90% at 50% 45%,transparent 55%,rgba(5,7,14,.55) 100%)}
.scene--day .sc--vig{background:radial-gradient(120% 90% at 50% 45%,transparent 60%,rgba(120,136,165,.22) 100%)}
.roll{animation:roll var(--dur,120s) linear infinite}
.roll.rev{animation-direction:reverse}
@keyframes roll{to{transform:translate3d(-50%,0,0)}}
.sc--plate{--o:.34;top:auto;bottom:0;height:min(100%,100vh);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 35%,#000 80%,transparent)}
.scene--day .sc--plate{--o:.55}
.sc--hazeb{--o:.75;top:auto;bottom:-4%;height:min(70%,72vh)}
.sc--haze{--o:.5;top:8%;height:min(60%,64vh)}
.sc--hazef{--o:.45;top:auto;bottom:-10%;height:min(42%,46vh)}
.sc--shafts{--o:.8;background-repeat:no-repeat;background-size:100% 100%;height:min(95%,100vh);transform-origin:50% 0;animation:sway 14s ease-in-out infinite alternate}
.scene--night .sc--shafts{mix-blend-mode:screen}
@keyframes sway{from{transform:rotate(-1.6deg) scaleX(1.04)}to{transform:rotate(1.6deg) scaleX(1)}}
.sc--dust{background-repeat:repeat;height:calc(100% + var(--t));animation:rise var(--dd,60s) linear infinite}
.sc--far{--t:512px;--dd:90s;background-size:512px;--o:.8}
.sc--mid{--t:760px;--dd:55s;background-size:760px;--o:.9}
.sc--near{--t:1100px;--dd:34s;background-size:1100px;--o:.75;filter:blur(1px)}
.sc--ink{--t:640px;--dd:80s;background-size:640px;--o:.7}
@keyframes rise{to{transform:translate3d(0,calc(-1 * var(--t)),0)}}
.scene--hero{z-index:-2}
.scene--herofront{z-index:-1}
.scene--hero .sc--hazeb{--o:.55}
.scene--hero .sc--haze{--o:.35}
.road .sc--atenv{top:min(48vh,440px);bottom:auto;height:min(46vh,420px);--o:.85}
.road .scene .sc--shafts{--o:.6}
.book .sc--plate{--o:.38}
/* dive: travel through the hall */
.dv{position:absolute;inset:0;overflow:hidden}
.dv__l{position:absolute;inset:0;background-position:50% 50%;background-size:cover;background-repeat:no-repeat;transform-origin:50% 52%;will-change:transform,opacity}
.dv__far{filter:brightness(.9)}
.dv__hazeb{background-size:auto 70%;background-position:50% 100%;background-repeat:repeat-x;opacity:.8}
.dv__haze{background-size:auto 60%;background-position:50% 35%;background-repeat:repeat-x;opacity:.5}
.dv__shafts{background-size:100% 100%;mix-blend-mode:screen;opacity:.85}
.dv__dust{background-repeat:repeat}
.dv__d1{background-size:512px}.dv__d2{background-size:760px}.dv__d3{background-size:1100px;filter:blur(1.5px)}
.dv__vig{background:radial-gradient(110% 85% at 50% 50%,transparent 45%,rgba(5,7,14,.8) 100%)}
.dl{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none}
.dl .sc{opacity:var(--o,1)}
.dl__plate{--o:.5}
.dl--front{z-index:2}
.dive__cv{opacity:.55}
html:not(.js) .dv,html:not(.js) .dl{display:none}
@media (max-width:760px){
  .sc--near,.dv__d3{display:none}
  .sc--haze{--o:.4}
  .dive__stage{z-index:1}
}
@media (prefers-reduced-motion:reduce){
  .roll,.sc--dust,.sc--shafts{animation:none}
}
.chambers>.scene,.road>.scene,.book>.scene{inset:-90px 0}
.chambers>.scene--front,.road>.scene--front,.book>.scene--front{inset:-180px 0}
.sc--haze,.sc--hazeb,.sc--hazef{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 30%,#000 70%,transparent 100%)}
.sc--hazeb{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 35%);mask-image:linear-gradient(to bottom,transparent 0,#000 35%)}
.road{padding-top:clamp(260px,38vh,380px)}
.road__env{height:min(110vh,1000px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 58%,transparent 90%);mask-image:linear-gradient(to bottom,transparent 0,#000 34%,#000 58%,transparent 90%)}
.road__env::after{background:linear-gradient(to bottom,rgba(10,14,24,.35),rgba(10,14,24,.25) 50%,transparent 75%)}
.road__head{grid-template-columns:1fr}
.road .road__head p:not(.label){text-shadow:0 2px 18px rgba(10,14,24,.9);font-size:clamp(17px,1.3vw,20px)}
.road__list{margin-top:clamp(240px,34vh,380px)}
@media (max-width:760px){.road{padding-top:200px}.road__env{height:90vh}.road__list{margin-top:30vh}}
html:not(.js) .chambers__list .t::after{clip-path:none}
.dbg--2{background:radial-gradient(42% 55% at 74% 46%,rgba(255,200,74,.18),transparent 70%)}
/* ===== r3: Gemini plates + volumetric gate ===== */
.sc--still{background-repeat:no-repeat;background-size:cover;background-position:50% 50%;width:100%;animation:drift 40s ease-in-out infinite alternate}
@keyframes drift{from{transform:scale(1.06) translate3d(-1.2%,0,0)}to{transform:scale(1.06) translate3d(1.2%,0,0)}}
.story .sc--plate{--o:.42;height:100%;top:0;bottom:auto;-webkit-mask-image:radial-gradient(90% 85% at 60% 45%,#000 40%,transparent 100%);mask-image:radial-gradient(90% 85% at 60% 45%,#000 40%,transparent 100%)}
.dl__plate{--o:.5;top:0;bottom:auto;height:100%;-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.chambers .sc--room{--o:.45;top:0;bottom:auto;height:100%;-webkit-mask-image:linear-gradient(to right,#000 30%,transparent 70%),linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent);mask-image:linear-gradient(to right,#000 30%,transparent 70%),linear-gradient(to bottom,transparent,#000 15%,#000 80%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.dv__l{transform-origin:50% 54%}
.dv__far{filter:none;background-position:50% 54%}
.dive__gate{left:50%;top:54%;width:84vmin;height:84vmin;margin:-42vmin 0 0 -42vmin;border-radius:0;background:none;mix-blend-mode:screen;transform-origin:50% 50%}
.dive__gate i{position:absolute;inset:0;display:block}
.g__halo{background:radial-gradient(ellipse 34% 46% at 50% 50%,rgba(255,220,160,.55) 0,rgba(255,196,120,.24) 32%,rgba(255,180,96,.08) 60%,transparent 78%);filter:blur(8px)}
.g__rays{background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,228,178,0) 0deg,rgba(255,228,178,.42) 1.3deg,rgba(255,228,178,0) 3.1deg,rgba(255,228,178,0) 6.7deg);-webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 6%,rgba(0,0,0,.45) 26%,transparent 64%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 6%,rgba(0,0,0,.45) 26%,transparent 64%);filter:blur(2.5px);animation:spin 80s linear infinite;opacity:.8}
.g__rays--b{background:repeating-conic-gradient(from 3deg at 50% 50%,rgba(255,214,150,0) 0deg,rgba(255,214,150,.3) 2.2deg,rgba(255,214,150,0) 5deg,rgba(255,214,150,0) 11deg);animation-duration:120s;animation-direction:reverse;opacity:.7;filter:blur(4px)}
.g__core{background:radial-gradient(ellipse 7% 12% at 50% 50%,#fffaf0 0,#ffeec8 45%,rgba(255,206,130,.55) 75%,transparent 100%),radial-gradient(ellipse 14% 22% at 50% 50%,rgba(255,232,190,.5) 0,transparent 100%);filter:blur(3px)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.g__rays,.sc--still{animation:none}}
.dbg--3 img{width:48%;object-position:50% 40%;filter:brightness(.62) saturate(.95)}
.dbg--4{background:radial-gradient(38% 50% at 72% 52%,rgba(255,200,74,.12),transparent 70%)}
.dbg--4 img{display:none}
.dv__hazeb{opacity:.5}.dv__haze{opacity:.28}.dv__shafts{opacity:.6}
.dv__far{filter:contrast(1.08) saturate(1.05)}
@media (max-width:760px){.dl__plate{--o:.32}}
/* r4 polish */
.chambers__bg img{mix-blend-mode:multiply;--f:radial-gradient(ellipse 50% 50% at 50% 46%,#000 52%,rgba(0,0,0,.5) 74%,transparent 100%);-webkit-mask-image:var(--f);mask-image:var(--f);-webkit-mask-composite:source-over;mask-composite:add;opacity:.92}
.chambers__bg{mix-blend-mode:multiply}
html.js .story .sc--shafts.is-in{opacity:calc(var(--o,.8) * var(--sh,0));transition:none}
@media (max-width:760px){
  .dive__gate{width:120vmin;height:120vmin;margin:-60vmin 0 0 -60vmin}
  .g__halo{background:radial-gradient(ellipse 40% 50% at 50% 50%,rgba(255,224,170,.7) 0,rgba(255,200,124,.32) 34%,rgba(255,180,96,.12) 62%,transparent 80%)}
  .g__rays{animation-duration:140s;opacity:.95}
  .g__rays--b{animation-duration:200s}
}
/* ===== mark upgrade (Oct 10): cursor depth, rolling worlds everywhere, smoke, caustics, fog bank, going under ===== */
:root{--px:0;--py:0}
.sc,.dv__l,.hero__sky,.hero__portrait,.dates__bgs .dbg img,.road__env,.chambers__bg{translate:calc(var(--px) * var(--z,.5) * -30px) calc(var(--py) * var(--z,.5) * -18px)}
.sc--plate,.dv__far,.hero__sky{--z:.35}.sc--hazeb,.dv__hazeb{--z:.55}.sc--shafts,.dv__shafts{--z:.45}.sc--haze,.dv__haze{--z:.8}
.sc--smoke,.dv__smoke{--z:.9}.sc--caus,.dv__caus{--z:.6}.sc--fogbank{--z:1.2}.sc--far,.dv__d1{--z:.7}.sc--mid,.dv__d2{--z:1}.sc--near,.dv__d3{--z:1.6}.sc--ink{--z:.9}
.sc--vig,.dv__vig{--z:0}.hero__portrait{--z:.22}.dates__bgs .dbg img{--z:.3}.road__env{--z:.3}.chambers__bg{--z:.3}
.dive__gate{translate:calc(var(--px) * .35 * -30px) calc(var(--py) * .35 * -18px)}
/* smoke: warm ink veils, screen-blended on night worlds */
.sc--smoke{--o:.55;top:12%;height:min(70%,72vh);mix-blend-mode:screen;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 70%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 25%,#000 70%,transparent)}
/* caustics: tileable light web drifting diagonally */
.sc--caus{--o:.22;width:calc(100% + 512px);height:calc(100% + 512px);background-repeat:repeat;background-size:512px 512px;mix-blend-mode:screen;animation:causd 38s linear infinite;-webkit-mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,transparent 100%);mask-image:radial-gradient(90% 70% at 50% 30%,#000 30%,transparent 100%)}
@keyframes causd{to{transform:translate3d(-512px,-512px,0)}}
@media (max-width:760px){.sc--caus{background-size:320px 320px;width:calc(100% + 320px);height:calc(100% + 320px);animation-name:causm}}
@keyframes causm{to{transform:translate3d(-320px,-320px,0)}}
/* fog bank rolling along the floor */
.sc--fogbank{--o:.5;top:auto;bottom:-2%;height:min(48%,50vh);mix-blend-mode:screen}
/* cover: rolling night valley world, going under */
.hero__sky{top:0;height:100%;opacity:.62;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18%,#000 82%,transparent 100%);transform-origin:50% 70%}
.hero__plate{--o:1;height:100%;top:0;bottom:auto;-webkit-mask-image:none;mask-image:none;filter:saturate(.9) brightness(.85)}
.hero .sc--smoke{--o:.45}
html.js .hero .sc--caus.is-in{opacity:calc(var(--under,0) * .5);transition:none}
.hero__rise{position:absolute;inset:0;will-change:transform}
html.js .hero .sc--fogbank.is-in{opacity:calc(.25 + var(--under,0) * .75);transition:none}
.hero .sc--fogbank{height:min(62%,62vh)}
.hero__deep{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(9,11,18,0) 0%,rgba(9,11,18,.55) 55%,rgba(9,11,18,.92) 100%);opacity:var(--under,0);pointer-events:none}
.scene--herofront{z-index:3}
.scene--herofront .sc--near{z-index:1}
/* story: rolling theater, caustics fading in from the dive above */
.story .sc--plate{--o:.5}
.story .sc--caus-story{--o:.14}
/* dates */
.dates .sc--smoke{--o:.4}
.dates .sc--fogbank{--o:.4}
/* dive fly-through extras */
.dv__smoke{background-size:auto 70%;background-position:50% 30%;background-repeat:repeat-x;mix-blend-mode:screen;opacity:.45}
.dv__caus{background-size:480px 480px;background-repeat:repeat;mix-blend-mode:screen;opacity:.16;-webkit-mask-image:radial-gradient(70% 60% at 50% 54%,#000 20%,transparent 100%);mask-image:radial-gradient(70% 60% at 50% 54%,#000 20%,transparent 100%)}
@media (max-width:760px){.dv__caus{background-size:300px 300px}}
/* chambers: room rolls */
.chambers .sc--room{animation:roll var(--dur,160s) linear infinite}
/* road: a dark world between two pale ones */
.road{background:linear-gradient(#0c0f18,#0a0d15 60%,#0d1019);color:var(--chalk)}
.road>.scene{inset:-60px 0}
.road .sc--plate{--o:.55;top:0;height:100%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)}
.road .scene .sc--shafts{--o:.55}
.road .sc--hazeb{--o:.5}
.road .sc--smoke{--o:.45;top:30%}
.road .sc--fogbank{--o:.45}
.road__env::after{background:linear-gradient(to bottom,rgba(10,13,21,.5),rgba(10,13,21,.1) 45%,transparent 70%)}
.road .label,.road .road__head .label{color:var(--soft)}
.road .label span{color:var(--amber)}
.road__list li{border-color:var(--line)!important}
.road__list b{color:var(--chalk)}
.road__list li:nth-child(4) b{color:var(--amber)}
.road__list span{color:var(--soft)}
.road__list{position:relative}
.road__list li{background:linear-gradient(to bottom,rgba(10,13,21,.35),transparent)}
/* book: stronger valley world */
.book .sc--plate{--o:.6}
/* footer: night bookend */
.foot{position:relative;isolation:isolate;overflow:hidden}
.foot>.scene{z-index:-1}
.scene--foot .sc--plate{--o:.45;top:0;height:100%}
.scene--foot .sc--fogbank{--o:.4}
/* stronger screen pass */
.grain{opacity:.09}
@media (prefers-reduced-motion:reduce){
  .sc,.dv__l,.hero__sky,.hero__portrait,.dates__bgs .dbg img,.road__env,.chambers__bg,.dive__gate{translate:none}
  .sc--caus,.chambers .sc--room{animation:none}
}
html:not(.js) .hero .sc--caus,html:not(.js) .hero__deep{display:none}
.road::before,.road::after{content:"";position:absolute;left:0;right:0;height:140px;z-index:0;pointer-events:none}
.road::before{top:0;background:linear-gradient(var(--day2),rgba(220,229,241,0))}
.road::after{bottom:0;background:linear-gradient(rgba(233,239,248,0),var(--day))}
.road>*:not(.scene){position:relative;z-index:1}
.road>.road__env{position:absolute;z-index:0}
.road::after{height:240px}
.book{overflow:hidden}
.book>.scene{inset:0 0 -90px 0}
/* alpha layers composite normally (no blend modes: no isolated-group black boxes) */
.sc--smoke,.sc--caus,.sc--fogbank,.dv__smoke,.dv__caus{mix-blend-mode:normal}
.hero__rise{will-change:auto}
html.js .hero .sc--caus.is-in{opacity:calc(var(--under,0) * .75)}
.foot::before{content:"";position:absolute;left:0;right:0;top:0;height:180px;z-index:0;pointer-events:none;background:linear-gradient(var(--day),rgba(233,239,248,0))}
.foot>*:not(.scene){position:relative;z-index:1}

/* ---- Gemini mark plates (round 5) ---- */
.sc--bokeh{--o:.55;--z:1.4;background-repeat:no-repeat;background-size:cover;background-position:50% 60%;width:100%;animation:bokeh 46s ease-in-out infinite alternate}
@keyframes bokeh{from{transform:scale(1.04) translate3d(-1.5%,1%,0)}to{transform:scale(1.1) translate3d(1.5%,-1.5%,0)}}
.hero .sc--bokeh{--o:.4}.road .sc--bokeh{--o:.35}.scene--foot .sc--bokeh{--o:.45}
@media (prefers-reduced-motion:reduce){.sc--bokeh{animation:none}}
.sc--mark{animation-duration:60s}

/* ---- round 6: legibility + Before the Mic bottom ---- */
.js .story__text .fw{color:rgba(241,239,233,.6)}
.story .scene:not(.scene--front)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,10,16,.86) 0%,rgba(8,10,16,.72) 38%,rgba(8,10,16,.3) 66%,rgba(8,10,16,0) 85%)}
.story .sc--smoke{--o:.22}
.story__text{text-shadow:0 2px 30px rgba(8,10,16,.55)}
.story__note{text-shadow:0 1px 12px rgba(8,10,16,.9)}
@media (max-width:760px){.story .scene:not(.scene--front)::after{background:linear-gradient(180deg,rgba(8,10,16,.55),rgba(8,10,16,.78) 30%,rgba(8,10,16,.78) 75%,rgba(8,10,16,.5))}}
/* Before the Mic: stay dark to the bottom, short hand-off to the Book section */
.road{padding-bottom:clamp(140px,20vh,220px)}
.road::after{height:90px;background:linear-gradient(rgba(233,239,248,0),var(--day))}
.road .sc--fogbank{--o:.32;bottom:-14%;height:min(34%,36vh)}
.road .sc--plate{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 92%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 92%,transparent)}
.road .sc--hazeb{--o:.35}
.road>.scene:not(.scene--front)::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(10,13,21,0) 0%,rgba(10,13,21,0) 45%,rgba(10,13,21,.55) 75%,rgba(10,13,21,.85) 100%)}
.road .sc--bokeh{--o:.25}
@media (max-width:760px){.road .sc--hazeb{--o:.2}.road .sc--fogbank{--o:.22}.road>.scene:not(.scene--front)::after{background:linear-gradient(to bottom,rgba(10,13,21,.15),rgba(10,13,21,.45) 40%,rgba(10,13,21,.8) 100%)}.road::after{height:70px}}
