@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:1s linear infinite spin}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.pulsing{animation:2s ease-in-out infinite pulse}@keyframes pulse-ring{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.pulse-ring{animation:1.5s ease-in-out infinite pulse-ring}@keyframes pulse-ring-approx{0%{opacity:.6;transform:scale(.35)}70%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1)}}.pulse-ring-approx{animation:2.4s ease-out infinite pulse-ring-approx}@keyframes radar-sweep{to{transform:rotate(360deg)}}.radar-sweep{animation:2.6s linear infinite radar-sweep}@keyframes progress{0%{transform:translate(-100%)}to{transform:translate(0%)}}.progress-bar{animation:.3s ease-out progress}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes keyword-glow{0%,to{text-shadow:0 0 10px;transform:scale(1)}50%{text-shadow:0 0 20px,0 0 30px;transform:scale(1.02)}}@keyframes text-shimmer{0%{background-position:-200%}to{background-position:200%}}.hero-keyword-glow{animation:3s ease-in-out infinite keyword-glow;animation-delay:var(--delay,0s);transition:all .3s}.hero-keyword-glow:hover{animation-duration:1s;transform:scale(1.05)}.hero-title-shimmer{background:linear-gradient(90deg,#0000 0%,#fff6 25%,#fff9 50%,#fff6 75%,#0000 100%) 0 0/200% 100%;animation:3s ease-in-out 1s infinite text-shimmer}.hero-cta-gradient{background:linear-gradient(135deg,#3498db 0%,#5dade2 25%,#7fb3d3 50%,#3498db 75%,#5dade2 100%) 0 0/400% 400%;animation:4s infinite gradient-shift}.hero-cta-gradient:hover{animation-duration:2s;transform:translateY(-2px);box-shadow:0 12px 40px #3498db80,0 6px 20px #0000004d,inset 0 1px #ffffff4d}@keyframes float{0%,to{transform:translateY(0)rotate(0)}33%{transform:translateY(-10px)rotate(120deg)}66%{transform:translateY(5px)rotate(240deg)}}.hero-float{animation:6s ease-in-out infinite float}