@layer utilities{@keyframes fade-in{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-fade-in{animation:fade-in 1s cubic-bezier(.4,0,.2,1) both}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes horizontal-bounce{0%,to{transform:translate(0)}50%{transform:translate(10px)}}@keyframes slow-bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-30px,0)}70%{transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #ec48994d}50%{box-shadow:0 0 40px #ec489999}}@keyframes gradient-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink{0%,50%{border-color:transparent}51%,to{border-color:currentColor}}.scroll-animate{opacity:0;transform:translateY(40px);transition:all .8s cubic-bezier(.4,0,.2,1)}.scroll-animate.visible{opacity:1;transform:translateY(0)}.stagger-animate{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}.stagger-animate.visible{opacity:1;transform:translateY(0)}.animate-float{animation:float 6s ease-in-out infinite}.animate-horizontal-bounce{animation:horizontal-bounce 4s ease-in-out infinite}.animate-slow-bounce{animation:slow-bounce 3s ease-in-out infinite}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.animate-scale-in{animation:scale-in .8s cubic-bezier(.4,0,.2,1) both}.delay-1{animation-delay:.2s}.delay-2{animation-delay:.4s}.delay-3{animation-delay:.6s}.delay-4{animation-delay:.8s}.delay-5{animation-delay:1s}.delay-6{animation-delay:1.2s}.delay-7{animation-delay:1.4s}.delay-8{animation-delay:1.6s}.hover-lift{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px)}.hover-scale{transition:transform .3s cubic-bezier(.4,0,.2,1)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-glow:hover{box-shadow:0 20px 40px #ec489933}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.animate-marquee{animation:marquee 30s linear infinite}.typing-animation{display:flex;flex-direction:column;overflow:hidden;border-right:3px solid transparent;width:0;animation:typing 6s steps(70,end) forwards,blink .75s step-end 6s}.typing-effect{animation:typing 6s steps(70,end) forwards,blink .75s step-end 6s}.typing-animation.completed{border-right:none}}
