.animate-fade-up{transform:translateY(2rem)}.animate-fade-down,.animate-fade-up{opacity:0;transition:opacity .6s ease,transform .6s ease}.animate-fade-down{transform:translateY(-2rem)}.animate-fade-left{transform:translateX(-2rem)}.animate-fade-left,.animate-fade-right{opacity:0;transition:opacity .6s ease,transform .6s ease}.animate-fade-right{transform:translateX(2rem)}.animate-zoom-in{transform:scale(.95)}.animate-zoom-in,.animate-zoom-out{opacity:0;transition:opacity .6s ease,transform .6s ease}.animate-zoom-out{transform:scale(1.05)}[data-animated=true] [data-animate]{opacity:1;transform:translateY(0) translateX(0) scale(1)}[data-animated=false] [data-animate]{opacity:0}[data-stagger=true] [data-animate]{transition-delay:calc(var(--index, 0) * var(--stagger-delay, .1s))}.animate-hero-text{animation:fadeInUp 1s ease forwards;opacity:0}.animate-hero-text:first-child{animation-delay:.3s}.animate-hero-text:nth-child(2){animation-delay:.6s}.animate-hero-text:nth-child(3){animation-delay:.9s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.animate-fade-down,.animate-fade-left,.animate-fade-right,.animate-fade-up,.animate-hero-text,.animate-zoom-in,.animate-zoom-out,[data-animated=true] [data-animate]{transition:none!important;animation:none!important;opacity:1!important;transform:none!important}html{scroll-behavior:auto}}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease-out}@keyframes pulseOnce{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-pulse-once{animation:pulseOnce .3s ease-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.animate-shake{animation:shake .3s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce-once{animation:bounce .5s ease-in-out}@keyframes successPulse{0%{box-shadow:0 0 0 0 rgba(34,197,94,.7)}70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}to{box-shadow:0 0 0 0 rgba(34,197,94,0)}}.success-pulse{animation:successPulse 1.5s ease-out}