@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-down{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-left{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fade-in-right{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes rotate-in{0%{opacity:0;transform:rotate(-10deg) scale(.8)}to{opacity:1;transform:rotate(0deg) scale(1)}}@keyframes float-gentle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes float-reverse{0%,to{transform:translateY(-10px)}50%{transform:translateY(10px)}}@keyframes pulse-scale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes glow-primary{0%,to{box-shadow:0 0 20px hsl(var(--primary)/.3)}50%{box-shadow:0 0 40px hsl(var(--primary)/.6)}}@keyframes slide-in-bottom{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-top{0%{opacity:0;transform:translateY(-100px)}to{opacity:1;transform:translateY(0)}}@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 typewriter{0%{width:0}to{width:100%}}@keyframes gradient-shift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes particle-float{0%{transform:translateY(0) rotate(0deg);opacity:1}to{transform:translateY(-100px) rotate(180deg);opacity:0}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes zoom-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes flip-in{0%{opacity:0;transform:rotateY(-90deg)}to{opacity:1;transform:rotateY(0deg)}}@keyframes slide-up{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes elastic-in{0%{opacity:0;transform:scale(0)}55%{opacity:1;transform:scale(1.1)}75%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in-up{animation:fade-in-up .8s ease-out forwards}.animate-fade-in-down{animation:fade-in-down .8s ease-out forwards}.animate-fade-in-left{animation:fade-in-left .8s ease-out forwards}.animate-fade-in-right{animation:fade-in-right .8s ease-out forwards}.animate-scale-in{animation:scale-in .6s ease-out forwards}.animate-rotate-in{animation:rotate-in .8s ease-out forwards}.animate-float-gentle{animation:float-gentle 3s ease-in-out infinite}.animate-float-reverse{animation:float-reverse 4s ease-in-out infinite}.animate-pulse-scale{animation:pulse-scale 2s ease-in-out infinite}.animate-bounce-in{animation:bounce-in .8s ease-out forwards}.animate-glow-primary{animation:glow-primary 2s ease-in-out infinite}.animate-slide-in-bottom{animation:slide-in-bottom .8s ease-out forwards}.animate-slide-in-top{animation:slide-in-top .8s ease-out forwards}.animate-wiggle{animation:wiggle 1s ease-in-out}.animate-typewriter{animation:typewriter 2s steps(40)}.animate-gradient-shift{animation:gradient-shift 3s ease infinite;background-size:200% 200%}.animate-particle-float{animation:particle-float 3s linear infinite}.animate-ripple{animation:ripple .6s linear}.animate-zoom-in{animation:zoom-in .6s ease-out forwards}.animate-flip-in{animation:flip-in .8s ease-out forwards}.animate-slide-up{animation:slide-up .6s ease-out forwards}.animate-elastic-in{animation:elastic-in .8s ease-out forwards}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-600{animation-delay:.6s}.animation-delay-700{animation-delay:.7s}.animation-delay-800{animation-delay:.8s}.animation-delay-900{animation-delay:.9s}.animation-delay-1000{animation-delay:1s}.animation-delay-1200{animation-delay:1.2s}.animation-delay-1500{animation-delay:1.5s}.hover-float:hover{animation:float-gentle .6s ease-in-out}.hover-wiggle:hover{animation:wiggle .8s ease-in-out}.hover-pulse:hover{animation:pulse-scale .6s ease-in-out}.hover-glow:hover{animation:glow-primary .6s ease-in-out}.scroll-fade-in{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.scroll-fade-in.in-view{opacity:1;transform:translateY(0)}.scroll-scale-in{opacity:0;transform:scale(.8);transition:all .8s ease-out}.scroll-scale-in.in-view{opacity:1;transform:scale(1)}.scroll-slide-left{opacity:0;transform:translateX(-50px);transition:all .8s ease-out}.scroll-slide-left.in-view{opacity:1;transform:translateX(0)}.scroll-slide-right{opacity:0;transform:translateX(50px);transition:all .8s ease-out}.scroll-slide-right.in-view{opacity:1;transform:translateX(0)}.stagger-children>*{opacity:0;transform:translateY(20px);animation:fade-in-up .6s ease-out forwards}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(6){animation-delay:.6s}.stagger-children>:nth-child(7){animation-delay:.7s}.stagger-children>:nth-child(8){animation-delay:.8s}.stagger-children>:nth-child(9){animation-delay:.9s}.stagger-children>:nth-child(10){animation-delay:1s}.loading-dots{display:inline-flex;gap:4px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:hsl(var(--primary));animation:pulse 1.4s ease-in-out infinite both}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}.loading-dots span:nth-child(3){animation-delay:0s}.animated-bg{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab);background-size:400% 400%;animation:gradient-shift 15s ease infinite}.particle-bg{position:relative;overflow:hidden}.particle-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(120,119,198,.3) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(255,119,198,.3) 0,transparent 50%),radial-gradient(circle at 40% 40%,rgba(120,219,255,.3) 0,transparent 50%);animation:float-gentle 6s ease-in-out infinite}.interactive-card{transition:all .3s ease;cursor:pointer}.interactive-card:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.1)}.interactive-button{position:relative;overflow:hidden;transition:all .3s ease}.interactive-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.interactive-button:hover:before{left:100%}.interactive-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(0,0,0,.1)}.text-shimmer{background:linear-gradient(90deg,#000,#fff 50%,#000);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 2s linear infinite}.text-glow{text-shadow:0 0 10px hsl(var(--primary)/.5);animation:glow-primary 2s ease-in-out infinite}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-on-hover{transition:all .3s ease}.animate-on-hover:hover{transform:scale(1.05)}.will-animate{will-change:transform,opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}