@keyframes vam-gradient-drift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes vam-pack-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-11px) rotate(-3deg)}}
@keyframes vam-orbit-one{to{transform:rotate(342deg)}}
@keyframes vam-orbit-two{to{transform:rotate(395deg)}}
@keyframes vam-status-pulse{0%,100%{opacity:.55;text-shadow:0 0 0 rgba(117,228,174,0)}50%{opacity:1;text-shadow:0 0 14px rgba(117,228,174,.65)}}
@keyframes vam-grid-scan{0%{transform:translateY(-120%)}100%{transform:translateY(220%)}}
@keyframes vam-button-sheen{0%{transform:translateX(-180%) skewX(-18deg)}55%,100%{transform:translateX(260%) skewX(-18deg)}}
@keyframes vam-scene-glow{0%,100%{box-shadow:inset 0 0 0 1px rgba(194,124,255,.2)}50%{box-shadow:inset 0 0 0 1px rgba(194,124,255,.55),0 0 22px rgba(164,92,255,.12)}}
@keyframes vam-audience-scroll{to{transform:translate3d(-50%,0,0)}}

.vam-marquee{gap:0;padding:0;animation:vam-audience-scroll 28s linear infinite;will-change:transform}
.vam-marquee-group{display:flex;flex:0 0 auto;align-items:center;gap:38px;padding:25px 38px 25px 0;white-space:nowrap}
.vam-audience:hover .vam-marquee{animation-play-state:paused}

.vam-motion-capable .vam-hero-meta,.vam-motion-capable .vam-hero h1,.vam-motion-capable .vam-hero-intro,.vam-motion-capable .vam-studio{opacity:0;transform:translateY(24px)}
.vam-motion-capable.vam-motion-ready .vam-hero-meta,.vam-motion-capable.vam-motion-ready .vam-hero h1,.vam-motion-capable.vam-motion-ready .vam-hero-intro,.vam-motion-capable.vam-motion-ready .vam-studio{opacity:1;transform:translateY(0);transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1)}
.vam-motion-capable.vam-motion-ready .vam-hero h1{transition-delay:.08s;background-size:180% 180%;animation:vam-gradient-drift 9s ease-in-out infinite}
.vam-motion-capable.vam-motion-ready .vam-hero-intro{transition-delay:.18s}
.vam-motion-capable.vam-motion-ready .vam-studio{transition-delay:.3s}

.vam-motion-capable .vam-studio{--vam-tilt-x:0deg;--vam-tilt-y:0deg;--vam-light-x:50%;--vam-light-y:50%;position:relative;transform-style:preserve-3d;will-change:transform}
.vam-motion-capable.vam-motion-ready .vam-studio{transform:perspective(1400px) rotateX(var(--vam-tilt-x)) rotateY(var(--vam-tilt-y));transition:opacity .85s .3s cubic-bezier(.2,.75,.2,1),transform .3s ease-out,box-shadow .3s ease-out}
.vam-motion-capable .vam-studio:after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;background:radial-gradient(circle at var(--vam-light-x) var(--vam-light-y),rgba(255,255,255,.075),transparent 30%);mix-blend-mode:screen;opacity:.8;transition:background-position .2s ease}
.vam-motion-capable .vam-pack{animation:vam-pack-float 4.8s ease-in-out infinite}
.vam-motion-capable .vam-orbit--one{animation:vam-orbit-one 18s linear infinite}
.vam-motion-capable .vam-orbit--two{animation:vam-orbit-two 26s linear infinite reverse}
.vam-motion-capable .vam-studio-bar>span{animation:vam-status-pulse 2.4s ease-in-out infinite}
.vam-motion-capable .vam-product-shot:before{content:"";position:absolute;z-index:5;left:0;right:0;height:34%;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(244,103,197,.045),transparent);animation:vam-grid-scan 6s linear infinite}
.vam-motion-capable .vam-scene.is-current{animation:vam-scene-glow 2.8s ease-in-out infinite}
.vam-timeline span{transition:background .35s ease,color .35s ease,transform .35s ease}
.vam-timeline span.is-motion-active{background:linear-gradient(90deg,#7c4ced,#d85ab7);color:#fff;transform:translateY(-2px)}

.vam-button--primary{position:relative;overflow:hidden;isolation:isolate}
.vam-button--primary:after{content:"";position:absolute;z-index:-1;top:-35%;bottom:-35%;left:0;width:28%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:vam-button-sheen 4.5s ease-in-out infinite}
.vam-module:after{content:"";position:absolute;inset:auto -20% -55% 20%;height:55%;pointer-events:none;background:radial-gradient(circle,rgba(164,92,255,.14),transparent 68%);opacity:0;transform:translateY(15px);transition:opacity .35s ease,transform .35s ease}
.vam-module:hover:after{opacity:1;transform:translateY(0)}
.vam-module:hover .vam-chip{color:#ef9edc}

.vam-motion-capable .vam-reveal{opacity:0;transform:translateY(35px);transition:opacity .75s var(--vam-reveal-delay,0ms) cubic-bezier(.2,.75,.2,1),transform .75s var(--vam-reveal-delay,0ms) cubic-bezier(.2,.75,.2,1)}
.vam-motion-capable .vam-reveal.is-visible{opacity:1;transform:translateY(0)}
.vam-motion-capable .vam-module.vam-reveal:nth-child(even){transform:translateY(35px) rotate(.35deg)}
.vam-motion-capable .vam-module.vam-reveal:nth-child(even).is-visible{transform:translateY(0) rotate(0)}

@media(max-width:680px){.vam-marquee{animation-duration:22s}.vam-marquee-group{gap:28px;padding-right:28px}}
@media(prefers-reduced-motion:reduce){.vam-motion-capable *,.vam-motion-capable *:before,.vam-motion-capable *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.vam-motion-capable .vam-hero-meta,.vam-motion-capable .vam-hero h1,.vam-motion-capable .vam-hero-intro,.vam-motion-capable .vam-studio,.vam-motion-capable .vam-reveal{opacity:1!important;transform:none!important}}
@media(prefers-reduced-motion:reduce){html.vam-motion-capable .vam-marquee{animation:vam-audience-scroll 36s linear infinite!important}}
