:root{
  --night:#111735;
  --night-deep:#080d25;
  --indigo:#273568;
  --blue-hour:#6378a7;
  --rose:#d58882;
  --apricot:#efae72;
  --gold:#f2b85b;
  --sun:#ffe0a1;
  --day:#c9dddf;
  --paper:#fff3d4;
  --ink:#172039;
  --white:#f7f3e8;
  --muted:#b8bdd1;
  --p:0;
  --sky-r:17;
  --sky-g:23;
  --sky-b:53;
  --pad:clamp(22px,5vw,74px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scrollbar-color:var(--gold) var(--night-deep)}
body{margin:0;background:var(--night-deep);color:var(--white);font-family:'Manrope',sans-serif;overflow-x:hidden}
body::before{content:"";position:fixed;inset:-50%;z-index:1000;pointer-events:none;opacity:.055;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .22s steps(2) infinite;mix-blend-mode:soft-light}
a{color:inherit}
button,input,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,input:focus-visible{outline:2px solid var(--sun);outline-offset:5px}
.skip-link{position:fixed;left:12px;top:10px;z-index:2000;padding:12px 18px;background:var(--paper);color:var(--ink);transform:translateY(-150%)}
.skip-link:focus{transform:none}
.load-curtain{position:fixed;inset:0;z-index:1500;display:grid;grid-template-columns:1fr 1fr;pointer-events:none}
.load-curtain i{background:#050817;transform-origin:left;animation:curtain 1.35s cubic-bezier(.76,0,.24,1) .15s forwards}
.load-curtain i:last-child{transform-origin:right}
.site-header{position:fixed;top:0;left:0;right:0;height:72px;z-index:200;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);border-bottom:1px solid rgba(255,255,255,.13);background:linear-gradient(#0b102dcc,transparent);backdrop-filter:blur(9px);transition:color .4s,background .4s}
.wordmark{display:flex;align-items:center;gap:11px;width:max-content;text-decoration:none;font-size:10px;font-weight:700;letter-spacing:.22em}
.wordmark svg{width:38px;fill:none;stroke:currentColor;stroke-width:1.25}.wordmark svg circle{fill:var(--gold);stroke:none}
.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{min-height:44px;display:flex;align-items:center;text-decoration:none;font-size:11px;color:#d7d9e5}.site-header nav a:hover{color:var(--sun)}
.sun-readout{justify-self:end;display:flex;gap:11px;align-items:center;font-size:10px}.sun-readout span{text-transform:uppercase;letter-spacing:.15em;color:var(--muted)}.sun-readout b{font-weight:500;font-variant-numeric:tabular-nums}
body.is-day .site-header{color:var(--ink);background:linear-gradient(rgba(237,235,222,.94),rgba(237,235,222,.72));border-bottom-color:rgba(23,32,57,.28)}
body.is-day .site-header nav a{color:#27314b}body.is-day .site-header nav a:hover{color:#8b5549}body.is-day .sun-readout span{color:#59617a}
.hero{position:relative;min-height:100dvh;overflow:hidden;background:linear-gradient(180deg,#060a20 0%,#10183c 61%,#2c3156 100%);display:flex;align-items:center;padding:clamp(110px,16vh,180px) var(--pad) 90px}
#heroCanvas{position:absolute;inset:0;width:100%;height:100%}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 80%,rgba(238,157,112,.2),transparent 30%),linear-gradient(90deg,rgba(4,7,23,.2),transparent 55%);pointer-events:none}
.hero-horizon{position:absolute;left:0;right:0;bottom:0;height:28%;background:linear-gradient(165deg,transparent 42%,#080c22 43%)}
.hero-horizon::before,.hero-horizon::after{content:"";position:absolute;bottom:0;background:#080c22}.hero-horizon::before{left:-3%;width:48%;height:46%;clip-path:polygon(0 38%,17% 48%,35% 24%,57% 44%,79% 10%,100% 47%,100% 100%,0 100%)}.hero-horizon::after{right:-2%;width:63%;height:56%;clip-path:polygon(0 55%,15% 31%,33% 50%,52% 18%,69% 42%,83% 29%,100% 51%,100% 100%,0 100%)}
.hero-horizon i{position:absolute;z-index:2;left:0;right:0;top:19%;height:46%;opacity:.7;background:radial-gradient(circle at 5% 64%,#4df0ff 0 2px,transparent 3.5px),radial-gradient(circle at 12% 42%,#e9976d 0 1.5px,transparent 3px),radial-gradient(circle at 20% 70%,#d4ff4a 0 2px,transparent 4px),radial-gradient(circle at 28% 37%,#e7929f 0 1.5px,transparent 3px),radial-gradient(circle at 36% 76%,#ff4fc8 0 2.5px,transparent 5px),radial-gradient(circle at 45% 52%,#c8a76b 0 2px,transparent 4px),radial-gradient(circle at 54% 68%,#9de8ae 0 1.5px,transparent 3.5px),radial-gradient(circle at 63% 33%,#62dcff 0 2px,transparent 4px),radial-gradient(circle at 71% 73%,#ffe34f 0 2.5px,transparent 5px),radial-gradient(circle at 79% 48%,#e5b85c 0 2px,transparent 4px),radial-gradient(circle at 87% 66%,#f5a623 0 2px,transparent 4px),radial-gradient(circle at 94% 40%,#ffd58a 0 2.5px,transparent 5px);filter:drop-shadow(0 0 6px rgba(255,223,161,.55))}
.hero-copy{position:relative;z-index:2;width:min(950px,83vw);margin-top:2vh}
.hero-kicker,.section-kicker{margin:0 0 27px;font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#c8bfd0;animation:rise .8s both .85s}
.hero h1{margin:0;font-family:'Newsreader',serif;font-weight:300;font-size:clamp(5.3rem,12.5vw,12.5rem);line-height:.72;letter-spacing:-.072em;color:#f7f1df}
.hero h1 span,.hero h1 em{display:block;font-style:normal;animation:rise 1.1s both}.hero h1 span{animation-delay:.65s}.hero h1 em{margin-left:clamp(30px,12vw,180px);color:var(--sun);font-style:italic;font-weight:250;animation-delay:.78s}
.hero-deck{max-width:485px;margin:50px 0 28px clamp(32px,17vw,250px);font-size:clamp(15px,1.2vw,18px);line-height:1.75;color:#d0d1dd;animation:rise .9s both .95s}
.hero-entry{margin-left:clamp(32px,17vw,250px);display:inline-grid;grid-template-columns:1fr 52px;align-items:center;min-height:52px;padding-left:18px;border:1px solid rgba(255,224,161,.48);text-decoration:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;animation:rise .9s both 1.08s;transition:background .3s,color .3s}
.hero-entry i{height:100%;display:grid;place-items:center;border-left:1px solid rgba(255,224,161,.48);font-style:normal;font-size:18px;transition:transform .3s}.hero-entry:hover{background:var(--sun);color:var(--ink)}.hero-entry:hover i{transform:translateY(4px)}
.hero-time{position:absolute;z-index:2;right:var(--pad);bottom:8%;text-align:right;font-size:9px;line-height:1.7;letter-spacing:.14em;text-transform:uppercase;color:#9ca4bd;animation:rise .8s both 1.15s}.hero-time span{display:block;font:400 clamp(2.6rem,5vw,5rem)/.9 'Newsreader',serif;color:#e8dfd2;letter-spacing:-.03em}.hero-time b{color:var(--gold)}
.dawn-scroll{position:relative;height:700vh;background:#0d1331}
.dawn-stage{position:sticky;top:0;height:100dvh;overflow:hidden;background:rgb(var(--sky-r),var(--sky-g),var(--sky-b));isolation:isolate}
#dawnCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:-3}
.dawn-stage::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(to bottom,transparent 0 34%,rgba(231,137,120,calc(var(--p)*.54)) 70%,rgba(255,210,135,calc(var(--p)*.9)) 100%)}
.dawn-stage::after{content:"";position:absolute;inset:0;z-index:20;pointer-events:none;box-shadow:inset 0 0 130px rgba(4,7,23,calc(.55 - var(--p)*.45))}
.sun{position:absolute;z-index:-1;left:50%;bottom:calc(-31vmin + var(--p)*35vmin);width:clamp(190px,31vmin,470px);aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:radial-gradient(circle at 48% 43%,#fffaf0 0 12%,#ffe5a2 48%,#f1a25f 100%);box-shadow:0 0 50px #ffd48aa8,0 0 180px #f4aa6a66;opacity:calc(.05 + var(--p)*.95)}
.sun i{position:absolute;inset:-8%;border:1px solid rgba(255,243,196,.35);border-radius:50%}
.haze{position:absolute;z-index:0;left:-20%;right:-20%;bottom:0;height:46%;background:repeating-linear-gradient(0deg,transparent 0 14px,rgba(255,230,189,.04) 15px 16px);filter:blur(2px);opacity:calc(var(--p)*.9)}
.horizon-silhouette{position:absolute;z-index:2;left:0;right:0;bottom:0;height:37%;pointer-events:none}.horizon-silhouette i{position:absolute;inset:auto 0 0;display:block}.ridge-a{height:77%;background:#10152b;clip-path:polygon(0 68%,8% 57%,14% 62%,23% 39%,31% 57%,39% 47%,48% 64%,58% 40%,64% 48%,72% 33%,80% 51%,88% 41%,100% 62%,100% 100%,0 100%);transform:translateY(calc(var(--p)*10%));opacity:calc(1 - var(--p)*.15)}.ridge-b{height:55%;background:#080d1d;clip-path:polygon(0 52%,10% 38%,18% 56%,29% 31%,37% 49%,49% 25%,59% 50%,68% 35%,79% 53%,90% 27%,100% 51%,100% 100%,0 100%)}
.cityline{height:30%;background:#060917;clip-path:polygon(0 55%,2% 55%,2% 45%,3% 45%,3% 55%,5% 55%,5% 36%,7% 36%,7% 55%,10% 55%,10% 46%,12% 46%,12% 55%,15% 55%,15% 29%,17% 29%,17% 55%,21% 55%,21% 40%,23% 40%,23% 55%,27% 55%,27% 48%,29% 48%,29% 55%,34% 55%,34% 34%,37% 34%,37% 55%,41% 55%,41% 44%,43% 44%,43% 55%,47% 55%,47% 20%,49% 20%,49% 55%,54% 55%,54% 39%,57% 39%,57% 55%,62% 55%,62% 31%,65% 31%,65% 55%,69% 55%,69% 44%,72% 44%,72% 55%,76% 55%,76% 28%,78% 28%,78% 55%,82% 55%,82% 46%,86% 46%,86% 55%,90% 55%,90% 35%,92% 35%,92% 55%,96% 55%,96% 45%,98% 45%,98% 55%,100% 55%,100% 100%,0 100%)}
.stage-heading{position:absolute;z-index:7;left:var(--pad);top:clamp(90px,14vh,145px);max-width:720px;transition:opacity .4s,transform .4s;transform:translateY(calc(var(--p)*-20px))}.dawn-stage.begun .stage-heading{opacity:0;transform:translateY(-24px);pointer-events:none}.stage-heading p{margin:0 0 17px;text-transform:uppercase;font-size:9px;font-weight:700;letter-spacing:.25em;color:#b8bfd8}.stage-heading h2{margin:0;font:300 clamp(3.2rem,7.3vw,7.6rem)/.87 'Newsreader',serif;letter-spacing:-.055em}
.lights{position:absolute;z-index:6;inset:12% 5% 25%}
.room-light{position:absolute;left:var(--x);top:var(--y);display:block;width:44px;height:44px;transform:translate(-50%,-50%);border-radius:50%;text-decoration:none;transition:opacity .45s,filter .45s,transform .3s}.room-light>i{position:absolute;left:50%;top:50%;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);transform:translate(-50%,-50%);box-shadow:0 0 7px var(--c),0 0 20px var(--c),0 0 52px var(--c);animation:ember 2.4s ease-in-out infinite alternate}.room-light:nth-child(3n)>i{animation-delay:-.8s}.room-light:nth-child(4n)>i{animation-duration:3.2s}
.room-light.is-off{opacity:.1;filter:grayscale(1)}.room-light.is-off>i{box-shadow:none;background:#b9bac0}.room-light.is-active{z-index:12;transform:translate(-50%,-50%) scale(1.35)}
.room-light>span{position:absolute;left:34px;bottom:30px;width:210px;padding:11px 13px;color:#f9f4e6;background:rgba(7,10,27,.88);border-left:2px solid var(--c);opacity:0;transform:translateY(8px);pointer-events:none;transition:.25s;backdrop-filter:blur(5px)}.room-light>span.left{left:auto;right:34px}.room-light:hover>span,.room-light:focus-visible>span{opacity:1;transform:none}.room-light span b{display:block;font-size:9px;letter-spacing:.13em}.room-light span small{display:block;margin-top:6px;font:italic 14px/1.35 'Newsreader',serif;color:#d5d7df}
.dawn-gauge{position:absolute;z-index:9;left:var(--pad);bottom:26px;display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.16em;text-transform:uppercase}.dawn-gauge i{position:relative;width:clamp(120px,15vw,220px);height:1px;background:rgba(255,255,255,.34)}.dawn-gauge b{position:absolute;left:0;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--sun);box-shadow:0 0 11px var(--sun);transform:translateX(calc(var(--p)*var(--gauge-width,200px)))}
.farewell{position:absolute;z-index:8;right:var(--pad);top:14%;max-width:360px;text-align:right;transition:opacity .3s}.farewell span{font:300 clamp(4rem,7vw,7.5rem)/.8 'Newsreader',serif;color:rgba(255,255,255,.15)}.farewell p{margin:12px 0;font:italic 20px/1.3 'Newsreader',serif;color:#f6edda}
.dawn-stage.complete .farewell{opacity:0;pointer-events:none}
.threshold-callout{position:absolute;z-index:10;left:50%;top:48%;text-align:center;transform:translate(-50%,-50%) scale(.9);opacity:0;transition:opacity .4s,transform .5s}.threshold-callout.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.threshold-callout span{font-size:9px;font-weight:700;letter-spacing:.25em;text-transform:uppercase}.threshold-callout b{display:block;font:300 clamp(6rem,15vw,14rem)/.82 'Newsreader',serif;color:var(--sun)}.threshold-callout p{font:italic 18px 'Newsreader',serif}
.stage-closing{position:absolute;z-index:10;left:50%;top:48%;width:min(900px,88vw);text-align:center;transform:translate(-50%,-44%);opacity:0;margin:0;font:300 clamp(2.5rem,6vw,6.2rem)/.98 'Newsreader',serif;letter-spacing:-.04em;color:var(--ink);transition:opacity .8s,transform .8s}.stage-closing.show{opacity:1;transform:translate(-50%,-50%)}.stage-closing span{display:block;margin-top:26px;font:700 10px 'Manrope',sans-serif;letter-spacing:.22em}
.threshold{position:relative;min-height:130vh;padding:clamp(120px,18vh,220px) var(--pad);background:linear-gradient(145deg,#ecb47d 0%,#e6c5a2 45%,#d4dce0 100%);color:var(--ink);display:grid;grid-template-columns:.65fr 1fr;gap:6vw;align-items:start;overflow:hidden}
.threshold-number{position:absolute;left:-3vw;top:-5vw;font:200 clamp(18rem,42vw,42rem)/1 'Newsreader',serif;color:rgba(255,255,255,.19);letter-spacing:-.11em;pointer-events:none}
.threshold-copy{position:relative;grid-column:2;max-width:720px}.threshold-copy .section-kicker{color:#6e5360}.threshold h2,.order h2,.plain-index h2{margin:0 0 35px;font:300 clamp(3.8rem,7vw,7.4rem)/.88 'Newsreader',serif;letter-spacing:-.055em}.threshold-copy>p:not(.section-kicker){max-width:60ch;font-size:clamp(16px,1.5vw,20px);line-height:1.75}.threshold blockquote{margin:60px 0 0;padding:24px 0 24px 32px;border-left:1px solid #725c59;font:italic clamp(1.6rem,2.8vw,2.8rem)/1.25 'Newsreader',serif}.threshold cite{display:block;margin-top:18px;font:700 9px 'Manrope',sans-serif;letter-spacing:.15em;text-transform:uppercase}
.twilight-bands{position:relative;grid-column:1/-1;margin-top:90px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(23,32,57,.25)}.twilight-bands article{min-height:280px;padding:28px clamp(20px,3vw,48px);border-right:1px solid rgba(23,32,57,.25)}.twilight-bands article:last-child{border:0}.twilight-bands span{font-size:10px;font-weight:700;letter-spacing:.18em}.twilight-bands h3{margin:75px 0 12px;font:400 clamp(2rem,3vw,3.4rem) 'Newsreader',serif}.twilight-bands p{max-width:28ch;font-size:13px;line-height:1.6}.twilight-bands .active{background:rgba(255,244,213,.42);box-shadow:inset 0 6px var(--gold)}
.order{padding:clamp(110px,17vh,210px) var(--pad);background:#121936;color:#eeeadd}.order header{max-width:850px;margin-bottom:100px}.order header>p:last-child{max-width:520px;line-height:1.7;color:#bfc4d4}.order-list{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.2)}.order-list li{display:grid;grid-template-columns:90px 1fr auto;align-items:center;min-height:132px;border-bottom:1px solid rgba(255,255,255,.2);transition:background .3s,padding .3s}.order-list li:hover{padding-inline:20px;background:rgba(255,255,255,.045)}.order-list li>b{font:300 42px 'Newsreader',serif;color:#687092}.order-list span{font-size:13px;color:#b9bfd0}.order-list strong{display:block;margin-bottom:8px;font:400 clamp(1.5rem,2.8vw,2.7rem) 'Newsreader',serif;color:#f4eddf}.order-list i{font-style:normal;font-size:10px;letter-spacing:.13em;color:var(--gold)}
.sunrise{position:relative;min-height:130vh;padding:160px var(--pad);background:linear-gradient(#bbcfd4 0%,#f0c68f 55%,#f9dda6 100%);color:var(--ink);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.sunrise-disc{position:absolute;left:50%;bottom:-26vw;width:72vw;aspect-ratio:1;border-radius:50%;transform:translateX(-50%);background:#fff2c3;box-shadow:0 0 100px #fff1bf,0 0 280px #f6bf73}.sunrise>*:not(.sunrise-disc){position:relative}.sunrise-time{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.sunrise h2{max-width:1100px;margin:52px 0 25px;font:italic 300 clamp(4.4rem,10vw,11rem)/.78 'Newsreader',serif;letter-spacing:-.07em}.sunrise>p:not(.sunrise-time){font:300 clamp(1.4rem,2.3vw,2.4rem) 'Newsreader',serif}.final-line{margin-top:110px;padding-top:24px;border-top:1px solid rgba(23,32,57,.35);font:400 17px 'Newsreader',serif}.final-line span{display:block;margin-top:12px;font:700 9px 'Manrope',sans-serif;letter-spacing:.2em}
.plain-index{padding:clamp(110px,15vh,180px) var(--pad);background:#f8efd7;color:var(--ink);display:grid;grid-template-columns:minmax(260px,.8fr) 2fr;gap:clamp(50px,9vw,150px)}.index-intro{position:sticky;top:120px;align-self:start}.index-intro .section-kicker{color:#766366}.index-intro p:last-child{max-width:40ch;line-height:1.7}.room-index{list-style:none;margin:0;padding:0;border-top:1px solid rgba(23,32,57,.28);display:grid;grid-template-columns:1fr 1fr}.room-index li{border-bottom:1px solid rgba(23,32,57,.28)}.room-index li:nth-child(odd){border-right:1px solid rgba(23,32,57,.28)}.room-index a{min-height:88px;display:grid;grid-template-columns:48px 1fr;align-content:center;padding:14px 20px;text-decoration:none;transition:background .25s,color .25s}.room-index a:hover{background:var(--ink);color:var(--paper)}.room-index b{grid-row:1/3;font:300 23px 'Newsreader',serif;color:#a36b5d}.room-index span{font:400 20px 'Newsreader',serif}.room-index small{margin-top:3px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.site-footer{min-height:210px;padding:50px var(--pad);background:#090e25;border-top:1px solid #333957;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.footer-mark{display:flex;align-items:center;gap:15px}.footer-mark svg{width:50px;fill:none;stroke:#f2c77f;stroke-width:1}.footer-mark svg circle{fill:#f2c77f;stroke:none}.footer-mark small{color:#9ba3bd}.site-footer p{justify-self:end;color:#b5bbce}.site-footer nav{grid-column:1/-1;display:flex;gap:26px;border-top:1px solid #2a314f;padding-top:24px}.site-footer nav a{min-height:44px;display:flex;align-items:center;text-decoration:none;color:#d2d5e0}.site-footer nav a:hover{color:var(--sun)}
@keyframes curtain{to{transform:scaleX(0)}}
@keyframes rise{from{opacity:0;transform:translateY(28px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes ember{to{transform:translate(-50%,-50%) scale(1.3);filter:brightness(1.25)}}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,1%)}}

@media (max-width:900px){
  .site-header{grid-template-columns:1fr auto 1fr}.site-header nav{gap:18px}.site-header nav a{font-size:9px}.sun-readout{grid-column:3}.hero-copy{width:95vw}.hero h1{font-size:clamp(5rem,17vw,9rem)}.hero h1 em{margin-left:7vw}.hero-deck,.hero-entry{margin-left:7vw}.hero-time{bottom:4%}
  .lights{inset:17% 1% 24%}.room-light>span{width:180px}.farewell{right:24px;top:12%;max-width:280px}.farewell p{font-size:17px}.dawn-gauge{left:24px}.threshold{grid-template-columns:1fr}.threshold-copy{grid-column:1}.twilight-bands{grid-column:1;grid-template-columns:1fr}.twilight-bands article{min-height:190px;border-right:0;border-bottom:1px solid rgba(23,32,57,.25)}.twilight-bands h3{margin-top:35px}.plain-index{grid-template-columns:1fr}.index-intro{position:static}.room-index{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  :root{--pad:20px}.site-header{height:104px;grid-template-columns:1fr auto;grid-template-rows:58px 44px;padding-top:1px}.wordmark span{font-size:8px}.sun-readout{grid-column:2;grid-row:1}.sun-readout span{display:none}.site-header nav{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:0;border-top:1px solid rgba(255,255,255,.11)}.site-header nav a{justify-content:center;font-size:8px;border-right:1px solid rgba(255,255,255,.1)}.site-header nav a:last-child{border-right:0}body.is-day .site-header nav{border-top-color:rgba(23,32,57,.15)}body.is-day .site-header nav a{border-right-color:rgba(23,32,57,.15)}
  .hero{padding-top:130px;align-items:flex-start}.hero h1{font-size:22vw;line-height:.76}.hero h1 em{margin-left:0}.hero-deck{margin:28px 0 18px;max-width:330px;font-size:14px}.hero-entry{margin:0;font-size:9px;line-height:1.35;max-width:330px;padding-left:14px}.hero-time{right:20px;bottom:3%;font-size:7px}.hero-time span{font-size:2.4rem}.hero-horizon{height:27%}.hero-horizon i{top:10%;height:55%}
  .dawn-scroll{height:720vh}.stage-heading{left:20px;top:120px;max-width:340px}.stage-heading h2{font-size:3.5rem}.stage-heading p{font-size:8px}.lights{inset:23% 0 22%}.room-light{width:44px;height:44px}.room-light>span{position:fixed;left:20px!important;right:20px!important;bottom:84px;width:auto;text-align:left}.room-light.lower>span{bottom:84px}.farewell{top:120px;right:20px;max-width:230px}.farewell span{font-size:3.8rem}.farewell p{font-size:15px}.dawn-gauge{bottom:20px}.dawn-gauge i{width:110px}.threshold-callout{top:43%}.threshold-callout p{font-size:15px}.stage-closing{top:44%;font-size:2.55rem}.stage-closing span{font-size:8px;line-height:1.5}.sun{width:66vw}.horizon-silhouette{height:31%}
  .threshold{padding-block:110px}.threshold-number{font-size:19rem;top:30px}.threshold h2,.order h2,.plain-index h2{font-size:3.7rem}.threshold blockquote{margin-top:40px;padding-left:20px}.twilight-bands{margin-top:55px}
  .order header{margin-bottom:60px}.order-list li{grid-template-columns:52px 1fr;min-height:145px}.order-list li>b{font-size:28px}.order-list i{grid-column:2;margin-top:11px}.order-list strong{font-size:1.7rem}
  .sunrise{min-height:110vh;padding-inline:20px}.sunrise h2{font-size:4.9rem}.sunrise-disc{width:120vw;bottom:-28vw}.final-line{margin-top:70px;line-height:1.5}
  .room-index{grid-template-columns:1fr}.room-index li:nth-child(odd){border-right:0}.room-index a{min-height:78px;padding-inline:8px}.site-footer{grid-template-columns:1fr}.site-footer p{justify-self:start}.site-footer nav{flex-direction:column;gap:2px}.site-footer nav a{border-bottom:1px solid #2a314f}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}body::before,.room-light>i{animation:none}.load-curtain{display:none}.hero-kicker,.hero h1 span,.hero h1 em,.hero-deck,.hero-entry,.hero-time{animation:none}.room-light,.stage-heading,.threshold-callout,.stage-closing{transition:none}
}

/* Pass 2 — the horizon becomes an instrument, not a backdrop. */
body::before{opacity:.038;animation-duration:.8s}
.load-curtain i{background:linear-gradient(110deg,#040714 0 72%,#11183a 100%)}
.site-header{height:76px;background:linear-gradient(180deg,rgba(5,8,25,.92),rgba(7,11,30,.34) 72%,transparent)}
.site-header nav a{position:relative}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:1px;background:var(--sun);transition:right .35s cubic-bezier(.16,1,.3,1)}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{right:0}
.hero{background:
  radial-gradient(ellipse at 80% 92%,rgba(230,137,111,.24),transparent 31%),
  radial-gradient(ellipse at 30% 100%,rgba(69,94,164,.28),transparent 42%),
  linear-gradient(180deg,#05081b 0%,#0c1435 54%,#313554 100%);
  padding-bottom:110px}
.hero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(12.5% - 1px),rgba(255,255,255,.025) 12.5%);mask-image:linear-gradient(to bottom,transparent 12%,#000 25%,transparent 78%)}
.hero::after{background:radial-gradient(ellipse at 71% 78%,rgba(255,169,119,.19),transparent 29%),linear-gradient(90deg,rgba(2,4,17,.38),transparent 58%)}
.hero-copy{width:min(1040px,84vw);margin-top:-2vh}
.hero-kicker{margin-left:4px;color:#d2c7d3}
.hero h1{font-size:clamp(5.7rem,12.8vw,13rem);line-height:.69;text-wrap:balance}
.hero h1 em{margin-left:clamp(48px,13vw,190px);text-shadow:0 0 42px rgba(255,215,144,.12)}
.hero-deck{max-width:510px;margin-top:58px}
.hero-register{position:absolute;left:calc(100% + clamp(28px,5vw,80px));top:37%;width:190px;display:grid;border-top:1px solid rgba(255,255,255,.24);animation:rise .9s both 1.02s}
.hero-register span{display:grid;grid-template-columns:43px 1fr;align-items:center;min-height:58px;border-bottom:1px solid rgba(255,255,255,.17);font-size:8px;line-height:1.45;letter-spacing:.11em;text-transform:uppercase;color:#abb2c8}
.hero-register b{font:300 25px/1 'Newsreader',serif;color:var(--sun);letter-spacing:-.03em}
.hero-entry{position:relative;overflow:hidden}
.hero-entry::before{content:"";position:absolute;inset:0;transform:translateX(-102%);background:var(--sun);transition:transform .55s cubic-bezier(.16,1,.3,1);z-index:-1}
.hero-entry:hover{background:transparent}.hero-entry:hover::before{transform:none}
.hero-horizon{height:31%;background:linear-gradient(169deg,transparent 42%,rgba(8,12,34,.94) 42.3%)}
.hero-horizon::before{height:40%;clip-path:polygon(0 55%,13% 42%,29% 55%,43% 27%,59% 53%,75% 32%,100% 60%,100% 100%,0 100%)}
.hero-horizon::after{height:47%;clip-path:polygon(0 62%,18% 44%,34% 57%,51% 31%,67% 54%,82% 39%,100% 58%,100% 100%,0 100%)}
.hero-horizon i{top:31%;height:36%;filter:drop-shadow(0 0 8px rgba(255,223,161,.72))}

.dawn-scroll{height:760vh}
.dawn-stage{background:
  radial-gradient(ellipse at 50% 91%,rgba(255,205,125,calc(var(--p)*.9)),transparent 37%),
  linear-gradient(to bottom,rgba(5,9,31,calc(.42 - var(--p)*.4)),transparent 48%),
  rgb(var(--sky-r),var(--sky-g),var(--sky-b))}
.dawn-stage::before{background:
  linear-gradient(to top,rgba(255,203,126,calc(var(--p)*.62)),transparent 34%),
  radial-gradient(ellipse at 50% 112%,rgba(244,139,109,calc(var(--p)*.72)),transparent 58%)}
.dawn-stage::after{box-shadow:inset 0 0 180px rgba(3,5,18,calc(.62 - var(--p)*.52));background:linear-gradient(90deg,rgba(5,8,24,.15),transparent 18% 82%,rgba(5,8,24,.12))}
.stage-heading{top:clamp(105px,15vh,155px);max-width:830px}
.dawn-stage.begun .stage-heading{visibility:hidden}
.stage-heading p{color:#c4c9da}.stage-heading h2{line-height:.82}.stage-heading h2 em{font-weight:260;color:var(--sun)}
.phase-track{position:absolute;z-index:11;top:98px;right:var(--pad);width:min(48vw,690px);display:grid;grid-template-columns:repeat(5,1fr);gap:0;color:rgba(239,239,230,.62);font-size:7px;letter-spacing:.13em;text-transform:uppercase}
.phase-track span{padding:0 8px 12px;border-left:1px solid rgba(255,255,255,.16)}
.phase-track i{position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(255,255,255,.25)}
.phase-track i b{position:absolute;left:0;top:-2px;width:calc(var(--p)*100%);height:3px;background:linear-gradient(90deg,#5edcf7,#ed9b8e 58%,#ffd98c);box-shadow:0 0 12px rgba(255,210,136,.55)}
.dawn-stage.late-dawn .phase-track{color:rgba(23,32,57,.68)}.dawn-stage.late-dawn .phase-track span{border-left-color:rgba(23,32,57,.2)}.dawn-stage.late-dawn .phase-track i{background:rgba(23,32,57,.26)}
.dawn-stage.late-dawn .farewell>div b{color:#ffe7af;text-shadow:0 1px 8px rgba(0,0,0,.3)}
.lights{inset:20% 5% 24%}
.room-light{--life:1;transition:opacity .32s,filter .32s,transform .42s cubic-bezier(.16,1,.3,1)}
.room-light::before{content:"";position:absolute;left:50%;top:50%;width:1px;height:clamp(60px,10vh,110px);transform:translate(-50%,6px) scaleY(var(--life));transform-origin:top;background:linear-gradient(var(--c),transparent);opacity:calc(var(--life)*.13);filter:blur(2px)}
.room-light::after{content:"";position:absolute;inset:2px;border:1px solid var(--c);border-radius:50%;opacity:0;transform:scale(.35)}
.room-light>i{opacity:calc(.08 + var(--life)*.92);filter:saturate(calc(.15 + var(--life)*.95)) brightness(calc(.72 + var(--life)*.38));transform:translate(-50%,-50%) scale(calc(.35 + var(--life)*.65));box-shadow:0 0 calc(5px + var(--life)*10px) var(--c),0 0 calc(18px + var(--life)*28px) color-mix(in srgb,var(--c),transparent 20%)}
.room-light.is-active::after{animation:signal .75s cubic-bezier(.2,.7,.2,1) infinite}
.room-light.is-off{opacity:.28;filter:none}.room-light.is-off>i{background:#757b89;box-shadow:none;animation:none}
.room-light.is-active{transform:translate(-50%,-50%) scale(1.48)}
.room-light>span{bottom:35px;width:230px;padding:13px 15px;border-left-width:1px;background:linear-gradient(110deg,rgba(5,8,25,.95),rgba(17,23,52,.82));box-shadow:0 16px 50px rgba(2,4,15,.35)}
.room-light span b::before{content:attr(data-sequence)}
/* Each room keeps a distinct light-shape as well as its own palette. */
.room-light:nth-child(1)>i{width:18px;height:3px;border-radius:50%}
.room-light:nth-child(2)>i{width:14px;height:18px;clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(transparent,var(--c))}
.room-light:nth-child(3)>i{width:10px;height:13px;border-radius:50% 50% 42% 42%}
.room-light:nth-child(4)>i,.room-light:nth-child(11)>i{width:6px;height:6px}.room-light:nth-child(4)>i::after,.room-light:nth-child(11)>i::after{content:"";position:absolute;width:4px;height:4px;border-radius:50%;background:var(--c);transform:translate(9px,-7px);box-shadow:0 0 10px var(--c)}
.room-light:nth-child(5)>i{width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in srgb,var(--c),transparent 72%),0 0 30px var(--c)}
.room-light:nth-child(6)>i{width:20px;height:8px;border-radius:1px}
.room-light:nth-child(7)>i{width:12px;height:12px;clip-path:polygon(50% 0,64% 35%,100% 50%,64% 65%,50% 100%,36% 65%,0 50%,36% 35%)}
.room-light:nth-child(8)>i{width:13px;height:6px;border-radius:50% 50% 30% 30%}
.room-light:nth-child(9)>i{width:17px;height:10px;border-radius:2px;box-shadow:inset 0 0 0 2px #202746,0 0 20px var(--c)}
.room-light:nth-child(10)>i{width:13px;height:13px;background:transparent;border:2px solid var(--c)}
.room-light:nth-child(12)>i{width:19px;height:4px;border-radius:50%;transform:translate(-50%,-50%) rotate(-12deg)}
.room-light:nth-child(13)>i{width:7px;height:15px;border-radius:60% 40% 60% 40%}
.room-light:nth-child(14)>i{width:22px;height:7px;border-radius:1px;background:linear-gradient(90deg,#fff,var(--c),#fff)}
.room-light:nth-child(15)>i{width:15px;height:7px;border-radius:50%}
.room-light:nth-child(16)>i{width:7px;height:12px;border-radius:50% 50% 35% 35%}.room-light:nth-child(16)>i::after{content:"";position:absolute;left:3px;top:10px;width:1px;height:14px;background:var(--c)}
.room-light:nth-child(17)>i{width:12px;height:8px;border-radius:1px;box-shadow:8px 3px 0 color-mix(in srgb,var(--c),#fff 20%),0 0 24px var(--c)}
.room-light:nth-child(18)>i{width:11px;height:16px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}
.room-light:nth-child(19)>i{width:10px;height:10px;background:transparent;border:2px solid var(--c)}
.room-light:nth-child(20)>i{width:15px;height:6px;border-radius:50% 50% 2px 2px}
.room-light:nth-child(21)>i{width:8px;height:14px;border-radius:60% 40% 55% 45%}
.room-light:nth-child(22)>i{width:13px;height:5px;box-shadow:7px -2px 0 -1px var(--c),-6px 3px 0 -1px var(--c),0 0 18px var(--c)}
.room-light:nth-child(23)>i{width:8px;height:13px;border-radius:70% 30% 65% 35%;transform:translate(-50%,-50%) rotate(8deg)}
.room-light:nth-child(24)>i{width:12px;height:17px;border-radius:48% 48% 35% 35%;box-shadow:inset 0 0 0 2px rgba(20,22,31,.55),0 0 14px var(--c),0 0 38px var(--c)}
.farewell{top:16%;max-width:390px;min-width:300px;text-align:left;padding:18px 20px 20px;border-top:1px solid rgba(255,255,255,.45);background:linear-gradient(110deg,rgba(5,8,25,.78),rgba(8,12,30,.18));backdrop-filter:blur(8px)}
.farewell>div{display:flex;justify-content:space-between;align-items:center;font-size:8px;font-weight:700;letter-spacing:.15em;color:#d2d5e2}.farewell>div b{font-weight:600;color:var(--sun)}
.farewell strong{display:block;margin-top:12px;font:300 clamp(3.3rem,5.7vw,6.5rem)/.72 'Newsreader',serif;color:rgba(255,255,255,.22);letter-spacing:-.05em}
.farewell p{margin:9px 0 15px;max-width:27ch;font-size:18px}.farewell small{font-size:7px;letter-spacing:.16em;text-transform:uppercase;color:#9ba4bc}
.threshold-callout{padding:22px 30px;background:rgba(255,230,179,.1);border-top:1px solid rgba(255,245,218,.62);border-bottom:1px solid rgba(255,245,218,.3);backdrop-filter:blur(10px)}
.stage-closing{top:44%;max-width:1040px;text-shadow:0 2px 0 rgba(255,255,255,.18)}
.sun{bottom:calc(-34vmin + var(--p)*41vmin);box-shadow:0 0 45px #ffd48ab0,0 0 140px #f4aa6a70,0 0 300px #f6b96b50}
.horizon-silhouette{height:34%}.ridge-a{height:64%;background:#15192d;clip-path:polygon(0 72%,10% 58%,18% 68%,29% 46%,38% 66%,49% 52%,58% 67%,70% 45%,80% 65%,90% 51%,100% 70%,100% 100%,0 100%)}.ridge-b{height:45%;clip-path:polygon(0 59%,11% 44%,20% 59%,31% 36%,39% 58%,51% 31%,60% 57%,69% 41%,80% 61%,91% 35%,100% 55%,100% 100%,0 100%)}
.cityline{height:21%;opacity:.92}

.threshold{min-height:145vh;grid-template-columns:.82fr 1.18fr;background:linear-gradient(132deg,#eba875 0%,#edc69d 41%,#d5dede 78%,#cbd9de 100%)}
.threshold-copy{padding-right:6vw}.threshold h2{max-width:9ch}.threshold-copy>p:not(.section-kicker){font-size:clamp(17px,1.55vw,21px)}
.solar-rule{position:relative;grid-column:1/-1;margin-top:90px;height:145px;border-top:1px solid rgba(23,32,57,.38);display:grid;grid-template-columns:repeat(4,1fr)}
.solar-rule>span{position:absolute;left:var(--at);top:0;width:1px;height:100%;background:rgba(23,32,57,.28);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#586178;white-space:nowrap}
.solar-rule>span:last-of-type{transform:translateX(-1px)}.solar-rule>span b{display:block;padding:17px 10px 4px;font:300 30px 'Newsreader',serif;color:var(--ink);letter-spacing:-.03em}.solar-rule .official{width:2px;background:#8f4e43}.solar-rule .official b{color:#8f4e43}.solar-rule>i{position:absolute;left:0;right:0;top:-4px;height:7px;background:linear-gradient(90deg,#1c274f,#51679e 31%,#d28c86 64%,#f4bd72 100%);mix-blend-mode:multiply}
.twilight-bands{margin-top:45px;border-top:0;gap:1px;background:rgba(23,32,57,.25)}.twilight-bands article{min-height:330px;background:rgba(247,230,200,.62);border:0;padding-top:34px}.twilight-bands article:nth-child(2){transform:translateY(34px)}.twilight-bands .active{transform:translateY(68px);box-shadow:inset 0 5px #9e5e4c;background:rgba(255,243,211,.8)}
.twilight-bands h3{margin-top:100px}

.order{background:radial-gradient(circle at 86% 18%,rgba(83,103,167,.23),transparent 29%),#0d1432}
.order header{display:grid;grid-template-columns:1.2fr .7fr;gap:8vw;align-items:end;max-width:none}.order header .section-kicker,.order header h2{grid-column:1}.order header>p:last-child{grid-column:2;grid-row:1/3;margin:0 0 38px;padding-left:25px;border-left:1px solid rgba(255,255,255,.25)}
.order-list{counter-reset:round}.order-list li{position:relative;grid-template-columns:110px 1fr 110px;min-height:150px;overflow:hidden}.order-list li::before{content:"";position:absolute;left:68px;top:50%;width:14px;height:14px;border:1px solid #687092;border-radius:50%;transform:translate(-50%,-50%);background:#0d1432;box-shadow:0 0 0 8px #0d1432}.order-list li::after{content:"";position:absolute;left:68px;top:0;bottom:0;width:1px;background:#3a4264}.order-list li>b{position:relative;z-index:2;color:var(--sun)}.order-list li:hover{padding-inline:18px}.order-list i{text-align:right}.order-list strong{font-size:clamp(1.8rem,3vw,3.1rem)}

.sunrise{min-height:145vh;text-align:left;align-items:flex-start;padding-inline:12vw;background:linear-gradient(180deg,#b9d1d8 0%,#e7c5a6 46%,#f4ba79 72%,#ffda9b 100%)}
.sunrise::before{content:"";position:absolute;left:8vw;right:8vw;top:16%;height:1px;background:rgba(23,32,57,.28)}
.sunrise-disc{left:auto;right:-13vw;bottom:-20vw;width:67vw;transform:none;background:radial-gradient(circle at 44% 39%,#fffdf2 0 8%,#ffe9ad 38%,#ffc36f 100%);box-shadow:0 0 100px #fff1b5,0 0 320px rgba(246,167,93,.75)}
.sunrise h2{max-width:8.5ch;margin-top:56px;text-align:left;line-height:.82}.sunrise>p:not(.sunrise-time):not(.sunrise-coordinate){margin-left:24vw}.sunrise-time{margin-left:24vw}.sunrise-coordinate{position:absolute!important;right:8vw;top:12%;text-align:right;font-size:8px;line-height:1.7;letter-spacing:.14em;text-transform:uppercase}
.final-line{align-self:flex-end;margin:150px 4vw 0 0;min-width:340px;text-align:right}
.plain-index{background:linear-gradient(105deg,#f7ecd0 0 36%,#fff5dc 36%);grid-template-columns:minmax(260px,.72fr) 2fr}
.room-index a{position:relative;overflow:hidden}.room-index a::after{content:"↗";position:absolute;right:18px;top:50%;opacity:0;transform:translate(-10px,-50%);transition:.25s}.room-index a:hover::after,.room-index a:focus-visible::after{opacity:1;transform:translate(0,-50%)}

@keyframes signal{0%{opacity:.8;transform:scale(.35)}100%{opacity:0;transform:scale(1.35)}}

@media(max-width:1100px){
  .hero-register{display:none}.hero-copy{width:94vw}.phase-track{width:52vw}.farewell{min-width:260px;max-width:320px}.threshold{grid-template-columns:.55fr 1fr}.twilight-bands article{min-height:280px}.plain-index{background:#f8efd7}
}
@media(max-width:900px){
  .dawn-scroll{height:720vh}.phase-track{top:114px;left:var(--pad);right:var(--pad);width:auto}.stage-heading{top:175px}.farewell{top:185px}.lights{inset:27% 2% 22%}.threshold{grid-template-columns:1fr}.threshold-copy{padding:0}.solar-rule{margin-top:60px}.twilight-bands{grid-template-columns:repeat(3,1fr)}.twilight-bands article{min-height:270px}.twilight-bands h3{font-size:2rem}.order header{grid-template-columns:1fr}.order header>p:last-child{grid-column:1;grid-row:auto;margin:0}.plain-index{grid-template-columns:1fr}.index-intro{position:static}.sunrise{padding-inline:8vw}
}
@media(max-width:600px){
  .site-header{height:104px}.site-header nav a::after{bottom:4px}.hero{padding:140px 20px 86px;min-height:100svh}.hero-copy{width:100%;margin:0}.hero-kicker{max-width:260px;margin-bottom:22px;line-height:1.5}.hero h1{font-size:21.5vw;line-height:.75}.hero h1 em{margin-left:0}.hero-deck{margin-top:30px}.hero-register{position:static;display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin:25px 0 22px;border-top-color:rgba(255,255,255,.2)}.hero-register span{display:block;min-height:56px;padding:9px 7px 7px 0;border-right:1px solid rgba(255,255,255,.14);border-bottom:0;font-size:6px}.hero-register span:last-child{border-right:0;padding-left:7px}.hero-register span:nth-child(2){padding-left:7px}.hero-register b{display:block;margin-bottom:5px;font-size:21px}.hero-entry{margin-top:0;max-width:350px}.hero-time{bottom:2.5%}.hero-horizon{height:24%}.hero-horizon i{top:28%}
  .dawn-scroll{height:780vh}.phase-track{top:115px}.phase-track span{font-size:0;padding:0}.phase-track span:first-child::after{content:"SKY";font-size:6px}.phase-track span:nth-child(2)::after{content:"LIVING";font-size:6px}.phase-track span:nth-child(3)::after{content:"SHELTER";font-size:6px}.phase-track span:nth-child(4)::after{content:"WORK";font-size:6px}.phase-track span:last-child::after{content:"MANTLE";font-size:6px}.stage-heading{top:158px}.stage-heading h2{font-size:3.25rem}.lights{inset:30% -1% 18%}.farewell{top:154px;left:20px;right:20px;min-width:0;max-width:none;padding:12px 14px 13px}.farewell strong{position:absolute;right:14px;top:26px;font-size:3.2rem}.farewell p{max-width:22ch;margin:12px 54px 6px 0;font-size:15px}.farewell small{display:none}.farewell>div{padding-right:48px}.room-light>span{bottom:74px;padding:12px 14px}.horizon-silhouette{height:25%}.dawn-gauge{bottom:14px}.threshold-callout{top:46%;width:82vw}.stage-closing{font-size:2.7rem;top:42%}
  .threshold{padding-block:105px;min-height:auto}.threshold h2{font-size:3.55rem}.solar-rule{height:120px;margin-top:55px}.solar-rule>span{font-size:6px}.solar-rule>span b{font-size:22px;padding-inline:4px}.solar-rule>span:nth-child(2){transform:translateX(-20px)}.solar-rule .official{transform:translateX(-25px)}.solar-rule>span:last-of-type{transform:translateX(-32px)}.twilight-bands{grid-template-columns:1fr;margin-top:20px;background:none;gap:0}.twilight-bands article,.twilight-bands article:nth-child(2),.twilight-bands .active{min-height:180px;transform:none;border-top:1px solid rgba(23,32,57,.25)}.twilight-bands h3{margin-top:35px}
  .order header{margin-bottom:55px}.order-list li{grid-template-columns:62px 1fr;min-height:155px}.order-list li::before,.order-list li::after{left:38px}.order-list li>b{font-size:25px}.order-list i{grid-column:2;text-align:left}.order-list strong{font-size:1.75rem}.sunrise{min-height:125vh;padding:140px 20px}.sunrise::before{left:20px;right:20px}.sunrise-disc{width:126vw;right:-55vw;bottom:-18vw}.sunrise h2{font-size:4.65rem}.sunrise-time,.sunrise>p:not(.sunrise-time):not(.sunrise-coordinate){margin-left:0}.sunrise-coordinate{right:20px;top:11%}.final-line{align-self:flex-start;min-width:0;margin:100px 0 0;text-align:left}.plain-index{padding-top:100px}.room-index a{padding-right:35px}
}
@media(prefers-reduced-motion:reduce){
  .hero-register{animation:none}.room-light.is-active::after{animation:none;opacity:.45;transform:scale(.8)}.phase-track i b{transition:none}.hero-entry::before{transition:none}
}

/* Pass 3 — afterimages: the wing can be held for one last breath. */
::selection{background:#f2b85b;color:#080d25;text-shadow:none}
html{scrollbar-width:thin}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#070b20}
::-webkit-scrollbar-thumb{background:linear-gradient(#d98d78,#f2b85b);border:2px solid #070b20;border-radius:99px}
body{font-optical-sizing:auto}
.hero h1,.stage-heading h2,.threshold h2,.order h2,.sunrise h2,.plain-index h2,.stage-closing{font-optical-sizing:auto;font-variation-settings:"opsz" 72}
.hero-deck,.threshold-copy>p,.index-intro p,.sunrise>p{text-wrap:pretty}
.hero h1,.stage-closing{text-wrap:balance}
.sun-readout b,.hero-register b,.hero-time,.farewell>div,.farewell strong,.threshold-number,.solar-rule b,.order-list>b,.order-list i,.sunrise-time,.sunrise-coordinate,.room-index b{font-variant-numeric:tabular-nums lining-nums}
.wordmark,.site-header nav,.sun-readout{animation:chrome-in .75s cubic-bezier(.16,1,.3,1) both}
.site-header nav{animation-delay:.12s}.sun-readout{animation-delay:.2s}
.wordmark svg,.footer-mark svg{transition:filter .35s,transform .45s cubic-bezier(.16,1,.3,1)}
.wordmark:hover svg,.wordmark:focus-visible svg,.footer-mark:hover svg{filter:drop-shadow(0 0 7px var(--gold));transform:translateY(-1px)}
.site-footer nav a{position:relative}
.site-footer nav a::after{content:"";position:absolute;left:0;right:100%;bottom:7px;height:1px;background:currentColor;transition:right .35s cubic-bezier(.16,1,.3,1)}
.site-footer nav a:hover::after,.site-footer nav a:focus-visible::after{right:0}
.room-index a:focus-visible{background:var(--ink);color:var(--paper);outline-color:#a36b5d;outline-offset:-3px}

.afterimage-control{position:absolute;z-index:30;right:var(--pad);bottom:22px;min-width:210px;min-height:48px;display:flex;align-items:center;gap:12px;padding:7px 14px 7px 10px;border:1px solid rgba(246,241,223,.36);border-radius:0;background:rgba(5,8,25,.54);color:#f7f1df;font-family:'Manrope',sans-serif;text-align:left;cursor:pointer;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .45s,transform .55s cubic-bezier(.16,1,.3,1),background .3s,color .3s,border-color .3s;backdrop-filter:blur(10px)}
.can-remember .afterimage-control{opacity:1;transform:none;pointer-events:auto}
.afterimage-control i{position:relative;width:31px;height:31px;flex:0 0 31px;border:1px solid currentColor;border-radius:50%;opacity:.85}
.afterimage-control i::before,.afterimage-control i::after{content:"";position:absolute;left:50%;top:50%;border-radius:50%;transform:translate(-50%,-50%)}
.afterimage-control i::before{width:5px;height:5px;background:var(--sun);box-shadow:0 0 11px var(--sun)}
.afterimage-control i::after{width:19px;height:19px;border:1px solid currentColor;opacity:.42}
.afterimage-control span{display:grid;gap:2px}.afterimage-control b{font-size:8px;letter-spacing:.16em;text-transform:uppercase}.afterimage-control small{font:italic 13px/1.1 'Newsreader',serif;color:#c5cad9}
.afterimage-control:hover,.afterimage-control:focus-visible{background:#f6e7bd;color:#172039;border-color:#f6e7bd}
.afterimage-control:hover small,.afterimage-control:focus-visible small{color:#4d5365}
.afterimage-control[aria-pressed="true"]{background:#0b1130;color:var(--sun);border-color:var(--sun)}
.afterimage-control[aria-pressed="true"] i::after{animation:memory-ring 1.8s ease-out infinite}
.dawn-stage.late-dawn .afterimage-control:not([aria-pressed="true"]){color:#172039;border-color:rgba(23,32,57,.46);background:rgba(255,240,201,.9);box-shadow:0 12px 35px rgba(23,32,57,.16)}
.dawn-stage.late-dawn .afterimage-control:not([aria-pressed="true"]) small{color:#50566a}

.memory-line{position:absolute;z-index:12;left:50%;top:43%;width:min(940px,88vw);margin:0;text-align:center;transform:translate(-50%,-46%);opacity:0;pointer-events:none;font:300 clamp(2.7rem,6vw,6.3rem)/.88 'Newsreader',serif;letter-spacing:-.045em;color:#f7f1df;text-shadow:0 3px 26px rgba(2,4,16,.5);transition:opacity .7s,transform .8s cubic-bezier(.16,1,.3,1)}
.memory-line em{color:var(--sun);font-weight:250}.memory-line span{display:block;margin-top:26px;font:700 9px/1.5 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#d6d9e5}
.dawn-stage.memory-on::after{background:radial-gradient(ellipse at 50% 88%,rgba(53,67,119,.24),transparent 52%),rgba(5,8,26,.5);box-shadow:inset 0 0 220px rgba(2,4,16,.72);transition:background .7s,box-shadow .7s}
.dawn-stage.memory-on .stage-closing,.dawn-stage.memory-on .threshold-callout,.dawn-stage.memory-on .farewell{opacity:0;pointer-events:none}
.dawn-stage.memory-on .memory-line{opacity:1;transform:translate(-50%,-50%)}
.dawn-stage.memory-on .room-light.is-off{z-index:22;opacity:.92;filter:none}
.dawn-stage.memory-on .room-light.is-off::before{opacity:.1;transform:translate(-50%,6px) scaleY(.7)}
.dawn-stage.memory-on .room-light.is-off>i{background:var(--c);opacity:.9;filter:saturate(1.15) brightness(1.08);box-shadow:0 0 8px var(--c),0 0 25px color-mix(in srgb,var(--c),transparent 10%),0 0 58px color-mix(in srgb,var(--c),transparent 42%);animation:afterimage-arrive .72s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--seq)*22ms)}
.dawn-stage.memory-on .phase-track{color:#c4c9d9}.dawn-stage.memory-on .phase-track span{border-left-color:rgba(255,255,255,.2)}.dawn-stage.memory-on .phase-track i{background:rgba(255,255,255,.25)}

.sun::after{content:"";position:absolute;inset:-12%;border:1px solid rgba(255,244,210,calc(.08 + var(--p)*.24));border-radius:50%;box-shadow:0 0 0 6vmin rgba(255,232,171,calc(var(--p)*.035)),0 0 0 13vmin rgba(255,215,151,calc(var(--p)*.018));pointer-events:none}
.stage-closing.show::before{content:"";position:absolute;left:50%;top:50%;z-index:-1;width:115vw;height:1px;background:linear-gradient(90deg,transparent,rgba(255,244,215,.72),transparent);transform:translate(-50%,-50%) scaleX(0);animation:horizon-flare 1.4s cubic-bezier(.16,1,.3,1) .12s forwards;mix-blend-mode:screen}

@keyframes chrome-in{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:none}}
@keyframes afterimage-arrive{from{opacity:0;transform:translate(-50%,-50%) scale(.15)}to{opacity:.9;transform:translate(-50%,-50%) scale(1)}}
@keyframes memory-ring{0%{opacity:.6;transform:translate(-50%,-50%) scale(.55)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.55)}}
@keyframes horizon-flare{to{transform:translate(-50%,-50%) scaleX(1)}}

@media(max-width:600px){
  .afterimage-control{right:20px;bottom:58px;min-width:178px;min-height:46px;padding:6px 10px 6px 8px}.afterimage-control i{width:29px;height:29px;flex-basis:29px}.afterimage-control small{font-size:12px}.memory-line{top:42%;font-size:2.8rem}.memory-line span{margin-top:19px;font-size:7px}.stage-closing.show::before{width:140vw}
  .hero h1{letter-spacing:-.062em}.threshold h2,.sunrise h2,.plain-index h2{letter-spacing:-.05em}
}
@media(prefers-reduced-motion:reduce){
  .wordmark,.site-header nav,.sun-readout{animation:none}.afterimage-control,.memory-line{transition:none}.afterimage-control[aria-pressed="true"] i::after,.dawn-stage.memory-on .room-light.is-off>i,.stage-closing.show::before{animation:none}.stage-closing.show::before{transform:translate(-50%,-50%) scaleX(1)}
}
