.reveal-left,.reveal-right,.reveal-scale,.reveal-up{transition:opacity .6s,transform .6s}.animated-gradient,.text-shine{-webkit-text-fill-color:transparent}@keyframes meshMove{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,30px) scale(.95)}}@keyframes float{0%,100%{transform:translateY(0) translateX(0)}25%{transform:translateY(-20px) translateX(10px)}50%{transform:translateY(-10px) translateX(-10px)}75%{transform:translateY(-15px) translateX(5px)}}@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}@keyframes waveAnimation{0%,100%{height:40%}50%{height:100%}}@keyframes scroll{0%{opacity:1;transform:translateX(-50%) translateY(0)}100%{opacity:0;transform:translateX(-50%) translateY(16px)}}@keyframes scroll-logos{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInUp{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes scaleIn{from{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}@keyframes shimmer{0%{background-position:-1000px 0}100%{background-position:1000px 0}}@keyframes glowPulse{0%,100%{box-shadow:0 0 20px rgba(0,102,255,.3)}50%{box-shadow:0 0 40px rgba(0,102,255,.6)}}.fade-in{animation:1s ease-out fadeIn}.reveal-up{opacity:0;transform:translateY(40px)}.page-transition-exit,.reveal-up.revealed{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px)}.reveal-left.revealed,.reveal-right.revealed{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px)}.reveal-scale{opacity:0;transform:scale(.8)}.reveal-scale.revealed{opacity:1;transform:scale(1)}.animated-gradient{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-accent),var(--color-primary));background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:3s infinite gradientShift}.pulse-on-hover:hover{animation:1s ease-in-out infinite glowPulse}.tilt-on-hover{transition:transform .3s}.tilt-on-hover:hover{transform:perspective(1000px) rotateY(5deg) rotateX(5deg)}.lift-on-hover{transition:transform .3s,box-shadow .3s}.lift-on-hover:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.spinner{width:40px;height:40px;border:4px solid var(--glass-border);border-top-color:var(--color-primary);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-dots{display:flex;gap:8px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:1.4s ease-in-out infinite both dotBounce}.loading-dots span:first-child{animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dotBounce{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.typewriter{overflow:hidden;border-right:3px solid var(--color-primary);white-space:nowrap;animation:3.5s steps(40,end) typing,.75s step-end infinite blink-caret}@keyframes typing{from{width:0}to{width:100%}}@keyframes blink-caret{from,to{border-color:transparent}50%{border-color:var(--color-primary)}}.letter-reveal{display:inline-block;opacity:0;animation:.5s forwards letterFadeIn}@keyframes letterFadeIn{to{opacity:1}}.parallax{transition:transform .1s ease-out}.sticky-scroll{position:sticky;top:80px}.animated-border,.ripple{position:relative;overflow:hidden}.ripple::after{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s}.ripple:active::after{width:300px;height:300px}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.shake{animation:.5s shake}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}.bounce{animation:1s bounce}.delay-100{transition-delay:0.1s;animation-delay:.1s}.delay-200{transition-delay:0.2s;animation-delay:.2s}.delay-300{transition-delay:0.3s;animation-delay:.3s}.delay-400{transition-delay:0.4s;animation-delay:.4s}.delay-500{transition-delay:0.5s;animation-delay:.5s}@keyframes wiggle{0%,100%{transform:rotate(0)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}.wiggle:hover{animation:.3s 3 wiggle}@keyframes heartbeat{0%,100%{transform:scale(1)}10%,30%{transform:scale(.9)}20%,40%{transform:scale(1.1)}}.heartbeat:hover{animation:1.3s infinite heartbeat}.page-transition-enter{opacity:0;transform:translateY(20px)}.page-transition-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}.page-transition-exit-active{opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s}.stagger-animation>*{opacity:0;animation:.6s forwards slideInUp}.stagger-animation>:first-child{animation-delay:.1s}.stagger-animation>:nth-child(2){animation-delay:.2s}.stagger-animation>:nth-child(3){animation-delay:.3s}.stagger-animation>:nth-child(4){animation-delay:.4s}.stagger-animation>:nth-child(5){animation-delay:.5s}.stagger-animation>:nth-child(6){animation-delay:.6s}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@keyframes fadeInZoom{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.fade-in-zoom{animation:.6s cubic-bezier(.4,0,.2,1) fadeInZoom}@keyframes slideUpFade{from{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}.slide-up-fade{animation:.8s cubic-bezier(.4,0,.2,1) slideUpFade}@keyframes blurReveal{from{opacity:0;filter:blur(10px);transform:translateY(30px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}.blur-reveal{animation:1s cubic-bezier(.4,0,.2,1) blurReveal}@keyframes pulseGlow{0%,100%{box-shadow:0 0 40px rgba(0,102,255,.3),0 0 60px rgba(139,92,246,.2)}50%{box-shadow:0 0 60px rgba(0,102,255,.5),0 0 90px rgba(139,92,246,.3)}}.pulse-glow{animation:3s ease-in-out infinite pulseGlow}@keyframes borderRotate{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(360deg)}}.animated-border::before{content:'';position:absolute;inset:-2px;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary),var(--color-accent));animation:3s linear infinite borderRotate;z-index:-1;border-radius:inherit}@keyframes scaleSpring{0%{transform:scale(0)}50%{transform:scale(1.1)}75%{transform:scale(.95)}100%{transform:scale(1)}}.scale-spring{animation:.5s cubic-bezier(.68,-.55,.265,1.55) scaleSpring}@keyframes textShine{0%{background-position:-500%}100%{background-position:500%}}.text-shine{background:linear-gradient(90deg,var(--color-white) 0,var(--color-primary-light) 50%,var(--color-white) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite textShine}.hover-lift{transition:transform .3s cubic-bezier(.4, 0, .2, 1),box-shadow .3s cubic-bezier(.4, 0, .2, 1)}.hover-lift:hover{transform:translateY(-8px);box-shadow:0 20px 60px rgba(0,0,0,.3)}@keyframes floatGentle{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-15px) translateX(5px)}}.float-gentle{animation:6s ease-in-out infinite floatGentle}@keyframes floatSlow{0%,100%{transform:translateY(0)}50%{transform:translateY(-20px)}}.float-slow{animation:8s ease-in-out infinite floatSlow}
