.film-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:calc(var(--film-presence,1)*var(--film-fallback-fade,1));transition:opacity .18s linear;--film-reveal:0}
.opening-loader[hidden]{display:none}
.opening-loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 48%,#1b3a4b 0%,#14263b 48%,#102031 100%);padding:24px;text-align:center}
.opening-loader__content{display:flex;flex-direction:column;align-items:center;gap:24px;width:min(100%,340px)}
.opening-loader img{width:240px;max-width:80vw;height:auto}
.opening-loader p{margin:0;font-size:clamp(18px,4vw,23px);font-weight:500;color:#eaf4f5}
.opening-loader p span{color:#2dd4d6}
.opening-loader button{min-height:48px;padding:12px 20px;border:1px solid #47707a;border-radius:99px;background:transparent;color:#d6e8ea;font:inherit;font-size:13px;cursor:pointer}
.opening-loader button:hover,.opening-loader button:focus-visible{border-color:#2dd4d6;background:#20424e;outline:2px solid #2dd4d6;outline-offset:4px}
.opening-loader__orbit{position:relative;width:70px;height:70px;margin:10px 0;border:1px solid #315762;border-radius:50%}
.opening-loader__orbit span,.opening-loader__orbit i{position:absolute;inset:-1px;border:2px solid transparent;border-top-color:#0db2c3;border-radius:50%;animation:opening-orbit 1.4s linear infinite}
.opening-loader__orbit i{inset:11px;border-top-color:#fb690e;animation-direction:reverse;animation-duration:1.9s}
@keyframes opening-orbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.opening-loader__orbit span,.opening-loader__orbit i{animation:none}}
.film-layer img,.film-layer video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 50%}
.film-layer video{opacity:0;transition:opacity .12s linear}
.film-layer video.is-visible{opacity:1}
.film-layer::after{content:'';position:absolute;inset:0;z-index:3;background:linear-gradient(90deg,rgba(12,28,46,.97) 0%,rgba(12,28,46,.83) 27%,rgba(12,28,46,.3) 61%,rgba(12,28,46,.2)),linear-gradient(0deg,rgba(12,28,46,.76),transparent 25%,transparent 78%,rgba(12,28,46,.55));opacity:calc(1 - var(--film-reveal)*.89)}
.has-film #world-canvas{opacity:calc(1 - var(--film-presence,1))}
.has-film .world-vignette{opacity:.42}
.has-film .grain{opacity:.08}
.has-film .copy{text-shadow:0 2px 25px rgba(4,14,27,.35)}
.has-film .scene--hero .orbit-caption,.has-film .scene--hero .core-label{display:none}
.has-film .scene--scale .stats-art{background:linear-gradient(135deg,rgba(16,31,48,.88),rgba(16,31,48,.65));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.has-film .mission-step{background:linear-gradient(120deg,rgba(20,38,59,.93),rgba(20,38,59,.84));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.has-film .header{background:linear-gradient(rgba(12,28,46,.92),rgba(12,28,46,.2),transparent)}
.has-film .journey-footer{background:linear-gradient(transparent,rgba(12,28,46,.92))}
.calm .film-layer video{display:none}
@media(max-width:700px){
 .film-layer img,.film-layer video{object-fit:contain;object-position:50% 62%}
 .film-layer::after{background:linear-gradient(180deg,rgba(12,28,46,.2),rgba(12,28,46,.25) 36%,rgba(12,28,46,.67) 75%,rgba(12,28,46,.75));opacity:calc(1 - var(--film-reveal))}
 .has-film .scene--scale .stats-art{background:rgba(16,31,48,.86);-webkit-backdrop-filter:none;backdrop-filter:none}
 .has-film .scene--mission .mission-step{-webkit-backdrop-filter:none;backdrop-filter:none}
 .has-film .scene--hero .hero-art{min-height:155px}
}
@media(prefers-reduced-motion:reduce){.film-layer,.film-layer video,.has-film #world-canvas{transition:none}.film-layer video{display:none}}
