html{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;scroll-behavior:smooth}.animate-on-scroll{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-on-scroll.slide-left{transform:none}.animate-on-scroll.slide-left.visible{transform:translate(0)}.animate-on-scroll.slide-right{transform:none}.animate-on-scroll.slide-right.visible{transform:translate(0)}.animate-on-scroll.scale-up{transform:none}.animate-on-scroll.scale-up.visible{transform:scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.fade-in{animation:fadeIn .6s ease-out forwards}.fade-in-up{opacity:0;transform:translateY(20px);animation:fadeInUp .8s cubic-bezier(.4,0,.2,1) forwards}.fade-in-up-delay-1{animation-delay:.15s}.fade-in-up-delay-2{animation-delay:.3s}.fade-in-up-delay-3{animation-delay:.45s}.fade-in-up-delay-4{animation-delay:.6s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hover-lift{transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s cubic-bezier(.4,0,.2,1)}.hover-lift:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px #00c2d140}.btn-glow{position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.btn-glow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-glow:hover:before{left:100%}.btn-glow:hover{box-shadow:0 0 30px #00c2d180;transform:translateY(-2px)}.animated-gradient{background-size:400% 400%;animation:gradientShift 15s ease infinite}@keyframes gradientShift{0%{background-position:0% 50%}25%{background-position:50% 0%}50%{background-position:100% 50%}75%{background-position:50% 100%}to{background-position:0% 50%}}.floating-shapes{position:absolute;inset:0;overflow:hidden;pointer-events:none}.floating-shape{position:absolute;border-radius:50%;background:#ffffff1a;animation:float 20s infinite ease-in-out}.floating-shape:nth-child(1){width:300px;height:300px;top:-150px;right:-100px;animation-delay:0s;animation-duration:25s}.floating-shape:nth-child(2){width:200px;height:200px;bottom:-100px;left:-50px;animation-delay:-5s;animation-duration:20s}.floating-shape:nth-child(3){width:150px;height:150px;top:50%;left:20%;animation-delay:-10s;animation-duration:22s}.floating-shape:nth-child(4){width:100px;height:100px;bottom:30%;right:15%;animation-delay:-7s;animation-duration:18s}@keyframes float{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(30px,-30px) rotate(90deg) scale(1.1)}50%{transform:translate(-20px,20px) rotate(180deg) scale(.9)}75%{transform:translate(20px,40px) rotate(270deg) scale(1.05)}}.parallax-bg{transition:transform .1s ease-out}.gradient-text{background:linear-gradient(135deg,#00c2d1,#1e90ff,#00c2d1);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textGradient 4s linear infinite}@keyframes textGradient{0%{background-position:0% center}to{background-position:200% center}}.icon-pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.card-shine{position:relative;overflow:hidden}.card-shine:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(to bottom right,#fff0 0% 40%,#ffffff1a 50%,#fff0 60% 100%);transform:rotate(45deg) translate(-100%);transition:transform .6s}.card-shine:hover:after{transform:rotate(45deg) translate(100%)}.animated-border{position:relative}.animated-border:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,#00c2d1,#1e90ff,#00c2d1,#1e90ff);background-size:400% 400%;border-radius:inherit;z-index:-1;animation:borderGradient 3s ease infinite;opacity:0;transition:opacity .3s}.animated-border:hover:before{opacity:1}@keyframes borderGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.floating-shape,.animated-gradient,.gradient-text{animation:none!important}}
