@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}@keyframes float-delayed{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-30px)rotate(-5deg)}}@keyframes float-slow{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-15px)rotate(3deg)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #3b82f680}50%{box-shadow:0 0 40px #3b82f6cc}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slide-up-bounce{0%{opacity:0;transform:translateY(100px)}60%{opacity:1;transform:translateY(-10px)}80%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes rotate-in{0%{opacity:0;transform:rotate(-180deg)scale(0)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@keyframes glow-pulse{0%,to{filter:drop-shadow(0 0 5px #3b82f680)}50%{filter:drop-shadow(0 0 20px #3b82f6e6)}}@keyframes number-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.animate-float{animation:6s ease-in-out infinite float}.animate-float-delayed{animation:8s ease-in-out 1s infinite float-delayed}.animate-float-slow{animation:10s ease-in-out 2s infinite float-slow}.animate-pulse-glow{animation:2s ease-in-out infinite pulse-glow}.animate-shimmer{background:linear-gradient(90deg,#0000,#ffffff4d,#0000) 0 0/1000px 100%;animation:3s infinite shimmer}.animate-bounce-in{animation:.6s cubic-bezier(.68,-.55,.265,1.55) bounce-in}.animate-slide-up-bounce{animation:.8s cubic-bezier(.68,-.55,.265,1.55) slide-up-bounce}.animate-rotate-in{animation:.6s cubic-bezier(.68,-.55,.265,1.55) rotate-in}.animate-gradient-shift{background-size:200% 200%;animation:5s infinite gradient-shift}.animate-wiggle{animation:1s ease-in-out wiggle}.animate-glow-pulse{animation:2s ease-in-out infinite glow-pulse}.animate-number-pop{animation:.5s ease-out number-pop}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001a}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:filter .3s,transform .3s}.hover-glow:hover{filter:drop-shadow(0 0 15px #3b82f699);transform:scale(1.02)}.hover-rotate{transition:transform .3s}.hover-rotate:hover{transform:rotate(5deg)scale(1.05)}.hover-wiggle:hover{animation:.5s ease-in-out wiggle}.hover-bounce{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.hover-bounce:hover{transform:translateY(-10px)}.scroll-reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(50px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}.gradient-text-animate{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899,#3b82f6) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite gradient-shift}@keyframes particle-float{0%{opacity:0;transform:translateY(0)translate(0)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translateY(-100vh)translate(50px)}}.particle{background:#3b82f699;border-radius:50%;width:4px;height:4px;animation:8s linear infinite particle-float;position:absolute}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-duplicate{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:30s linear infinite marquee;display:flex}.animate-marquee-duplicate{animation:30s linear infinite marquee-duplicate;display:flex;position:absolute;top:0;left:0}.pause-marquee:hover{animation-play-state:paused}
