/* ILP 2026 — accesibilidad visual, contraste y dimensiones coherentes */
:root {
  --ilp-red-readable: #a20d19;
  --ilp-text-readable: #071d2f;
  --ilp-muted-readable: #40586a;
  --ilp-on-dark: #ffffff;
  --ilp-muted-on-dark: #dce8ef;
  --ilp-accent-on-dark: #ffc1c7;
}

/* Evita cortes de títulos largos y mantiene controles cómodos en cualquier página. */
h1,
h2,
h3 {
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.button-v2,
.nav-cta,
.nav-toggle,
button,
input,
select {
  min-height: 44px;
}

.button-v2 {
  white-space: normal;
  text-align: center;
}

/* Hero de cada solución de Analytics: texto y panel forman una unidad legible. */
.analytics-service-hero .hero-copy-v8 {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: clamp(360px, 31vw, 470px);
  padding: clamp(30px, 3.2vw, 44px);
  border-radius: 28px;
  color: var(--ilp-on-dark);
}

.analytics-service-hero .hero-copy-v8 > .container {
  width: 100%;
  padding: 0;
}

.analytics-service-hero .hero-copy-v8 h1 {
  font-size: clamp(2.45rem, 3.65vw, 3.65rem);
  line-height: .98;
}

.analytics-service-hero .hero-copy-v8 .lead {
  margin-top: 18px;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.58;
}

.analytics-service-hero .analytics-service-meta {
  margin-top: 18px;
}

.analytics-service-hero .action-row {
  margin-top: 22px;
}

.analytics-service-hero .button-v2 {
  min-height: 48px;
  padding: 11px 17px;
}

.analytics-service-hero .hero-copy-v8 h1,
.unit-analytics h1 {
  color: var(--ilp-on-dark) !important;
}

.analytics-service-hero .hero-copy-v8 .lead,
.analytics-service-hero .hero-copy-v8 .lead-v2,
.unit-analytics .lead,
.unit-analytics .lead-v2 {
  color: var(--ilp-muted-on-dark) !important;
}

.analytics-service-hero .hero-copy-v8 .kicker,
.analytics-service-hero .hero-copy-v8 .eyebrow-v2,
.unit-analytics .eyebrow-v2 {
  color: #9bf4ec !important;
}

.analytics-service-hero .analytics-service-meta span {
  border-color: rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .09);
  color: #fff;
}

.analytics-service-hero .button-v2.secondary,
.unit-analytics .button-v2.secondary {
  border-color: #fff;
  background: #fff;
  color: var(--ilp-text-readable);
}

/* Tarjetas empresariales: ningún texto oscuro sobre el degradado azul. */
.audience-card.enterprise h2,
.audience-card.enterprise h3,
.program-card.enterprise h2,
.program-card.enterprise h3 {
  color: var(--ilp-on-dark) !important;
}

.audience-card.enterprise p,
.program-card.enterprise p {
  color: var(--ilp-muted-on-dark) !important;
}

.audience-card.enterprise .label,
.program-card.enterprise .label {
  color: var(--ilp-accent-on-dark) !important;
}

.audience-card.enterprise .card-link,
.program-card.enterprise .card-link {
  color: #fff !important;
  text-decoration-color: rgba(255, 255, 255, .65);
}

.audience-card.enterprise .button-v2.secondary,
.program-card.enterprise .button-v2.secondary {
  border-color: #fff;
  background: #fff;
  color: var(--ilp-text-readable);
}

/* Bloques oscuros compartidos por cursos, servicios y llamadas a la acción. */
.decision-band h2,
.decision-band h3,
.cta-panel h2,
.section-v2.dark h2,
.section-v2.dark h3 {
  color: var(--ilp-on-dark) !important;
}

.decision-band p,
.cta-panel p,
.section-v2.dark p {
  color: var(--ilp-muted-on-dark) !important;
}

.decision-band .button-v2.secondary,
.cta-panel .button-v2.secondary,
.section-v2.dark .button-v2.secondary,
.enrollment-hero .button-v2.secondary {
  border-color: #fff;
  background: #fff;
  color: var(--ilp-text-readable);
}

.enrollment-hero h1,
.enrollment-hero h2,
.enrollment-hero h3 {
  color: var(--ilp-on-dark) !important;
}

.enrollment-hero p {
  color: var(--ilp-muted-on-dark) !important;
}

.enrollment-hero .v4-kicker,
.enrollment-hero .eyebrow-v2 {
  color: var(--ilp-accent-on-dark) !important;
}

/* Leyendas sobre fotografía: mayor contraste frente a zonas claras de la imagen. */
.editorial-caption span {
  color: var(--ilp-accent-on-dark) !important;
  text-shadow: 0 1px 5px rgba(0, 0, 0, .9);
}

.editorial-caption strong,
.editorial-caption small {
  text-shadow: 0 2px 9px rgba(0, 0, 0, .9);
}

.editorial-media.light-caption .editorial-caption span {
  color: var(--ilp-red-readable) !important;
  text-shadow: none;
}

.editorial-media.light-caption .editorial-caption strong,
.editorial-media.light-caption .editorial-caption small {
  text-shadow: none;
}

/* Texto secundario de portada y acentos pequeños sobre fondos claros. */
.v4-hero .v4-kicker,
.page-hero-v2:not(.theme-dark):not(.analytics-service-hero) .breadcrumb-v2,
.page-hero-v2:not(.theme-dark):not(.analytics-service-hero) .eyebrow-v2 {
  color: var(--ilp-red-readable);
}

.v4-hero .v4-lead,
.page-hero-v2:not(.theme-dark):not(.analytics-service-hero) .lead,
.page-hero-v2:not(.theme-dark):not(.analytics-service-hero) .lead-v2 {
  color: var(--ilp-muted-readable);
}

.page-hero-v2:not(.theme-dark):not(.analytics-service-hero) .audience-pill,
.unit-consulting .audience-pill {
  border-color: #c7d4dd;
  background: #eaf0f4;
  color: #17344a;
}

.decision-band .v4-kicker,
.decision-band .eyebrow-v2 {
  color: var(--ilp-accent-on-dark) !important;
}

.analytics-portfolio-card .number {
  color: #066b72;
}

@media (min-width: 921px) {
  .analytics-service-hero .hero-layout-v8 {
    align-items: stretch;
  }

  .analytics-service-hero .hero-media-v8 {
    height: auto;
    min-height: 100%;
  }

  .audience-grid .audience-card {
    min-height: 350px;
  }
}

@media (min-width: 921px) and (max-height: 820px) {
  .analytics-service-hero .hero-copy-v8 {
    min-height: 390px;
    padding: 26px 30px;
  }

  .analytics-service-hero .hero-copy-v8 h1 {
    font-size: clamp(2.3rem, 3.2vw, 2.9rem);
  }

  .analytics-service-hero .hero-copy-v8 .lead {
    margin-top: 14px;
    font-size: .97rem;
    line-height: 1.5;
  }

  .analytics-service-hero .analytics-service-meta,
  .analytics-service-hero .action-row {
    margin-top: 14px;
  }

  .analytics-service-hero .analytics-service-meta span {
    padding: .4rem .62rem;
  }
}

@media (max-width: 920px) {
  .analytics-service-hero .hero-copy-v8 {
    min-height: auto;
  }
}

@media (max-width: 620px) {
  .analytics-service-hero .hero-copy-v8 {
    padding: 28px 22px;
    border-radius: 22px;
  }

  .audience-card h2,
  .audience-card h3,
  .program-card h2,
  .program-card h3 {
    font-size: clamp(1.8rem, 10vw, 2.55rem);
    line-height: 1.05;
  }
}
