@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-30px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}@keyframes slideUp{from{opacity:0;transform:translateY(50px);}to{opacity:1;transform:translateY(0);}}@keyframes float{0%,100%{transform:translateY(0px);}50%{transform:translateY(-10px);}}@keyframes floatSlow{0%,100%{transform:translateY(0px);}50%{transform:translateY(-8px);}}@keyframes floatRotate{0%,100%{transform:translateY(0px) rotate(0deg);}50%{transform:translateY(-15px) rotate(5deg);}}@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.7;}}@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}@keyframes shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-5px);}75%{transform:translateX(5px);}}@keyframes spin{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}@keyframes glow{0%,100%{box-shadow:0 0 10px rgba(99,102,241,0.5);}50%{box-shadow:0 0 20px rgba(99,102,241,0.8),0 0 30px rgba(139,92,246,0.5);}}@keyframes shimmer{0%{background-position:-1000px 0;}100%{background-position:1000px 0;}}.animate-fade-in-up{animation:fadeInUp 0.6s ease-out forwards;opacity:0;}.animate-fade-in-down{animation:fadeInDown 0.6s ease-out forwards;opacity:0;}.animate-fade-in-left{animation:fadeInLeft 0.6s ease-out forwards;opacity:0;}.animate-fade-in-right{animation:fadeInRight 0.6s ease-out forwards;opacity:0;}.animate-fade-in{animation:fadeIn 0.5s ease-out forwards;opacity:0;}.animate-scale-in{animation:scaleIn 0.5s ease-out forwards;opacity:0;}.animate-slide-up{animation:slideUp 0.8s ease-out forwards;opacity:0;}.animate-float{animation:float 3s ease-in-out infinite;}.animate-float-slow{animation:floatSlow 4s ease-in-out infinite;}.animate-float-rotate{animation:floatRotate 5s ease-in-out infinite;}.animate-pulse-slow{animation:pulse 2s ease-in-out infinite;}.animate-glow{animation:glow 2s ease-in-out infinite;}.animate-on-scroll{opacity:0;transition:opacity 0.6s ease-out,transform 0.6s ease-out;}.animate-on-scroll.above-fold{opacity:1 !important;transform:translateY(0) !important;}.animate-on-scroll.visible{opacity:1 !important;}.animate-on-scroll.fade-up{transform:translateY(30px);}.animate-on-scroll.fade-up.visible{transform:translateY(0);}.animate-on-scroll.fade-down{transform:translateY(-30px);}.animate-on-scroll.fade-down.visible{transform:translateY(0);}.animate-on-scroll.fade-left{transform:translateX(-30px);}.animate-on-scroll.fade-left.visible{transform:translateX(0);}.animate-on-scroll.fade-right{transform:translateX(30px);}.animate-on-scroll.fade-right.visible{transform:translateX(0);}@media (prefers-reduced-motion:reduce){.animate-on-scroll{opacity:1 !important;transform:none !important;transition:none !important;}}.animate-delay-100{animation-delay:0.1s;}.animate-delay-200{animation-delay:0.2s;}.animate-delay-300{animation-delay:0.3s;}.animate-delay-400{animation-delay:0.4s;}.animate-delay-500{animation-delay:0.5s;}.transition-smooth{transition:all 0.3s cubic-bezier(0.4,0,0.2,1);}.transition-fast{transition:all 0.15s ease-out;}.transition-slow{transition:all 0.5s ease-out;}.hover-lift{transition:transform 0.3s ease,box-shadow 0.3s ease;}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,0.15);}.hover-scale{transition:transform 0.3s ease;}.hover-scale:hover{transform:scale(1.05);}.hover-glow{transition:box-shadow 0.3s ease;}.hover-glow:hover{box-shadow:0 0 20px rgba(99,102,241,0.5);}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;}}@media (max-width:768px){.animate-on-scroll{opacity:1 !important;transform:none !important;visibility:visible !important;}.animate-on-scroll.visible{transform:none !important;opacity:1 !important;}}.no-js .animate-on-scroll,.no-js section{opacity:1 !important;transform:none !important;visibility:visible !important;}section,.animate-on-scroll,.animate-fade-in-up,.animate-fade-in{opacity:1 !important;visibility:visible !important;}