@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes glow{0%,to{box-shadow:0 0 20px rgba(255,107,0,.3)}50%{box-shadow:0 0 40px rgba(255,107,0,.6)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(4);opacity:0}}@keyframes drawLine{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in-up{animation:fadeInUp .6s ease-out forwards}.animate-fade-in-down{animation:fadeInDown .6s ease-out forwards}.animate-fade-in-left{animation:fadeInLeft .6s ease-out forwards}.animate-fade-in-right{animation:fadeInRight .6s ease-out forwards}.animate-scale-in{animation:scaleIn .5s ease-out forwards}.animate-bounce-in{animation:bounceIn .6s ease-out forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-gradient-shift{background-size:200% 200%;animation:gradientShift 8s ease infinite}.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}.stagger-6{animation-delay:.6s}.stagger-7{animation-delay:.7s}.stagger-8{animation-delay:.8s}.animate-on-scroll{opacity:0}.animate-on-scroll.visible{opacity:1}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll{opacity:1}}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.5);transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-ripple:active:after{width:300px;height:300px;animation:ripple .6s ease-out}.card-hover-lift{transition:transform .3s ease,box-shadow .3s ease}.card-hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px rgba(0,0,0,.15)}.card-hover-glow{transition:box-shadow .3s ease,border-color .3s ease}.card-hover-glow:hover{border-color:#ff6b00;box-shadow:0 0 30px rgba(255,107,0,.3)}.icon-rotate{transition:transform .3s ease}.icon-rotate:hover{transform:rotate(1turn)}.icon-scale{transition:transform .3s ease}.icon-scale:hover{transform:scale(1.2)}.icon-bounce{transition:transform .3s cubic-bezier(.68,-.55,.265,1.55)}.icon-bounce:hover{transform:scale(1.2)}.progress-line{position:relative;overflow:hidden}.progress-line:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,107,0,.4),transparent);animation:shimmer 2s infinite}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.transition-smooth{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-bounce{transition:all .3s cubic-bezier(.68,-.55,.265,1.55)}