html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    scroll-behavior: smooth;
    background-color: #fdfdfd;
}

.hero-mesh {
    background-color: #0f172a;
    background-image: radial-gradient(at 0% 0%, hsla(225, 39%, 30%, 1) 0, transparent 50%),
        radial-gradient(at 100% 100%, hsla(217, 91%, 60%, 0.1) 0, transparent 50%);
}

.card-hover {
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.card-hover:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.1);
    border-color: #3b82f6;
}

.text-gradient-blue {
    background: linear-gradient(90deg, #81ffee, #93c5fd);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


@keyframes bounceCustom {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.group:hover .group-hover\:bounce {
    animation: bounceCustom 0.6s infinite;
}

@keyframes floatAlways {

    0%,
    100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

.float-always {
    animation: floatAlways 5s ease-in-out infinite;
}

.text-gradient-blue {
    background: linear-gradient(to right, #60a5fa, #34d399);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Smooth stacking for mobile */
@media (max-width: 1023px) {
    .hero-mesh {
        background-attachment: scroll;
    }
}