@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}to{opacity:0;transform:scale(1.6)}}@keyframes pulse-arrow{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(8px)}}@keyframes devopsLoop{0%{stroke-dashoffset:3600px}to{stroke-dashoffset:0}}@keyframes infinityPulse{0%,to{opacity:.35;filter:blur(2px)}50%{opacity:.5;filter:blur(3px)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #2bb8b04d}50%{box-shadow:0 0 40px #2bb8b099}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes drawLine{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes rotateContinuous{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounceSubtle{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.fade-in-scroll{opacity:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1);transform:translateY(40px)}.fade-in-scroll.animate-in{opacity:1;transform:translateY(0)}.stagger-children>*{opacity:0;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);transform:translateY(30px)}.fade-in-scroll.animate-in .stagger-children>*{opacity:1;transform:translateY(0)}.hide-on-mobile{display:block}.show-on-mobile{display:none}@media (max-width:768px){.hide-on-mobile{display:none!important}.show-on-mobile{display:block}}*{transition-property:background-color,border-color,color;transition-duration:.2s;transition-timing-function:ease-in-out}:not(.fade-in-scroll):not(.stagger-children>*){transition-property:background-color,border-color,color}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}.animated-gradient{background-size:200% 200%;animation:8s infinite gradientShift}@keyframes countUp{0%{opacity:0}to{opacity:1}}@keyframes progressFill{0%{width:0}to{width:100%}}@keyframes circularProgress{0%{stroke-dashoffset:327px}to{stroke-dashoffset:0}}.glow-on-hover{transition:box-shadow .3s cubic-bezier(.4,0,.2,1)}.glow-on-hover:hover{box-shadow:0 0 30px #2bb8b080}.card-lift{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card-lift:hover{transform:translateY(-8px);box-shadow:0 20px 40px #00000026}html{scroll-behavior:smooth}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:1s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.draw-path{stroke-dasharray:1000;stroke-dashoffset:1000px;animation:2s cubic-bezier(.4,0,.2,1) forwards drawLine}@keyframes blurToFocus{0%{filter:blur(10px);opacity:0}to{filter:blur();opacity:1}}@keyframes textReveal{0%{opacity:0;filter:blur(4px);transform:translateY(30px)}to{opacity:1;filter:blur();transform:translateY(0)}}.btn-press:active{transform:scale(.95)}@keyframes magnetic{0%{transform:translate(0)}25%{transform:translate(-2px,-2px)}50%{transform:translate(2px,2px)}75%{transform:translate(-2px,2px)}to{transform:translate(0)}}.hero-infinity-loop{animation:6s ease-in-out infinite infinityPulse}.tech-icon-float{animation:6s ease-in-out infinite float}.section-reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1);transform:translateY(60px)}.section-reveal.revealed{opacity:1;transform:translateY(0)}@keyframes gradientText{0%,to{background-position:0%}50%{background-position:100%}}.animated-gradient-text{background-size:200%;animation:4s infinite gradientText}
