/* ILP v10 — contraste, jerarquía tipográfica y balance cromático */
:root {
  --ilp-on-dark: #ffffff;
  --ilp-muted-on-dark: #c9d9e3;
  --ilp-accent-on-dark: #ff929b;
  --ilp-readable-muted: #526a79;
}

/* Inicio: el rojo queda como acento, no como una franja dominante. */
.v4-proofline {
  border-top: 4px solid #c90d1d;
  background: #0b2940;
}
.v4-proof {
  padding-block: 21px;
  border-color: rgba(255, 255, 255, .18);
}
.v4-proof strong { color: #fff; font-size: 1rem; }
.v4-proof span { color: #d8e5ec; font-size: .875rem; }

/* Rótulos y numeración: tamaño mínimo legible y mayor presencia. */
.v4-kicker,
.subservice-intro .kicker,
.breadcrumb-v2 { font-size: .84rem; line-height: 1.35; }
.v4-card .num {
  margin-bottom: 27px;
  font-size: .95rem;
  line-height: 1;
}
.feature-card-v2 .card-icon {
  width: 48px;
  height: 48px;
  font-size: 1rem;
}
.v4-step::before { font-size: .84rem; }
.course-path-copy b,
.course-offer b,
.aula-badge,
.aula-module b { font-size: .8rem; }
.radar-label,
.schedule-head,
.schedule-day { font-size: .8rem; }
.stack-layer span,
.ladder-step span { font-size: .875rem; }

/* Texto claro sobre fondos oscuros. */
.subservice-intro.theme-dark .kicker,
.unit-analytics .eyebrow-v2,
.v4-sector-hero .v4-kicker,
.ink .v4-kicker,
.ink .v4-card .num,
.ink .v4-band b,
.ink .v4-step::before { color: var(--ilp-accent-on-dark); }
.subservice-intro.theme-dark .kicker,
.unit-analytics .eyebrow-v2 { font-size: .875rem; }
.v4-sector-hero h1 { color: var(--ilp-on-dark); }
.v4-sector-hero .hero-copy-v8 p,
.ink .v4-sticky p { color: var(--ilp-muted-on-dark); }

/* Las tarjetas dentro de secciones oscuras permanecen oscuras. */
.ink .v4-band {
  border-color: #35566b;
  background: #102f46;
}
.ink .v4-band h3 { color: #fff; }
.ink .v4-band p { color: #c9d9e3; }

/* La secuencia de aprendizaje también debe funcionar sobre fondos claros. */
.v4-section:not(.ink) .v4-step { border-top-color: #9fb3bf; }
.v4-section:not(.ink) .v4-step h3 { color: #081a2c; }
.v4-section:not(.ink) .v4-step p { color: #4d6575; }
.v4-section:not(.ink) .v4-step::before { color: #b80f1c; }
.v4-section:not(.ink) .v4-step::after { background: #b80f1c; }

/* Encabezados que heredaban un color incorrecto. */
.v4-cta h2,
.v4-case-side h2 { color: #fff; }
.site-footer-v2 h2 { color: #fff; }
.site-footer-v2 .footer-col-v2 a,
.site-footer-v2 .footer-col-v2 span { color: #c5d3dd; }
.site-footer-v2 .footer-bottom-v2 { color: #aebfcb; }

/* Formularios y ayudas: texto secundario con contraste suficiente. */
.smart-progress span { color: #526875; font-size: .8rem; }
.smart-form .field-help,
.smart-submit p { color: #526875; font-size: .82rem; }

/* Acceso flotante: conserva el verde con contraste AA para texto blanco. */
.whatsapp-v2 { background: #08733b; }
.whatsapp-v2:hover { background: #065f31; }

@media (max-width: 680px) {
  .v4-proof strong { font-size: .96rem; }
  .v4-proof span { font-size: .84rem; }
  .v4-card .num { font-size: .9rem; }
}
