.animate-on-scroll{opacity:0;transform:translateY(20px)}.animate-on-scroll.active{opacity:1;transform:translateY(0)}@keyframes shine{0%{left:-100%}to{left:100%}}.btn-shine-animate{position:relative;overflow:hidden}.btn-shine-animate:before{content:"";background:linear-gradient(120deg,#0000,#ffffff80,#0000);width:100%;height:100%;animation:1.5s ease-in-out infinite shine;position:absolute;top:0}@keyframes pulso{0%{box-shadow:0 0 #fffc}70%{box-shadow:0 0 0 20px #fff0}to{box-shadow:0 0 #fff0}}.btn-pulse-animation{position:relative}.btn-pulse-animation:before{content:"";border:3px solid #fff;border-radius:9999px;width:15px;height:15px;margin:auto;animation:2s infinite pulso;position:absolute;top:0;bottom:0;left:15px}html{scroll-behavior:smooth}.section-padding{padding:4rem 1rem}.container-max{max-width:80rem;margin:auto}.text-gradient-primary{background:var(--gradient-hero);-webkit-text-fill-color:#0000;-webkit-background-clip:text}.text-gradient-accent{background:var(--gradient-accent);-webkit-text-fill-color:#0000;-webkit-background-clip:text}.bg-gradient-hero{background:var(--gradient-hero)}.bg-gradient-accent{background:var(--gradient-accent)}.bg-gradient-dark{background:var(--gradient-dark)}.bg-gradient-tri-bg{background:linear-gradient(90deg,white,var(--color-gray))}.card-elevated{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow-card);border-radius:12px}.card-hover{transition:all .3s ease-out}.card-hover:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.glow-accent{box-shadow:var(--shadow-glow)}.glass-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffc;border:1px solid #fff3}.glass-card-dark{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff1a;border:1px solid #ffffff1a}.gradient-text{background:linear-gradient(135deg,#bc0101,#ec1313);color:#0000;-webkit-background-clip:text}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";opacity:0;background:linear-gradient(135deg,#fff3,#0000);transition:opacity .3s;position:absolute;inset:0}.btn-glow:hover:after{opacity:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulseSoft{0%,to{opacity:1}50%{opacity:.7}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-up.active{animation:.6s ease-out both fadeUp}.animate-fade-up-delay-1.active{animation:.6s ease-out .15s both fadeUp}.animate-fade-up-delay-2.active{animation:.6s ease-out .3s both fadeUp}.animate-fade-up-delay-3.active{animation:.6s ease-out .45s both fadeUp}.animate-slide-in-right.active{animation:.8s ease-out forwards slideInRight}.animate-pulse-subtle.active{animation:3s ease-in-out infinite pulseSoft}.animate-float{animation:6s ease-in-out infinite float}.animate-float-delayed{animation:6s ease-in-out 2s infinite float}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes pulse-glow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes pulse-expand{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@keyframes typing{0%,to{width:0}50%{width:100%}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit{0%{transform:rotate(0)translate(80px)rotate(0)}to{transform:rotate(360deg)translate(80px)rotate(-360deg)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes progress-fill{0%{width:0%}to{width:100%}}@keyframes data-flow{0%{opacity:0;transform:translateY(0)}20%,80%{opacity:1}to{opacity:0;transform:translateY(-60px)}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2)}}@keyframes bounce-subtle{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes neural-pulse{0%,to{opacity:.3}50%{opacity:1}}@keyframes cart-bounce{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-3px)rotate(-2deg)}75%{transform:translateY(-3px)rotate(2deg)}}@keyframes code-scroll{0%{transform:translateY(0)}to{transform:translateY(-50%)}}@keyframes screen-glow{0%,to{box-shadow:0 0 20px #bb01004d}50%{box-shadow:0 0 40px #bb010099}}@keyframes test-check{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes node-connect{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:20px}}.animate-slide-up.active{animation:.5s ease-out forwards slide-up}.animate-orbit.active{animation:12s linear infinite orbit}.animate-spin-slow.active{animation:8s linear infinite spin-slow}.animate-progress-fill.active{animation:2s ease-out forwards progress-fill}.animate-data-flow.active{animation:2s ease-in-out infinite data-flow}.animate-pulse-ring.active{animation:2s ease-out infinite pulse-ring}.animate-bounce-subtle.active{animation:2s infinite bounce-subtle}.animate-neural-pulse.active{animation:2s infinite neural-pulse}.animate-cart-bounce.active{animation:1s infinite cart-bounce}.animate-code-scroll.active{animation:10s linear infinite code-scroll}.animate-screen-glow.active{animation:3s infinite screen-glow}.animate-test-check.active{animation:.5s forwards test-check}.animate-node-connect.active{animation:2s infinite node-connect}@keyframes float-icon{0%{opacity:.4;transform:translateY(0)scale(.8)}50%{opacity:.8;transform:translateY(-20px)scale(1.1)}to{opacity:.4;transform:translateY(0)scale(.8)}}@keyframes hearbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.animate-hearbeat{animation:2s infinite hearbeat}.animate-float-icon{animation:4s infinite float-icon}.animate-delay-0{animation-delay:0s}.animate-delay-1{animation-delay:.5s}.animate-delay-2{animation-delay:1s}.animate-delay-3{animation-delay:1.5s}.animate-delay-4{animation-delay:2s}.reverse{animation-direction:reverse}.animate-pulse-glow.active{animation:3s ease-in-out infinite pulse-glow}.animate-pulse-expand.active{animation:3s ease-in-out infinite pulse-expand}.animate-typing.active{animation:3s steps(20,end) infinite typing}.animate-blink.active{animation:1s step-end infinite blink}
