/* Starlight Intelligence Field — live type over layered digital motion. */
html.arrival-open{overflow:hidden}
.arrival{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:auto;isolation:isolate;background:#030c19;color:#edf6fc;color-scheme:dark;outline:none}
.arrival:not([open]){display:none}.arrival::backdrop{background:#030c19}
#arrival-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-3;opacity:1}
.arrival-cinematic{position:absolute;inset:0;z-index:-4;overflow:hidden;pointer-events:none;opacity:0;background:#030c19;transition:opacity 1.2s ease}
.arrival-cinematic video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:saturate(.45) hue-rotate(-8deg);transform:translate3d(var(--cinematic-pan-x,0px),var(--cinematic-pan-y,0px),0) scale(1.08);will-change:transform}
.arrival.film-ready .arrival-cinematic{opacity:.21}
.arrival-cinematic::after{content:'';position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 48%,#8de5ff80,transparent 66%);pointer-events:none}
.arrival.film-entering .arrival-cinematic::after{animation:field-bloom 1.2s ease both}
.arrival-atmosphere{position:absolute;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 50% 48%,#030c19ed 0%,#030c19ce 21%,#030c1940 45%,transparent 66%),linear-gradient(0deg,#030c1950,transparent 16%,transparent 84%,#030c19a0)}
.arrival-shell{position:relative;display:grid;grid-template-rows:auto 1fr;min-height:100dvh;width:min(1840px,100%);margin:auto;padding:30px clamp(26px,4.3vw,78px);box-sizing:border-box}
.arrival-top{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:20px}.arrival .arrival-brand{width:166px;flex-shrink:0;mix-blend-mode:screen;opacity:.94}.arrival .arrival-brand .logo-dark{display:block!important}
.arrival-system{display:block;text-align:right;font:400 10px/1.6 'Courier New',monospace;letter-spacing:1.7px;color:#98c2d2}.arrival-system>span{display:block;font-size:8px;letter-spacing:1.25px;color:#638896;margin-top:6px}
.arrival-content{position:relative;align-self:center;width:100%;max-width:1140px;margin-inline:auto;padding:30px 0 85px;text-align:center}
.arrival-eyebrow{color:#93bacb;font:400 10px/1.8 Arial,Helvetica,sans-serif;letter-spacing:1.9px;margin:0 0 29px}.arrival-eyebrow span{white-space:nowrap}.arrival-eyebrow i{font-style:normal;padding:0 8px;color:#407085}
.arrival #arrival-title{font-family:Arial,Helvetica,sans-serif;font-size:clamp(44px,4.8vw,76px);font-weight:400;line-height:1.12;letter-spacing:-2.7px;color:#edf6fc;text-shadow:0 2px 32px #030c19cc;margin:0;outline:none;text-wrap:balance}
.arrival #arrival-title>span{display:block}.arrival #arrival-title em{font:inherit;font-style:normal;color:#9be6f3;background:linear-gradient(100deg,#a5f0f8,#97bde7);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:inherit}
#arrival-description{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.arrival-enter{position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-height:54px;margin-top:38px;padding:15px 21px 15px 24px;border:1px solid #74cce675;border-radius:3px;background:linear-gradient(110deg,#082435bc,#08182bb0);box-shadow:inset 0 1px #c2efff10,0 0 28px #4fc9ee08;color:#d9f0f9;font:400 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.7px;cursor:pointer;backdrop-filter:blur(12px);transition:background .25s,border-color .25s,box-shadow .25s}
.arrival-enter::before,.arrival-enter::after{position:absolute;content:'';width:7px;height:7px;pointer-events:none;border-color:#b1f0ff;border-style:solid;transition:width .25s,height .25s}.arrival-enter::before{top:-1px;left:-1px;border-width:1px 0 0 1px}.arrival-enter::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.arrival-enter:hover{border-color:#b4ebff;background:linear-gradient(110deg,#11435ce0,#12253de0);box-shadow:0 0 30px #6dceec20}.arrival-enter:hover::before,.arrival-enter:hover::after{width:14px;height:14px}.arrival-enter:disabled{cursor:default}
.arrival-arrow{font-size:23px;line-height:1;color:#b7eaff;transition:transform .25s}.arrival-enter:hover .arrival-arrow{transform:translateX(3px)}.arrival button:focus-visible{outline:2px solid #b2eaff;outline-offset:6px}
.arrival.is-present .arrival-content{animation:arrival-reveal 1.15s ease-out both}.arrival.is-departing{pointer-events:none;animation:arrival-leave 1.25s ease-in both}.arrival.is-departing .arrival-content{animation:arrival-content-leave .8s ease-in both}
.arrival.is-still .arrival-content,.arrival.is-still.is-departing{animation:none}.arrival.is-still .arrival-cinematic video{transform:none;will-change:auto}
html.arrival-open .network-packet,html.arrival-open .core-orbit{animation-play-state:paused}
#replay-arrival{background:transparent;border:0;border-bottom:1px solid #55719466;color:var(--muted);font:inherit;font-size:10px;min-height:44px;padding:8px 0;cursor:pointer}#replay-arrival[hidden]{display:none}#replay-arrival:hover{color:var(--accent);border-color:var(--accent)}
@keyframes field-bloom{0%{opacity:0}45%{opacity:.8}100%{opacity:0}}
@keyframes arrival-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes arrival-leave{0%,55%{opacity:1}100%{opacity:0}}
@keyframes arrival-content-leave{to{opacity:0;transform:scale(1.035);filter:blur(3px)}}
@media(max-width:1050px) and (min-width:701px){.arrival-shell{padding:24px 4%}.arrival-eyebrow{font-size:9px;letter-spacing:1.2px}.arrival #arrival-title{font-size:clamp(42px,5.7vw,59px);letter-spacing:-2.1px}.arrival .arrival-brand{width:148px}.arrival-system{font-size:9px}}
@media(max-width:700px){.arrival-shell{padding:max(22px,env(safe-area-inset-top)) 24px max(30px,env(safe-area-inset-bottom));grid-template-rows:66px 1fr}.arrival-top{min-height:0;align-items:start}.arrival .arrival-brand{width:133px}.arrival-system{font-size:7px;letter-spacing:.6px;line-height:1.7;padding-top:7px}.arrival-system>span{font-size:6px;letter-spacing:.25px;margin-top:3px}.arrival-content{padding:0 0 45px}.arrival-eyebrow{font-size:9px;letter-spacing:.6px;margin-bottom:24px;line-height:1.9}.arrival-eyebrow i{padding:0 4px}.arrival #arrival-title{font-size:clamp(35px,9.5vw,58px);line-height:1.13;letter-spacing:-1.6px}.arrival-enter{min-height:52px;margin-top:30px;padding:13px 21px;gap:32px;font-size:12px;letter-spacing:.35px}.arrival-atmosphere{background:radial-gradient(ellipse at 50% 48%,#030c19f0 0%,#030c19d0 26%,#030c1930 57%,transparent 80%)}.arrival.film-ready .arrival-cinematic{opacity:.16}}
@media(max-width:360px){.arrival-shell{padding-inline:19px}.arrival-eyebrow{font-size:8px;letter-spacing:.25px}.arrival #arrival-title{font-size:35px}.arrival .arrival-brand{width:122px}.arrival-system{font-size:6px;letter-spacing:.3px}.arrival-system>span{font-size:5px}}
@media(max-height:600px) and (min-width:701px){.arrival-shell{padding-block:18px}.arrival .arrival-brand{width:130px}.arrival-top{min-height:48px}.arrival-content{padding:12px 0 24px}.arrival-eyebrow{margin-bottom:16px;font-size:9px}.arrival #arrival-title{font-size:clamp(36px,4.6vw,54px);line-height:1.08;letter-spacing:-1.7px}.arrival-enter{margin-top:24px;min-height:48px}}
@media(prefers-reduced-motion:reduce){.arrival *,.arrival.is-departing{animation:none!important;transition:none!important}.arrival-cinematic video{transform:none;will-change:auto}}

/* A restrained light volume responds to the camera while type stays steady. */
.arrival-atmosphere::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--field-focus-x,50%) var(--field-focus-y,48%),#3093c614 0%,transparent 58%);pointer-events:none}
.arrival.film-entering .arrival-cinematic{opacity:.48;transition:opacity .9s ease-in}
.arrival.film-entering .arrival-atmosphere::before{animation:field-entry-light 1.25s ease-in both}
@keyframes field-entry-light{0%{opacity:.3}65%{opacity:1;background-color:#77c9f70d}100%{opacity:.2}}
@media(prefers-reduced-motion:reduce){.arrival-atmosphere::before{display:none}}
