:root{--ease-smooth:cubic-bezier(.4, 0, .2, 1);--ease-bounce:cubic-bezier(.68, -.55, .265, 1.55);--ease-elastic:cubic-bezier(.175, .885, .32, 1.275);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s;--transition-mid:.5s;--transition-slow:1s;--transition-xl:1.5s;--delay-100:.1s;--delay-200:.2s;--delay-300:.3s;--delay-400:.4s;--delay-500:.5s;--scroll-distance-sm:50px;--scroll-distance-md:100px;--scroll-distance-lg:200px}*{--animation-duration:var(--transition-mid);--animation-easing:var(--ease-smooth)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.scroll-fade-in{opacity:0;animation:fadeIn var(--transition-mid) var(--ease-smooth) forwards}.scroll-slide-up{opacity:0;transform:translateY(var(--scroll-distance-md));animation:slideUp var(--transition-slow) var(--ease-smooth) forwards}.scroll-slide-down{opacity:0;transform:translateY(calc(var(--scroll-distance-md) * -1));animation:slideDown var(--transition-slow) var(--ease-smooth) forwards}.btn-pulse{animation:buttonPulse var(--transition-slow) var(--ease-smooth) infinite}.btn-glow{animation:buttonGlow var(--transition-mid) var(--ease-smooth)}.text-reveal{animation:textReveal var(--transition-slow) var(--ease-smooth)}
