/* ... al final de tu archivo ... */

/* --- Animación para el fondo de gradiente --- */
@layer base {
    .animated-gradient {
        background-size: 200% 200%;
        animation: gradient-animation 10s ease infinite;
    }
}

@keyframes gradient-animation {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

/* --- Clases para animaciones de scroll con JS --- */
@layer utilities {
    .fade-in-up {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.6s ease-out, transform 0.6s ease-out;
    }

    .fade-in-up.is-visible {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ... al final de tu archivo ... */

/* --- Estilos para el Blob Interactivo --- */
@layer utilities {
    .hero-blob {
        transition: transform 0.2s ease-out;
    }
}

/* --- Estilos para el efecto Glassmorphism --- */
@layer components {
    .glass-card {
        background-color: rgba(255, 255, 255, 0.5);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 1rem;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
        transition: transform 0.2s, box-shadow 0.2s;
    }

    .glass-card:hover {
        box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
        transform: translateY(-0.5rem);
    }

    .card-premium {
        background-color: white;
        border-radius: 1.5rem;
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
        border: 1px solid #f3f4f6;
        padding: 1.5rem;
        transition: transform 0.2s;
    }

    .card-premium:hover {
        transform: scale(1.01);
    }

    .gradient-blue {
        background: linear-gradient(135deg, #1e3a8a 0%, #3b82f6 100%);
    }
}