/* Tipo «programa»: se carga después de assets/styles.css (núcleo).
   Diseño: _ds/ui_kits/landing/ProgramScreen.jsx */

.band-light { background: var(--bd-blue-light); color: #fff; }
.band-light .h2 { color: #fff; }
.band-grey .credenciales li { background: #fff; }

/* Portada: el antetítulo va dentro del h1 (palabra clave) */
.programa-hero h1 { font-size: var(--text-display); line-height: 1.12; text-transform: uppercase; }
.programa-hero h1 .eyebrow { display: block; margin-bottom: 14px; color: var(--bd-orange); line-height: 1.4; }
.programa-hero h1 .sep { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.programa-hero p { font-size: var(--text-lead); }

/* Título de sección con su entradilla */
.cabecera-seccion { gap: 14px; max-width: var(--narrow); margin: 0 auto; text-align: center; }
.cabecera-seccion p { font-size: var(--text-base); }

/* Tarjetas de color (FeatureCard): 3 en fila, separadas 8 px */
.tarjetas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--card-gap); }
.tarjeta { padding: 28px 24px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.tarjeta h3 { font-size: var(--text-card-title); }
.tarjeta p { font-size: 16px; line-height: 1.55; }
.tarjeta-num { font: 700 30px/1 var(--font-heading); }
.tarjeta-pilar { justify-content: flex-start; }
.tarjeta-pilar .arrow-list { align-self: stretch; text-align: left; gap: 8px; font-size: var(--text-small); margin-top: 4px; }
.tono-blanco { background: #fff; color: var(--bd-black); }
.tono-blanco .tarjeta-num { color: var(--bd-orange); }
.tono-gris { background: var(--bd-grey); color: var(--bd-ink); }
.tono-gris h3 { color: var(--bd-black); }
.tono-naranja { background: var(--bd-orange); color: var(--bd-black); }
.tono-claro { background: var(--bd-blue-light); color: #fff; }
/* Sobre fondo gris, las grises se distinguen en blanco */
.band-grey .tono-gris { background: #fff; }

/* Qué incluye: lista + foto */
.incluye { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; align-items: center; }
.incluye img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.incluye .bullet-list { font-size: var(--text-lead); gap: 20px; }

/* Formulario de solicitud: tarjeta blanca sobre la banda azul */
.contacto .cabecera-seccion p { font-size: var(--text-lead); }
.form-solicitud { background: #fff; padding: 36px 32px; max-width: 640px; margin: 0 auto; scroll-margin-top: 24px; }
.form-solicitud .btn { align-self: flex-start; }
.form-solicitud .field textarea { border: 1px solid var(--bd-grey-300); }

@media (max-width: 860px) {
  .tarjetas { grid-template-columns: 1fr; }
  .incluye { grid-template-columns: 1fr; gap: 28px; }
  .form-solicitud { padding: 24px 20px; }
  .form-solicitud .btn { align-self: stretch; }
}
/* El recuadro de reCAPTCHA mide 304 px: en pantallas muy estrechas, más pequeño */
@media (max-width: 380px) {
}

/* «Ver la política de privacidad» encima de la casilla de comunicaciones */
.form-legal { font-size: var(--text-small); color: var(--bd-ink-2); }
.form-legal a { color: inherit; }
