@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes floatSmooth{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 15px #e651004d}50%{box-shadow:0 0 30px #e6510099}}@keyframes spinSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform}.reveal.reveal-up{transform:translateY(40px)}.reveal.reveal-left{transform:translate(-40px)}.reveal.reveal-right{transform:translate(40px)}.reveal.reveal-zoom{transform:scale(.92)}.reveal.active{opacity:1;transform:translateY(0) translate(0) scale(1)}.stagger-1{transition-delay:.1s}.stagger-2{transition-delay:.2s}.stagger-3{transition-delay:.3s}.stagger-4{transition-delay:.4s}.animate-float{animation:floatSmooth 4s ease-in-out infinite}.animate-pulse{animation:pulseGlow 3s infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
