/* Transform + opacity timelines stay on the compositor at native refresh rates. */
.map-flight-plane{width:100%;will-change:transform;backface-visibility:hidden;transform:translateZ(0)}
.map-shell.is-flying .map-svg{filter:none;transition:none}
.map-shell.is-flying .map-pin .halo{animation-play-state:paused}
.hero:has(.is-flying) .aurora{animation-play-state:paused}
.film-map-caption{background:none;animation:none;gap:5px;text-shadow:0 2px 20px #fff7e7}
.film-map-caption strong{font:italic 48px/1.2 var(--serif);margin-top:4px}
.film-map-caption small{font-size:13px;color:#984d33;letter-spacing:.07em;margin-top:7px}
.destination-dialog.cinema-scene{animation:none}
.cinema-scene .scene-camera{position:absolute;inset:0;transform-origin:var(--landmark-focus,50% 50%);transform:scale(var(--arrival-scale,1.18));animation:landmark-breathe 28s ease-in-out infinite alternate;will-change:transform;backface-visibility:hidden}
.cinema-scene .scene-photo{animation:none!important;object-position:var(--photo-focus,50% 50%);filter:sepia(.05) saturate(.94) brightness(1.06);transition:opacity 2.6s ease-in-out;backface-visibility:hidden}
.cinema-scene .scene-photo.is-active{filter:sepia(.05) saturate(.94) brightness(1.06)}
.cinema-scene .scene-title,.cinema-scene .scene-panel,.cinema-scene .scene-topbar,.cinema-scene .scene-controls{animation:none}
.cinema-scene .scene-panel{backdrop-filter:none;background:linear-gradient(140deg,#fffaf1f7,#fff7e8f2)}
.cinema-scene .scene-title .eyebrow,.cinema-scene .city-back{backdrop-filter:none}
.cinema-scene.motion-paused .scene-camera{animation-play-state:paused}
.cinema-flight{overflow:hidden!important}
.cinema-flight .scene-camera{animation:none!important}
.cinema-flight .scene-light,.cinema-flight .scene-dust{animation-play-state:paused;opacity:0}
.cinema-flight .scene-backdrop,.cinema-flight .scene-shade,.cinema-flight .scene-title,.cinema-flight .scene-panel,.cinema-flight .scene-topbar,.cinema-flight .scene-controls{opacity:0}
.cinema-flight .scene-layout{pointer-events:none}
.flight-skip{position:fixed;z-index:30;top:20px;right:4.5vw;min-height:44px;padding:10px 19px;background:#fff9efe8;border:1px solid #d9ad8f70;color:#ad3c2b;border-radius:30px;font-size:13px}
.flight-skip:hover{background:#fffdf8;border-color:#c3322a}
.flight-skip:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@keyframes landmark-breathe{from{transform:translate3d(0,0,0) scale(var(--arrival-scale,1.18)) rotate(0deg)}to{transform:translate3d(-.35%,-.3%,0) scale(calc(var(--arrival-scale,1.18) + .035)) rotate(0deg)}}
@media(max-width:820px){.cinema-scene .scene-camera{transform-origin:var(--landmark-mobile,50% 50%)}.cinema-scene .scene-photo{object-position:var(--photo-mobile,50% 50%)}.flight-landmark{left:23px;bottom:15dvh;max-width:calc(100vw - 46px)}.flight-landmark>strong{font-size:34px}.flight-landmark>span{font-size:11px;letter-spacing:.13em}.flight-skip{right:18px;top:15px;font-size:12px}.flight-matte{height:9dvh}}
@media(prefers-reduced-motion:reduce){.cinema-scene .scene-camera{animation:none!important;transform:none!important}.flight-atmosphere,.flight-skip{display:none!important}.cinema-flight .scene-backdrop,.cinema-flight .scene-shade,.cinema-flight .scene-title,.cinema-flight .scene-panel,.cinema-flight .scene-topbar,.cinema-flight .scene-controls{opacity:1}}

/* Real camera footage is played once after the optical transport, then its exact final
   frame becomes the lasting photographic backdrop. Never loop a fly-in. */
.scene-video{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;object-position:var(--photo-focus,50% 50%);opacity:0;pointer-events:none;filter:sepia(.1) saturate(.86) contrast(1.035) brightness(1.035)}
.scene-video.is-active{opacity:1}
@media(max-width:820px){.scene-video{object-position:var(--photo-mobile,50% 50%)}}
@media(prefers-reduced-motion:reduce){.scene-video{display:none!important}}

@media(max-width:820px){.cinema-scene .scene-title{position:relative;isolation:isolate}.cinema-scene .scene-title:before{content:"";position:absolute;inset:-25px -18px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 40% 50%,#fff6e8e0 25%,#fff6e887 58%,#fff6e800 78%)}}
