@keyframes backdrop-fade{0%{opacity:0}to{opacity:1}}.backdrop-fade{animation:.3s ease-out forwards backdrop-fade}@keyframes modal-slide{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-slide{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards modal-slide}@keyframes button-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.button-hover:hover{animation:.3s ease-out button-bounce}
@keyframes progress-glow{0%,to{box-shadow:0 0 5px #3b82f680}50%{box-shadow:0 0 20px #3b82f6cc}}.progress-glow{animation:2s ease-in-out infinite progress-glow}@keyframes scroll-hint{0%,to{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(5px)}}.scroll-hint{animation:2s ease-in-out infinite scroll-hint}
@keyframes card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.card-float{animation:3s ease-in-out infinite card-float}@keyframes price-reveal{0%{opacity:0;transform:scale(.8)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.price-reveal{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards price-reveal}@keyframes feature-slide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.feature-slide{animation:.6s ease-out forwards feature-slide}@keyframes button-glow{0%,to{box-shadow:0 0 5px #0000001a}50%{box-shadow:0 0 20px #0003}}.button-glow{animation:2s ease-in-out infinite button-glow}
