@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.animate-fade-in-up{opacity:0;animation:.6s ease-out forwards fadeInUp}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse-slow{animation:3s ease-in-out infinite pulse}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.animate-fade-in{animation:.3s ease-out forwards fadeInUp}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.5s ease-out forwards slideInUp}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-scroll{animation:40s linear infinite scroll}.pause-on-hover:hover{animation-play-state:paused}@keyframes barberpole{0%{background-position:0 0}to{background-position:50px 50px}}.animate-barberpole{background-image:linear-gradient(45deg,#ef4444 25%,#fff 25% 50%,#3b82f6 50% 75%,#fff 75% 100%);background-size:50px 50px;animation:1s linear infinite barberpole}.bg-noise{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)' opacity='0.05'/%3E%3C/svg%3E")}
