.astra-intro{position:fixed;inset:0;z-index:1000;overflow:hidden;display:grid;place-items:center;pointer-events:none;background:#020813;animation:astra-fade-out 4s both}
.astra-atmosphere{position:absolute;inset:-10%;background:radial-gradient(ellipse at 30% 50%,#007fff30,transparent 45%),radial-gradient(ellipse at 73% 55%,#ff880019,transparent 40%),radial-gradient(ellipse at 50% 100%,#0d386c,transparent 58%);animation:astra-atmosphere-rise 4s both}
.astra-atmosphere::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#c6eaff99 1px,transparent 2px);background-size:87px 79px;opacity:.22;transform:perspective(550px) rotateX(64deg) scale(1.5);transform-origin:50% 100%;mask-image:linear-gradient(transparent 45%,#000)}
.astra-beam{position:absolute;top:-40%;left:50%;width:17vw;height:160%;transform-origin:50% 0;opacity:0;background:linear-gradient(90deg,transparent,#43bfff35,transparent);animation:astra-spotlight 4s ease both}
.astra-beam-blue{margin-left:-30%;--beam-from:-38deg;--beam-to:32deg}
.astra-beam-orange{margin-left:23%;background:linear-gradient(90deg,transparent,#ffc16a29,transparent);--beam-from:38deg;--beam-to:-32deg;animation-delay:.2s}
.astra-production{position:relative;display:flex;flex-direction:column;align-items:center;width:min(85vw,740px);transform:perspective(1000px);animation:astra-camera 4s both}
.astra-emblem{position:relative;width:clamp(180px,33vw,400px);height:clamp(150px,27.5vw,333px);max-height:42vh}
.astra-assembly{position:absolute;inset:0;width:100%;height:100%;overflow:visible;animation:astra-assembly-hide 1.9s both;filter:drop-shadow(0 0 15px #138bd759)}
.astra-piece{transform-box:fill-box;transform-origin:center;animation:astra-assemble 1.4s cubic-bezier(.16,.7,.16,1) both}
.astra-piece-left{--piece-x:-95vw;--piece-y:35vh;--piece-angle:-48deg}
.astra-piece-right{--piece-x:90vw;--piece-y:-45vh;--piece-angle:55deg;animation-delay:.1s}
.astra-piece-cross{--piece-x:80vw;--piece-y:30vh;--piece-angle:-30deg;animation-delay:.25s}
.astra-finished-mark{position:absolute;inset:0;overflow:hidden;clip-path:inset(0 0 22% 0);animation:astra-mark-reveal 1.9s both}
.astra-finished-mark img{position:absolute;width:124%;height:auto;max-width:none;left:-12%;top:-4%;filter:drop-shadow(0 0 12px #119ff144)}
.astra-glint{position:absolute;left:52%;top:6%;width:2px;height:2px;background:#fff;box-shadow:0 0 30px 8px #71d9ff;animation:astra-glint 4s both}
.astra-glint::before,.astra-glint::after{content:"";position:absolute;left:50%;top:50%;width:150px;height:1px;background:linear-gradient(90deg,transparent,#d8faff,transparent);transform:translate(-50%,-50%)}
.astra-glint::after{transform:translate(-50%,-50%) rotate(90deg);width:75px}
.astra-cinema-name{display:flex;align-items:baseline;margin-top:16px;line-height:1;white-space:nowrap;animation:astra-type-in 4s both}
.astra-cinema-name strong{font-family:Arial,sans-serif;font-size:clamp(39px,7.5vw,92px);font-weight:900;letter-spacing:-.06em;color:#f4faff;text-shadow:0 2px 1px #052149,0 0 28px #3bafff35}
.astra-cinema-name span{font-family:Arial,sans-serif;font-size:clamp(35px,6.8vw,84px);font-weight:300;letter-spacing:-.055em;color:#f3b66b}
.astra-cinema-network{margin-top:12px;padding-left:.6em;color:#d8ecff;font:600 clamp(10px,1.5vw,18px)/1.2 Arial,sans-serif;letter-spacing:.65em;animation:astra-network-in 4s both}
.astra-cinema-rule{width:min(54vw,360px);height:1px;margin-top:26px;background:linear-gradient(90deg,transparent,#2599ef,#ffc172,transparent);animation:astra-network-in 4s both}
.astra-cinema-caption{margin-top:18px;text-align:center;color:#b6c6db;font:600 clamp(8px,1vw,12px)/1.5 Arial,sans-serif;letter-spacing:.28em;animation:astra-caption-in 4s both}
.astra-exit-sweep{position:absolute;inset:-30%;background:linear-gradient(110deg,transparent 40%,#087ddd99 47%,#e4f8ff 49.5%,#ffba55 50%,#ec7c1933 53%,transparent 60%);transform:translateX(-120%);animation:astra-exit 4s both}
@keyframes astra-assemble{0%{opacity:0;transform:translate(var(--piece-x),var(--piece-y)) rotate(var(--piece-angle)) scale(1.7)}20%{opacity:1}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes astra-assembly-hide{0%,80%{opacity:1}100%{opacity:0}}
@keyframes astra-mark-reveal{0%,78%{opacity:0}100%{opacity:1}}
@keyframes astra-camera{0%{transform:scale(.85)}65%,82%{transform:scale(1)}100%{transform:scale(1.035)}}
@keyframes astra-type-in{0%,36%{opacity:0;transform:translateY(20px);filter:blur(8px)}50%,100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes astra-network-in{0%,46%{opacity:0;transform:scaleX(.75)}62%,100%{opacity:1;transform:scaleX(1)}}
@keyframes astra-caption-in{0%,60%{opacity:0;transform:translateY(8px)}73%,100%{opacity:1;transform:translateY(0)}}
@keyframes astra-glint{0%,39%,64%,100%{opacity:0;transform:scale(.1)}45%{opacity:1;transform:scale(1)}55%{opacity:.5;transform:scale(.6)}}
@keyframes astra-spotlight{0%{opacity:0;transform:rotate(var(--beam-from))}25%,78%{opacity:1}100%{opacity:0;transform:rotate(var(--beam-to))}}
@keyframes astra-atmosphere-rise{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes astra-exit{0%,83%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
@keyframes astra-fade-out{0%,92%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
@media(max-height:500px){.astra-production{transform:scale(.72)}.astra-emblem{width:150px;height:125px}.astra-cinema-name{margin-top:5px}.astra-cinema-name strong{font-size:36px}.astra-cinema-name span{font-size:33px}.astra-cinema-rule{margin-top:12px}.astra-cinema-caption{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.astra-intro{display:none}}
