
.film-launch-link{display:inline-flex;align-items:center;gap:.72rem;min-height:48px;padding:.78rem 1rem;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:#fff;background:rgba(5,15,25,.22);backdrop-filter:blur(14px);font:600 13px/1.1 "DM Sans",Arial,sans-serif;letter-spacing:.035em;transition:transform .35s ease,background .35s ease,border-color .35s ease}
.film-launch-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.65)}
.film-launch-link .play{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#f4f5f3;color:#07111c;font-size:10px;padding-left:2px}
.film-launch{position:relative;background:#050b12;color:#f5f6f3;padding:clamp(34px,6vw,88px) 5.5%;overflow:hidden;border-top:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}
.film-launch:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 72% 42%,rgba(62,167,209,.14),transparent 32%),radial-gradient(circle at 30% 70%,rgba(196,158,87,.12),transparent 30%);pointer-events:none}
.film-launch-frame{position:relative;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);max-width:1440px;margin:0 auto;border:1px solid rgba(255,255,255,.13);background:rgba(9,19,29,.7);box-shadow:0 38px 100px rgba(0,0,0,.34);overflow:hidden}
.film-launch-visual{min-height:clamp(360px,48vw,690px);position:relative;background:linear-gradient(90deg,rgba(2,8,14,.05),rgba(2,8,14,.52)),url("/assets/ad-astra-runway-horizon-poster.jpg") center/cover no-repeat;isolation:isolate}
.film-launch-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(2,8,14,.72));z-index:1}
.film-launch-scan{position:absolute;inset:8%;border:1px solid rgba(143,215,244,.18);z-index:2}
.film-launch-scan:before,.film-launch-scan:after{content:"";position:absolute;background:rgba(226,207,155,.58)}
.film-launch-scan:before{width:88px;height:1px;left:-1px;top:-1px}.film-launch-scan:after{width:1px;height:88px;left:-1px;top:-1px}
.film-launch-badge{position:absolute;left:clamp(22px,3vw,42px);bottom:clamp(20px,3vw,36px);z-index:3;font:600 11px/1 "DM Sans",Arial,sans-serif;letter-spacing:.18em;color:#e2cf9b}
.film-launch-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(34px,5vw,72px);position:relative;z-index:2}
.film-launch-copy .eyebrow{display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.18em;color:#9ddcf4;margin-bottom:24px}.film-launch-copy .line{width:36px;height:1px;background:#9ddcf4}
.film-launch-copy h2{font:600 clamp(42px,4.7vw,76px)/.98 "Manrope",Arial,sans-serif;letter-spacing:-.055em;margin:0 0 28px}.film-launch-copy h2 em{font-weight:400;color:#e2cf9b}
.film-launch-copy>p:not(.eyebrow){color:rgba(245,246,243,.73);font-size:clamp(16px,1.25vw,19px);line-height:1.7;max-width:34rem}
.film-launch-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:34px}
.film-primary{display:inline-flex;align-items:center;gap:12px;padding:15px 20px;background:#f4f5f3;color:#07111c;border-radius:2px;font:650 13px/1 "DM Sans",Arial,sans-serif;letter-spacing:.04em;transition:transform .3s ease,background .3s ease}.film-primary:hover{transform:translateY(-2px);background:#fff}
.film-meta{font:600 10px/1.2 "DM Sans",Arial,sans-serif;letter-spacing:.16em;color:rgba(245,246,243,.48)}
.film-launch-frame{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.22,.61,.36,1)}.film-launch-frame.is-visible{opacity:1;transform:none}
@media(max-width:900px){.film-launch-frame{grid-template-columns:1fr}.film-launch-visual{min-height:58vw}.film-launch-copy{padding:34px 24px 40px}.film-launch-copy h2{font-size:clamp(40px,10vw,62px)}}
@media(max-width:560px){.film-launch{padding:24px 16px}.film-launch-visual{min-height:72vw}.film-launch-link{width:100%;justify-content:center}.film-meta{width:100%}}
@media(prefers-reduced-motion:reduce){.film-launch-frame{opacity:1;transform:none;transition:none}.film-launch-link,.film-primary{transition:none}}
