/* Shared launch film: keep the host typography and hero styling intact. */
.launch-film-card{appearance:none;display:flex;align-items:center;width:100%;padding:12px;gap:16px;border:1px solid rgba(244,245,247,.28);border-radius:12px;background:rgba(18,23,29,.58);color:#f4f5f7;text-align:left;font:inherit;cursor:pointer;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:background-color .18s ease,border-color .18s ease}
.launch-film-card:hover{background:rgba(18,23,29,.76);border-color:rgba(244,245,247,.55)}
.launch-film-card:focus-visible{outline:2px solid #f4f5f7;outline-offset:5px}
.launch-film-card__thumbnail{position:relative;flex:0 0 136px;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#14181d}
.launch-film-card__thumbnail img,.launch-film-card__thumbnail video{display:block;width:100%;height:100%;object-fit:cover}
.launch-film-card__thumbnail::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}
.launch-film-card__play{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center}
.launch-film-card__play::before{content:"";position:absolute;width:38px;height:38px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(13,17,22,.68)}
.launch-film-card__play svg{position:relative;width:23px;height:23px;margin-left:1px}
.launch-film-card__copy{display:flex;flex-direction:column;gap:11px;min-width:0}
.launch-film-card__title{font-family:Archivo,Arial,sans-serif;font-size:1.05rem;font-weight:500;line-height:1.25;letter-spacing:-.025em;text-wrap:balance}
.launch-film-card__cta{display:flex;align-items:center;gap:5px;font-family:var(--mono,"IBM Plex Mono",monospace);font-size:.66rem;line-height:1.4;letter-spacing:.02em;color:rgba(244,245,247,.82);white-space:nowrap}
.launch-film-card__cta svg{flex:0 0 19px;width:19px;height:19px;margin-left:3px}
.launch-film-dialog{box-sizing:border-box;width:min(1100px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;padding:0;overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#111519;color:#f4f5f7;font-family:Archivo,Arial,sans-serif;box-shadow:0 28px 90px rgba(0,0,0,.5)}
.launch-film-dialog::backdrop{background:rgba(4,7,11,.82);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.launch-film-dialog__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px 18px 26px}
.launch-film-dialog__header h2{margin:0;color:#f4f5f7;font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:500;letter-spacing:-.035em;line-height:1.2}
.launch-film-dialog__close{appearance:none;flex:0 0 42px;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:transparent;color:#f4f5f7;cursor:pointer}
.launch-film-dialog__close:hover{background:rgba(255,255,255,.1)}
.launch-film-dialog__close svg{width:22px;height:22px}
.launch-film-dialog__close:focus-visible,.launch-film-dialog__footer a:focus-visible{outline:2px solid #f4f5f7;outline-offset:4px}
.launch-film-dialog__video{width:100%;aspect-ratio:16/9;background:#000}
.launch-film-dialog__video iframe{display:block;width:100%;height:100%;border:0}
.launch-film-dialog__footer{display:flex;justify-content:flex-end;padding:16px 26px 20px}
.launch-film-dialog__footer a{display:inline-flex;align-items:center;gap:8px;color:#f4f5f7;text-decoration:none;font-family:var(--mono,"IBM Plex Mono",monospace);font-size:.72rem;line-height:1.4}
.launch-film-dialog__footer a:hover{text-decoration:underline;text-underline-offset:4px}
.launch-film-dialog__footer svg{width:18px;height:18px}
/* The dock is anchored to the hero, outside its scrolling content layer. */
.hero-launch{flex-direction:column;overflow:clip}
.hero-launch .hero-inner{flex:1}
.launch-film-dock{position:absolute;right:clamp(20px,1.65vw,32px);bottom:24px;width:380px;z-index:3;animation:launch-film-arrive .9s cubic-bezier(.22,1,.36,1) 1.1s both}
.launch-film-card__thumbnail video{position:absolute;inset:0;pointer-events:none}
@keyframes launch-film-arrive{from{opacity:0;transform:translate3d(72px,20px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(max-width:1359px){
  .launch-film-dock{position:relative;right:auto;bottom:auto;align-self:flex-end;width:380px;max-width:calc(100% - 40px);margin:0 24px 24px 20px}
  .hero-launch .hero-inner{padding-bottom:1.75rem;transform:none!important}
}
@media(max-width:860px){
  .hero-launch .hero-inner{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto}
  .hero-launch .hero-backing{grid-column:1;grid-row:4}
}
@media(max-width:520px){
  .launch-film-dock{width:350px;margin:0 20px 20px;animation-duration:.75s}
  .launch-film-card{gap:12px;padding:10px}
  .launch-film-card__thumbnail{flex-basis:112px}
  .launch-film-card__copy{gap:8px}
  .launch-film-card__title{font-size:1rem}
  .launch-film-card__cta{font-size:.62rem;gap:3px}
  .launch-film-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:10px}
  .launch-film-dialog__header{gap:12px;padding:14px 12px 14px 16px}
  .launch-film-dialog__footer{padding:14px 16px 18px}
}
@media(max-width:360px){.launch-film-card__thumbnail{flex-basis:96px}.launch-film-card__cta{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.launch-film-dock{animation:none}.launch-film-card{transition:none}}
