html {
    scroll-behavior: smooth;
    /* Prevent mobile horizontal overflow from elements using 100vw or negative margins */
    overflow-x: hidden;
    max-width: 100vw;
}

.gradient-primary {
    background: linear-gradient(135deg, #7abf43 0%, #5a9533 100%);
}

.gradient-dark {
    background: linear-gradient(180deg, #000000 0%, #1a1a1a 100%);
}

.gradient-text {
    background: linear-gradient(135deg, #7abf43 0%, #5a9533 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.scrollbar-hide::-webkit-scrollbar {
    display: none;
}

.scrollbar-hide {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-50%) translateY(0);
    }
    40% {
        transform: translateX(-50%) translateY(-10px);
    }
    60% {
        transform: translateX(-50%) translateY(-5px);
    }
}

.animate-bounce-slow {
    animation: bounce 2s infinite;
}

