@keyframes traverse{0%{transform:translate(var(--start-x), var(--start-y)) rotate(0deg) scale(var(--scale,1));opacity:0}8%{opacity:.7}50%{opacity:.6}92%{opacity:.7}to{transform:translate(var(--end-x), var(--end-y)) rotate(var(--rotation,0deg)) scale(var(--scale,1));opacity:0}}.sprite-traverse{animation:traverse var(--duration,6s) linear forwards;will-change:transform, opacity}@keyframes phraseDrift{0%{opacity:0;transform:translate(0)scale(.9)}20%{opacity:var(--peak-opacity,.25);transform:translate(calc(var(--drift-x,0px) * .2), calc(var(--drift-y,0px) * .2)) scale(1)}75%{opacity:var(--peak-opacity,.25);transform:translate(calc(var(--drift-x,0px) * .75), calc(var(--drift-y,0px) * .75)) scale(1)}to{opacity:0;transform:translate(var(--drift-x,0px), var(--drift-y,0px)) scale(.95)}}.phrase-drift{animation:phraseDrift var(--duration,4s) ease-in-out forwards;will-change:opacity, transform}@keyframes barPulse{0%,to{opacity:1;transform:scaleY(1)}50%{opacity:.85;transform:scaleY(1.06)}}.bar-pulse{transform-origin:bottom;animation:2.5s ease-in-out infinite barPulse}@keyframes landingFadeIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.landing-fade-in{animation:.8s ease-out landingFadeIn}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-slide-up{animation:.6s ease-out .3s both slideUp}@keyframes ctaPulse{0%,to{opacity:.5}50%{opacity:1}}.cta-pulse{animation:2s ease-in-out infinite ctaPulse}@media (prefers-reduced-motion:reduce){.sprite-traverse,.phrase-drift,.bar-pulse,.landing-fade-in,.logo-slide-up,.cta-pulse{opacity:1;animation:none}}