.animate-shimmer{background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.2) 20%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0));background-size:200px 100%;animation:shimmer 2s infinite}.dark .animate-shimmer{background:linear-gradient(90deg,rgba(0,0,0,0),rgba(255,255,255,.1) 20%,rgba(255,255,255,.2) 60%,rgba(0,0,0,0))}@keyframes pulse-loading{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse-loading{animation:pulse-loading 2s cubic-bezier(.4,0,.6,1) infinite}.skeleton-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.dark .skeleton-shimmer{background:linear-gradient(90deg,#2a2a2a 25%,#3a3a3a 50%,#2a2a2a 75%);background-size:200% 100%}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 3s linear infinite}@keyframes fade-in-up-delayed{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up-delayed{animation:fade-in-up-delayed .6s ease-out forwards}@keyframes loading-dots{0%,20%{color:rgba(0,0,0,.4);text-shadow:.25em 0 0 rgba(0,0,0,.2),.5em 0 0 rgba(0,0,0,.2)}40%{color:rgba(0,0,0,1);text-shadow:.25em 0 0 rgba(0,0,0,.4),.5em 0 0 rgba(0,0,0,.2)}60%{text-shadow:.25em 0 0 rgba(0,0,0,1),.5em 0 0 rgba(0,0,0,.4)}80%,to{text-shadow:.25em 0 0 rgba(0,0,0,1),.5em 0 0 rgba(0,0,0,1)}}.loading-dots:after{content:"...";animation:loading-dots 1.4s infinite}.dark .loading-dots:after{color:rgba(255,255,255,.4)}@keyframes loading-dots-dark{0%,20%{color:rgba(255,255,255,.4);text-shadow:.25em 0 0 rgba(255,255,255,.2),.5em 0 0 rgba(255,255,255,.2)}40%{color:rgba(255,255,255,1);text-shadow:.25em 0 0 rgba(255,255,255,.4),.5em 0 0 rgba(255,255,255,.2)}60%{text-shadow:.25em 0 0 rgba(255,255,255,1),.5em 0 0 rgba(255,255,255,.4)}80%,to{text-shadow:.25em 0 0 rgba(255,255,255,1),.5em 0 0 rgba(255,255,255,1)}}.dark .loading-dots:after{animation:loading-dots-dark 1.4s infinite}.skeleton-card{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200px 100%;animation:shimmer 1.2s ease-in-out infinite}.dark .skeleton-card{background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent)}.progressive-container{opacity:0;animation:fade-in-up-delayed .5s ease-out .1s forwards}.stagger-item{opacity:0;transform:translateY(20px);animation:fade-in-up-delayed .4s ease-out forwards}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.15s}.stagger-item:nth-child(3){animation-delay:.2s}.stagger-item:nth-child(4){animation-delay:.25s}.stagger-item:nth-child(5){animation-delay:.3s}.stagger-item:nth-child(6){animation-delay:.35s}.loading-button{position:relative;color:transparent}.loading-button:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentcolor;border-radius:50%;animation:spin 1s linear infinite}@media (prefers-reduced-motion:reduce){.animate-fade-in-up-delayed,.animate-pulse-loading,.animate-shimmer,.animate-spin-slow,.loading-dots:after,.progressive-container,.skeleton-card,.skeleton-shimmer,.stagger-item{animation:none}.progressive-container,.stagger-item{opacity:1;transform:none}}@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)}}@keyframes float{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-15px) translateX(5px)}50%{transform:translateY(-5px) translateX(-5px)}75%{transform:translateY(-20px) translateX(3px)}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes shadow-pulse{0%,to{box-shadow:0 4px 20px rgba(0,0,0,.1)}50%{box-shadow:0 8px 40px rgba(0,0,0,.15)}}@keyframes reveal-up{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.03);opacity:.9}}@keyframes parallax-float{0%,to{transform:translateY(0) translateX(0) rotate(0deg)}33%{transform:translateY(-20px) translateX(10px) rotate(1deg)}66%{transform:translateY(-10px) translateX(-8px) rotate(-1deg)}}@keyframes subtle-glow{0%,to{box-shadow:0 0 20px rgba(var(--primary-rgb),.1)}50%{box-shadow:0 0 30px rgba(var(--primary-rgb),.2)}}@keyframes skeleton-loading{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes smooth-entrance{0%{opacity:0;transform:translateY(30px) scale(.95);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes pulse-border{0%,to{border-color:hsl(var(--primary)/.3)}50%{border-color:hsl(var(--primary)/.8)}}@keyframes micro-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.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-float{animation:float 6s 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}.animate-shadow-pulse{animation:shadow-pulse 2s ease-in-out infinite}.animate-reveal-up{animation:reveal-up .8s cubic-bezier(.16,1,.3,1) forwards}.animate-breathe{animation:breathe 3s ease-in-out infinite}.animate-parallax-float{animation:parallax-float 8s ease-in-out infinite}.animate-subtle-glow{animation:subtle-glow 3s ease-in-out infinite}.animate-smooth-entrance{animation:smooth-entrance .8s cubic-bezier(.16,1,.3,1) forwards}.animate-pulse-border{animation:pulse-border 2s ease-in-out infinite}.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}.hover-micro-bounce:hover{animation:micro-bounce .3s ease-in-out}.hover-lift{transition:all .3s cubic-bezier(.16,1,.3,1)}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.15)}.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)}.scroll-reveal{opacity:0;transform:translateY(50px);transition:all .8s cubic-bezier(.16,1,.3,1)}.scroll-reveal.visible{opacity:1;transform:translateY(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}.skeleton-loader{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200px 100%;animation:skeleton-loading 1.5s infinite}.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 cubic-bezier(.16,1,.3,1);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 cubic-bezier(.16,1,.3,1)}.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 .6s cubic-bezier(.16,1,.3,1)}.interactive-button:hover:before{left:100%}.interactive-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.15)}.enhanced-button{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}.enhanced-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s cubic-bezier(.16,1,.3,1)}.enhanced-button:hover:before{left:100%}.enhanced-button:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.15)}.text-shimmer{background:linear-gradient(90deg,transparent 25%,rgba(255,255,255,.5) 50%,transparent 75%);background-size:200px 100%;animation:shimmer 2s 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)}.magnetic-hover{transition:transform .3s cubic-bezier(.16,1,.3,1)}.magnetic-hover:hover{transform:translateY(-8px) scale(1.02)}.smooth-color{transition:color .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1)}.smooth-scale{transition:transform .3s cubic-bezier(.16,1,.3,1)}.smooth-scale:hover{transform:scale(1.05)}.smooth-transition{transition:all .3s cubic-bezier(.16,1,.3,1)}.focus-ring:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px;transition:outline .2s ease-in-out}.will-animate{will-change:transform,opacity}.gpu-accelerated{transform:translateZ(0);backface-visibility:hidden;perspective:1000px}