@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@keyframes gradient-x{0%,to{background-size:200% 200%;background-position:0}50%{background-size:200% 200%;background-position:100%}}.animate-fade-in-up{animation:fade-in-up .8s ease-out forwards}.animate-fade-in{animation:fade-in 1s ease-out forwards}.animate-bounce-subtle{animation:bounce-subtle 2s ease-in-out infinite}.animate-blob{animation:blob 7s infinite}.animate-gradient-x{animation:gradient-x 3s ease infinite}.animation-delay-200{animation-delay:.2s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-600{animation-delay:.6s}.animation-delay-1000{animation-delay:1s}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}.hover-glow:hover{box-shadow:0 0 30px rgba(139,92,246,.5)}.btn-gradient{background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%;animation:gradient-x 3s ease infinite}.btn-gradient:hover{animation-duration:1s}