/* JM Rutas v3 · ruta-talento.html · piezas únicas (solo tokens de base.css)
   Identidad respaldada: el acento de toda la página es la yareta, no el cobre.
   Gramáticas: apertura con colegio de pueblo · recorrido de paradas · instrumento
   (diagnóstico) · calendario nocturno · señal de salvaguardia · acordeón · foto alta +
   ficha · video a sangre · gráficos con fuente · matriz tipográfica · embudo · hoja
   de reporte · fuentes de dinero · llegada con formulario. */

/* ---------- Comunes de la v3 (viven en portada.css; aquí solo lo usado) ---------- */
.antetitulo { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 680; font-stretch: 75%; letter-spacing: .14em; text-transform: uppercase; color: var(--acento-tinta); }
.rt-pagina .tramo { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.rt-pagina h2.t-2 { max-width: 18ch; }
.rt-pagina [data-tramo]:not([data-tramo="noche"]) { --acento: var(--yareta); --acento-tinta: var(--yareta-tinta); --enlace-subrayado: var(--yareta); }
.rt-pagina [data-tramo="noche"] { --acento: var(--yareta-claro); --acento-tinta: var(--yareta-claro); }
.rt-pagina .boton--primario { --b-bg: var(--yareta-tinta); --b-bd: var(--yareta-tinta); }
.rt-pagina .boton--primario:hover { --b-bg: #354A1F; --b-bd: #354A1F; }
.rt-pagina .punto { color: var(--acento); }
.rt-pagina .pasos-form__ruta::after { background: var(--yareta); }
.rt-pagina .pasos-form__hito.is-hecho { background: var(--yareta-tinta); border-color: var(--yareta-tinta); }
.rt-pagina .pasos-form__hito.is-actual { border-color: var(--yareta); box-shadow: 0 0 0 5px color-mix(in srgb, var(--yareta) 22%, transparent); }
.rt-cab { display: grid; gap: var(--e-s); margin-bottom: clamp(2rem, 4vw, 3.5rem); max-width: 60rem; }
@media (min-width: 1024px) { .rt-cab--partida { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: var(--e-2xl); align-items: end; max-width: none; } .rt-cab--partida .antetitulo { grid-column: 1 / -1; } }

/* ---------- Apertura ---------- */
.rt-hero { position: relative; overflow: clip; background: var(--bg); padding-top: calc(var(--cab-alto) + clamp(1.25rem, 5vw, 4rem)); padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.rt-hero__rejilla { display: grid; gap: var(--e-xl) var(--medianil); }
.rt-hero__texto { display: grid; gap: var(--e-m); align-content: end; }
.rt-marca { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .9rem; }
.rt-marca__nombre { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--f-display); font-weight: 760; font-stretch: 92%; font-size: 1.1rem; color: var(--yareta-tinta); }
.rt-marca__nombre::before { content: ""; width: .8rem; height: .8rem; border-radius: 50% 50% 50% 0; background: var(--yareta); rotate: -45deg; }
.rt-hero__pre { font-family: var(--f-display); font-weight: 650; font-stretch: 92%; font-size: 1.15rem; color: var(--tinta-2); }
.rt-hero__titulo { font-size: clamp(3.05rem, 10vw + .3rem, 8.75rem); font-weight: 850; font-stretch: 112%; line-height: .86; letter-spacing: -.04em; margin-left: -.04em; }
.rt-hero__titulo .linea { display: block; overflow: hidden; padding-bottom: .07em; margin-bottom: -.07em; }
.rt-hero__titulo .linea > span { display: inline-block; }
.js .rt-hero__titulo .linea > span { transform: translateY(105%); }
.js .rt-hero__titulo.is-listo .linea > span { transform: none; transition: transform 700ms var(--ease-salida); transition-delay: calc(var(--n, 0) * 110ms + 80ms); }
.rt-hero__lead { font-size: var(--t-lead); line-height: 1.45; color: var(--tinta-2); max-width: 36ch; }
.rt-hero__acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e-s) var(--e-l); }
.rt-wa { white-space: normal; text-align: left; }
.rt-confianza { display: flex; flex-wrap: wrap; gap: .35rem 1.25rem; font-size: var(--t-chico); font-weight: 600; color: var(--tinta); }
.rt-confianza li { display: inline-flex; align-items: baseline; gap: .45rem; }
.rt-confianza li::before { content: ""; flex: none; width: .55rem; height: .3rem; border-left: 2px solid var(--yareta-tinta); border-bottom: 2px solid var(--yareta-tinta); rotate: -45deg; translate: 0 -.2rem; }
.rt-hero__numero { font-size: var(--t-nota); color: var(--tinta-3); }
.rt-hero__foto { --ar: 4 / 3; border-radius: var(--r-xs); }
.rt-hero__foto img { object-position: 32% 55%; }
.rt-hero__rotulo { display: grid; gap: .15rem; padding: 2.5rem var(--e-s) .8rem !important; font-size: var(--t-nota) !important; }
.rt-hero__empresa { margin-top: var(--e-l); font-size: var(--t-chico); color: var(--tinta-2); }
.rt-hero__empresa a { color: var(--tinta); font-weight: 700; text-decoration-color: var(--yareta); text-decoration-thickness: 1.5px; }
@media (max-width: 1023px) { .rt-hero__foto { margin-inline: calc(var(--margen) * -1); border-radius: 0; } }
@media (min-width: 1024px) {
  .rt-hero { min-height: min(100svh, 60rem); display: grid; align-content: end; }
  .rt-hero__rejilla { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
  .rt-hero__titulo { font-size: clamp(4rem, 6.3vw, 7.75rem); }
  .rt-hero__foto { --ar: auto; height: min(74svh, 44rem); margin-right: calc(-1 * max(var(--margen), (100vw - var(--ancho-max)) / 2)); border-radius: var(--r-xs) 0 0 var(--r-xs); }
}

/* ---------- Cómo funciona: paradas de un recorrido ---------- */
.rt-recorrido { position: relative; display: grid; list-style: none; padding: 0; }
.rt-recorrido::before { content: ""; position: absolute; left: 7px; top: .6rem; bottom: 1.5rem; width: 2px; background: repeating-linear-gradient(to bottom, var(--yareta) 0 10px, transparent 10px 20px); }
.rt-recorrido li { position: relative; display: grid; gap: .3rem; padding: 0 0 var(--e-l) 2.25rem; }
.rt-recorrido li::before { content: ""; position: absolute; left: 0; top: .2rem; width: 16px; height: 16px; border-radius: 2px; background: var(--piedra); border: 2px solid var(--yareta-tinta); }
.rt-recorrido li:last-child::before { background: var(--yareta-tinta); }
.rt-recorrido__cuando { font-family: var(--f-display); font-size: .95rem; font-weight: 760; font-stretch: 75%; letter-spacing: .06em; text-transform: uppercase; color: var(--yareta-tinta); }
.rt-recorrido h3 { font-size: var(--t-3); font-weight: 740; font-stretch: 96%; letter-spacing: -.015em; }
.rt-recorrido p:not(.rt-recorrido__cuando) { color: var(--tinta-2); max-width: 32ch; }
@media (min-width: 900px) {
  .rt-recorrido { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--medianil); }
  .rt-recorrido::before { left: 0; right: 0; top: 7px; bottom: auto; width: auto; height: 2px; background: repeating-linear-gradient(90deg, var(--yareta) 0 14px, transparent 14px 26px); }
  .rt-recorrido li { padding: 2.4rem 0 0; }
}
.rt-furgon { display: grid; gap: var(--e-xs); max-width: 42rem; margin: var(--e-xl) 0 0 auto; }
.rt-furgon img { width: 100%; height: auto; }

/* ---------- Diagnóstico ---------- */
.rt-diag-rejilla { display: grid; gap: var(--e-xl) var(--medianil); align-items: start; }
.rt-diag-cab { display: grid; gap: var(--e-m); }
.rt-diag-rejilla > *, .rt-fechas__rejilla > *, .rt-reporte__rejilla > *, .rt-gobierno > *, .rt-llegada__rejilla > * { min-width: 0; }
.rt-pagina .boton { white-space: normal; text-align: left; }
@media (min-width: 1024px) { .rt-diag-rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--e-2xl); } .rt-diag-cab { position: sticky; top: calc(var(--cab-alto) + 2rem); } }
.rt-aviso { padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); font-size: var(--t-chico); color: var(--tinta-2); max-width: 44ch; }
.rt-diag.pasos-form { gap: var(--e-l); background: var(--cal-0); border: 1px solid var(--borde); border-radius: var(--r-s); box-shadow: var(--sombra-1); }
.rt-diag__cab { display: grid; gap: var(--e-s); }
.rt-diag legend { font-size: clamp(1.4rem, 1.2vw + 1rem, 2rem); line-height: 1.1; }
.rt-chips { display: grid; gap: .5rem; }
@media (min-width: 640px) { .rt-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.rt-chips label { display: grid; }
.rt-chips span { min-height: 3.25rem; padding: .7rem 1rem; border-radius: var(--r-s); line-height: 1.25; }
.rt-chips input:checked + span { background: var(--yareta-tinta); border-color: var(--yareta-tinta); color: var(--cal-0); }
.rt-res__ruta { font-size: clamp(1.8rem, 2vw + 1rem, 2.8rem); font-weight: 800; font-stretch: 100%; line-height: 1; letter-spacing: -.02em; color: var(--yareta-tinta); }
.rt-res__intro { font-size: var(--t-lead); line-height: 1.4; color: var(--tinta-2); }
.rt-res__sub { margin-top: var(--e-s); font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 78%; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-3); }
.rt-op { display: grid; border-top: 1.5px solid var(--tinta); }
.rt-op li { display: grid; gap: .35rem; padding-block: var(--e-m); border-bottom: 1px solid var(--borde); }
.rt-op small { font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--yareta-tinta); }
.rt-op__t { font-size: var(--t-4); font-weight: 740; }
.rt-op p { font-size: var(--t-chico); color: var(--tinta-2); }
.rt-op .enlace-flecha { justify-self: start; }

/* ---------- Fechas (noche) ---------- */
.rt-fechas__rejilla { display: grid; gap: var(--e-xl) var(--medianil); }
.rt-fechas__cab { display: grid; gap: var(--e-m); align-content: start; }
@media (min-width: 1024px) { .rt-fechas__rejilla { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: var(--e-2xl); } .rt-fechas__cab { position: sticky; top: calc(var(--cab-alto) + 2rem); } }
.rt-fechas .lead { color: var(--noche-100); }
.rt-claro { padding-top: var(--e-s); border-top: 1px solid var(--borde); color: var(--noche-100); max-width: 46ch; }
.rt-claro b { color: var(--yareta-claro); }
.rt-cal { list-style: none; padding: 0; border-top: 1.5px solid var(--cal); }
.rt-cal li { display: grid; grid-template-columns: 1fr auto; gap: .35rem var(--e-s); align-items: baseline; padding-block: var(--e-m); border-bottom: 1px solid var(--borde); }
.rt-cal time { font-family: var(--f-display); font-size: 1.45rem; font-weight: 800; font-stretch: 72%; line-height: 1; font-variant-numeric: tabular-nums; color: var(--cal); }
.rt-cal div { grid-column: 1 / -1; }
.rt-cal b { display: block; font-family: var(--f-display); font-size: 1.15rem; font-weight: 720; font-stretch: 94%; color: var(--cal); }
.rt-cal p { margin-top: .2rem; font-size: var(--t-chico); color: var(--noche-300); max-width: 52ch; }
.rt-cal .estado { grid-column: 2; grid-row: 1; }
@media (min-width: 640px) { .rt-cal li { grid-template-columns: 9.5rem minmax(0, 1fr) auto; } .rt-cal div { grid-column: 2; grid-row: 1; } .rt-cal .estado { grid-column: 3; } .rt-cal time { font-size: 1.6rem; } }
.rt-cal li.is-pasado { opacity: .5; }
.rt-cal li.is-pasado time { text-decoration: line-through; text-decoration-thickness: 2px; }
.rt-cal li.is-proximo time { color: var(--yareta-claro); }
.rt-cal__prox { margin-bottom: .45rem; }
.rt-fechas__lista .fuente { margin-top: var(--e-l); }

/* ---------- Datos y salvaguardia ---------- */
.rt-senal { display: grid; gap: var(--e-m) var(--e-2xl); padding: clamp(1.5rem, 4vw, 3rem); background: var(--noche); color: var(--cal); border-radius: var(--r-s); --tinta: var(--cal); --foco: var(--ocre-claro); }
@media (min-width: 1024px) { .rt-senal { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; } .rt-senal__t { grid-column: 1 / -1; } }
.rt-senal__t { justify-self: start; display: inline-flex; padding: .4em .75em; background: var(--senal); color: var(--noche); border-radius: var(--r-s); box-shadow: inset 0 0 0 2px var(--noche); font-family: var(--f-display); font-size: .82rem; font-weight: 760; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; }
.rt-senal__frase { font-family: var(--f-display); font-size: clamp(1.75rem, 3.2vw + .6rem, 3.6rem); font-weight: 800; font-stretch: 100%; line-height: 1.02; letter-spacing: -.025em; max-width: 20ch; }
.rt-senal__txt { display: grid; gap: var(--e-s); color: var(--noche-100); }
.rt-senal__txt b { color: var(--cal); }
.rt-compromisos { display: grid; margin-top: var(--e-xl); border-top: 1.5px solid var(--tinta); }
@media (min-width: 900px) { .rt-compromisos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-2xl); } }
.rt-compromisos li { padding-block: var(--e-s); border-bottom: 1px solid var(--borde); color: var(--tinta-2); }
.rt-compromisos b { color: var(--tinta); }
.rt-datos__pie { display: grid; gap: var(--e-xs); margin-top: var(--e-l); }
.rt-datos__pie .enlace-flecha { justify-self: start; }

/* ---------- Preguntas de las familias ---------- */
.rt-faq { display: grid; gap: var(--e-l) var(--medianil); }
.rt-faq__t { margin-top: var(--e-s); max-width: 14ch; }
@media (min-width: 1024px) { .rt-faq { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); column-gap: var(--e-2xl); } }

/* ---------- Familias de la Ruta ---------- */
.rt-ruta-fam__rejilla { display: grid; gap: var(--e-xl) var(--medianil); align-items: center; }
.rt-ruta-fam__foto { --ar: 3 / 2; }
@media (min-width: 1024px) { .rt-ruta-fam__rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--e-2xl); } .rt-ruta-fam__foto { --ar: 4 / 5; } }
.rt-ruta-fam__texto { display: grid; gap: var(--e-m); }
.rt-ficha { border-top: 1.5px solid var(--tinta); }
.rt-ficha div { display: grid; gap: .2rem var(--e-m); padding-block: var(--e-s); border-bottom: 1px solid var(--borde); }
@media (min-width: 640px) { .rt-ficha div { grid-template-columns: 9rem minmax(0, 1fr); } }
.rt-ficha dt { font-family: var(--f-display); font-weight: 740; font-stretch: 90%; }
.rt-ficha dd { color: var(--tinta-2); }
.rt-empezar { display: grid; gap: var(--e-s); margin-top: var(--e-s); }
.rt-empezar__t { font-family: var(--f-display); font-size: var(--t-3); font-weight: 760; font-stretch: 96%; }

/* ---------- Puente a empresas: video a sangre ---------- */
.rt-puente { position: relative; isolation: isolate; overflow: hidden; min-height: min(96svh, 54rem); display: grid; align-items: end; background: var(--noche-950); color: var(--cal); }
.rt-puente__media { position: absolute; inset: 0; z-index: -2; }
.rt-puente__media img, .rt-puente__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.rt-puente__media video { opacity: 0; transition: opacity 1.2s var(--ease-suave); }
.rt-puente__media video.is-lista { opacity: 1; }
.rt-puente__velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgb(10 22 40 / .55), rgb(10 22 40 / .45) 30%, rgb(10 22 40 / .82) 60%, rgb(10 22 40 / .94)); }
@media (min-width: 1024px) { .rt-puente__velo { background: linear-gradient(to bottom, rgb(10 22 40 / .5) 0%, rgb(10 22 40 / 0) 28%), linear-gradient(90deg, rgb(10 22 40 / .78) 0%, rgb(10 22 40 / .5) 42%, rgb(10 22 40 / 0) 70%), linear-gradient(to top, rgb(10 22 40 / .7) 0%, rgb(10 22 40 / 0) 40%); } }
.rt-puente__cuerpo { display: grid; gap: var(--e-m); padding-block: calc(var(--cab-alto) + var(--e-2xl)) var(--e-l); }
.rt-puente__t { font-size: clamp(2.5rem, 5.6vw + .4rem, 6.25rem); font-weight: 820; font-stretch: 108%; line-height: .9; letter-spacing: -.035em; max-width: 14ch; }
.rt-puente__lead { font-size: var(--t-lead); line-height: 1.45; color: var(--noche-100); max-width: 52ch; }
.rt-indice { display: grid; margin-top: var(--e-s); border-top: 1px solid rgb(247 244 238 / .28); max-width: 64rem; }
@media (min-width: 640px) { .rt-indice { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--medianil); } }
@media (min-width: 1024px) { .rt-indice { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rt-indice a { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 3.25rem; border-bottom: 1px solid rgb(247 244 238 / .28); color: var(--cal); text-decoration: none; font-family: var(--f-display); font-weight: 700; font-stretch: 92%; font-size: 1.1rem; }
.rt-indice i { transition: translate var(--dur-corta) var(--ease-suave); }
.rt-indice a:hover i, .rt-indice a:focus-visible i { translate: .3rem 0; }
.rt-indice a:hover { text-decoration: underline; text-underline-offset: .2em; }
.rt-puente__barra { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-top: var(--e-s); }
.rt-puente__barra .rotulo-lugar { color: var(--noche-300); }

/* ---------- Brecha ---------- */
.rt-graficos { display: grid; gap: var(--e-2xl) var(--medianil); }
@media (min-width: 1024px) { .rt-graficos { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--e-2xl); } }
.rt-graf { display: grid; gap: var(--e-m); align-content: start; padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); }
.rt-graf__t { font-family: var(--f-display); font-size: var(--t-4); font-weight: 720; font-stretch: 92%; line-height: 1.2; }
.rt-graf__grupo { display: grid; gap: var(--e-s); }
.rt-graf__g { font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
.rt-graf .barra__valor { font-size: 1.3rem; }
.rt-b .barra__pista i { background: var(--yareta-tinta); }
.js .rt-graf:not(.is-visible) .barra__pista i { transform: scaleX(0); }
.rt-leerlo { display: grid; gap: .3rem; padding-top: var(--e-s); border-top: 1px solid var(--borde); font-size: var(--t-chico); color: var(--tinta-2); }
.rt-leerlo__t { font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--yareta-tinta); }
.rt-tres { display: grid; gap: var(--e-l) var(--medianil); margin-top: var(--e-2xl); }
@media (min-width: 900px) { .rt-tres { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rt-tres div { display: grid; gap: var(--e-xs); padding-top: var(--e-s); border-top: 1px solid var(--borde); }
.rt-tres dt { font-size: clamp(3rem, 5vw, 5rem); line-height: .85; }
.rt-tres dt small { font-size: .38em; font-stretch: 85%; }
.rt-tres--manda dt { color: var(--yareta-tinta); }
.rt-tres dd { color: var(--tinta-2); max-width: 34ch; }
.rt-tres .fuente { display: block; margin-top: .25rem; }

/* ---------- Teoría de cambio: matriz ---------- */
.rt-matriz { border-top: 1.5px solid var(--tinta); }
.rt-matriz__fila { display: grid; gap: .35rem; padding-block: var(--e-m); border-bottom: 1px solid var(--borde); }
.rt-matriz__fila b { font-family: var(--f-display); font-size: clamp(1.35rem, .8vw + 1rem, 1.75rem); font-weight: 760; font-stretch: 94%; }
.rt-matriz__fila span:nth-child(2) { font-family: var(--f-display); font-weight: 620; font-stretch: 96%; font-size: 1.1rem; }
.rt-matriz__fila span:nth-child(3) { color: var(--tinta-2); }
.rt-matriz__fila span:nth-child(4) { font-family: var(--f-display); font-weight: 700; font-stretch: 84%; color: var(--yareta-tinta); }
.rt-matriz__cab { display: none; }
@media (max-width: 899px) { .rt-matriz__fila:not(.rt-matriz__cab) span:nth-child(4)::before { content: "Se cuenta: "; font-weight: 600; color: var(--tinta-3); } }
@media (min-width: 900px) {
  .rt-matriz__fila { grid-template-columns: 12.5rem minmax(0, 4fr) minmax(0, 6fr) minmax(0, 3fr); column-gap: var(--medianil); align-items: baseline; }
  .rt-matriz__cab { display: grid; padding-block: var(--e-xs); font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
  .rt-matriz__cab span:nth-child(n) { font-size: inherit; font-weight: inherit; font-stretch: inherit; color: inherit; }
}
.rt-resultados { display: grid; gap: var(--e-s) var(--e-l); margin-top: var(--e-xl); align-items: center; }
.rt-resultados p { font-family: var(--f-display); font-size: clamp(1.2rem, .8vw + 1rem, 1.6rem); font-weight: 650; font-stretch: 96%; line-height: 1.2; }
.rt-resultados__t { display: block; margin-bottom: .35rem; font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--yareta-tinta); }
.rt-resultados i { font-family: var(--f-display); font-size: 2rem; color: var(--yareta-tinta); rotate: 90deg; justify-self: start; }
@media (min-width: 900px) { .rt-resultados { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); } .rt-resultados i { rotate: 0deg; } }
.rt-supuestos { display: grid; gap: var(--e-xl) var(--medianil); margin-top: var(--e-2xl); }
.rt-supuestos h3 { margin-bottom: var(--e-s); }
.rt-supuestos li { color: var(--tinta-2); }
@media (min-width: 1024px) { .rt-supuestos { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--e-2xl); align-items: start; } }
.rt-nocontrola { padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); color: var(--tinta-2); }
.rt-nocontrola b { color: var(--tinta); }

/* ---------- Medición: embudo con metas ---------- */
.rt-numeros__cab { display: grid; gap: var(--e-s); max-width: 60rem; }
.rt-numeros .lead { color: var(--noche-100); }
.rt-hoy { display: grid; gap: var(--e-s); margin-block: var(--e-xl); }
.rt-hoy__frase { font-family: var(--f-display); font-size: clamp(1.8rem, 3vw + .8rem, 3.6rem); font-weight: 780; font-stretch: 98%; line-height: 1; letter-spacing: -.025em; max-width: 20ch; }
.rt-hoy__txt { color: var(--noche-100); max-width: 52ch; }
.rt-embudo__nota { font-size: var(--t-chico); color: var(--noche-300); margin-bottom: var(--e-s); }
.rt-embudo { list-style: none; padding: 0; border-top: 1.5px solid var(--cal); }
.rt-embudo li { display: grid; gap: var(--e-xs) var(--medianil); padding-block: var(--e-m); border-bottom: 1px solid var(--borde); }
.rt-embudo__meta { display: flex; align-items: baseline; gap: .6rem; flex-wrap: wrap; }
.rt-embudo__meta b { font-size: clamp(2.4rem, 4vw, 3.6rem); line-height: .9; color: var(--cal); }
.rt-embudo__meta span { color: var(--noche-300); font-size: var(--t-chico); }
.rt-embudo__barra { height: 1.25rem; background: rgb(220 226 235 / .06); border-radius: 1px; }
.rt-embudo__barra i { display: block; height: 100%; width: calc(var(--v) * 100%); min-width: 4px; background: repeating-linear-gradient(-45deg, var(--noche-300) 0 5px, transparent 5px 9px); }
.rt-embudo--manda .rt-embudo__barra i { background: repeating-linear-gradient(-45deg, var(--yareta-claro) 0 5px, transparent 5px 9px); }
.rt-embudo--manda .rt-embudo__meta b { color: var(--yareta-claro); }
.rt-embudo h3 { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; font-size: var(--t-4); font-weight: 740; }
.rt-embudo p { color: var(--noche-100); font-size: var(--t-chico); }
.rt-embudo small { display: block; margin-top: .25rem; color: var(--tinta-3); font-size: var(--t-nota); }
@media (min-width: 1024px) { .rt-embudo li { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 5fr); align-items: center; } .rt-embudo__barra { height: 2.25rem; } }
.rt-contexto { margin-top: var(--e-l); font-size: var(--t-chico); color: var(--noche-100); max-width: 70ch; }
.rt-contexto b { color: var(--cal); }

/* ---------- Reporte: la hoja como objeto ---------- */
.rt-reporte__rejilla { display: grid; gap: var(--e-2xl) var(--medianil); align-items: start; }
@media (min-width: 1024px) { .rt-reporte__rejilla { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--e-2xl); } }
.rt-hoja { display: grid; gap: var(--e-s); }
.rt-hoja__papel { display: grid; gap: var(--e-m); padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--cal-0); border: 1px solid var(--borde); border-top: 6px solid var(--yareta-tinta); border-radius: var(--r-xs); box-shadow: var(--sombra-2); }
@media (min-width: 1024px) { .rt-hoja__papel { rotate: -1.2deg; } }
.rt-hoja__marca { font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--yareta-tinta); }
.rt-hoja__titulo { font-family: var(--f-display); font-size: clamp(1.3rem, 1vw + 1rem, 1.75rem); font-weight: 780; font-stretch: 94%; line-height: 1.1; }
.rt-hoja__indice { counter-reset: hj; border-top: 1px solid var(--borde); }
.rt-hoja__indice li { counter-increment: hj; display: grid; grid-template-columns: 1.6rem 1fr; gap: 0 .5rem; padding-block: .6rem; border-bottom: 1px solid var(--borde); font-size: var(--t-chico); color: var(--tinta-2); }
.rt-hoja__indice li::before { content: counter(hj); grid-row: span 2; font-family: var(--f-display); font-weight: 800; font-stretch: 72%; color: var(--yareta-tinta); }
.rt-hoja__indice b { color: var(--tinta); font-family: var(--f-display); font-weight: 720; font-stretch: 94%; }
.rt-gri { display: grid; gap: var(--e-s); min-width: 0; }
.rt-tabla-caja { overflow-x: auto; }
.rt-tabla { width: 100%; font-size: var(--t-chico); border-top: 1.5px solid var(--tinta); }
.rt-tabla caption { text-align: left; padding-bottom: var(--e-s); font-family: var(--f-display); font-size: var(--t-4); font-weight: 720; font-stretch: 92%; }
.rt-tabla th, .rt-tabla td { text-align: left; vertical-align: top; padding: .75rem 1rem .75rem 0; border-bottom: 1px solid var(--borde); }
.rt-tabla thead th { font-family: var(--f-display); font-size: .74rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
.rt-tabla tbody th { font-family: var(--f-display); font-weight: 760; font-stretch: 84%; white-space: nowrap; font-size: 1.05rem; }
.rt-tabla td { color: var(--tinta-2); }
.rt-tabla--manda th { color: var(--yareta-tinta); }

/* ---------- Financiamiento y gobierno ---------- */
.rt-fuentes { display: grid; gap: var(--e-xl) var(--medianil); }
@media (min-width: 1024px) { .rt-fuentes { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--e-xl); } }
.rt-fuente { display: grid; gap: var(--e-s); align-content: start; padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); }
.rt-fuente__t { font-size: var(--t-3); font-weight: 740; font-stretch: 94%; }
.rt-fuente > p:not(.fuente):not(.rt-fuente__cifra) { color: var(--tinta-2); }
.rt-fuente__cifra { font-size: clamp(2.6rem, 4vw, 4rem); line-height: .9; color: var(--arcilla-tinta); }
.rt-fuente__cifra small { display: block; margin-top: .35rem; font-size: .34em; letter-spacing: 0; font-stretch: 90%; color: var(--tinta-2); }
.rt-escalera { list-style: none; padding: 0; display: grid; gap: .55rem; }
.rt-escalera li { display: grid; grid-template-columns: auto 1fr; gap: .25rem .75rem; align-items: baseline; font-size: var(--t-nota); color: var(--tinta-3); }
.rt-escalera b { font-family: var(--f-display); font-size: 1.15rem; font-weight: 780; font-stretch: 78%; color: var(--tinta); font-variant-numeric: tabular-nums; }
.rt-escalera li::after { content: ""; grid-column: 1 / -1; height: .45rem; background: var(--adobe); transform-origin: left; transform: scaleX(var(--v)); }
.rt-escalera li.is-hoy::after { background: var(--yareta-tinta); }
.rt-escalera li.is-hoy b { color: var(--yareta-tinta); }
.rt-fuentes__nota { margin-top: var(--e-l); }
.rt-gobierno { display: grid; gap: var(--e-xl) var(--medianil); margin-top: var(--e-2xl); }
@media (min-width: 1024px) { .rt-gobierno { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--e-2xl); align-items: start; } }
.rt-gobierno__lista { margin-top: var(--e-m); }
.rt-gobierno__lista li { color: var(--tinta-2); }
.rt-opera { display: grid; gap: var(--e-s); padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); }
.rt-opera > p:not(.antetitulo):not(.fuente) { color: var(--tinta-2); }
.rt-verbos { display: flex; flex-wrap: wrap; gap: .3rem 0; font-family: var(--f-display); font-weight: 700; font-stretch: 92%; color: var(--tinta) !important; }
.rt-verbos span + span::before { content: "→"; margin-inline: .45rem; color: var(--yareta-tinta); }

/* ---------- Llegada: patrocinar una ruta ---------- */
.rt-llegada { position: relative; isolation: isolate; overflow: hidden; min-height: 100svh; display: grid; align-items: end; background: var(--noche-950); color: var(--cal); }
.rt-llegada__foto { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.rt-llegada__foto img { object-position: 50% 45%; }
.rt-llegada__velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgb(10 22 40 / .45), rgb(10 22 40 / .55) 35%, rgb(10 22 40 / .9)); }
@media (min-width: 1024px) { .rt-llegada__velo { background: linear-gradient(to bottom, rgb(10 22 40 / .5) 0%, rgb(10 22 40 / 0) 30%), linear-gradient(90deg, rgb(10 22 40 / .86) 0%, rgb(10 22 40 / .62) 40%, rgb(10 22 40 / .2) 70%), linear-gradient(to top, rgb(10 22 40 / .75) 0%, rgb(10 22 40 / 0) 45%); } }
.rt-llegada__rejilla { display: grid; gap: var(--e-2xl) var(--medianil); align-items: end; padding-block: calc(var(--cab-alto) + var(--e-2xl)) var(--e-2xl); }
@media (min-width: 1024px) { .rt-llegada__rejilla { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.rt-llegada__texto { display: grid; gap: var(--e-m); }
.rt-llegada__cartel { font-size: clamp(3.4rem, 10vw, 10rem); font-weight: 850; font-stretch: 114%; line-height: .82; letter-spacing: -.045em; }
.rt-llegada__lead { font-family: var(--f-display); font-size: clamp(1.4rem, 1.4vw + 1rem, 2.2rem); font-weight: 650; font-stretch: 98%; line-height: 1.15; max-width: 24ch; }
.rt-llegada__txt { color: var(--noche-100); max-width: 42ch; }
.rt-llegada__joven { padding-top: var(--e-s); border-top: 1px solid rgb(247 244 238 / .28); color: var(--noche-100); font-size: var(--t-chico); }
.rt-llegada__joven a { color: var(--cal); font-weight: 700; text-decoration-color: var(--yareta-claro); }
.rt-llegada__lugar { color: var(--noche-300); }
.rt-form { gap: var(--e-m); }

@media (prefers-reduced-motion: reduce) {
  .js .rt-hero__titulo .linea > span { transform: none; }
  .js .rt-graf:not(.is-visible) .barra__pista i { transform: scaleX(var(--v)); }
}
.rt-form { --error: var(--grana); --ok: var(--yareta-tinta); }
