/* Shared spacing: menu-to-scene and scene-to-copy. */
.hero .hero-scene{margin-top:48px;margin-bottom:32px}
.hero .motion-toggle{display:inline-block;margin-bottom:20px;min-height:34px}
@media(max-width:640px){
 .hero .brand img{width:120px!important;height:auto!important}
 .hero .hero-scene{margin-top:48px;margin-bottom:32px}
 /* Show the existing channels directly, without covering the hero title. */
 body .floating-btns,body.consult-visible .floating-btns,body .floating-btns.is-open{top:auto;bottom:max(10px,env(safe-area-inset-bottom));right:10px;left:auto;transform:none;flex-direction:row;align-items:center;gap:6px;padding:5px;background:#ffffffed;border:1px solid #d5e5dc;border-radius:40px}
 body .floating-btns:not(.is-open)>a,body .floating-btns>a{display:flex;width:36px;height:36px;border-width:2px;font-size:20px}
 body .floating-btns .eval-float{width:40px;height:40px}
 body .floating-btns .channel-toggle{display:none}
 .bottom-cta{bottom:calc(70px + env(safe-area-inset-bottom))}
 .footer{padding-bottom:190px}
}
/* Requested common autoplay and vertical channels. */
.hero .motion-toggle{display:none!important}
@media(max-width:640px){body .floating-btns,body .floating-btns.is-open,body.consult-visible .floating-btns{flex-direction:column;right:8px;bottom:145px;gap:7px;padding:5px}.bottom-cta{bottom:calc(12px + env(safe-area-inset-bottom))}}
.hero-scene.is-active .scene-plane{animation:plane-journey 9s ease-in-out infinite!important}
.hero-scene.is-active .scene-book-left{animation:book-drift-left 6.8s ease-in-out infinite!important}
.hero-scene.is-active .scene-book-right{animation:book-drift-right 8s ease-in-out -2s infinite!important}
.hero-scene.is-active .scene-flag{animation:flag-sway 6s ease-in-out infinite!important}
.hero-scene.is-active .flag-cloth{animation:flag-wave 3.8s ease-in-out infinite alternate!important}
.motion-ready .motion-reveal{transition:opacity .75s ease var(--reveal-delay,0ms),transform .85s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)!important}
.hero-scene:not(.is-active) .scene-item,.hero-scene:not(.is-active) .flag-cloth{animation-play-state:paused!important}

/* Keep entrance timings identical at desktop and mobile widths. */
.video-motion-ready .motion-line{transition:opacity .65s ease,transform .85s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--line-index,0)*140ms + 100ms)}
.video-motion-ready :not(.video-entered)>.motion-line{transform:translateY(26px)}
.video-motion-ready .video-card.motion-reveal:not(.is-visible){transform:translateY(38px) scale(.975)}
.video-cta::after{animation-duration:6.8s}
.hero-scene.is-active .hero-people{animation:people-arrive 1s cubic-bezier(.16,1,.3,1) both!important}
