@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.animate-scroll{animation:scroll 30s linear infinite}.animate-scroll:hover{animation-play-state:paused}[dir=rtl] .animate-scroll{animation:scroll-rtl 30s linear infinite}@keyframes scroll-rtl{0%{transform:translateX(0)}to{transform:translateX(50%)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fadeInUp{animation:fadeInUp .5s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}.animate-slideInRight{animation:slideInRight .4s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scaleIn{animation:scaleIn .3s ease-out forwards}@keyframes pulseRing{0%{box-shadow:0 0 0 0 rgba(37,99,235,.4)}70%{box-shadow:0 0 0 10px rgba(37,99,235,0)}to{box-shadow:0 0 0 0 rgba(37,99,235,0)}}.animate-pulse-ring{animation:pulseRing 2s infinite}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes countUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-count-up{animation:countUp .6s ease-out forwards}@keyframes pageTransition{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-transition{animation:pageTransition .3s ease-out}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}