@keyframes float-slow{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes float-medium{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(-3deg)}}@keyframes float-fast{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse-slow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes bounce-slow{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slide-in-left{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-right{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slide-in-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fade-in-scale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes wiggle{0%,7%{transform:rotate(0)}15%{transform:rotate(-15deg)}20%{transform:rotate(10deg)}25%{transform:rotate(-10deg)}30%{transform:rotate(6deg)}35%{transform:rotate(-4deg)}40%,to{transform:rotate(0)}}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-2px)}20%,40%,60%,80%{transform:translateX(2px)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(239,68,68,.5)}50%{box-shadow:0 0 20px rgba(239,68,68,.8),0 0 30px rgba(239,68,68,.6)}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes text-glow{0%,to{text-shadow:0 0 5px rgba(239,68,68,.5)}50%{text-shadow:0 0 20px rgba(239,68,68,.8),0 0 30px rgba(239,68,68,.6)}}@keyframes card-hover{0%{transform:translateY(0) scale(1)}to{transform:translateY(-10px) scale(1.02)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.animate-float-slow{animation:float-slow 6s ease-in-out infinite}.animate-float-medium{animation:float-medium 4s ease-in-out infinite}.animate-float-fast{animation:float-fast 3s ease-in-out infinite}.animate-spin-slow{animation:spin-slow 8s linear infinite}.animate-pulse-slow{animation:pulse-slow 3s ease-in-out infinite}.animate-bounce-slow{animation:bounce-slow 2s ease-in-out infinite}.animate-slide-in-left{animation:slide-in-left .6s ease-out forwards}.animate-slide-in-right{animation:slide-in-right .6s ease-out forwards}.animate-slide-in-up{animation:slide-in-up .6s ease-out forwards}.animate-slide-in-down{animation:slide-in-down .6s ease-out forwards}.animate-fade-in-scale{animation:fade-in-scale .5s ease-out forwards}.animate-wiggle{animation:wiggle 1s ease-in-out}.animate-shake{animation:shake .5s ease-in-out}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-text-glow{animation:text-glow 2s ease-in-out infinite}.animate-card-hover{transition:all .3s ease}.animate-card-hover:hover{animation:card-hover .3s ease forwards}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.stagger-6{animation-delay:.6s}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.hover-glow{transition:all .3s ease}.hover-glow:hover{box-shadow:0 0 30px rgba(239,68,68,.3);transform:scale(1.02)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.loading-dots:after{content:"";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.gradient-animated{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.text-shimmer{background:linear-gradient(90deg,#000,#fff 50%,#000);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ripple{position:relative;overflow:hidden}.ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active:before{width:300px;height:300px}.morph-circle{border-radius:50%;transition:border-radius .5s ease}.morph-circle:hover{border-radius:20%}.parallax-slow{transform:translateZ(0);will-change:transform}.flip-card{perspective:1000px}.flip-card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .8s;transform-style:preserve-3d}.flip-card:hover .flip-card-inner{transform:rotateY(180deg)}.flip-card-back,.flip-card-front{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden}.flip-card-back{transform:rotateY(180deg)}.scroll-fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.scroll-fade-in.visible{opacity:1;transform:translateY(0)}.btn-magnetic{transition:transform .3s ease}.btn-magnetic:hover{transform:scale(1.05)}.btn-pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top-color:#ef4444;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.typewriter{overflow:hidden;border-right:2px solid #ef4444;white-space:nowrap;animation:typing 3.5s steps(40),blink-caret .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#ef4444}}