/* audiencia — «¿A quién está dirigida?»: título centrado y 4 perfiles sobre morado.
   OJO: sin position/z-index/overflow en .m-audiencia. En escritorio la foto del
   módulo siguiente (evolucion) sube sobre este fondo: por eso el hueco inferior de 128px. */

.m-audiencia {
  /* Sin token equivalente (pedidos como compartidos): subtítulos a ~21.9px
     y tracking −25 que el PDF aplica a los títulos en negrita. */
  --m-audiencia-sub: var(--text-lg);
  --m-audiencia-tracking: var(--tracking-title);
  --m-audiencia-pad: calc(var(--space-4) + var(--space-3));   /* 60px */
  /* Abajo 128px a 1440 para la cabeza de la foto de evolucion. Esa foto deja de subir
     hacia ~1300px, así que el hueco extra encoge con el viewport hasta igualar el de arriba. */
  padding-block: var(--m-audiencia-pad)
    clamp(var(--m-audiencia-pad), calc(var(--space-7) + var(--space-3) - (1440px - 100vw) / 2), calc(var(--space-7) + var(--space-3)));
  background: var(--color-primary);
  color: var(--color-on-dark);
  text-align: center;
}

/* La fila de perfiles es más ancha que el contenedor estándar (1363px en el PDF). */
.m-audiencia__inner { --container-max: 85.2rem; }

/* El tracking deja un hueco tras la última letra: se compensa para centrar de verdad. */
.m-audiencia__eyebrow { margin-inline-end: calc(-1 * var(--tracking-eyebrow)); }

.m-audiencia__title {
  margin-top: var(--space-2);
  letter-spacing: var(--m-audiencia-tracking);
  color: var(--color-on-dark);
}
.m-audiencia__title .section-title__accent { display: block; }

/* Perfiles */
.m-audiencia__list {
  display: grid;
  /* Celdas del PDF entre separadores. El mínimo max-content evita que un texto parta
     en 2 líneas cerca de 1088px: esa columna toma el ancho que necesita a costa de las demás.
     ponytail: con textos mucho más largos que los actuales la fila desbordaría; entonces, 2 columnas antes. */
  grid-template-columns: minmax(max-content, 351fr) minmax(max-content, 337fr) minmax(max-content, 334fr) minmax(max-content, 341fr);
  margin-top: calc(var(--space-6) + var(--space-2));
  padding: 0;
  list-style: none;
  text-align: left;
}

.m-audiencia__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(var(--space-3) + var(--space-1) / 2);   /* 28px: media de los huecos icono-texto del PDF (31/21/35/26) */
  min-height: 4.8125rem;                           /* 77px: alto de los separadores */
  padding-inline: var(--space-1);                   /* que el icono no toque el separador en pantallas justas */
}
.m-audiencia__item + .m-audiencia__item { border-left: 1px solid var(--color-divider-on-primary); }

.m-audiencia__icon {
  flex: none;
  width: auto;
  height: clamp(3.5rem, 5vw, 4.5rem);             /* 72px a 1440; encoge para caber en 4 columnas */
}

.m-audiencia__text { min-width: 0; }

.m-audiencia__item-title {
  font-size: var(--text-xl);
  font-weight: var(--weight-bold);
  line-height: var(--leading-tight);
  letter-spacing: var(--m-audiencia-tracking);
  color: inherit;
}

.m-audiencia__item-sub {
  font-size: var(--m-audiencia-sub);
  font-weight: var(--weight-medium);
  line-height: var(--leading-tight);
}

/* Tablet: 2 × 2. Aquí la foto de evolucion ya no sube: sin hueco inferior extra. */
@media (max-width: 67.99rem) {
  .m-audiencia { padding-block: var(--section-y); }
  .m-audiencia__list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--space-4);
  }
  .m-audiencia__item:nth-child(odd) { border-left: 0; }
  /* Misma caja para todos los iconos y ancho mínimo común de texto:
     los bordes izquierdos coinciden entre las dos filas. */
  .m-audiencia__icon {
    width: 4.5rem;
    height: 4.5rem;
    object-fit: contain;
  }
  .m-audiencia__text { min-width: 11em; }
}

/* Móvil: una columna, separadores horizontales y textos alineados */
@media (max-width: 47.99rem) {
  .m-audiencia__list {
    grid-template-columns: 1fr;
    row-gap: 0;
    width: fit-content;
    margin: var(--space-5) auto 0;
  }
  .m-audiencia__item {
    justify-content: flex-start;
    padding-block: var(--space-3);
  }
  .m-audiencia__item + .m-audiencia__item {
    border-left: 0;
    border-top: 1px solid var(--color-divider-on-primary);
  }
  .m-audiencia__text { min-width: 0; }   /* la lista ya es fit-content: no hace falta y en 320px desbordaría */
}
