/* Scroll-linked transitions; native wheel, touch and keyboard scrolling stay intact. */
.scroll-motion-ready .cinematic-hero{--hero-progress:0;clip-path:none}
/* Keep the video in its original paint layer: clipping and promoted transforms
   can hide decoded video frames in the embedded Windows browser. */
.scroll-motion-ready .hero-film video{transform:none;will-change:auto;opacity:1}
.scroll-motion-ready .cinematic-hero .hero-copy{transform:translate3d(0,calc(var(--hero-progress)*-95px),0);opacity:calc(1 - var(--hero-progress)*.92);will-change:transform,opacity}
.scroll-motion-ready .cinematic-hero:after{display:none}
.scroll-motion-ready .cinematic-hero .hero-meta{opacity:calc(1 - var(--hero-progress)*.8)}
.scroll-motion-ready .cinematic-hero .hero-footer{transform:translate3d(0,calc(var(--hero-progress)*-18px),0);opacity:calc(1 - var(--hero-progress)*.55)}
.scroll-motion-ready .tour-intro .intro-arrow{transform:translate3d(calc((1 - var(--intro-progress,1))*-30px),0,0) rotate(calc((1 - var(--intro-progress,1))*-28deg));transform-origin:center}
.scroll-motion-ready .app-perspective{transform:translate3d(0,calc((1 - var(--tour-entry,1))*65px),0) scale(calc(.92 + var(--tour-entry,1)*.08));opacity:calc(.3 + var(--tour-entry,1)*.7);transform-origin:50% 75%}
.scroll-motion-ready .ownership{clip-path:inset(0 calc((1 - var(--ownership-entry,1))*3%) round calc((1 - var(--ownership-entry,1))*30px))}
.scroll-motion-ready .footer-word{transform:translate3d(calc((1 - var(--footer-entry,1))*-3vw),0,0);opacity:calc(.5 + var(--footer-entry,1)*.5)}
.scroll-motion-ready .motion-reveal{opacity:0;transform:translate3d(0,42px,0);filter:blur(5px);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform .85s cubic-bezier(.2,.7,.2,1),filter .85s ease;transition-delay:var(--reveal-delay,0ms)}
.scroll-motion-ready .motion-reveal.is-revealed{opacity:1;transform:translateZ(0);filter:blur(0)}
.scroll-motion-ready .tour-intro h2.motion-reveal{clip-path:inset(0 0 18%);transition:opacity 1s ease,transform 1s cubic-bezier(.16,1,.3,1),filter 1s ease,clip-path 1s cubic-bezier(.16,1,.3,1)}
.scroll-motion-ready .tour-intro h2.is-revealed{clip-path:inset(0)}
.scroll-motion-ready .crm-enter{animation:crm-scroll-enter .65s cubic-bezier(.16,1,.3,1) both}
@keyframes crm-scroll-enter{from{opacity:.25;transform:translate3d(18px,12px,0) scale(.985)}to{opacity:1;transform:translateZ(0) scale(1)}}
@media(max-width:750px){
 .scroll-motion-ready .cinematic-hero .hero-copy{transform:translate3d(0,calc(var(--hero-progress)*-40px),0);opacity:calc(1 - var(--hero-progress)*.55)}
 .scroll-motion-ready .motion-reveal{transform:translate3d(0,25px,0);filter:none}
 .scroll-motion-ready .motion-reveal.is-revealed{transform:translateZ(0)}
}
.motion-paused.scroll-motion-ready .motion-reveal{opacity:1;transform:none;filter:none;clip-path:none;transition:none}
.motion-paused.scroll-motion-ready .tour-intro h2.motion-reveal{clip-path:none}
.motion-paused.scroll-motion-ready .hero-film video,.motion-paused.scroll-motion-ready .hero-copy,.motion-paused.scroll-motion-ready .hero-footer,.motion-paused.scroll-motion-ready .intro-arrow,.motion-paused.scroll-motion-ready .app-perspective,.motion-paused.scroll-motion-ready .footer-word{transform:none;opacity:1}
.motion-paused.scroll-motion-ready .cinematic-hero,.motion-paused.scroll-motion-ready .ownership{clip-path:none}
.motion-paused.scroll-motion-ready .cinematic-hero:after{opacity:0}
.motion-paused.scroll-motion-ready .hero-meta{opacity:1}
@media(prefers-reduced-motion:reduce){
 .scroll-motion-ready .motion-reveal{opacity:1;transform:none;filter:none;clip-path:none;transition:none}
 .scroll-motion-ready .tour-intro h2.motion-reveal{clip-path:none}
 .scroll-motion-ready .hero-film video,.scroll-motion-ready .cinematic-hero .hero-copy,.scroll-motion-ready .hero-footer,.scroll-motion-ready .intro-arrow,.scroll-motion-ready .app-perspective,.scroll-motion-ready .footer-word{transform:none;opacity:1}
 .scroll-motion-ready .cinematic-hero,.scroll-motion-ready .ownership{clip-path:none}
 .scroll-motion-ready .cinematic-hero:after{opacity:0}
 .scroll-motion-ready .hero-meta{opacity:1}
 .scroll-motion-ready .crm-enter{animation:none}
}
