/* ==========================================================================
   JM Rutas v3 · servicios.html — piezas únicas (solo tokens).
   Usa los componentes v3 de portada.css (instrumento, campo-rango, resultado,
   supuestos, antetítulo). Gramáticas: collage + cartel · lista tipográfica
   sobre noche · ficha con filetes · corredores · foto a sangre · calendario ·
   cifras con estado + instrumento · recorrido fijo · tabla · instrumentos.
   ========================================================================== */

/* ---------- Apertura: cartel + collage de territorio + índice ---------- */
.sva { position: relative; background: var(--bg); padding: calc(var(--cab-alto) + clamp(2rem, 5vw, 4.5rem)) 0 clamp(2.5rem, 5vw, 4rem); }
.sva__rejilla { display: grid; gap: var(--e-xl) var(--medianil); align-items: end; }
@media (min-width: 1024px) { .sva__rejilla { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); } }
.sva__texto { display: grid; gap: var(--e-m); align-content: end; }
.sva__titulo { font-size: clamp(3.1rem, 6.3vw + .2rem, 8.4rem); font-weight: 850; font-stretch: 112%; line-height: .84; letter-spacing: -.045em; margin-left: -.04em; }
.sva__titulo .linea { display: block; overflow: hidden; padding-bottom: .08em; margin-bottom: -.08em; }
.sva__titulo .linea > span { display: inline-block; }
.sva__titulo .punto { color: var(--cobre); }
.js .sva__titulo .linea > span { transform: translateY(105%); }
.js .sva__titulo.is-listo .linea > span { transform: none; transition: transform 700ms var(--ease-salida); transition-delay: calc(var(--n, 0) * 110ms + 60ms); }
.sva__lead { font-size: var(--t-lead); line-height: 1.45; color: var(--tinta-2); max-width: 36ch; }
.sva__collage { display: grid; grid-template-columns: 1.4fr 1fr; grid-template-rows: auto auto; gap: var(--medianil); align-items: start; }
.sva__f { display: grid; gap: .45rem; margin: 0; min-width: 0; }
.sva__f .foto { border-radius: var(--r-xs); }
.sva__f .rotulo-lugar { color: var(--tinta-3); font-size: .7rem; }
.sva__f--a { grid-row: 1 / 3; }
.sva__f--a .foto { aspect-ratio: 4 / 5; }
.sva__f--b .foto { aspect-ratio: 1; }
.sva__f--c { margin-top: clamp(0rem, 3vw, 2.5rem); }
.sva__f--c .foto { aspect-ratio: 4 / 3; }
@media (max-width: 639px) {
  .sva__collage { grid-template-columns: 1fr 1fr; }
  .sva__f--a { grid-column: 1 / -1; grid-row: auto; }
  .sva__f--a .foto { aspect-ratio: 4 / 3; }
  .sva__f--c { margin-top: 0; }
  .sva__f--b .foto, .sva__f--c .foto { aspect-ratio: 1; }
}
.sva__indice { display: grid; margin-top: clamp(2.5rem, 5vw, 4rem); border-top: 1.5px solid var(--tinta); }
.sva__indice a { display: grid; grid-template-columns: 1fr auto; gap: .2rem var(--e-m); align-items: baseline; padding-block: .9rem; border-bottom: 1px solid var(--borde); text-decoration: none; color: var(--tinta); }
.sva__indice b { font-family: var(--f-display); font-size: clamp(1.2rem, 1vw + .9rem, 1.6rem); font-weight: 740; font-stretch: 94%; letter-spacing: -.01em; }
.sva__indice span { grid-column: 1; font-size: var(--t-chico); color: var(--tinta-2); }
.sva__indice em { font-style: normal; grid-column: 2; grid-row: 1; }
.sva__indice i { display: none; font-family: var(--f-display); font-size: 1.3rem; transition: translate var(--dur-corta) var(--ease-suave); }
.sva__indice a:hover b { text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: .2em; text-decoration-color: var(--cobre); }
.sva__indice a:hover i { translate: .3rem 0; }
@media (min-width: 900px) {
  .sva__indice a { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr) 9rem 2rem; align-items: center; }
  .sva__indice span { grid-column: auto; }
  .sva__indice em { grid-column: auto; grid-row: auto; }
  .sva__indice i { display: block; text-align: right; }
}

/* ---------- Comunes ---------- */
.sv-cab { display: grid; gap: var(--e-s); margin-bottom: clamp(2rem, 4.5vw, 3.75rem); }
@media (min-width: 1024px) { .sv-cab { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: var(--e-2xl); align-items: end; } .sv-cab > .antetitulo { grid-column: 1 / -1; } .sv-cab--sola { grid-template-columns: 1fr; } }
.sv-cab .t-2 { max-width: 20ch; }
.sv-cab .lead .estado { margin-top: .6rem; display: flex; }
.sv-cab--segunda { margin-top: clamp(4rem, 8vw, 7rem); }
.sv-dos { display: grid; gap: var(--e-xl) var(--e-2xl); align-items: start; }
@media (min-width: 1024px) { .sv-dos { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } .sv-dos--ancho { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.sv-dos + .sv-dos { margin-top: var(--e-2xl); }
.sv-sub { margin: var(--e-xl) 0 var(--e-s); font-size: var(--t-4); }
.sv-mini-t { 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-2); }
.sv-nota { margin-top: var(--e-l); }
.sv-enlace { color: var(--acento-tinta); font-weight: 600; }

/* ---------- Letrero (lista tipográfica sobre noche) ---------- */
.sv-letrero { padding-block: clamp(3.5rem, 7vw, 6rem); }
.sv-letrero__cab { display: grid; gap: var(--e-s) var(--e-2xl); align-items: end; }
@media (min-width: 900px) { .sv-letrero__cab { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); } }
.sv-letrero__cab h2 { max-width: 24ch; }
.sv-letrero__cab p { font-size: var(--t-chico); color: var(--noche-300); max-width: 44ch; }
.sv-letrero__filas { margin-top: var(--e-xl); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--borde); }
@media (min-width: 900px) { .sv-letrero__filas { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.sv-letrero__filas li { display: grid; gap: .6rem; align-content: start; padding: 1.2rem 1rem 1.3rem 0; border-bottom: 1px solid var(--borde); }
@media (min-width: 900px) { .sv-letrero__filas li { border-bottom: 0; } .sv-letrero__filas li + li { padding-left: 1.1rem; border-left: 1px solid var(--borde); } }
.sv-letrero__filas b { font-size: clamp(3.6rem, 7vw, 6.4rem); line-height: .8; }
.sv-letrero__filas span { font-size: var(--t-chico); color: var(--noche-100); max-width: 18ch; }
.sv-letrero__cero b { color: var(--cobre-claro); }
.sv-letrero__pie { margin-top: var(--e-l); display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; font-size: var(--t-chico); color: var(--noche-300); }

/* ---------- Dedicado ---------- */
.sv-ficha { border-top: 1.5px solid var(--tinta); }
.sv-ficha > div { display: grid; gap: .25rem; padding-block: var(--e-s); border-bottom: 1px solid var(--borde); }
@media (min-width: 640px) { .sv-ficha > div { grid-template-columns: 9rem 1fr; gap: var(--e-m); } }
.sv-ficha dt { font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); padding-top: .25em; }
.sv-ficha dd { color: var(--tinta-2); }
.sv-dedicado__visual { display: grid; gap: var(--e-xl); }
.sv-tarifa, .sv-dias, .sv-paquetes { display: grid; gap: var(--e-s); margin: 0; padding-top: var(--e-s); border-top: 1.5px solid var(--tinta); }
.sv-tarifa__barra { display: flex; gap: 3px; height: 3rem; }
.sv-tarifa__barra i { flex: var(--w) 1 0; background: var(--noche); border-radius: 2px; }
.sv-tarifa__barra i:nth-child(2) { background: repeating-linear-gradient(-45deg, var(--noche-500) 0 7px, var(--noche-700) 7px 10px); }
.sv-tarifa__barra i:nth-child(3) { background: var(--cobre); }
.sv-tarifa__partes { display: grid; gap: var(--e-s); }
@media (min-width: 640px) { .sv-tarifa__partes { grid-template-columns: 52fr 40fr 30fr; } }
.sv-tarifa__partes li { display: grid; gap: .2rem; align-content: start; font-size: var(--t-chico); color: var(--tinta-2); }
.sv-tarifa__partes b { font-family: var(--f-display); font-stretch: 92%; color: var(--tinta); }
.sv-dias figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: var(--e-s); flex-wrap: wrap; }
.sv-dias figcaption b { font-size: 2.6rem; line-height: .9; }
.sv-dias figcaption small { font-size: .45em; color: var(--tinta-2); font-weight: 700; }
.sv-dias__mes { display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: 4px; }
.sv-dias__mes i { aspect-ratio: 1; border-radius: 2px; background: var(--noche); }
.sv-dias__mes i.v { background: transparent; border: 1.5px dashed var(--linea-2); }
.sv-paquetes li { display: grid; gap: .1rem var(--e-m); padding-block: .7rem; border-top: 1px solid var(--borde); }
@media (min-width: 640px) { .sv-paquetes li { grid-template-columns: 13rem 1fr; } }
.sv-paquetes b { font-family: var(--f-display); font-stretch: 94%; }
.sv-paquetes span { color: var(--tinta-2); font-size: var(--t-chico); }

/* ---------- Programado: corredores como filas ---------- */
.sv-rutas { display: grid; border-top: 1.5px solid var(--tinta); margin-bottom: var(--e-2xl); }
.sv-ruta { display: grid; gap: var(--e-s) var(--e-xl); padding-block: var(--e-l); border-bottom: 1px solid var(--borde); align-items: center; }
@media (min-width: 900px) { .sv-ruta { grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 3fr) minmax(0, 4fr); } }
.sv-ruta__n { font-size: var(--t-3); font-weight: 760; font-stretch: 96%; }
.sv-ruta__n small { display: block; margin-top: .3rem; font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--acento-tinta); }
.sv-ruta p { font-size: var(--t-chico); color: var(--tinta-2); }
.sv-perfil { width: 100%; height: auto; overflow: visible; }
.sv-perfil__area { fill: color-mix(in srgb, var(--ocre) 30%, transparent); }
.sv-perfil__linea { fill: none; stroke: var(--noche); stroke-width: 2; stroke-linejoin: round; }
.sv-perfil circle { fill: var(--cobre); }
.sv-perfil text { font-family: var(--f-display); font-size: 11px; font-weight: 700; font-stretch: 85%; fill: var(--tinta-2); }
.sv-ruta__datos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-s); }
.sv-ruta__datos dt, .sv-res dt { font-size: var(--t-nota); color: var(--tinta-3); }
.sv-ruta__datos dd { white-space: nowrap; font-family: var(--f-display); font-size: 1.4rem; font-weight: 780; font-stretch: 74%; font-variant-numeric: tabular-nums; }
.sv-semana { display: grid; gap: var(--e-s); margin: 0; }
.sv-semana figcaption { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.sv-semana__tabla { width: 100%; table-layout: fixed; font-size: var(--t-nota); border-top: 1.5px solid var(--tinta); }
.sv-semana__tabla th { font-family: var(--f-display); font-weight: 650; font-stretch: 86%; color: var(--tinta-3); padding: .45rem .2rem; text-align: center; }
.sv-semana__tabla th[scope="row"] { text-align: left; color: var(--tinta); width: 6rem; overflow-wrap: anywhere; }
.sv-semana__tabla td { padding: 3px; height: 2.6rem; border-top: 1px solid var(--borde); }
.sv-semana__tabla i { display: grid; place-items: center; height: 100%; border-radius: 2px; background: var(--noche); color: var(--cal-0); font-weight: 700; font-size: .68rem; font-variant-numeric: tabular-nums; }
.sv-semana__tabla i.d { background: color-mix(in srgb, var(--ocre) 35%, transparent); color: var(--tinta); }
.sv-3pl { display: grid; gap: var(--e-s); align-content: start; }
.sv-3pl p { color: var(--tinta-2); max-width: 52ch; }
.sv-picos { display: grid; gap: var(--e-s); margin: 0; }
.sv-picos figcaption { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }

/* Gráficos SVG (picos, combustible, estimador) */
.sv-graf { width: 100%; height: auto; overflow: visible; font-family: var(--f-display); }
.g-rej line, .rejilla-g { stroke: var(--borde); stroke-width: 1; }
.g-txt, .g-txt text, .em-chico { fill: var(--tinta-3); font-size: 12px; font-weight: 600; font-stretch: 86%; }
.eje { stroke: var(--linea-2); stroke-width: 1.5; }
.g-linea, .em-linea { fill: none; stroke: var(--noche); stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.em-banda { fill: color-mix(in srgb, var(--noche) 8%, transparent); }
.em-guia { stroke: var(--linea-2); stroke-dasharray: 3 4; }
.em-punto { fill: var(--cobre); stroke: var(--cal-0); stroke-width: 3; }
.em-pista { fill: var(--cal-0); stroke: var(--linea-2); }
.em-tramo { fill: var(--noche); }
.em-eq { stroke: var(--cobre); stroke-width: 3; }
.sv-est__barra text { fill: var(--tinta-2); font-size: 13px; font-weight: 650; }
.sv-picos__red { fill: url(#sv-rayas); }
.sv-rayas rect { fill: color-mix(in srgb, var(--cobre) 14%, transparent); }
.sv-rayas line { stroke: var(--cobre); stroke-width: 2; opacity: .55; }
.sv-picos__flota { stroke: var(--noche); stroke-width: 2; stroke-dasharray: 6 5; }
.sv-picos__etq { fill: var(--tinta); font-size: 13px; font-weight: 700; }
.sv-picos__etq--red { fill: var(--cobre-tinta); }

/* ---------- Remotas: foto a sangre con velo localizado ---------- */
.sv-remotas { position: relative; isolation: isolate; overflow: hidden; background: var(--noche-950); color: var(--cal); padding: clamp(14rem, 34vw, 26rem) 0 var(--e-xl); }
.sv-remotas__foto { position: absolute; inset: 0; z-index: -2; border-radius: 0; }
.sv-remotas__velo { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(to bottom, rgb(10 22 40 / .45) 0%, rgb(10 22 40 / 0) 22%),
    linear-gradient(to top, rgb(10 22 40 / .95) 0%, rgb(10 22 40 / .86) 48%, rgb(10 22 40 / .4) 72%, rgb(10 22 40 / 0) 90%); }
.sv-remotas__rejilla { display: grid; gap: var(--e-xl) var(--e-2xl); align-items: end; }
@media (min-width: 1024px) { .sv-remotas__rejilla { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.sv-remotas__texto { display: grid; gap: var(--e-m); }
.sv-remotas__texto h2 { max-width: 13ch; }
.sv-remotas__texto .lead { color: var(--noche-100); }
.sv-remotas__datos { display: grid; gap: var(--e-m); }
.sv-remotas__cifras { border-top: 1px solid rgb(220 226 235 / .3); }
.sv-remotas__cifras div { display: grid; grid-template-columns: 6.2rem 1fr; gap: var(--e-s); align-items: baseline; padding-block: .8rem; border-bottom: 1px solid rgb(220 226 235 / .2); }
.sv-remotas__cifras dt { font-size: 2.3rem; line-height: 1; color: var(--cobre-claro); }
.sv-remotas__cifras dd { color: var(--noche-100); font-size: var(--t-chico); }
.sv-remotas__cifras .estado { margin-top: .35rem; display: flex; }
.sv-remotas__lista li { padding-block: .45rem; font-size: var(--t-chico); color: var(--noche-100); border-bottom: 1px solid rgb(220 226 235 / .14); }
.sv-remotas__lista b { color: var(--cal); }
.sv-remotas .fuente { color: var(--noche-300); }
.sv-remotas__lugar { margin-top: var(--e-l); color: var(--noche-300); }

/* ---------- Alcance ---------- */
.sv-alcance__cab { display: grid; gap: var(--e-l) var(--e-2xl); align-items: end; margin-bottom: var(--e-xl); }
@media (min-width: 1024px) { .sv-alcance__cab { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } .sv-alcance__cab .sv-cab { margin-bottom: 0; } }
.sv-alcance__foto { display: grid; gap: .45rem; margin: 0; }
.sv-alcance__foto .foto { aspect-ratio: 3 / 2; }
.sv-alcance__foto .rotulo-lugar { color: var(--tinta-3); font-size: .7rem; }
.sv-alcance { display: grid; border-top: 1.5px solid var(--tinta); }
.sv-alcance article { display: grid; gap: .5rem var(--e-xl); padding-block: var(--e-m); border-bottom: 1px solid var(--borde); align-items: baseline; }
@media (min-width: 900px) { .sv-alcance article { grid-template-columns: 9rem minmax(0, 1fr) 15rem; } }
.sv-alcance article p { color: var(--tinta-2); max-width: 60ch; margin-top: .3rem; }
.sv-alcance__n { font-family: var(--f-display); font-size: clamp(2.6rem, 4vw, 3.6rem); font-weight: 800; font-stretch: 66%; line-height: .85; color: var(--arcilla-tinta); }
.sv-alcance__cobro { font-size: var(--t-chico); }
.sv-anio { margin: var(--e-2xl) 0; display: grid; gap: var(--e-s); }
.sv-anio__marco { overflow-x: auto; }
.sv-anio__tabla { display: grid; gap: .4rem; min-width: 40rem; padding-top: .5rem; border-top: 1.5px solid var(--tinta); }
.sv-anio__fila { display: grid; grid-template-columns: 10rem repeat(12, minmax(0, 1fr)); gap: 2px; align-items: center; min-height: 2.6rem; }
.sv-anio__fila > span { font-size: var(--t-chico); font-weight: 700; }
.sv-anio__meses span { font-family: var(--f-display); font-size: .72rem; font-weight: 650; font-stretch: 80%; letter-spacing: .1em; text-transform: uppercase; color: var(--tinta-3); }
.sv-anio__fila i { grid-column: var(--a) / var(--b); grid-row: 1; align-self: stretch; display: flex; align-items: center; padding: 0 .6rem; border-radius: 2px; background: var(--noche); color: var(--cal-0); font-size: var(--t-nota); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sv-anio__fila i.plan { background: repeating-linear-gradient(-45deg, var(--adobe) 0 8px, var(--adobe-100) 8px 12px); color: var(--tinta); border: 1px solid var(--arcilla); }

/* ---------- Garantía: cifras con estado + instrumento ---------- */
.sv-garantia { display: grid; border-top: 1.5px solid var(--tinta); }
@media (min-width: 900px) { .sv-garantia { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sv-garantia li { display: grid; gap: .6rem; align-content: start; padding: var(--e-m) var(--e-s) var(--e-m) 0; border-bottom: 1px solid var(--borde); }
@media (min-width: 900px) { .sv-garantia li + li { padding-left: var(--e-m); border-left: 1px solid var(--borde); } }
.sv-garantia__c { font-size: clamp(3rem, 5vw, 4.6rem); line-height: .85; }
.sv-garantia__c small { font-size: .42em; font-weight: 700; color: var(--tinta-2); }
.sv-garantia li:first-child .sv-garantia__c { color: var(--acento); }
.sv-garantia li p:not(.sv-garantia__c) { color: var(--tinta-2); font-size: var(--t-chico); max-width: 30ch; }
.sv-garantia__pie { margin: var(--e-m) 0 var(--e-2xl); }
.sv-inst__t { padding: 0; font-family: var(--f-display); font-size: var(--t-3); font-weight: 740; font-stretch: 94%; line-height: 1.1; }
.sv-dos-campos, .sv-tres-campos { display: grid; gap: var(--e-s); }
@media (min-width: 560px) { .sv-dos-campos { grid-template-columns: 1fr 1fr; } .sv-tres-campos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sv-inst .campo-rango .campo__ayuda { grid-column: 1 / -1; }
.sv-inst__txt { font-size: var(--t-chico); color: var(--tinta-2); max-width: 52ch; }
.sv-inst__txt b { color: var(--tinta); }
.sv-escala { position: relative; padding-top: .3rem; }
.sv-escala__pista { display: grid; grid-template-columns: 50fr 30fr 20fr; height: 2.1rem; border-radius: 2px; overflow: hidden; font-family: var(--f-display); font-size: .7rem; font-weight: 700; font-stretch: 80%; letter-spacing: .08em; text-transform: uppercase; }
.sv-escala__pista span { display: grid; place-items: center; }
.sv-escala__pista .z1 { background: var(--cobre-100); color: var(--cobre-700); }
.sv-escala__pista .z2 { background: var(--cal-0); color: var(--tinta); border-block: 1px solid var(--borde); }
.sv-escala__pista .z3 { background: var(--noche); color: var(--cal-0); }
.sv-escala__marca { position: absolute; top: 0; left: calc(var(--x, .5) * 100%); width: 4px; height: 2.7rem; margin-left: -2px; background: var(--cobre); border-radius: 2px; transition: left var(--dur-media) var(--ease-salida); }
.sv-escala__ticks { display: grid; grid-template-columns: 50fr 30fr 20fr auto; margin-top: .35rem; font-size: var(--t-nota); color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.sv-res { display: grid; grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); border-top: 1px solid var(--borde); }
.sv-res > div { display: grid; gap: .3rem; padding: .7rem .8rem .8rem 0; border-bottom: 1px solid var(--borde); }
.sv-res dd { font-size: 1.75rem; line-height: 1; }
.sv-res-v { color: var(--noche) !important; }
.sv-dif { font-family: var(--f-display); font-weight: 720; font-stretch: 90%; font-size: 1.1rem; }
.sv-dif.sube { color: var(--cobre-tinta); }
.sv-dif.baja { color: var(--ok); }
.sv-huella { display: grid; gap: var(--e-xl) var(--e-2xl); margin-top: var(--e-3xl); padding-top: var(--e-xl); border-top: 1.5px solid var(--tinta); }
@media (min-width: 1024px) { .sv-huella { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); } }
.sv-huella > div { display: grid; gap: var(--e-s); align-content: start; }
.sv-huella > div > p:not(.antetitulo):not(.fuente) { color: var(--tinta-2); }
.sv-co2 { display: grid; gap: var(--e-m); }
.sv-co2__formula { display: grid; gap: .2rem; font-family: var(--f-display); font-size: 1.15rem; font-weight: 700; font-stretch: 92%; }
.sv-inst__graf { margin: 0; display: grid; gap: .3rem; }
.sv-escenarios { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.sv-esc { min-height: 2.75rem; padding: .45rem .9rem; border: 1.5px solid var(--borde); border-radius: var(--r-s); font-size: .9rem; font-weight: 600; font-variant-numeric: tabular-nums; }
.sv-esc:hover { border-color: var(--linea-2); }
.sv-esc[aria-pressed="true"] { background: var(--tinta); color: var(--bg); border-color: var(--tinta); }
.sv-formula__eq { font-family: var(--f-display); font-size: clamp(1.2rem, 2vw, 1.6rem); font-weight: 700; font-stretch: 90%; color: var(--tinta); }
.sv-inst .resultado__v { font-size: clamp(2.4rem, 4vw, 3.6rem); }

/* ---------- Proceso (recorrido fijo) y ritmo ---------- */
.sv-proceso .paso { background: var(--cal); }
.sv-onb { display: grid; position: relative; margin-bottom: var(--e-2xl); }
@media (min-width: 1024px) { .sv-onb { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--medianil); } }
.sv-onb li { position: relative; display: grid; gap: .35rem; align-content: start; padding: var(--e-m) 0 var(--e-m) 2rem; border-left: 2px solid var(--linea-2); }
@media (min-width: 1024px) { .sv-onb li { padding: var(--e-l) 0 0; border-left: 0; border-top: 2px solid var(--linea-2); } }
.sv-onb li::before { content: ""; position: absolute; left: -8px; top: 1.75rem; width: 14px; height: 14px; border-radius: 2px; background: var(--bg); border: 2px solid var(--noche); }
@media (min-width: 1024px) { .sv-onb li::before { left: 0; top: -8px; } }
.sv-onb li:last-child::before { background: var(--cobre); border-color: var(--cobre); }
.sv-onb__dia { font-family: var(--f-display); font-size: .8rem; font-weight: 700; font-stretch: 78%; letter-spacing: .12em; text-transform: uppercase; color: var(--acento-tinta); }
.sv-onb b { font-family: var(--f-display); font-size: 1.15rem; font-stretch: 94%; }
.sv-onb p { font-size: var(--t-chico); color: var(--tinta-2); }
.sv-onb small { font-size: var(--t-nota); color: var(--tinta-3); }
.sv-ritmo { border-top: 1.5px solid var(--tinta); }
.sv-ritmo__fila { display: grid; gap: .3rem var(--e-xl); padding-block: var(--e-m); border-bottom: 1px solid var(--borde); align-items: baseline; }
@media (min-width: 900px) { .sv-ritmo__fila { grid-template-columns: 10rem minmax(0, 4fr) minmax(0, 7fr); } }
.sv-ritmo__cuando { font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 78%; letter-spacing: .14em; text-transform: uppercase; color: var(--acento-tinta); }
.sv-ritmo__fila b { font-family: var(--f-display); font-size: var(--t-3); font-weight: 720; font-stretch: 94%; line-height: 1.1; }
.sv-ritmo__fila p { color: var(--tinta-2); font-size: var(--t-chico); }

/* ---------- Cláusulas + seguros ---------- */
.sv-clausulas__rejilla { display: grid; gap: var(--e-2xl) var(--e-2xl); align-items: start; }
@media (min-width: 1024px) { .sv-clausulas__rejilla { grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); } .sv-capas { position: sticky; top: calc(var(--cab-alto) + 1.5rem); } }
.sv-clausulas { border-top: 1.5px solid var(--borde-fuerte); }
.sv-clausulas__cab, .sv-clausulas__fila { display: grid; gap: .4rem var(--e-l); padding-block: var(--e-m); border-bottom: 1px solid var(--borde); }
@media (min-width: 720px) { .sv-clausulas__cab, .sv-clausulas__fila { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.sv-clausulas__cab { padding-block: var(--e-s); font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
@media (max-width: 719px) { .sv-clausulas__cab { display: none; } }
.sv-clausulas__fila b { font-family: var(--f-display); font-size: 1.2rem; font-weight: 700; font-stretch: 94%; line-height: 1.15; }
.sv-clausulas__fila p { color: var(--noche-100); }
.sv-clausulas__fila strong { color: var(--cal-0); }
.sv-capas { display: grid; gap: var(--e-s); }
.sv-capas > p { color: var(--noche-100); font-size: var(--t-chico); }
.sv-capas__pila { display: grid; gap: 6px; }
.sv-capas__pila li { display: grid; gap: .15rem; padding: .9rem 1rem; border-radius: var(--r-xs); background: var(--noche-800); }
.sv-capas__2 { margin-inline: .6rem; background: var(--noche-700) !important; }
.sv-capas__1 { margin-inline: 1.2rem; }
.sv-capas__3 { background: var(--cobre-600) !important; }
.sv-capas__pila span { font-family: var(--f-display); font-size: .72rem; font-weight: 700; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--noche-100); }
.sv-capas__3 span, .sv-capas__3 small { color: var(--cal-0) !important; }
.sv-capas__pila small { font-size: var(--t-nota); color: var(--noche-100); }

/* ---------- Segmentos + FAQ ---------- */
.sv-seg { border-top: 1.5px solid var(--tinta); }
.sv-seg__fila { display: grid; gap: .3rem var(--e-l); padding-block: var(--e-s); border-bottom: 1px solid var(--borde); align-items: center; }
@media (min-width: 900px) { .sv-seg__fila { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr) minmax(0, 3fr); } }
.sv-seg__cab { font-family: var(--f-display); font-size: var(--t-etiqueta); font-weight: 700; font-stretch: 80%; letter-spacing: .12em; text-transform: uppercase; color: var(--tinta-3); }
@media (max-width: 899px) { .sv-seg__cab { display: none; } }
.sv-seg__fila b { font-family: var(--f-display); font-size: 1.15rem; font-stretch: 94%; }
.sv-seg__fila > span { color: var(--tinta-2); font-size: var(--t-chico); }
.sv-seg__fase { display: flex; align-items: center; gap: .6rem; }
.sv-seg__fase i { flex: none; width: 3.4rem; height: .55rem; background: linear-gradient(90deg, var(--noche) calc(var(--f) * 33.3% - 2px), var(--linea) 0); border-radius: 2px; }
.sv-faq { display: grid; gap: var(--e-xl) var(--e-2xl); margin-top: var(--e-3xl); }
@media (min-width: 1024px) { .sv-faq { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } }
.sv-faq > div:first-child { display: grid; gap: var(--e-s); align-content: start; }
.sv-faq > div:first-child p.chico { color: var(--tinta-2); }

/* ---------- Llegada ---------- */
.sv-llegada__cartel { margin-top: var(--e-m); font-size: clamp(2.8rem, 6vw, 6.8rem); max-width: 9ch; overflow-wrap: normal; }
.sv-llegada__lista { margin: var(--e-l) 0; border-top: 1px solid rgb(220 226 235 / .3); }
.sv-llegada__lista li { padding-block: .6rem; border-bottom: 1px solid rgb(220 226 235 / .2); color: var(--noche-100); }
.sv-llegada .enlace-flecha { color: var(--cal-0); }
.sv-llegada__lugar { margin-top: var(--e-l); color: var(--noche-300); }

@media (prefers-reduced-motion: reduce) {
  .js .sva__titulo .linea > span { transform: none; }
  .sv-escala__marca { transition: none; }
}

/* Cifras con espacio legible en la anchura condensada (como en la portada) */
main .cifra, main output { word-spacing: .16em; }
