@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes serviceCardEntrance{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.service-card{transition:all .3s cubic-bezier(.4,0,.2,1)}.service-card:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #00000026}.service-card-icon{transition:all .3s;animation:3s ease-in-out infinite iconFloat}.service-card:hover .service-card-icon{color:hsl(var(--primary));transform:scale(1.1)}.service-card-entrance{opacity:0;animation:.8s ease-out forwards serviceCardEntrance}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in-up{opacity:0;animation:.8s ease-out forwards fadeInUp}.animate-fade-in-left{opacity:0;animation:.8s ease-out forwards fadeInLeft}.animate-fade-in-right{opacity:0;animation:.8s ease-out forwards fadeInRight}.animate-scale-in{opacity:0;animation:.6s ease-out forwards scaleIn}.animate-slide-in-bottom{opacity:0;animation:.8s ease-out forwards slideInFromBottom}.animate-pulse-slow{animation:3s ease-in-out infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.animate-shimmer{background:linear-gradient(90deg,#0000,#fff6,#0000) 0 0/200% 100%;animation:2s infinite shimmer}.hover-lift{transition:all .3s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #0000001a}.hover-glow{transition:all .3s}.hover-glow:hover{box-shadow:0 0 30px #3b82f64d}.hover-rotate{transition:transform .3s}.hover-rotate:hover{transform:rotate(5deg)scale(1.05)}.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}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.text-gradient-animate{background:linear-gradient(-45deg,#3b82f6,#8b5cf6,#06b6d4,#10b981) 0 0/400% 400%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s infinite gradient}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.btn-enhanced{transition:all .3s;position:relative;overflow:hidden}.btn-enhanced:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.btn-enhanced:hover:before{left:100%}.btn-enhanced:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0003}
