/* DRAFT v96: original arrival -> poster docking -> video -> original overview.
   Motion is driven by the existing arrival controller, not a second RAF loop. */
#js05x-index .intro-film {
  position:relative; z-index:10; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:16px;
  padding:36px 24px; color:#f0ece0; text-align:center;
}
#js05x-index .intro-film-heading p {margin:0 0 8px;color:#edc136;font:600 12px/1.4 Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
#js05x-index .intro-film-heading h2 {margin:0;font-family:Georgia,serif;font-size:clamp(26px,3vw,40px);font-weight:500;line-height:1.1;letter-spacing:-.035em}
#js05x-index .intro-film-frame {width:min(900px,100%,calc((100svh - 250px) * 16 / 9));aspect-ratio:16/9;position:relative;flex:none;border-radius:14px;overflow:hidden;background:#07151a;box-shadow:0 0 0 1px #edc13640,0 24px 70px #0005}
#js05x-index .intro-film-player {display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain}
#js05x-index .intro-film-actions {display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
#js05x-index .intro-film-transcript {font:12px/1.5 Arial,sans-serif;color:#bcb9bf;text-underline-offset:4px}
#js05x-index .intro-film-continue {border:0;background:none;padding:10px 16px;color:#edc136;cursor:pointer;font:600 13px/1.4 Arial,sans-serif}
#js05x-index .intro-film-continue span {display:inline-block;margin-left:8px}
#js05x-index .intro-film :is(button,a,video):focus-visible {outline:2px solid #edc136;outline-offset:5px}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .arrival-scroll {height:600svh}
/* A focused native player must not scroll the hidden overflow of the stage. */
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .arrival-stage {overflow:clip}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .intro-film {position:absolute;inset:0;opacity:var(--intro-film-visible,0);pointer-events:none;will-change:opacity}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .intro-film:not([inert]) {pointer-events:auto}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .arrival-new {opacity:var(--intro-scene-visible,0);pointer-events:none}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .arrival-new:not([inert]) {pointer-events:auto}
html.arrival-enhanced:not(.arrival-static):not(.arrival-fallback) #js05x-index .arrival-matrix {opacity:var(--intro-code-visible,1)}
#js05x-index .arrival-flight img {filter:drop-shadow(0 14px 14px rgba(0,0,0,calc(var(--intro-flight-shadow,0) * .3)))}
html:is(:not(.js),.arrival-static,.arrival-fallback) #js05x-index .intro-film {opacity:1;position:relative;inset:auto;min-height:0;margin:48px auto 28px;max-width:1120px}
html:is(:not(.js),.arrival-static,.arrival-fallback) #js05x-index .intro-film-frame {width:min(900px,100%)}
html:is(:not(.js),.arrival-static,.arrival-fallback) #js05x-index .intro-film-continue {display:none}
html:is(:not(.js),.arrival-static,.arrival-fallback) #js05x-index .arrival-scene-title {position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;margin:0 auto .85rem!important;max-width:100%!important}
@media(max-width:680px) {
  #js05x-index .intro-film {padding:64px 18px;gap:22px}
  #js05x-index .intro-film-frame {width:100%;border-radius:10px}
  #js05x-index .intro-film-heading h2 {font-size:30px;max-width:310px}
  #js05x-index .intro-film-actions {flex-direction:column;gap:14px}
  #js05x-index .intro-film-actions .button {min-height:48px}
}
@media(max-height:560px) and (min-width:640px) {
  #js05x-index .intro-film {gap:7px;padding:12px 16px}
  #js05x-index .intro-film-heading p {display:none}
  #js05x-index .intro-film-heading h2 {font-size:22px}
  #js05x-index .intro-film-frame {width:min(650px,calc((100svh - 140px) * 16 / 9))}
  #js05x-index .intro-film-actions .button {padding:9px 15px;font-size:12px;min-height:38px}
  #js05x-index .intro-film-continue {padding:3px 10px;font-size:11px}
}
