/* Decoded image layers animate only transform/opacity. Chrome stays available. */
.entrance[hidden]{display:none!important}
.entrance{position:fixed;left:var(--arrival-left,226px);right:0;top:var(--arrival-top,74px);bottom:var(--arrival-bottom,0px);z-index:60;overflow:hidden;isolation:isolate;pointer-events:none;opacity:0;background:transparent;color:#fff8eb;font-family:inherit;--arrival-duration:1800ms}
.arrivalSkyline{position:absolute;inset:0;overflow:hidden;background:transparent}
.arrivalImage{display:block;position:absolute;left:-1%;top:0;width:102%;height:100%;max-width:none;object-fit:cover;object-position:50% 48%;will-change:transform}
.arrivalSkyline:after{content:"";position:absolute;inset:0;background:linear-gradient(#071c2470 0,transparent 30%,transparent 66%,#071a22bf 100%)}
.arrivalHeading{position:absolute;z-index:2;left:24px;right:85px;top:22px;display:grid;gap:8px;text-shadow:0 2px 12px #07171d}
.arrivalHeading strong{font:500 clamp(26px,3vw,44px)/1.1 Georgia,serif;letter-spacing:.04em}

.arrivalHeading span{font-size:13px;letter-spacing:.1em;color:#fff9ed}
.arrivalSkip{position:absolute;z-index:5;right:16px;top:12px;min-height:44px;padding:10px 13px;border:1px solid #efdbad8c;border-radius:999px;background:#102019b3;color:#fff7e7;font:inherit;font-size:12px;cursor:pointer;pointer-events:auto}
.arrivalSkip:focus-visible{outline:3px solid #fff;outline-offset:3px}
.arrivalWelcome{position:absolute;z-index:3;inset:auto 0 0;text-align:center;padding:14px 12px 10px;pointer-events:none}
.arrivalWelcome small{display:flex;align-items:center;justify-content:center;gap:9px;font-size:11px;line-height:1.4;color:#fff0cd;text-shadow:0 1px 6px #07171d}
.arrivalLogo{display:inline-block;width:48px;height:48px;background:url("assets/see-me-reference.webp") -72.8px -312px/668.8px 376.4px no-repeat;border-radius:50%;mix-blend-mode:screen}
.arrivalDestination[hidden]{display:none!important}
.entrance.playing{animation:arrivalReveal var(--arrival-duration) linear both}
.entrance.playing .arrivalSkyline{animation:cityGlide var(--arrival-duration) ease-out both}
@keyframes arrivalReveal{0%{opacity:0}13%,78%{opacity:1}100%{opacity:0}}
@keyframes cityGlide{from{transform:scale(1)}to{transform:scale(1.035)}}

.entrancePending .navItem[aria-current=page]{box-shadow:inset 0 0 0 2px #8abda0}
.seeMeCredit{display:flex;justify-content:center;align-items:center;gap:5px;width:100%;font-size:10px;color:inherit}.seeMeCredit strong{font-size:10px;font-weight:500}
.visuallyHidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:1600px){.entrance{--arrival-left:248px}}
@media(max-width:1250px){.entrance{--arrival-left:192px}}
@media(max-width:1000px){.entrance{--arrival-left:84px;--arrival-top:69px}}
@media(max-width:600px){.entrance{--arrival-left:0px;--arrival-top:112px;--arrival-bottom:calc(78px + env(safe-area-inset-bottom))}.arrivalHeading{left:16px;top:22px}.arrivalHeading span{font-size:11px;letter-spacing:.07em}.arrivalSkip{font-size:11px;right:10px}.arrivalWelcome{padding-bottom:6px}}
@media(max-height:500px) and (orientation:landscape){.arrivalHeading{top:18px}.arrivalHeading span{font-size:11px}.arrivalLogo{width:36px;height:36px;background-size:501.6px 282.3px;background-position:-54.6px -234px}.arrivalWelcome{padding:0 12px 5px}}
.entrance.still{opacity:1}.entrance.still,.entrance.still *{animation:none!important}
[data-theme="dark"] .entrance{color:#fff8eb}
@media(prefers-reduced-motion:reduce){.entrance,.entrance *{animation:none!important;transition:none!important}}

.entrance[data-transition=sunrise] .arrivalSkyline:before,.entrance[data-transition=nightfall] .arrivalSkyline:before{content:"";position:absolute;z-index:1;right:18%;top:15%;width:65px;height:65px;border-radius:50%;pointer-events:none}.entrance[data-transition=sunrise] .arrivalSkyline:before{background:#fff2c4b3;box-shadow:0 0 70px 40px #e6b55b44;animation:arrivalSunrise var(--arrival-duration) ease-out both}.entrance[data-transition=nightfall] .arrivalSkyline:before{background:#e3eeff;box-shadow:0 0 40px 10px #bbd4ff33;animation:arrivalMoon var(--arrival-duration) ease-out both;mask:radial-gradient(circle at 70% 28%,transparent 42%,black 44%)}@keyframes arrivalSunrise{from{transform:translateY(45px);opacity:0}55%{opacity:.8}to{transform:translateY(0);opacity:.65}}@keyframes arrivalMoon{from{opacity:0}to{opacity:.7}}@media(prefers-reduced-motion:reduce){.entrance .arrivalSkyline:before{animation:none!important;display:none}}

/* One full-viewport scene, with a single shared camera push for both lighting layers. */
.entrance{left:0;top:0;bottom:0;background:transparent}.arrivalSkyline{will-change:transform}.arrivalImage{left:0;width:100%;object-position:50% 48%;will-change:auto}.arrivalHeading{top:max(26px,env(safe-area-inset-top));left:clamp(20px,5vw,80px);gap:12px}.arrivalHeading strong{font-size:clamp(30px,5vw,64px)}.arrivalWelcome{padding-bottom:max(20px,env(safe-area-inset-bottom))}.arrivalDestination{display:block;font:italic 400 clamp(20px,2.5vw,34px)/1.25 Georgia,serif;margin:0 20px 20px;text-shadow:0 2px 18px #092820}.arrivalSkip{top:max(18px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right))}.entrance[data-transition=sunrise] .arrivalSkyline:before,.entrance[data-transition=nightfall] .arrivalSkyline:before{animation:none}.entrance[data-transition=sunrise] .arrivalSkyline:before{opacity:.45}.entrance[data-transition=nightfall] .arrivalSkyline:before{opacity:.5}.entrance.still{opacity:1}@media(max-width:600px){.arrivalHeading{top:max(28px,env(safe-area-inset-top));left:20px;right:100px}.arrivalHeading strong{font-size:32px}.arrivalDestination{font-size:23px}.arrivalWelcome{padding-bottom:max(16px,env(safe-area-inset-bottom))}}

/* Only the selected theme is mounted. Reveal real illuminated pixels from that same night photograph. */
.arrivalLightBank{position:absolute;inset:0;pointer-events:none;background-image:var(--night-image);background-size:cover;background-position:50% 48%;mix-blend-mode:screen;filter:brightness(1.6) contrast(1.35) saturate(1.15);opacity:0;animation:cityLightsOn calc(var(--arrival-duration)*.2) ease-out forwards}.arrivalLightBank.bank0{clip-path:polygon(0 36%,34% 36%,36% 100%,0 100%);animation-delay:0ms}.arrivalLightBank.bank1{clip-path:polygon(34% 30%,68% 30%,69% 100%,36% 100%);animation-delay:80ms}.arrivalLightBank.bank2{clip-path:polygon(68% 36%,100% 36%,100% 100%,69% 100%);animation-delay:160ms}@keyframes cityLightsOn{from{opacity:0}to{opacity:.24}}.entrance[data-lighting=night] .arrivalImage{animation:nightSettle calc(var(--arrival-duration)*.32) ease-out both}@keyframes nightSettle{from{filter:brightness(.72)}to{filter:brightness(1)}}.entrance[data-transition=nightfall] .arrivalSkyline:before{display:none}.entrance[data-transition=sunrise] .arrivalSkyline:before{display:block;right:24%;top:20%;width:44px;height:44px;background:#fff2c9;border-radius:50%;box-shadow:0 0 50px 25px #e7b96555;opacity:.3;animation:morningSun calc(var(--arrival-duration)*.55) ease-out forwards;mask:none}.entrance[data-lighting=day] .arrivalImage{animation:morningBrightness calc(var(--arrival-duration)*.5) ease-out both}@keyframes morningSun{from{opacity:.15;transform:translateY(24px);box-shadow:0 0 24px 8px #f0c58122}to{opacity:.85;transform:translateY(0);box-shadow:0 0 80px 36px #f0c58166}}@keyframes morningBrightness{from{filter:brightness(.89) saturate(.94)}to{filter:brightness(1.04) saturate(1.02)}}.entrance.still .arrivalLightBank{opacity:.15}@media(prefers-reduced-motion:reduce){.arrivalLightBank{animation:none!important;opacity:.15}.entrance[data-lighting] .arrivalImage{animation:none!important;filter:none}.entrance[data-transition=sunrise] .arrivalSkyline:before{display:none}}
