/* styles.css */

/* Global Smooth Scroll Fixes for Lenis */
html.lenis {
    height: auto;
}

/* Ensure buttery smooth native scrolling on mobile */
@media (max-width: 768px) {
    html {
        scroll-behavior: smooth !important;
        -webkit-overflow-scrolling: touch !important;
    }
}

.lenis.lenis-smooth {
    scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
}

.lenis.lenis-stopped {
    overflow: hidden;
}

.lenis.lenis-scrolling iframe {
    pointer-events: none;
}

/* Custom Text Effects */
.stroke-text {
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.2);
}

.stroke-text-black {
    -webkit-text-stroke: 1px rgba(0, 0, 0, 0.3);
}

/* Animated Gradient Text */
@keyframes gradient-move {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

.animate-gradient-cyan {
    background: linear-gradient(270deg, #ffffff, #00AEEF, #ffffff);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-move 4s ease infinite;
}

.animate-gradient-green {
    background: linear-gradient(270deg, #ffffff, #39B54A, #ffffff);
    background-size: 200% 200%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: gradient-move 4s ease infinite;
}

/* Marquee Animation */
@keyframes marquee {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-50%);
    }
}

.animate-marquee {
    display: inline-block;
    animation: marquee 20s linear infinite;
}

/* GSAP Reveal Helper */
.gs-reveal {
    will-change: transform, opacity;
}