.hero-bg {
    background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.5)),
        url('https://images.unsplash.com/photo-1519567281027-11a56f082e6d?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
    background-size: cover;
    background-position: center;
}

/* Capa oscura sobre la imagen del hero de inicio (mejora contraste del texto) */
.hero-overlay {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.62));
}

.hide-scroll-bar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.hide-scroll-bar::-webkit-scrollbar { display: none; }

.shine-text {
    background-image: linear-gradient(100deg, #a8433f 0%, #a8433f 40%, #dc2626 50%, #a8433f 60%, #a8433f 100%);
    background-size: 300% auto;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    color: #a8433f;
    text-shadow: 0 0 24px rgba(220, 38, 38, 0.55);
    animation: shine-sweep 6s linear infinite;
}

@keyframes shine-sweep {
    0% { background-position: 200% center; }
    100% { background-position: -200% center; }
}

@keyframes float-slow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-14px) rotate(2deg); }
}

@keyframes float-medium {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-10px) rotate(-2deg); }
}

@keyframes float-fast {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-7px); }
}

.float-a { animation: float-slow 5s ease-in-out infinite; }
.float-b { animation: float-medium 4s ease-in-out infinite 0.8s; }
.float-c { animation: float-fast 3.5s ease-in-out infinite 0.3s; }
.float-d { animation: float-slow 6s ease-in-out infinite 1.2s; }
.float-e { animation: float-medium 4.5s ease-in-out infinite 0.5s; }
.float-f { animation: float-fast 3s ease-in-out infinite 1.8s; }

@keyframes float-card {
    0%, 100% { transform: translateY(0px) rotate(-3deg); }
    50% { transform: translateY(-6px) rotate(-3deg); }
}

@keyframes float-card-r {
    0%, 100% { transform: translateY(0px) rotate(3deg); }
    50% { transform: translateY(-8px) rotate(3deg); }
}

.float-card-left { animation: float-card 4s ease-in-out infinite; }
.float-card-right { animation: float-card-r 4.5s ease-in-out infinite 0.6s; }

/* En móvil el panel de cifras pasa al flujo normal para que nunca tape el
   mensaje principal, incluso en pantallas bajas o con texto ampliado. */
@media (max-width: 639px) {
    .hero-section {
        display: block;
        min-height: auto;
        padding: 130px 0 32px;
    }

    .hero-section > .max-w-7xl {
        padding-top: 0;
        padding-bottom: 0;
    }

    #stats-section {
        position: relative;
        inset: auto;
        margin-top: 40px;
        padding: 0 16px;
    }
}
