/*
 * Cabecera de las páginas de contenido.
 *
 * Dos columnas en escritorio —texto a la izquierda, foto a la derecha— y una
 * sola en móvil con el texto primero. Debajo, la tira de cifras.
 *
 * Sin fondo de color: la fila de migas que va justo encima ya es una franja
 * gris, y dos bandas seguidas se leen como un bloque sin principio ni fin.
 */

.hero {
    padding: 34px 0 6px;
}

.hero__caja {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 46px;
    align-items: center;
}

/* Sin foto el texto no se estira a todo lo ancho: una entradilla de mil
   doscientos píxeles de línea no se lee. */
.hero--sin-foto .hero__caja {
    grid-template-columns: minmax(0, 1fr);
    max-width: 760px;
}

/* ── Texto ──────────────────────────────────────────────────────────── */

.hero__antetitulo {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .09em;
    text-transform: uppercase;
    color: #e61e29;
    margin: 0 0 10px;
}

.hero__titulo {
    font-size: 34px;
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.015em;
    color: var(--texto);
    margin: 0 0 14px;
}

/* La entradilla es lo que hace que el bloque valga la pena: dice en una frase
   qué se va a encontrar. Va un punto por encima del cuerpo y en tono medio,
   para leerse antes que el texto y después que el título. */
.hero__entrada {
    font-size: 17px;
    line-height: 1.65;
    color: var(--texto);
    margin: 0;
    max-width: 52ch;
}

.hero__acciones {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.hero__acciones .boton {
    min-height: 46px;
    font-size: .95rem;
}

/* ── Foto ───────────────────────────────────────────────────────────── */

.hero__figura {
    margin: 0;
    border-radius: 16px;
    overflow: hidden;
    /* La sombra despega la foto del blanco de la página sin necesidad de un
       marco, que competiría con los bordes de las tarjetas de más abajo. */
    box-shadow: 0 18px 40px rgba(31, 39, 51, .12);
}

.hero__figura img {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    display: block;
}

/* ── Cifras ─────────────────────────────────────────────────────────── */

.hero__cifras {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 2px;
    margin: 40px 0 0;
    padding: 0;
    background: #e8eaed;
    border-radius: 14px;
    overflow: hidden;
}

/* Las celdas se separan con el fondo del contenedor asomando entre ellas, en
   lugar de con bordes: así no hay que quitarle el borde a la última. */
.hero__cifra {
    background: #f8f9fa;
    padding: 20px 18px;
    text-align: center;
}

.hero__cifra-valor {
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    color: #e61e29;
    margin: 0 0 6px;
    font-variant-numeric: tabular-nums;
}

.hero__cifra-etiqueta {
    font-size: 13px;
    line-height: 1.4;
    color: var(--texto);
    margin: 0;
}

@media (max-width: 991px) {
    .hero__caja {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .hero__titulo {
        font-size: 27px;
    }

    .hero__entrada {
        font-size: 16px;
        max-width: none;
    }
}

@media (max-width: 575px) {
    .hero {
        padding-top: 24px;
    }

    .hero__titulo {
        font-size: 23px;
    }

    .hero__acciones .boton {
        width: 100%;
    }

    .hero__cifras {
        grid-template-columns: repeat(2, 1fr);
    }

    .hero__cifra {
        padding: 16px 12px;
    }

    .hero__cifra-valor {
        font-size: 23px;
    }
}
