/* A coordinated scroll sequence. Product scene/SVG transforms stay independent. */
.js:not(.motion-ready) .reveal{opacity:1;transform:none}
.motion-section{position:relative;isolation:isolate}
.motion-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1;border-radius:inherit}
.motion-atmosphere::before{content:"";position:absolute;inset:-20% -5%;background:radial-gradient(ellipse at 28% 54%,#8dbeff1c,transparent 48%),radial-gradient(ellipse at 78% 45%,#c6a7f323,transparent 44%);transform:translate3d(var(--atmo-x,0px),var(--atmo-y,0px),0);opacity:.9}
.local-ai-section .motion-atmosphere::before{background:radial-gradient(ellipse at 75% 45%,#468cf636,transparent 48%),radial-gradient(ellipse at 28% 60%,#8079e917,transparent 50%)}
.js.motion-ready .reveal{opacity:0;transform:translate3d(0,48px,0);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.js.motion-ready .reveal.in-view{opacity:1;transform:none}
.js.motion-ready .reveal>h2{clip-path:inset(0 0 100% 0);translate:0 24px;transition:clip-path 1s cubic-bezier(.16,1,.3,1),translate 1s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--reveal-delay,0ms) + 60ms)}
.js.motion-ready .reveal.in-view>h2{clip-path:inset(-5% -5% -8% -5%);translate:0 0}
.js.motion-ready .motion-scene,.js.motion-ready .motion-scene.reveal.in-view{transform:perspective(1400px) translate3d(0,var(--scene-y,0px),0) rotateX(var(--scene-pitch,0deg)) rotateY(var(--scene-yaw,0deg)) scale(var(--scene-scale,1));transform-origin:50% 50%;transition:opacity .9s cubic-bezier(.2,.7,.2,1);backface-visibility:hidden}
.motion-ready .motion-scene.motion-live{will-change:transform}
.motion-ready .hero-art{z-index:1}
.motion-ready .hero .desktop-demo{animation:motion-hero-stage 1.55s cubic-bezier(.16,1,.3,1) both;animation-delay:.12s}
.motion-ready .hero-copy>*{animation:motion-hero-copy 1.05s cubic-bezier(.16,1,.3,1) both}
.motion-ready .hero-copy>*:nth-child(2){animation-delay:.1s}.motion-ready .hero-copy>*:nth-child(3){animation-delay:.22s}.motion-ready .hero-copy>*:nth-child(4){animation-delay:.34s}.motion-ready .hero-copy>*:nth-child(5){animation-delay:.46s}
.motion-ready .hero .floating-note{animation:motion-hero-note 1.2s cubic-bezier(.16,1,.3,1) .6s both}
.motion-ready .hero .note-bottom{animation-delay:.8s}
.motion-hero-halo{position:absolute;inset:-3% -3% 0;z-index:0;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse at 42% 40%,#7fb3ff25,transparent 58%),radial-gradient(ellipse at 73% 62%,#bd9ef42b,transparent 60%)}
.motion-hero-halo::before,.motion-hero-halo::after{content:"";position:absolute;inset:2%;border:1px solid #a8c5fc66;border-radius:50%;transform:rotate(-22deg) scaleX(1.08);animation:motion-orbit 14s ease-in-out infinite alternate;animation-play-state:paused}
.motion-hero-halo::after{inset:8% -3%;border-color:#baa7e63d;transform:rotate(24deg) scaleY(.85);animation-direction:alternate-reverse;animation-duration:18s}
.motion-live>.motion-hero-halo::before,.motion-live>.motion-hero-halo::after{animation-play-state:running}
.motion-ready .hero-art .note-top{translate:0 calc(var(--layer-drift,0px) * -.8)}
.motion-ready .hero-art .note-bottom{translate:0 calc(var(--layer-drift,0px) * .75)}
.motion-ready .hero-art .tile-front{translate:0 calc(var(--layer-drift,0px) * -.4)}
.motion-ready .assistant-visual .assistant-float{translate:0 calc(var(--layer-drift,0px) * -1.1)}
.motion-ready .context-showcase .context-file{translate:0 calc(var(--layer-drift,0px) * -.45)}
.motion-ready .native-stats-art .native-image-button:first-child{translate:0 calc(var(--layer-drift,0px) * -1)}
.motion-ready .native-stats-art .native-image-button:nth-child(2){translate:0 calc(var(--layer-drift,0px) * .65)}
.motion-card{position:relative;isolation:isolate;overflow:hidden;overflow:clip}
.js.motion-ready .motion-card.reveal{transform:perspective(1400px) translate3d(var(--reveal-x,0px),80px,0) rotateX(6deg) rotateZ(var(--reveal-roll,0deg)) scale(.94);transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform 1.25s cubic-bezier(.16,1,.3,1),box-shadow .35s;transition-delay:var(--reveal-delay,0ms)}
.js.motion-ready .motion-card.reveal.in-view{transform:perspective(1400px) translate3d(0,0,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1)}
.motion-light{position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--light-x,50%) var(--light-y,30%),#6aa8ff25,transparent 70%);box-shadow:inset 0 0 0 1px #a6c5fc50;transition:opacity .35s}
.motion-hover>.motion-light{opacity:1}
.motion-card.in-view::after{content:"";position:absolute;z-index:4;pointer-events:none;width:36%;height:150%;inset:-25% auto auto -60%;transform:skewX(-18deg);background:linear-gradient(90deg,transparent,#ffffff65,transparent);opacity:0}
.motion-ready .motion-card.in-view::after{animation:motion-card-sheen 1.45s cubic-bezier(.2,.7,.2,1) calc(var(--reveal-delay,0ms) + .3s) both}
.motion-progress{position:fixed;z-index:80;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#076dff,#7cadff 65%,#ba8feb);transform-origin:left;scale:0 1;pointer-events:none;box-shadow:0 1px 9px #448aff40}
.motion-ready .section-intro .eyebrow,.motion-ready .custom-copy>.eyebrow,.motion-ready .assistant-copy>.eyebrow{position:relative}
.motion-ready .section-intro.in-view .eyebrow::after,.motion-ready .custom-copy.in-view>.eyebrow::after,.motion-ready .assistant-copy.in-view>.eyebrow::after{content:"";position:absolute;inset-inline-start:0;bottom:-12px;width:46px;height:2px;border-radius:2px;background:linear-gradient(90deg,#438aff,#c4a4f1);animation:motion-line 1.1s cubic-bezier(.16,1,.3,1) both;transform-origin:left}
.motion-ready .section-intro.centered .eyebrow::after{inset-inline-start:calc(50% - 23px)}
.motion-ready .button.primary{transition:box-shadow .3s,transform .3s,background .3s}
.motion-ready .button.primary:hover{box-shadow:0 12px 32px -10px #0672ff85;transform:translateY(-3px)}
.motion-ready .button.primary svg{transition:translate .3s}.motion-ready .button.primary:hover svg{translate:3px 0}
.motion-suspended .motion-hero-halo::before,.motion-suspended .motion-hero-halo::after,.motion-suspended .motion-card::after{animation-play-state:paused!important}
@keyframes motion-hero-stage{from{opacity:0;transform:perspective(1200px) translate3d(30px,95px,0) rotateX(14deg) rotateY(-12deg) rotateZ(-5deg) scale(.84)}to{opacity:1;transform:perspective(1200px) translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(-2deg) scale(1)}}
@keyframes motion-hero-copy{from{opacity:0;transform:translate3d(0,35px,0);clip-path:inset(0 0 85% 0)}to{opacity:1;transform:none;clip-path:inset(-8% -8% -15% -8%)}}
@keyframes motion-hero-note{from{opacity:0;transform:translate3d(0,35px,0) scale(.9)}to{opacity:1;transform:translateZ(0) scale(1)}}
@keyframes motion-orbit{from{rotate:-8deg;scale:.96}to{rotate:8deg;scale:1.04}}
@keyframes motion-card-sheen{0%{left:-60%;opacity:0}20%{opacity:1}80%{opacity:.6}100%{left:125%;opacity:0}}
@keyframes motion-line{from{opacity:0;scale:0 1}to{opacity:1;scale:1 1}}
@media(hover:hover) and (pointer:fine){.js.motion-ready .motion-card.motion-hover{transition:opacity .85s,transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .35s;transition-delay:0s;box-shadow:0 28px 65px -34px #456da655}.js.motion-ready .motion-card.motion-hover:focus-within{--tilt-x:0deg!important;--tilt-y:0deg!important}}
@media(max-width:899px){.motion-progress{height:2px}.js.motion-ready .reveal{transform:translate3d(0,28px,0)}.js.motion-ready .motion-card.reveal{transform:translate3d(0,42px,0) scale(.97)}.js.motion-ready .motion-card.reveal.in-view{transform:none}.motion-light{display:none}.motion-hero-halo::before,.motion-hero-halo::after{animation:none}.motion-ready .hero .desktop-demo{animation-name:motion-mobile-stage}.motion-ready .native-stats-art .native-image-button,.motion-ready .assistant-visual .assistant-float,.motion-ready .context-showcase .context-file{translate:none}}
@keyframes motion-mobile-stage{from{opacity:0;transform:translate3d(0,48px,0) rotate(-4deg) scale(.91)}to{opacity:1;transform:translateZ(0) rotate(-2deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.js .reveal,.js.motion-ready .reveal,.js .motion-scene{opacity:1!important;transform:none!important;transition:none!important}.js .reveal>h2{clip-path:none!important;translate:none!important}.motion-progress,.motion-light,.motion-hero-halo,.motion-card::after{display:none!important}.motion-atmosphere::before{transform:none}.hero-copy>*,.hero .desktop-demo,.hero .floating-note{animation:none!important}.motion-ready .native-stats-art .native-image-button,.motion-ready .assistant-visual .assistant-float,.motion-ready .context-showcase .context-file{translate:none}.button.primary{transition:none!important}}

.motion-ready .context-showcase .context-wheel{rotate:var(--wheel-roll,0deg);scale:var(--wheel-scale,1)}
@media(min-width:1100px) and (min-height:800px){.motion-ready .motion-pin{min-height:calc(var(--pin-height,576px) + var(--pin-distance,240px));position:relative}.motion-ready .motion-pin>.context-showcase{position:sticky;top:112px}}
@media(prefers-reduced-motion:reduce){.context-showcase .context-wheel{rotate:none!important;scale:none!important}.motion-pin{min-height:0!important}.motion-pin>.context-showcase{position:relative!important;top:auto!important}}

.section[id]{scroll-margin-top:110px}
@media(max-width:899px){.motion-hero-halo{inset:0;overflow:hidden}}
