@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 5px #c7102f4d}50%{box-shadow:0 0 20px #c7102f99}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradient-shift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.animate-fade-in-up{animation:fade-in-up .8s ease-out forwards;opacity:0}.animate-slide-in-up{animation:slide-in-up .6s ease-out forwards;opacity:0}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);background-size:200% 100%;animation:shimmer 2s infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradient-shift 3s ease infinite}.service-card:hover{animation:float .3s ease-out}.testimonial-card{animation:slide-in-up .6s ease-out forwards;opacity:0}.animated-button{position:relative;overflow:hidden}.animated-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}.animated-button:hover:before{left:100%}@media(max-width:768px){.animate-fade-in-up,.animate-slide-in-up{animation-duration:.6s}}
