@keyframes meshGradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes float1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}}@keyframes float2{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-40px,25px) scale(1.15)}66%{transform:translate(25px,-25px) scale(.95)}}@keyframes float3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,35px) scale(1.05)}66%{transform:translate(-30px,-20px) scale(.92)}}@keyframes float4{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-25px,-35px) scale(1.12)}66%{transform:translate(35px,15px) scale(.88)}}@media (prefers-reduced-motion:reduce){.shimmer,div[style*=float],div[style*=meshGradient]{animation:none!important}}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.3) 50%,transparent);background-size:1000px 100%}.card-lift{transition:transform .3s ease,box-shadow .3s ease}.card-lift:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04)}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:5px;background:rgba(255,255,255,.5);opacity:0;border-radius:100%;transform:scale(1) translate(-50%);transform-origin:50% 50%}.btn-ripple:active:after{animation:ripple .6s ease-out}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.icon-bounce:hover{animation:iconBounce .6s ease}.gradient-shift{background-size:200% auto;transition:background-position .3s ease}.gradient-shift:hover{background-position:100%}.scale-hover{transition:transform .2s ease}.scale-hover:hover{transform:scale(1.05)}.scale-hover:active{transform:scale(.95)}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(59,130,246,.5)}50%{box-shadow:0 0 20px rgba(59,130,246,.8),0 0 30px rgba(59,130,246,.6)}}.glow-on-hover:hover{animation:glow 2s ease-in-out infinite}.smooth-color{transition:color .3s ease,background-color .3s ease}