/* Preserve the complete film frame, including its built-in logo and titles. */
#olympus-page .hero[data-hero-mode=video]{height:auto;min-height:0;aspect-ratio:auto;background:#f3fbff}
#olympus-page .hero[data-hero-mode=video] .hero-media{position:relative;inset:auto;aspect-ratio:16/9;width:100%;height:auto;overflow:hidden}
#olympus-page .hero[data-hero-mode=video] .hero-shade{height:100%;transition:opacity 1s ease}
.park-video-layer{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 1.1s ease;pointer-events:none;background:#153e4d}
.park-video-layer iframe{position:absolute;max-width:none;left:50%;top:50%;transform:translate(-50%,-50%);border:0;pointer-events:none}
.park-video-layer video{display:block;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}
.park-video-visible .park-video-layer{opacity:1}
/* Park and Top Secret open with video, never a timed still/text introduction. Keep its heading
   available to assistive technology without placing words over the film. */
#olympus-page:is([data-page=park],[data-page=secret]) .hero[data-hero-mode=video] .hero-image,
#olympus-page:is([data-page=park],[data-page=secret]) .hero[data-hero-mode=video] .hero-shade{display:none}
#olympus-page:is([data-page=park],[data-page=secret]) .hero[data-hero-mode=video] .hero-copy{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%);white-space:nowrap;padding:0!important;margin:0!important}
#olympus-page:is([data-page=park],[data-page=secret]) .hero[data-hero-mode=video] .park-video-layer{opacity:1;transition:none}
.park-video-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;min-height:48px;max-width:calc(100% - 32px);border-radius:99px;border:1px solid #ffffff80;background:#103d53df;color:#fff;font:inherit;font-size:14px;font-weight:650;padding:13px 21px;cursor:pointer;white-space:nowrap}
.park-video-start:focus-visible{outline:3px solid #ffe292;outline-offset:4px}
.park-video-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;color:#fff;font-size:13px;text-shadow:0 1px 6px #0008;pointer-events:none}
.park-video-start[hidden],.park-video-loading[hidden]{display:none!important}
#olympus-page .hero[data-hero-mode=video] .hero-copy{bottom:12%;transition:opacity .7s ease,transform .85s cubic-bezier(.2,.65,.25,1)}
#olympus-page .hero[data-hero-mode=video] .hero-action{display:none}
#olympus-page .park-video-intro-exit .hero-copy{opacity:0!important;transform:translateX(-38px);pointer-events:none}
#olympus-page .park-video-visible .hero-shade{opacity:0;pointer-events:none}
.park-video-control-trigger{position:absolute;inset:0;z-index:2;width:100%;height:100%;background:transparent;border:0;color:transparent;cursor:pointer}
.park-video-control-trigger:focus-visible{outline:3px solid #ffe292;outline-offset:-7px;border-radius:inherit}
.park-video-controls{position:absolute;left:18px;right:18px;bottom:14px;z-index:3;display:flex;align-items:center;gap:12px;min-height:44px;color:white;pointer-events:none}
.park-video-controls>*{pointer-events:auto}
.park-video-ticket-link{font-size:13px;font-weight:650;background:#103d538a;border:1px solid #ffffff65;backdrop-filter:blur(8px);color:white;padding:12px 19px;min-height:44px;border-radius:99px;text-decoration:none;display:inline-flex;align-items:center}
.park-video-status{font-size:11px;margin-left:auto;border-radius:99px;background:#103d537a;padding:5px 8px}
.park-video-status:empty{padding:0}
.park-video-toggle{width:44px;height:44px;flex-shrink:0;background:#103d537a;color:white;border:1px solid #ffffff80;backdrop-filter:blur(8px)}
@media(max-width:760px){
 #olympus-page .hero[data-hero-mode=video] .hero-copy{bottom:9%;width:86%;left:7%}
 #olympus-page .hero[data-hero-mode=video] h1{font-size:clamp(24px,6.8vw,34px);line-height:1.1}
 #olympus-page .hero[data-hero-mode=video] .hero-subline{font-size:clamp(12px,3.3vw,16px);line-height:1.3;margin-top:8px;letter-spacing:0}
 .park-video-controls{left:12px;right:12px;bottom:10px;gap:8px}
 .park-video-ticket-link{font-size:12px;padding-inline:15px}
}
@media(prefers-reduced-motion:reduce){.park-video-layer,.park-video-ticket-link,#olympus-page .hero-copy{transition:none}}
.park-video-sound span{display:grid;place-items:center}.park-video-sound svg{width:20px;height:20px;display:block}
