/* Shared motion and the company photo archive. */
.motion-toggle{position:fixed;right:18px;bottom:18px;z-index:85;border:1px solid #ffffff40;border-radius:30px;background:#182123ed;color:#fff;padding:11px 17px;font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;box-shadow:0 4px 24px #0003;cursor:pointer;backdrop-filter:blur(12px)}
.motion-toggle:focus-visible,.moments button:focus-visible,.photo-dialog button:focus-visible{outline:3px solid #ed654e;outline-offset:5px}
.read-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform-origin:left;transform:scaleX(0);background:#e3432f;z-index:101;pointer-events:none}
.marquee-track.motion-track,.focus-strip.motion-track,.ribbon.motion-track{display:flex!important;gap:0!important;width:max-content!important;max-width:none;animation:jsb-flow 40s linear infinite!important;will-change:transform}
.motion-loop{display:flex;align-items:center;flex-shrink:0;justify-content:space-around;min-width:100vw;gap:70px;padding:0 35px}
.marquee-track .motion-loop span{font-size:19px!important;color:#b4bbb7!important;letter-spacing:.16em;white-space:nowrap}
.focus-strip.motion-track{animation-duration:32s!important;animation-direction:reverse!important;padding:25px 0!important}
.focus-strip .motion-loop span{font-size:16px!important;white-space:nowrap;letter-spacing:.2em}
.ribbon.motion-track{transform:none!important;animation-duration:45s!important;padding:25px 0;overflow:visible!important}
.motion-shell{overflow:hidden;width:100%;background:#d8422c}.motion-shell .ribbon{background:transparent;margin:0!important}
.motion-track:hover,.motion-track:focus-within{animation-play-state:paused!important}
@keyframes jsb-flow{to{transform:translateX(-50%)}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important;scroll-behavior:auto!important}
.hero .hero-card.motion-tilt{transform:perspective(1400px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))!important;transition:transform .25s ease-out!important;will-change:transform}
.moments{padding:110px 0 75px;overflow:hidden;background:linear-gradient(145deg,#26313770,transparent 75%)}
.moments .sec-head{align-items:end}.moments h2{font-size:clamp(35px,4.2vw,62px);line-height:1.16}.moments .sec-head p{font-size:17px;line-height:1.8;color:#b7c0bd}.moment-controls{display:flex;align-items:center;gap:23px;margin-top:25px}.moment-controls button,.photo-controls button{border:1px solid #ffffff50;background:transparent;color:#fff;border-radius:50%;width:48px;height:48px;font-size:24px;cursor:pointer}.moment-count{font-size:14px;font-variant-numeric:tabular-nums;letter-spacing:.12em}.moment-rail{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;padding:12px 2px 24px;overscroll-behavior-x:contain}.moment-rail::-webkit-scrollbar{display:none}.moment-rail.dragging{cursor:grabbing;scroll-snap-type:none}.moment-card{flex:0 0 57%;scroll-snap-align:start;min-width:0}.moment-open{position:relative;display:block;width:100%;padding:0;border:0;background:#202929;cursor:zoom-in;overflow:hidden;aspect-ratio:1.5}.moment-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}.moment-open:hover img{transform:scale(1.035)}.moment-zoom{position:absolute;right:20px;bottom:20px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f5f0e8;color:#222;font-size:24px}.moment-copy{padding:24px 0}.moment-copy small{color:#ec7059;letter-spacing:.15em;font-size:12px}.moment-copy h3{font-size:26px;line-height:1.4;margin:12px 0;word-break:keep-all}.moment-copy p{font-size:16px;line-height:1.85;color:#bfc6c2;max-width:540px;word-break:keep-all}.moment-source{display:block;margin-top:18px;font-size:12px;color:#87918c}.moment-progress{height:2px;background:#ffffff20}.moment-progress i{display:block;width:20%;height:100%;background:#ed5b40;transition:transform .15s}.moment-hint{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.08em;color:#a1aaa5;margin-top:15px}
.photo-dialog{position:fixed;inset:0;margin:auto;border:1px solid #ffffff30;background:#172023;color:#fff;width:min(1060px,92vw);max-height:92dvh;padding:18px;overflow:auto}.photo-dialog::backdrop{background:#04090bed;backdrop-filter:blur(10px)}.photo-close{position:sticky;top:0;float:right;z-index:2;background:#f2eee7;border:0;padding:12px 19px;color:#172023;border-radius:25px;cursor:pointer;font-size:15px}.photo-large{display:block;width:100%;height:min(54vh,600px);object-fit:contain;margin:10px auto 25px}.photo-info{padding:0 20px 18px;max-width:780px}.photo-info h2{font-size:clamp(23px,3vw,36px);line-height:1.35;margin:10px 0}.photo-info p{font-size:16px;line-height:1.8;color:#c7cfca}.photo-info small{font-size:12px;color:#c89c8a}.photo-controls{display:flex;gap:12px;justify-content:flex-end;padding:0 18px 10px}
@media(max-width:700px){.motion-loop{gap:38px;padding:0 19px}.marquee-track .motion-loop span{font-size:15px!important}.focus-strip .motion-loop span{font-size:14px!important}.moments{padding:65px 0}.moments .sec-head{display:block}.moment-card{flex-basis:88%}.moment-rail{gap:18px}.moment-copy h3{font-size:22px}.moment-copy p{font-size:15px}.motion-toggle{right:10px;bottom:10px;padding:10px 12px;font-size:12px}.photo-dialog{padding:10px;width:94vw}.photo-info{padding:0 10px 15px}.photo-large{height:40vh}.photo-controls{justify-content:center}}
@media(prefers-reduced-motion:reduce){.motion-track{animation:none!important}.hero .hero-card.motion-tilt{transform:none!important}.moment-open img{transition:none}.moment-rail{scroll-behavior:auto}}

body.motion-paused .hero-inner{animation:none!important;opacity:1!important;transform:none!important}
.moments>.container{width:min(1400px,calc(100% - 100px));margin:0 auto}
@media(max-width:700px){.moments>.container{width:calc(100% - 40px)}}
body.motion-paused .marquee-track.motion-track,body.motion-paused .focus-strip.motion-track,body.motion-paused .ribbon.motion-track{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){.marquee-track.motion-track,.focus-strip.motion-track,.ribbon.motion-track{animation:none!important}}
/* Continuous airport information ribbon and optional photo playback. */
.airport-marquee-track.motion-track{display:flex;width:max-content;animation:jsb-flow 28s linear infinite!important;will-change:transform}
.airport-marquee-track .motion-loop{gap:60px;min-width:100vw;padding:0 30px}
.airport-marquee-track .motion-loop span{white-space:nowrap}
body.motion-paused .airport-marquee-track.motion-track{animation-play-state:paused!important}
.airport-marquee-track.motion-track:hover{animation-play-state:paused!important}
.moment-controls{flex-wrap:wrap;gap:16px}.moment-controls .moment-autoplay{width:auto;height:42px;border-radius:24px;font-size:13px;letter-spacing:0;padding:0 16px;color:#d9ddd7}
@media(prefers-reduced-motion:reduce){.airport-marquee-track.motion-track{animation:none!important}}

.airport-marquee-track.motion-track{gap:0}

/* On touch screens the control stays in the footer, never over the content. */
@media(max-width:850px){.motion-toggle{position:static;display:block;width:max-content;max-width:100%;margin:24px 0 0;min-height:44px;box-shadow:none}.compare-bar{bottom:12px}}
/* Edge flight path: no hit target, no sound, no extra scrolling. */
.flight-progress{--flight-ratio:0;position:fixed;right:9px;top:50%;transform:translateY(-50%);width:24px;height:clamp(150px,32vh,280px);z-index:40;pointer-events:none;color:#fa6959;filter:drop-shadow(0 1px 1px #0008)}
.flight-path{position:absolute;top:8px;bottom:28px;left:11px;width:2px;background:repeating-linear-gradient(to bottom,#8e9897 0 3px,transparent 3px 8px)}
.flight-fill{display:block;width:100%;height:100%;background:#f26653;transform:scaleY(var(--flight-ratio));transform-origin:top}
.flight-plane{position:absolute;width:22px;height:22px;left:1px;top:calc(8px + (100% - 36px)*var(--flight-ratio));transform:translateY(-50%) rotate(180deg);background:#1c2525;border-radius:50%;padding:2px;box-shadow:0 0 0 2px #e9e5dc33}
.flight-plane svg{display:block;width:100%;height:100%}.flight-end{position:absolute;left:8px;width:8px;height:8px;border:1px solid #a9b5af;border-radius:50%;background:#1c2525}.flight-start{top:4px}.flight-arrival{bottom:24px}.flight-percent{position:absolute;bottom:0;left:0;width:24px;text-align:center;font:10px/1.2 monospace;letter-spacing:0;color:#f47b6b}.flight-progress.arrived .flight-arrival{background:#f26653;border-color:#f26653}
body.motion-paused .flight-plane{display:none}
@media(max-width:850px){.flight-progress{right:3px;width:12px;height:140px}.flight-path{left:5px;bottom:8px}.flight-plane{width:12px;height:12px;left:0;padding:0;top:calc(8px + (100% - 16px)*var(--flight-ratio));box-shadow:none}.flight-end{width:5px;height:5px;left:3.5px}.flight-start{top:5.5px}.flight-arrival{bottom:5.5px}.flight-percent{display:none}}
@media(prefers-reduced-motion:reduce){.flight-plane{display:none}}
@media print{.flight-progress{display:none!important}}
.travel-site .hero-copy h1 em:after{display:none}
