*{transition:transform .3s ease,opacity .3s ease,box-shadow .3s ease}.loading-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}to{transform:scale(1);opacity:1}}.glow-effect{box-shadow:0 0 20px rgba(224,60,49,.3);animation:glow 2s ease-in-out infinite alternate}@keyframes glow{0%{box-shadow:0 0 20px rgba(224,60,49,.3)}to{box-shadow:0 0 30px rgba(224,60,49,.6)}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.bounce{animation:bounce 1s ease infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.slide-in-left{animation:slideInLeft .6s ease-out}.slide-in-right{animation:slideInRight .6s ease-out}.slide-in-up{animation:slideInUp .6s ease-out}.slide-in-down{animation:slideInDown .6s ease-out}@keyframes slideInLeft{0%{transform:translateX(-100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInRight{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fade-in{animation:fadeIn .8s ease-in}.fade-in-delay{animation:fadeIn .8s ease-in .3s both}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.rotate-in{animation:rotateIn .6s ease-out}@keyframes rotateIn{0%{transform:rotate(-180deg) scale(.8);opacity:0}to{transform:rotate(0deg) scale(1);opacity:1}}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.1)}.hover-glow:hover{box-shadow:0 0 30px rgba(224,60,49,.4)}.hover-scale:hover{transform:scale(1.05)}.text-gradient{background:linear-gradient(45deg,#E03C31,#FF6B6B);-webkit-background-clip:text;background-clip:text}.text-gradient,.text-shimmer{-webkit-text-fill-color:transparent}.text-shimmer{background:linear-gradient(90deg,#E03C31,#FF6B6B 50%,#E03C31);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.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}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width:768px){.hover-lift:hover,.hover-scale:hover{transform:none}.float{animation:float 4s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}}