@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}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 scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:.6s forwards fadeIn}.animate-fade-up{animation:.6s forwards fadeInUp}.animate-fade-down{animation:.6s forwards fadeInDown}.animate-fade-left{animation:.6s forwards fadeInLeft}.animate-fade-right{animation:.6s forwards fadeInRight}.animate-scale-in{animation:.5s forwards scaleIn}.animate-pulse{animation:2s infinite pulse}.animate-float{animation:3s ease-in-out infinite float}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-400{animation-delay:.4s}.delay-500{animation-delay:.5s}.hover-lift{transition:transform var(--transition-base), box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-6px)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--shadow-glow)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.03)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal,.reveal-stagger>*{opacity:1;transform:none}}
