@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{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 bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.animate-fade-in{animation:fadeIn .6s ease-out}.animate-slide-in-left{animation:slideInFromLeft .6s ease-out}.animate-slide-in-right{animation:slideInFromRight .6s ease-out}.animate-scale-in{animation:scaleIn .5s ease-out}.animate-bounce{animation:bounce 1s ease-in-out}.animate-pulse{animation:pulse 2s infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px #00000026}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow .3s ease}.hover-glow:hover{box-shadow:0 0 20px #b900004d}*{transition:all .3s ease}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #b90000;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-transition{animation:fadeIn .5s ease-out}.btn-animate{transition:all .3s ease;position:relative;overflow:hidden}.btn-animate:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-animate:hover:before{left:100%}.text-reveal{overflow:hidden;position:relative}.text-reveal:after{content:"";position:absolute;top:0;right:0;width:100%;height:100%;background:#b90000;animation:textReveal 1.5s ease-out forwards}@keyframes textReveal{0%{transform:translate(0)}to{transform:translate(100%)}}
