/* Homepage-only cinema. Shared layout and menu remain independent. */
/* The transparent header must not intercept the upper-left playback control. */
.sa-home #header { pointer-events:none !important; }
.sa-home #header .hud-menu-button { pointer-events:auto !important; }
.sa-hero {
 position:relative; isolation:isolate; display:flex; align-items:center; justify-content:center;
 min-height:max(780px,100svh); padding:106px 100px 138px; overflow:hidden; background:#020711; color:#dff7ff;
}
.sa-panorama { position:absolute; inset:28px 0 64px; z-index:-2; pointer-events:none; }
.sa-scene-image,.sa-panorama-canvas { position:absolute; width:100%; height:100%; inset:0; display:block; }
.sa-scene-image { object-fit:cover; clip-path:polygon(0 2%,12.5% 7%,25% 10%,37.5% 12%,50% 13%,62.5% 12%,75% 10%,87.5% 7%,100% 2%,100% 98%,87.5% 93%,75% 90%,62.5% 88%,50% 87%,37.5% 88%,25% 90%,12.5% 93%,0 98%); }
.sa-panorama-canvas { opacity:0; }
.sa-panorama.is-ready .sa-panorama-canvas { opacity:1; }
.sa-panorama.is-ready .sa-scene-image { visibility:hidden; }
.sa-screen-housing { position:absolute; inset:0; width:100%; height:100%; z-index:2; pointer-events:none; }
.sa-console {
 width:min(640px,100%); position:relative; padding:36px 38px; text-align:center;
 border:1px solid rgba(129,205,234,.24); border-radius:5px;
 background:linear-gradient(145deg,rgba(7,21,36,.93),rgba(2,10,22,.95));
 box-shadow:0 24px 90px rgba(0,0,0,.45),0 0 44px rgba(25,129,179,.06),inset 0 1px rgba(183,231,255,.05);
}
.sa-console::before { content:""; position:absolute; top:-1px; height:1px; width:28%; left:36%; background:linear-gradient(90deg,transparent,#87d9ee,transparent); }
.sa-brand-mark { display:block; position:relative; width:240px; max-width:72%; aspect-ratio:1.65; margin:0 auto 16px; overflow:hidden; }
.sa-brand-mark img { display:block; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:100%; height:auto; }
.sa-hero #sa-title { color:#edf9ff; margin:0; font-size:clamp(1.4rem,2.5vw,2rem); line-height:1.5; letter-spacing:.19em; font-weight:400; }
.sa-hero-slogan { color:#b6d4e5; margin:12px 0 0; font-size:.88rem; line-height:1.7; }
.sa-destinations { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:30px 0 0; }
.sa-destination {
 display:flex; position:relative; flex-direction:column; justify-content:center; min-width:0; min-height:68px; padding:12px 8px; overflow:hidden; text-decoration:none;
 border:1px solid rgba(107,184,215,.36); border-radius:2px; background:rgba(13,37,56,.55); color:#e4f6ff; transition:background .2s,border-color .2s,box-shadow .2s;
}
.sa-destination strong { color:inherit; font-size:.69rem; letter-spacing:.12em; text-transform:uppercase; font-weight:500; }
.sa-destination>span:not(.sa-glitch-copy),.sa-glitch-copy>span { color:#a4bfce; font-size:.57rem; line-height:1.6; margin-top:4px; }
.sa-destination .sa-glitch-copy {
 position:absolute; inset:-1px; display:flex; flex-direction:column; justify-content:center; margin:0; padding:12px 8px;
 pointer-events:none; opacity:0; border:1px solid currentColor; background:#143448; border-radius:2px;
}
.sa-glitch-copy--cyan { color:#59e9ff; text-shadow:-1px 0 #59e9ff; }
.sa-glitch-copy--red { color:#d57791; text-shadow:1px 0 #d57791; }
.sa-destination:hover,.sa-destination:focus-visible { color:#fff; border-color:#9de5fa; background:rgba(26,68,89,.8); box-shadow:0 0 16px rgba(56,176,217,.14); }
@media(hover:hover) {
 .sa-destination:hover { animation:sa-button-glitch .3s steps(1,end) 1; }
 .sa-destination:hover .sa-glitch-copy--cyan { animation:sa-glitch-cyan .3s steps(1,end) 1; }
 .sa-destination:hover .sa-glitch-copy--red { animation:sa-glitch-red .3s steps(1,end) 1; }
}
.sa-destination:focus-visible { animation:sa-button-glitch .3s steps(1,end) 1; }
.sa-destination:focus-visible .sa-glitch-copy--cyan { animation:sa-glitch-cyan .3s steps(1,end) 1; }
.sa-destination:focus-visible .sa-glitch-copy--red { animation:sa-glitch-red .3s steps(1,end) 1; }
@keyframes sa-button-glitch {
 0%,100% { transform:none; filter:none; }
 14%,55% { transform:translateX(1px); filter:drop-shadow(-1px 0 rgba(74,224,255,.5)) drop-shadow(1px 0 rgba(223,110,143,.35)); }
 30%,72% { transform:translateX(-1px); }
 43%,85% { transform:none; filter:none; }
}
@keyframes sa-glitch-cyan {
 0%,85%,100% { opacity:0; }
 10%,46% { opacity:.85; transform:translateX(-3px); clip-path:polygon(0 8%,100% 8%,100% 32%,0 32%,0 68%,100% 68%,100% 84%,0 84%); }
 28%,64% { opacity:.7; transform:translateX(2px); clip-path:polygon(0 36%,100% 36%,100% 59%,0 59%); }
}
@keyframes sa-glitch-red {
 0%,80%,100% { opacity:0; }
 18%,56% { opacity:.65; transform:translateX(3px); clip-path:polygon(0 18%,100% 18%,100% 44%,0 44%,0 82%,100% 82%,100% 100%,0 100%); }
 36%,68% { opacity:.5; transform:translateX(-2px); clip-path:polygon(0 48%,100% 48%,100% 74%,0 74%); }
}
.sa-hero button { appearance:none; text-transform:none; letter-spacing:normal; font-family:inherit; box-shadow:none; cursor:pointer; }
.sa-hero .sa-scene-arrow {
 position:absolute; top:50%; transform:translateY(-50%); width:52px; height:62px; padding:13px; border:1px solid rgba(135,213,239,.35); border-radius:3px; background:rgba(3,18,32,.7);
 color:#b3e8f6!important; line-height:1; transition:border-color .2s,background .2s;
}
.sa-scene-arrow--prev { left:clamp(18px,4vw,68px); }
.sa-scene-arrow--next { right:clamp(18px,4vw,68px); }
.sa-scene-arrow svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.3; }
.sa-hero .sa-scene-arrow:hover { background:#103347; border-color:#a4eaff; }
.sa-hero .sa-scene-arrow:disabled { opacity:.3; cursor:default; }
.sa-scene-controls { position:absolute; top:30px; left:32px; display:flex; }
.sa-scene-controls[hidden] { display:none; }
.sa-hero .sa-autoplay { display:grid; place-items:center; width:44px; height:44px; padding:11px; color:#a5cddd!important; border:1px solid #345567; border-radius:3px; background:rgba(6,20,34,.86); }
.sa-autoplay svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.5; }
.sa-play-icon,.sa-autoplay[aria-pressed="true"] .sa-pause-icon { display:none; }
.sa-autoplay[aria-pressed="true"] .sa-play-icon { display:block; }
.sa-hero .sa-autoplay:hover { border-color:#9de5fa; }
.sa-hero-scroll { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:17px; padding:12px; white-space:nowrap; color:#d2f5ff; text-decoration:none; font-size:.77rem; font-weight:500; text-transform:uppercase; letter-spacing:.2em; text-shadow:0 0 5px rgba(119,227,255,.55),0 0 16px rgba(67,194,240,.48); animation:sa-scroll-breathe 3.8s ease-in-out infinite; transition:color .2s; cursor:pointer; }
.sa-hero-scroll svg { width:18px; height:22px; fill:none; stroke:currentColor; stroke-width:1.2; }
.sa-hero-scroll svg { filter:drop-shadow(0 0 4px rgba(87,210,250,.45)); }
.sa-hero-scroll:hover,.sa-hero-scroll:focus-visible { color:#f3fdff; }
.sa-hero-scroll:hover span,.sa-hero-scroll:focus-visible span { text-shadow:0 0 6px rgba(179,245,255,.8),0 0 22px rgba(85,215,255,.8); }
@keyframes sa-scroll-breathe { 0%,100% { transform:translate(-50%,0); filter:drop-shadow(0 0 2px rgba(85,204,244,.1)); } 50% { transform:translate(-50%,4px); filter:drop-shadow(0 0 5px rgba(85,204,244,.45)); } }
.sa-hero a:focus-visible,.sa-hero button:focus-visible { outline:2px solid #cbf3ff; outline-offset:5px; }
.sa-visually-hidden { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:760px) {
 .sa-hero { min-height:max(780px,100svh); padding:100px 24px 180px; }
 .sa-console { width:min(520px,100%); padding:28px 24px; }
 .sa-brand-mark { width:205px; margin-bottom:12px; }
 .sa-hero #sa-title { font-size:clamp(1.2rem,4.2vw,1.7rem); letter-spacing:.13em; }
 .sa-hero-slogan { font-size:.76rem; }
 .sa-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }
 .sa-hero .sa-scene-arrow { top:auto; bottom:85px; transform:none; width:44px; height:44px; padding:10px; }
 .sa-scene-arrow--prev { left:24px; } .sa-scene-arrow--next { right:24px; }
 .sa-scene-controls { top:32px; left:24px; }
 .sa-hero-scroll { font-size:.66rem; gap:11px; letter-spacing:.14em; }
 .sa-panorama { inset:40px -30% 70px; }
}
@media(max-width:370px) { .sa-hero { padding-inline:16px; } .sa-console { padding-inline:17px; } }
@media(prefers-reduced-motion:reduce) { .sa-hero *,.sa-hero *::before,.sa-hero *::after { animation:none!important; transition:none!important; } }
/* Existing direct-file trailer presentation. */
.sa-trailer-fallback { margin:14px 0 0; font-size:.8rem; }
#one .sa-trailer-fallback a { color:#bcecff; }
body.sa-file-preview .trailer-panel iframe { display:none!important; }
