.scroll-animate{transform:translateY(30px);transition:all .6s ease;opacity:0}.scroll-animate.animate{transform:translateY(0);opacity:1}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.15)}.loading-spinner{animation:spin 1s linear infinite;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary-color);border-radius:50%;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.stagger-item{animation:staggerFadeIn .6s ease forwards;transform:translateY(20px);opacity:0}.stagger-item:first-child{animation-delay:.1s}.stagger-item:nth-child(2){animation-delay:.2s}.stagger-item:nth-child(3){animation-delay:.3s}.stagger-item:nth-child(4){animation-delay:.4s}.stagger-item:nth-child(5){animation-delay:.5s}.stagger-item:nth-child(6){animation-delay:.6s}@keyframes staggerFadeIn{to{transform:translateY(0);opacity:1}}.btn-animate{overflow:hidden;position:relative}.btn-animate:before{height:100%;transition:left .5s;content:"";position:absolute;top:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);left:-100%;width:100%}.btn-animate:hover:before{left:100%}.float{animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.typewriter{animation:typing 3.5s steps(40),blink-caret .75s step-end infinite;overflow:hidden;border-right:2px solid var(--primary-color);white-space:nowrap}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:var(--primary-color)}}.parallax{transform:translateZ(0);transition:transform .1s ease-out}.gradient-animate{animation:gradientShift 15s ease infinite;background:linear-gradient(-45deg,#667eea,#764ba2,#f093fb,#f5576c);background-size:400% 400%}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.scale-hover{transition:transform .3s ease}.scale-hover:hover{transform:scale(1.05)}.rotate-hover{transition:transform .3s ease}.rotate-hover:hover{transform:rotate(5deg)}.slide-in-left{animation:slideInLeft .6s ease forwards;transform:translateX(-100px);opacity:0}.slide-in-right{animation:slideInRight .6s ease forwards;transform:translateX(100px);opacity:0}@keyframes slideInLeft{to{transform:translateX(0);opacity:1}}@keyframes slideInRight{to{transform:translateX(0);opacity:1}}.zoom-in{animation:zoomIn .6s ease forwards;transform:scale(.8);opacity:0}@keyframes zoomIn{to{transform:scale(1);opacity:1}}.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.glow{animation:glow 2s ease-in-out infinite alternate;box-shadow:0 0 20px rgba(37,99,235,.5)}@keyframes glow{0%{box-shadow:0 0 20px rgba(37,99,235,.5)}to{box-shadow:0 0 30px rgba(37,99,235,.8)}}