/* Casa Zimple · «Plano de control, encendido» — piel de la casa.
   27-sep-2026: el dueño derogó la regla de «informe técnico, 0 % de color».
   Lo que se mantiene del territorio (portafolio §4): Schibsted Grotesk + IBM Plex,
   radio 0, forma madre COLUMNA SOBRE FILA, movimiento de SEÑAL a velocidad constante,
   rótulo «Capa 01», y el azul #0547DB como color EXCLUSIVO de la casa.
   Lo que cambia: el azul es ahora un color de verdad (superficie, no cuatro puntos),
   hay tres niveles de material (superficie · panel blanco · consola en tinta o azul),
   hay producto real a la vista y hay movimiento de entrada.
   Nada de folio nocturno, horizonte, tiquete ni lámina: eso es de las otras cuatro.

   Contrastes medidos (WCAG):
     #141414 / #F4F4F3 16,74:1   #141414 / #FFFFFF 18,42:1   #6A7078 / #F4F4F3 4,54:1
     #6A7078 / #FFFFFF 5,00:1    #0547DB / #F4F4F3 6,51:1    #0547DB / #FFFFFF 7,17:1
     #FFFFFF / #0547DB 7,17:1    #C9D9FF / #0547DB 5,07:1    #F4F4F3 / #141414 16,74:1
     #8A8A8E / #141414 5,36:1    #7FA0FF / #141414 7,35:1
   Solo gráfico (nunca lleva texto encima): #0547DB sobre tinta (2,57:1). */

/* ---------- Fuentes autoalojadas ---------- */
@font-face { font-family:'Schibsted Grotesk'; font-weight:700 800; font-display:swap;
  src:url('fuentes/schibsted-grotesk-var.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Sans'; font-weight:400; font-display:swap;
  src:url('fuentes/plex-sans-400.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Sans'; font-weight:600; font-display:swap;
  src:url('fuentes/plex-sans-600.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:400; font-display:swap;
  src:url('fuentes/plex-mono-400.woff2') format('woff2'); }
@font-face { font-family:'IBM Plex Mono'; font-weight:500; font-display:swap;
  src:url('fuentes/plex-mono-500.woff2') format('woff2'); }
@font-face { font-family:'ZT Sans Fallback'; src:local('Arial'), local('Helvetica');
  size-adjust:104%; ascent-override:92%; descent-override:24%; line-gap-override:0%; }

/* ---------- Contrato de tokens (portafolio §6.1) ---------- */
:root {
  --fondo: #F4F4F3;
  --fondo-alt: #FFFFFF;
  --tinta: #141414;
  --apoyo: #6A7078;
  --apoyo-oscuro: #8A8A8E;     /* apoyo SOBRE tinta */
  --filete: #141414;           /* filete pleno de 1 px: estructura mayor */
  --filete-medio: rgba(20,20,20,.28);
  --filete-suave: rgba(20,20,20,.13);   /* división interna: tercer nivel de lectura */
  --filete-inv: rgba(244,244,243,.20);
  --azul: #0547DB;             /* color propio de la casa, ya no es un punto */
  --azul-hondo: #06369F;       /* pulsado */
  --azul-claro: #C9D9FF;       /* texto secundario SOBRE azul */
  --azul-luz: #7FA0FF;         /* texto y grafismo SOBRE tinta */
  --acento-grafico: #0547DB;
  --acento-texto: #0547DB;
  --sobre-tinta: #F4F4F3;
  --sobre-azul: #FFFFFF;
  --foco: #0547DB;
  --foco-inv: #F4F4F3;

  --radio: 0;
  --dur-corta: 140ms;
  --dur-media: 160ms;
  --dur-entrada: 320ms;
  --dur-trazo: 480ms;
  --paso-puntos: 90ms;
  --curva: linear;

  --fuente-titular: 'Schibsted Grotesk', 'ZT Sans Fallback', Arial, sans-serif;
  --fuente-cuerpo: 'IBM Plex Sans', 'ZT Sans Fallback', Arial, sans-serif;
  --fuente-datos: 'IBM Plex Mono', ui-monospace, 'Courier New', monospace;

  --e1: 4px;  --e2: 8px;  --e3: 12px; --e4: 16px; --e5: 24px;
  --e6: 32px; --e7: 48px; --e8: 64px; --e9: 96px;

  --lateral: 64px;
  --canal: 64px;

  /* Material: las sombras son neutras, nunca de color (kit §1) */
  --relieve-1: 0 1px 0 rgba(20,20,20,.04);
  --relieve-2: 0 1px 2px rgba(20,20,20,.05), 0 20px 34px -26px rgba(20,20,20,.55);
  --relieve-3: 0 2px 4px rgba(20,20,20,.07), 0 28px 44px -28px rgba(20,20,20,.62);
}
@media (max-width: 1279px) { :root { --lateral: 40px; } }
@media (max-width: 767px)  { :root { --lateral: 20px; --canal: 44px; } }

body { background: var(--fondo); color: var(--tinta); font-family: var(--fuente-cuerpo); font-size: 1.0625rem; }
::selection { background: var(--azul); color: #fff; }
.envoltura { max-width: calc(1200px + var(--lateral) * 2); margin-inline: auto; padding-inline: var(--lateral); }

/* ---------- Tipografía ---------- */
h1, h2, h3 { font-family: var(--fuente-titular); letter-spacing: -.022em; line-height: .98; }
.t-h1 { font-weight: 800; font-size: clamp(2.375rem, 1.35rem + 3.5vw, 4.5rem); }
.t-h2 { font-weight: 700; font-size: clamp(1.625rem, .95rem + 2.4vw, 3.125rem); line-height: 1.02; }
.t-h3 { font-weight: 700; font-size: clamp(1.25rem, 1.08rem + .5vw, 1.4375rem); line-height: 1.08; letter-spacing: -.012em; }
.t-h4 { font-family: var(--fuente-titular); font-weight: 700; font-size: 1.125rem; line-height: 1.15; letter-spacing: -.01em; }
.t-lead { font-size: clamp(1.0625rem, .98rem + .32vw, 1.25rem); line-height: 1.5; max-width: 54ch; color: var(--tinta); }
.t-cuerpo { font-size: 1.0625rem; line-height: 1.55; max-width: 62ch; }
.t-menor { font-size: .9375rem; line-height: 1.45; color: var(--apoyo); }
.t-pie { font-size: .8125rem; line-height: 1.45; color: var(--apoyo); }
.dato, .rotulo__num, .capa__num, .cifra, .mono, .num { font-family: var(--fuente-datos); font-variant-numeric: tabular-nums; }
.dato { font-size: .8125rem; color: var(--apoyo); }
.cifra { font-weight: 500; font-size: clamp(2rem, 1.4rem + 1.9vw, 3rem); line-height: .96; letter-spacing: -.02em; }
.endoso { font-size: .75rem; letter-spacing: .34em; text-transform: uppercase; color: var(--apoyo); }
a.enlace, .prosa a { color: var(--acento-texto); font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a.enlace:hover { text-decoration-thickness: 2px; }
strong { font-weight: 600; }

/* El punto de miles en una mono ocupa una casilla entera y parte la cifra en dos
   («1 . 813»). Se le recorta el avance para que el número se lea como una palabra. */
.cifra .sep, .mono .sep, .num .sep, .zt-tabla td.num .sep, .zt-tabla th.num .sep { margin-inline: -.17em; }

/* ---------- Barra ---------- */
.zt-barra { position: sticky; top: 0; z-index: 50; background: var(--fondo-alt); border-bottom: 1px solid var(--filete); }
.zt-barra__fila { height: 68px; display: flex; align-items: center; gap: var(--e5); }
.zt-barra__fila img { height: 26px; width: auto; }
.zt-barra nav { display: flex; align-items: center; gap: var(--e5); margin-left: auto; }
.zt-barra nav a, .zt-barra nav button {
  color: var(--tinta); text-decoration: none; font-size: .9375rem;
  padding-block: 6px; border-bottom: 2px solid transparent;
  transition: border-color var(--dur-corta) var(--curva), color var(--dur-corta) var(--curva);
}
.zt-barra nav a:hover, .zt-barra nav button:hover,
.zt-barra nav button[aria-expanded="true"] { color: var(--azul); border-bottom-color: var(--azul); }
/* El color del menú no puede apagar el botón (lección de FARO) */
.zt-barra nav a.zt-boton--primario, .zt-barra nav a.zt-boton--primario:hover {
  color: #fff; border-bottom: 0; text-decoration: none;
}
.zt-barra__movil { margin-left: auto; display: none; }
.zt-barra__movil button { font-size: .9375rem; font-weight: 600; }
@media (max-width: 960px) { .zt-barra nav { display: none; } .zt-barra__movil { display: flex; } }

/* Megamenú: cuatro fichas arriba y la fila del endoso abajo, en el mismo panel */
.zt-megamenu { border-bottom: 1px solid var(--filete); background: var(--fondo-alt); box-shadow: var(--relieve-2); }
.zt-megamenu__fichas { display: grid; grid-template-columns: repeat(4, 1fr); }
.zt-megamenu__fichas a {
  display: grid; gap: var(--e1); align-content: start;
  padding: var(--e5) var(--e4); border-left: 1px solid var(--filete-suave);
  text-decoration: none; color: inherit; border-top: 3px solid transparent;
  transition: background-color var(--dur-corta) var(--curva), border-top-color var(--dur-corta) var(--curva);
}
.zt-megamenu__fichas a:first-child { border-left: 0; }
.zt-megamenu__fichas a:hover, .zt-megamenu__fichas a:focus-visible { background: var(--fondo); border-top-color: var(--color-marca, var(--azul)); }
.zt-megamenu__pie {
  border-top: 1px solid var(--filete); background: var(--tinta); color: var(--sobre-tinta);
  display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--e3) var(--e5);
  padding: var(--e3) var(--e4);
}
.zt-megamenu__pie .endoso { color: var(--apoyo-oscuro); }
.zt-megamenu__pie a { color: var(--sobre-tinta); font-family: var(--fuente-datos); font-size: .8125rem; text-decoration: none; }
.zt-megamenu__pie a:hover { color: var(--azul-luz); text-decoration: underline; text-underline-offset: 3px; }
.zt-megamenu__pie :focus-visible { outline-color: var(--foco-inv); }
@media (max-width: 960px) {
  .zt-megamenu__fichas { grid-template-columns: 1fr 1fr; }
  .zt-megamenu__fichas a:nth-child(odd) { border-left: 0; }
  .zt-megamenu__fichas a:nth-child(n+3) { border-top-width: 1px; border-top-color: var(--filete-suave); }
  .zt-megamenu__fichas a:nth-child(n+3):hover { border-top-color: var(--color-marca, var(--azul)); }
}

/* ---------- Botones ---------- */
.zt-boton {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 50px; padding-inline: var(--e5); border-radius: var(--radio); gap: var(--e2);
  font-weight: 600; font-size: 1rem; text-decoration: none; cursor: pointer;
  border: 1px solid transparent;
  transition: background-color var(--dur-corta) var(--curva), color var(--dur-corta) var(--curva),
              border-color var(--dur-corta) var(--curva), box-shadow var(--dur-corta) var(--curva);
}
.zt-boton .flecha { font-family: var(--fuente-datos); font-weight: 400; }
.zt-boton--primario { background: var(--azul); color: #fff; border-color: var(--azul); box-shadow: var(--relieve-1); }
.zt-boton--primario:hover { background: var(--azul-hondo); border-color: var(--azul-hondo); }
.zt-boton--primario:active { background: var(--tinta); border-color: var(--tinta); }
.zt-boton--secundario { background: transparent; color: var(--tinta); border-color: var(--filete); }
.zt-boton--secundario:hover { background: var(--tinta); color: var(--sobre-tinta); }
/* Dentro de un bloque en tinta o azul el botón se invierte: nunca tinta sobre tinta */
.zt-boton--claro { background: #fff; color: var(--tinta); border-color: #fff; }
.zt-boton--claro:hover { background: transparent; color: #fff; border-color: #fff; }
.zt-boton--filete-claro { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); }
.zt-boton--filete-claro:hover { background: #fff; color: var(--tinta); border-color: #fff; }
.acciones { display: flex; flex-wrap: wrap; gap: var(--e3); }
@media (max-width: 600px) {
  .zt-boton { width: 100%; min-height: 48px; }
}

/* ---------- Secciones ---------- */
.seccion { padding-block: 38px; border-top: 1px solid var(--filete); scroll-margin-top: 76px; }
.seccion--hero { padding-block: var(--e7) 56px; border-top: 0; }
.seccion--blanca { background: var(--fondo-alt); }
.seccion--azul { background: var(--azul); color: #fff; border-top-color: var(--azul); }
.seccion--azul .t-menor, .seccion--azul .dato, .seccion--azul .t-pie { color: var(--azul-claro); }
.seccion--azul .rotulo { color: var(--azul-claro); }
.seccion--azul .rotulo__num { color: #fff; }
.seccion--azul .rotulo__filete { background: rgba(255,255,255,.42); }
.seccion--azul :focus-visible { outline-color: #fff; }
@media (max-width: 767px) { .seccion { padding-block: 36px; } .seccion--hero { padding-block: var(--e5) 36px; } }

.rejilla { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--e5) var(--e6); align-items: start; }
.c1-7 { grid-column: 1 / 8; } .c8-12 { grid-column: 8 / 13; }
.c1-6 { grid-column: 1 / 7; } .c7-12 { grid-column: 7 / 13; }
.c1-8 { grid-column: 1 / 9; } .c9-12 { grid-column: 9 / 13; }
.c1-12 { grid-column: 1 / 13; }
@media (max-width: 960px) {
  .rejilla { grid-template-columns: 1fr; gap: var(--e5); }
  .c1-7, .c8-12, .c1-6, .c7-12, .c1-8, .c9-12, .c1-12 { grid-column: 1; }
}
.pila-3 > * + * { margin-top: var(--e3); }
.pila-4 > * + * { margin-top: var(--e4); }
.pila-5 > * + * { margin-top: var(--e5); }
.pila-6 > * + * { margin-top: var(--e6); }

/* ---------- Rótulo de capa: numeral + filete que corre hasta el borde ---------- */
.rotulo {
  display: flex; align-items: center; gap: var(--e4);
  font-family: var(--fuente-datos); font-weight: 500; font-size: .8125rem; color: var(--apoyo);
}
.rotulo__num { color: var(--azul); white-space: nowrap; letter-spacing: .06em; }
.rotulo__filete { flex: 1; height: 1px; background: var(--filete-medio); transform-origin: left center; }
.rotulo__nota { white-space: nowrap; }
@media (max-width: 680px) { .rotulo__nota { display: none; } }

/* Remate de sección: la contraparte del rótulo, al cierre */
.remate {
  display: flex; align-items: center; gap: var(--e4); margin-top: var(--e5);
  font-family: var(--fuente-datos); font-size: .75rem; color: var(--apoyo); letter-spacing: .04em;
}
.remate::before { content: ''; width: 24px; height: 1px; background: var(--azul); }
.remate__filete { flex: 1; height: 1px; background: var(--filete-suave); }
.seccion--azul .remate { color: var(--azul-claro); }
.seccion--azul .remate::before { background: #fff; }
.seccion--azul .remate__filete { background: rgba(255,255,255,.3); }

/* ---------- Cintillo de identidad ---------- */
.zt-cintillo {
  display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--e2) var(--e4);
  font-family: var(--fuente-datos); font-size: .75rem; letter-spacing: .13em;
  text-transform: uppercase; color: var(--apoyo);
}
.zt-cintillo__punto { width: 7px; height: 7px; background: var(--azul); flex: none; }
.zt-cintillo strong { color: var(--tinta); font-weight: 500; }
.zt-cintillo__sep { width: 1px; height: 12px; background: var(--filete-medio); }

/* ---------- Hero ---------- */
.hero { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--e6) var(--e6); align-items: start; }
.hero__texto { grid-column: 1 / 8; }
.hero__consola { grid-column: 8 / 13; }
@media (max-width: 1100px) { .hero__texto { grid-column: 1 / 8; } .hero__consola { grid-column: 8 / 13; } }
@media (max-width: 960px) { .hero { grid-template-columns: 1fr; } .hero__texto, .hero__consola { grid-column: 1; } }

.hero h1 { margin-top: var(--e4); max-width: 15ch; }
.hero .t-lead { margin-top: var(--e5); }
.hero .acciones { margin-top: var(--e6); }

/* Avales del hero: tres pruebas cortas con filete azul */
.zt-avales { display: flex; flex-wrap: wrap; gap: var(--e4) var(--e5); margin-top: var(--e6); }
.zt-avales li { border-top: 2px solid var(--azul); padding-top: var(--e3); min-width: 150px; flex: 1 1 150px; }
.zt-avales b { display: block; font-family: var(--fuente-titular); font-weight: 700; font-size: 1.0625rem; letter-spacing: -.01em; }
.zt-avales span { display: block; font-size: .8125rem; line-height: 1.4; color: var(--apoyo); margin-top: 2px; }

/* ---------- Consola: el bloque en tinta, tercer nivel de material ---------- */
.zt-consola {
  background: var(--tinta); color: var(--sobre-tinta); border: 1px solid var(--tinta);
  box-shadow: var(--relieve-3); position: relative;
}
.zt-consola__cabeza {
  display: flex; align-items: center; gap: var(--e3);
  padding: var(--e3) var(--e4); border-bottom: 1px solid var(--filete-inv);
  font-family: var(--fuente-datos); font-size: .75rem; letter-spacing: .13em; text-transform: uppercase;
  color: var(--apoyo-oscuro);
}
.zt-consola__cabeza b { color: var(--sobre-tinta); font-weight: 500; }
.zt-consola__led { width: 7px; height: 7px; background: var(--azul-luz); flex: none; }
.zt-consola__fin { margin-left: auto; letter-spacing: .08em; }
.zt-consola__cifras { display: grid; grid-template-columns: 1fr 1fr; }
.zt-consola__cifras > div {
  padding: var(--e5) var(--e4); border-top: 1px solid var(--filete-inv); border-left: 1px solid var(--filete-inv);
}
.zt-consola__cifras > div:nth-child(-n+2) { border-top: 0; }
.zt-consola__cifras > div:nth-child(odd) { border-left: 0; }
.zt-consola__cifras .cifra { color: #fff; font-size: clamp(1.75rem, 1.2rem + 1.5vw, 2.5rem); }
.zt-consola__cifras .t-menor { color: var(--apoyo-oscuro); margin-top: var(--e2); font-size: .875rem; }
.zt-consola__pie {
  border-top: 1px solid var(--filete-inv); padding: var(--e3) var(--e4);
  font-family: var(--fuente-datos); font-size: .75rem; color: var(--apoyo-oscuro);
  display: flex; flex-wrap: wrap; gap: var(--e2) var(--e4);
}
.zt-consola__pie a { color: var(--azul-luz); text-decoration: none; border-bottom: 1px solid rgba(127,160,255,.45); }
.zt-consola__pie a:hover { color: #fff; border-bottom-color: #fff; }
.zt-consola :focus-visible { outline-color: var(--foco-inv); }

/* ---------- Muro de producto: las cuatro marcas ---------- */
.zt-muro { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e5); }
@media (max-width: 900px) { .zt-muro { grid-template-columns: 1fr; gap: var(--e5); } }

.zt-tarjeta {
  display: flex; flex-direction: column; position: relative;
  background: var(--fondo-alt); border: 1px solid var(--filete);
  box-shadow: var(--relieve-2); color: inherit; text-decoration: none;
  transition: box-shadow var(--dur-media) var(--curva), transform var(--dur-media) var(--curva);
}
.zt-tarjeta::before {
  content: ''; display: block; height: 4px; background: var(--color-marca, var(--azul));
  transition: height var(--dur-media) var(--curva);
}
.zt-tarjeta:hover, .zt-tarjeta:focus-visible { box-shadow: var(--relieve-3); transform: translateY(-2px); }
.zt-tarjeta:hover::before, .zt-tarjeta:focus-visible::before { height: 7px; }
.zt-tarjeta:focus-visible { outline: 2px solid var(--foco); outline-offset: 3px; }

/* Ventana de producto: el marco de la casa (recto, filete, barra de rótulo en mono) */
.zt-ventana { border-bottom: 1px solid var(--filete-suave); background: #FBFBFA; }
.zt-ventana__barra {
  display: flex; align-items: center; gap: var(--e2); flex-wrap: wrap;
  padding: var(--e2) var(--e4); border-bottom: 1px solid var(--filete-suave);
  font-family: var(--fuente-datos); font-size: .6875rem; letter-spacing: .06em;
  text-transform: uppercase; color: var(--apoyo);
}
.zt-ventana__barra b { color: var(--tinta); font-weight: 500; }
.zt-ventana__marca { width: 6px; height: 6px; background: var(--color-marca, var(--azul)); flex: none; }
.zt-ventana__fin { margin-left: auto; text-transform: none; letter-spacing: 0; font-size: .6875rem; }
.zt-ventana img { width: 100%; height: auto; display: block; }

.zt-tarjeta__cuerpo { padding: var(--e4) var(--e5) var(--e5); display: flex; flex-direction: column; flex: 1; gap: var(--e2); }
.zt-tarjeta__cabeza { display: flex; align-items: baseline; gap: var(--e3); }
.zt-tarjeta__nombre { font-family: var(--fuente-titular); font-weight: 800; font-size: 1.75rem; letter-spacing: -.02em; }
.zt-tarjeta__oficio { font-family: var(--fuente-datos); font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; color: var(--apoyo); }
.zt-tarjeta__ord { margin-left: auto; font-family: var(--fuente-datos); font-size: .8125rem; color: var(--apoyo); }
.zt-tarjeta__frase { font-size: 1.0625rem; line-height: 1.45; }
.zt-tarjeta__prueba {
  border-left: 2px solid var(--azul); padding-left: var(--e3);
  font-size: .9375rem; line-height: 1.45; color: var(--apoyo);
}
.zt-tarjeta__prueba b { color: var(--tinta); font-weight: 600; }
.zt-tarjeta__pie {
  margin-top: auto; padding-top: var(--e3); border-top: 1px solid var(--filete-suave);
  display: flex; align-items: flex-end; justify-content: space-between; gap: var(--e4);
}
.zt-tarjeta__precio { font-family: var(--fuente-datos); font-variant-numeric: tabular-nums; font-weight: 500; font-size: 1.25rem; }
.zt-tarjeta__precio .desde { font-family: var(--fuente-cuerpo); font-weight: 400; font-size: .8125rem; color: var(--apoyo); display: block; }
.zt-tarjeta__precio small { display: block; font-family: var(--fuente-cuerpo); font-size: .75rem; color: var(--apoyo); font-weight: 400; margin-top: 2px; }
.zt-tarjeta__ir { font-weight: 600; font-size: .9375rem; color: var(--azul); white-space: nowrap; display: inline-flex; gap: var(--e2); align-items: center; }
.zt-tarjeta:hover .zt-tarjeta__ir { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; }
.zt-tarjeta__ir .flecha { font-family: var(--fuente-datos); transition: transform var(--dur-corta) var(--curva); }
.zt-tarjeta:hover .zt-tarjeta__ir .flecha { transform: translateX(3px); }

/* ---------- Plano: columnas sobre la fila de capas (forma madre) ---------- */
.zt-plano { border: 1px solid var(--filete); position: relative; background: var(--fondo-alt); }
.zt-plano--tinta { background: var(--tinta); border-color: var(--tinta); color: var(--sobre-tinta); box-shadow: var(--relieve-3); }
.zt-plano__columnas { display: grid; grid-template-columns: repeat(4, 1fr); }
.zt-plano__col {
  display: grid; gap: var(--e1); align-content: start;
  padding: var(--e4); border-left: 1px solid var(--filete-inv); text-align: left;
  background: transparent; color: inherit; text-decoration: none; cursor: pointer;
  transition: background-color var(--dur-corta) var(--curva);
}
.zt-plano__col:first-child { border-left: 0; }
.zt-plano__col .t-menor { color: var(--apoyo-oscuro); }
.zt-plano__col[data-activa="si"] { background: rgba(5,71,219,.20); }
.zt-plano__col:hover { background: rgba(244,244,243,.07); }
.zt-plano__col:focus-visible { outline-color: var(--foco-inv); outline-offset: -3px; }
.zt-plano__cabeza { display: flex; align-items: center; gap: var(--e2); }
.zt-plano__nombre { font-family: var(--fuente-titular); font-weight: 700; font-size: 1.125rem; letter-spacing: .01em; }
.zt-plano__punto { width: 8px; height: 8px; background: var(--filete-inv); flex: none; transition: background-color var(--dur-corta) var(--curva); }
[data-encendida="si"] .zt-plano__punto, .zt-plano__col[data-encendida="si"] .zt-plano__punto { background: var(--azul-luz); }
.zt-plano__ord { margin-left: auto; font-family: var(--fuente-datos); font-size: .75rem; color: var(--apoyo-oscuro); }
@media (max-width: 720px) {
  .zt-plano__columnas { grid-template-columns: 1fr 1fr; }
  .zt-plano__col:nth-child(odd) { border-left: 0; }
  .zt-plano__col:nth-child(n+3) { border-top: 1px solid var(--filete-inv); }
}

/* La fila de capas */
.zt-capas { position: relative; border-top: 1px solid var(--filete-inv); }
.zt-capas--firma::before {
  content: ''; position: absolute; left: calc(var(--canal) * .3); top: 0; bottom: 0; width: 1px;
  background: var(--filete-inv);
}
.zt-capa {
  display: grid; grid-template-columns: var(--canal) minmax(0, 1.15fr) minmax(0, 1fr);
  gap: var(--e4); align-items: start;
  padding: 8px var(--e4) 8px 0; border-top: 1px solid var(--filete-inv);
  transition: background-color var(--dur-corta) var(--curva), color var(--dur-corta) var(--curva);
}
.zt-capa:first-child { border-top: 0; }
.zt-capa .capa__num { padding-left: var(--e4); font-size: .8125rem; color: var(--apoyo-oscuro); }
.zt-capa .prueba { font-family: var(--fuente-datos); font-size: .75rem; line-height: 1.5; color: var(--apoyo-oscuro); }
.zt-capa[data-encendida="si"] { background: rgba(5,71,219,.22); }
.zt-capa[data-encendida="si"] .capa__num { color: var(--azul-luz); }
.zt-capa[data-encendida="si"] .prueba { color: var(--sobre-tinta); }
@media (max-width: 860px) {
  .zt-capa { grid-template-columns: var(--canal) 1fr; gap: var(--e2) var(--e4); }
  .zt-capa .prueba { grid-column: 2; font-size: .6875rem; line-height: 1.45; }
}
.zt-capas--compacta .zt-capa { grid-template-columns: var(--canal) minmax(0,1fr) auto; padding-block: var(--e2); }

/* La señal: un punto azul que viaja a velocidad constante (movimiento propio, §4.5) */
.zt-senal {
  position: absolute; left: 0; top: 0; width: 10px; height: 10px; background: var(--azul-luz);
  transition: transform var(--dur-corta) linear; pointer-events: none; z-index: 3;
}

/* El velo del trazo: tapa el plano y se corre de izquierda a derecha */
.zt-velo {
  position: absolute; inset: 0; background: var(--fondo); z-index: 4; pointer-events: none;
  transform-origin: right center;
}
.zt-plano--tinta .zt-velo, .zt-consola .zt-velo { background: var(--tinta); }
.zt-velo.corre { transition: transform var(--dur-trazo) linear; transform: scaleX(0); }

/* ---------- Banda del endoso ---------- */
.zt-banda {
  border-top: 1px solid var(--filete-inv); padding: var(--e3) var(--e4);
  font-size: .8125rem; color: var(--apoyo-oscuro);
}
.zt-banda .endoso { color: var(--sobre-tinta); margin-right: var(--e2); }

/* ---------- Panel blanco: segundo nivel de material ---------- */
.zt-panel { background: var(--fondo-alt); border: 1px solid var(--filete); box-shadow: var(--relieve-2); }
.seccion--blanca .zt-panel { box-shadow: var(--relieve-1); border-color: var(--filete-medio); }
.zt-panel__cabeza {
  display: flex; align-items: center; gap: var(--e3); flex-wrap: wrap;
  padding: var(--e3) var(--e5); border-bottom: 1px solid var(--filete-suave);
  font-family: var(--fuente-datos); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; color: var(--apoyo);
}
.zt-panel__cabeza b { color: var(--tinta); font-weight: 500; }
.zt-panel__cuerpo { padding: var(--e5); }

/* Dos columnas para la hoja larga: baja el alto sin esconder nada */
.zt-hoja--dos { display: grid; grid-template-columns: 1fr 1fr; }
.zt-hoja--dos .zt-hoja__fila { grid-template-columns: minmax(130px, 190px) 1fr; padding-block: 8px; }
.zt-hoja--dos .zt-hoja__fila:nth-child(even) { border-left: 1px solid var(--filete-suave); }
.zt-hoja--dos .zt-hoja__fila:nth-child(-n+2) { border-top: 0; }
@media (max-width: 900px) {
  .zt-hoja--dos { grid-template-columns: 1fr; }
  .zt-hoja--dos .zt-hoja__fila:nth-child(even) { border-left: 0; }
  .zt-hoja--dos .zt-hoja__fila:nth-child(2) { border-top: 1px solid var(--filete-suave); }
}

/* Desplegable: la tabla larga no estira la página, y el dato sigue publicado */
.zt-desplegable { border-top: 1px solid var(--filete); }
.zt-desplegable > summary {
  display: flex; align-items: center; justify-content: space-between; gap: var(--e4);
  padding: var(--e4) var(--e5); cursor: pointer; font-weight: 600; list-style: none;
}
.zt-desplegable > summary::-webkit-details-marker { display: none; }
.zt-desplegable > summary::after { content: 'Abrir +'; font-family: var(--fuente-datos); font-size: .8125rem; color: var(--azul); }
.zt-desplegable[open] > summary::after { content: 'Cerrar –'; }
.zt-desplegable > summary:hover { background: var(--fondo); }

/* Hoja de filas: concepto a la izquierda, detalle a la derecha */
.zt-hoja__fila {
  display: grid; grid-template-columns: minmax(150px, 230px) 1fr; gap: var(--e2) var(--e4);
  padding: 9px var(--e5); border-top: 1px solid var(--filete-suave);
}
.zt-hoja__fila:first-child { border-top: 0; }
.zt-hoja__fila > p:first-child { font-weight: 600; }
.zt-hoja__fila > p:last-child { color: var(--apoyo); font-size: .9375rem; }
@media (max-width: 680px) { .zt-hoja__fila { grid-template-columns: 1fr; gap: var(--e1); } }

/* ---------- Listas numeradas ---------- */
.zt-lista li {
  display: grid; grid-template-columns: 3em 1fr; gap: var(--e3);
  padding: var(--e3) 0; border-top: 1px solid var(--filete-suave);
}
.zt-lista li:first-child { border-top: 0; }
.zt-lista .num { font-family: var(--fuente-datos); font-size: .8125rem; color: var(--azul); }
.zt-lista--grande li { padding-block: var(--e3); font-size: 1.0625rem; }

/* «Lo que no hacemos», sobre azul */
.zt-no { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--e6); }
.zt-no li {
  display: grid; grid-template-columns: 3.2em 1fr; gap: var(--e3);
  padding: var(--e3) 0; border-top: 1px solid rgba(255,255,255,.28); align-items: start;
}
.zt-no .num { font-family: var(--fuente-datos); font-size: .8125rem; color: #fff; }
.zt-no span:last-child { font-size: .9375rem; line-height: 1.5; color: var(--azul-claro); }
@media (max-width: 860px) { .zt-no { grid-template-columns: 1fr; } }

/* ---------- Pilares de confianza (banda azul) ---------- */
.zt-pilares { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--e6); }
.zt-pilares > li { border-top: 2px solid #fff; padding-top: var(--e4); }
.zt-pilares .num { display: block; font-family: var(--fuente-datos); font-size: .75rem; letter-spacing: .1em; color: var(--azul-claro); }
.zt-pilares h3 { margin-top: var(--e2); color: #fff; font-size: 1.3125rem; line-height: 1.1; }
.zt-pilares p { margin-top: var(--e2); font-size: .9375rem; line-height: 1.5; color: var(--azul-claro); }
.zt-pilares .fuente { display: block; margin-top: var(--e2); font-family: var(--fuente-datos); font-size: .6875rem; letter-spacing: .04em; color: rgba(201,217,255,.85); }
@media (max-width: 860px) { .zt-pilares { grid-template-columns: 1fr; gap: var(--e5); } }

/* ---------- Pasos ---------- */
.zt-pasos { display: grid; grid-template-columns: repeat(3, 1fr); }
.zt-paso { padding: var(--e4) var(--e5); border-left: 1px solid var(--filete-suave); }
.zt-paso:first-child { border-left: 0; }
.zt-paso__cabeza { display: flex; align-items: center; gap: var(--e2); }
.zt-paso__cabeza .zt-plano__punto { background: var(--filete-medio); }
.zt-paso[data-encendida="si"] .zt-plano__punto { background: var(--azul); }
.zt-paso h3 { margin-top: var(--e3); font-size: 1.125rem; }
.zt-paso p { margin-top: var(--e2); }
@media (max-width: 860px) {
  .zt-pasos { grid-template-columns: 1fr; }
  .zt-paso { border-left: 0; border-top: 1px solid var(--filete-suave); }
  .zt-paso:first-child { border-top: 0; }
}
.zt-tira { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--filete); }
.zt-tira span { padding: var(--e3) var(--e4); border-left: 1px solid var(--filete-suave); font-size: .875rem; color: var(--apoyo); }
.zt-tira span:first-child { border-left: 0; }
.zt-tira b { font-family: var(--fuente-datos); font-size: .75rem; color: var(--azul); margin-right: var(--e2); }
@media (max-width: 860px) { .zt-tira { grid-template-columns: 1fr 1fr; } .zt-tira span { border-left: 0; border-top: 1px solid var(--filete-suave); } }
.zt-tira__rotulo {
  padding: var(--e2) var(--e4); border-top: 1px solid var(--filete-suave);
  font-family: var(--fuente-datos); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--apoyo);
}

/* ---------- Tablas ---------- */
.tabla-envoltura { overflow-x: auto; }
.zt-tabla { width: 100%; font-size: .9375rem; }
.zt-tabla th, .zt-tabla td { padding: 10px var(--e4); text-align: left; vertical-align: top; border-top: 1px solid var(--filete-suave); }
.zt-tabla thead th {
  border-top: 0; border-bottom: 1px solid var(--filete); font-family: var(--fuente-datos);
  font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; color: var(--apoyo); font-weight: 400; white-space: nowrap;
}
.zt-tabla td.num, .zt-tabla th.num { text-align: right; font-family: var(--fuente-datos); font-variant-numeric: tabular-nums; white-space: nowrap; }
.zt-tabla tbody th { font-weight: 600; }
.zt-tabla tr.grupo > th { border-top: 1px solid var(--filete); }
.zt-tabla tbody tr:hover { background: var(--fondo); }
.zt-tabla__marca { font-family: var(--fuente-titular); font-weight: 700; font-size: 1.0625rem; }

/* ---------- Conmutador mensual/anual ---------- */
.zt-conmutador { display: inline-flex; border: 1px solid var(--filete); }
.zt-conmutador button {
  padding: var(--e2) var(--e4); min-height: 44px; font-size: .9375rem; color: var(--tinta);
  border-left: 1px solid var(--filete);
  transition: background-color var(--dur-corta) var(--curva), color var(--dur-corta) var(--curva);
}
.zt-conmutador button:first-child { border-left: 0; }
.zt-conmutador button:hover { background: var(--fondo); }
.zt-conmutador button[aria-pressed="true"] { background: var(--azul); color: #fff; }
.zt-conmutador small { font-family: var(--fuente-datos); font-size: .75rem; }

/* ---------- Calculadora ---------- */
.zt-calc { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--filete); box-shadow: var(--relieve-2); }
.zt-calc__mandos { padding: var(--e5); background: var(--fondo-alt); display: grid; gap: var(--e4); align-content: start; }
.zt-calc__salida { padding: var(--e5); background: var(--azul); color: #fff; display: grid; gap: var(--e3); align-content: start; }
.zt-calc__salida .rotulo { color: var(--azul-claro); }
.zt-calc__salida .rotulo__num { color: #fff; }
.zt-calc__salida .rotulo__filete { background: rgba(255,255,255,.42); }
.zt-calc__total { color: #fff; font-size: clamp(2rem, 1.4rem + 1.9vw, 2.75rem); }
.zt-calc__desglose li { display: flex; justify-content: space-between; gap: var(--e4); padding: var(--e2) 0; border-top: 1px solid rgba(255,255,255,.28); font-size: .9375rem; }
.zt-calc__desglose .dato { color: #fff; }
.zt-calc__salida .t-menor { color: var(--azul-claro); }
.zt-calc__salida :focus-visible { outline-color: #fff; }
@media (max-width: 860px) { .zt-calc { grid-template-columns: 1fr; } }

/* ---------- Campos y formulario ---------- */
.zt-campo label { font-size: .8125rem; font-weight: 600; letter-spacing: .01em; }
.zt-campo .opc { font-weight: 400; color: var(--apoyo); }
.zt-campo input, .zt-campo select, .zt-campo textarea {
  width: 100%; min-height: 48px; padding: var(--e3) var(--e4);
  background: var(--fondo-alt); color: var(--tinta);
  border: 1px solid var(--filete-medio); border-radius: var(--radio);
  transition: border-color var(--dur-corta) var(--curva), box-shadow var(--dur-corta) var(--curva);
}
.zt-campo textarea { min-height: 84px; resize: vertical; }
.zt-campo input:hover, .zt-campo select:hover, .zt-campo textarea:hover { border-color: var(--tinta); }
.zt-campo input:focus, .zt-campo select:focus, .zt-campo textarea:focus {
  border-color: var(--azul); outline: 2px solid var(--azul); outline-offset: -2px;
}
.zt-formulario { display: grid; gap: var(--e3); }
.zt-formulario__par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e4); }
@media (max-width: 600px) { .zt-formulario__par { grid-template-columns: 1fr; } }
.form__ok { display: none; font-weight: 600; color: var(--azul); }
.form--ok .form__ok { display: block; }
.form--ok .zt-formulario__par, .form--ok .zt-campo, .form--ok button[type="submit"] { display: none; }

/* ---------- Preguntas ---------- */
.zt-faq details { border-bottom: 1px solid var(--filete-suave); }
.zt-faq summary { display: flex; justify-content: space-between; gap: var(--e4); }
.zt-faq summary::after { content: '+'; font-family: var(--fuente-datos); color: var(--azul); }
.zt-faq details[open] summary::after { content: '–'; }
.zt-faq details > p { color: var(--apoyo); font-size: .9375rem; max-width: 70ch; }

/* ---------- Pie ---------- */
.zt-pie { background: var(--tinta); color: var(--sobre-tinta); padding-block: var(--e7) var(--e6); }
.zt-pie img { height: 26px; width: auto; }
.zt-pie__alto { display: flex; flex-wrap: wrap; align-items: center; gap: var(--e4) var(--e6); padding-bottom: var(--e5); border-bottom: 1px solid var(--filete-inv); }
.zt-pie__alto .t-menor { color: var(--apoyo-oscuro); }
.zt-pie__alto .endoso { margin-left: auto; color: var(--apoyo-oscuro); }
.zt-pie__marcas { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--filete-inv); }
.zt-pie__marcas a {
  display: grid; gap: var(--e1); padding: var(--e5) var(--e4); border-left: 1px solid var(--filete-inv);
  color: var(--sobre-tinta); text-decoration: none; border-top: 3px solid transparent;
  transition: background-color var(--dur-corta) var(--curva), border-top-color var(--dur-corta) var(--curva);
}
.zt-pie__marcas a:first-child { border-left: 0; }
.zt-pie__marcas a:hover { background: rgba(244,244,243,.06); border-top-color: var(--color-marca, var(--azul-luz)); }
.zt-pie__marcas .t-menor { color: var(--apoyo-oscuro); }
.zt-pie__enlaces { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--e5) var(--e6); padding-block: var(--e5); }
.zt-pie__enlaces .endoso { color: var(--apoyo-oscuro); }
.zt-pie__enlaces ul { margin-top: var(--e3); display: grid; gap: var(--e2); }
.zt-pie__enlaces a, .zt-pie__enlaces li { color: var(--sobre-tinta); font-size: .9375rem; text-decoration: none; }
.zt-pie__enlaces a:hover { color: var(--azul-luz); text-decoration: underline; text-underline-offset: 3px; }
.zt-pie__legal {
  display: flex; flex-wrap: wrap; gap: var(--e2) var(--e5); padding-top: var(--e5);
  border-top: 1px solid var(--filete-inv); font-family: var(--fuente-datos); font-size: .75rem; color: var(--apoyo-oscuro);
}
.zt-pie :focus-visible { outline-color: var(--foco-inv); }
@media (max-width: 860px) {
  .zt-pie__marcas { grid-template-columns: 1fr 1fr; }
  .zt-pie__marcas a:nth-child(odd) { border-left: 0; }
  .zt-pie__marcas a:nth-child(n+3) { border-top: 1px solid var(--filete-inv); }
  .zt-pie__enlaces { grid-template-columns: 1fr 1fr; gap: var(--e5); }
  .zt-pie__alto .endoso { margin-left: 0; }
}

/* ---------- Movimiento de entrada (propio de la casa: lineal, una sola vez) ---------- */
/* Tres gestos distintos por papel, nunca el mismo «fade-up» en todas las secciones (§5):
   el FILETE se dibuja, la FILA entra en orden de izquierda a derecha, el TITULAR se alza.
   El estado inicial vive bajo .zt-mov, que pone el guion: sin JavaScript no se oculta nada. */
.zt-mov [data-ent="filete"] .rotulo__filete { transform: scaleX(0); }
[data-ent="filete"].esta .rotulo__filete { transform: scaleX(1); transition: transform var(--dur-trazo) linear; }

.zt-mov [data-ent="fila"] > * { opacity: 0; transform: translateX(-12px); }
[data-ent="fila"].esta > * { opacity: 1; transform: none; transition: opacity 200ms linear, transform 200ms linear; }
[data-ent="fila"].esta > *:nth-child(2) { transition-delay: 90ms; }
[data-ent="fila"].esta > *:nth-child(3) { transition-delay: 180ms; }
[data-ent="fila"].esta > *:nth-child(4) { transition-delay: 270ms; }
[data-ent="fila"].esta > *:nth-child(5) { transition-delay: 360ms; }

.zt-mov [data-ent="alza"] { opacity: 0; transform: translateY(10px); }
[data-ent="alza"].esta { opacity: 1; transform: none; transition: opacity 240ms linear, transform 240ms linear; }

@media (prefers-reduced-motion: reduce) {
  .zt-mov [data-ent] , .zt-mov [data-ent] > * { opacity: 1 !important; transform: none !important; }
  .zt-mov [data-ent="filete"] .rotulo__filete { transform: none !important; }
  .zt-velo { display: none !important; }
}

/* ---------- Utilidades ---------- */
.a-la-derecha { margin-left: auto; }
.nota-fuente { font-family: var(--fuente-datos); font-size: .6875rem; letter-spacing: .04em; color: var(--apoyo); }
.seccion--azul .nota-fuente { color: rgba(201,217,255,.85); }

/* ---------- Dos caminos, lado a lado (capa 04) ---------- */
.zt-doble { display: grid; grid-template-columns: 1fr 1fr; gap: var(--e5); align-items: start; }
.zt-doble > .zt-panel { display: flex; flex-direction: column; height: 100%; }
.zt-doble .tabla-envoltura { border-top: 1px solid var(--filete-suave); }
.zt-doble .zt-tabla thead th { font-size: .625rem; }
.zt-doble .zt-tabla th[scope="row"] { font-weight: 600; }
.zt-doble .zt-tabla th[scope="row"] .t-menor { font-weight: 400; font-size: .8125rem; }
.zt-pasos--apilados { grid-template-columns: 1fr; border-top: 1px solid var(--filete-suave); }
.zt-pasos--apilados .zt-paso { border-left: 0; border-top: 1px solid var(--filete-suave); }
.zt-pasos--apilados .zt-paso:first-child { border-top: 0; }
.zt-medida__cierre {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: var(--e4); border-top: 1px solid var(--filete-suave); margin-top: auto;
}
.zt-medida__cierre .cifra { display: block; font-size: 2rem; }
.zt-medida__cierre .t-menor { display: block; }
@media (max-width: 960px) { .zt-doble { grid-template-columns: 1fr; } }

/* El desplegable dentro de un panel no dibuja dos filetes seguidos */
.zt-panel > .zt-desplegable > summary { padding-inline: var(--e5); }
.zt-desplegable .zt-hoja--dos { border-top: 1px solid var(--filete-suave); }

/* Las celdas de rejilla no se estiran con su contenido: sin esto, una tabla
   ancha dentro de un panel saca scroll horizontal a toda la página (lección de FARO). */
.rejilla > *, .zt-doble > *, .zt-doble > .zt-panel > *, .hero > * { min-width: 0; }
.tabla-envoltura { max-width: 100%; }

/* Ajustes finos de alto y de lectura */
.zt-tarjeta__frase { font-size: 1rem; }
.zt-tarjeta__prueba { font-size: .875rem; }
.zt-doble .zt-lista li { padding-block: 8px; }
.zt-doble .zt-panel__cuerpo { padding: var(--e4) var(--e5); }
@media (max-width: 600px) {
  .zt-tarjeta__cuerpo { padding: var(--e4); }
  .zt-tarjeta__nombre { font-size: 1.5rem; }
  .zt-panel__cuerpo { padding: var(--e4); }
  .zt-hoja__fila { padding-inline: var(--e4); }
  .zt-desplegable > summary, .zt-panel > .zt-desplegable > summary { padding: var(--e3) var(--e4); }
  .zt-calc__mandos, .zt-calc__salida { padding: var(--e4); }
}

/* El pie no puede ensanchar la página: un correo largo parte donde toque */
.zt-pie__enlaces > div, .zt-pie__enlaces a, .zt-pie__enlaces li { min-width: 0; overflow-wrap: anywhere; }
.zt-doble .zt-tabla th[scope="row"] .t-menor { font-size: .75rem; line-height: 1.35; }

/* Móvil: el mismo contenido, con el respiro ajustado al alto de la pantalla */
@media (max-width: 720px) {
  .zt-avales { gap: var(--e3); }
  .zt-avales li { flex: 1 1 100%; padding-top: var(--e2); }
  .zt-consola__cifras > div { padding: var(--e4); }
  .zt-pilares > li { padding-top: var(--e3); }
  .zt-no li, .zt-lista--grande li { padding-block: 10px; }
  .zt-paso { padding: var(--e3) var(--e4); }
  .zt-ventana__barra { padding-block: 6px; }
  .zt-medida__cierre { gap: var(--e3); }
}

/* ---------- Remates de la última pasada ---------- */
.remate { margin-top: var(--e4); }
.zt-capa[data-encendida="si"] { background: rgba(5,71,219,.30); }   /* #F4F4F3 encima: 12,4:1 */
.zt-plano__col[data-activa="si"] { background: rgba(5,71,219,.28); }
.seccion { padding-block: 34px; }
.seccion--hero { padding-block: var(--e6) 44px; }
@media (max-width: 767px) { .seccion { padding-block: 32px; } .seccion--hero { padding-block: var(--e5) 32px; } }
@media (max-width: 680px) {
  .zt-cintillo__sep { display: none; }
  .zt-desplegable > summary { flex-wrap: wrap; row-gap: var(--e1); }
  .zt-desplegable > summary::after { margin-left: auto; }
}

/* Móvil: última pasada de alto. Nada se esconde; se aprieta el interlineado del dato. */
@media (max-width: 720px) {
  .zt-doble .zt-tabla th, .zt-doble .zt-tabla td { padding: 8px var(--e3); }
  .zt-doble .zt-tabla th[scope="row"] .t-menor { font-size: .6875rem; }
  .zt-tarjeta__cuerpo { gap: 6px; padding: var(--e3) var(--e4) var(--e4); }
  .zt-pilares p { font-size: .875rem; }
  .zt-capa { padding-block: 7px; }
  .zt-hoja__fila { padding-block: 7px; }
  .zt-lista li { padding-block: 8px; }
  .zt-panel__cuerpo, .zt-doble .zt-panel__cuerpo { padding: var(--e3) var(--e4); }
  .zt-formulario .zt-panel__cuerpo { padding: var(--e4); }
}
@media (max-width: 720px) {
  .t-lead { font-size: 1rem; }
  .hero h1 { margin-top: var(--e3); }
  .hero .t-lead { margin-top: var(--e4); }
  .hero .acciones { margin-top: var(--e5); }
  .zt-pie__marcas a { padding: var(--e4); }
  .zt-pie__enlaces { gap: var(--e4) var(--e5); }
}

/* Las cuatro columnas sobre la fila: la forma madre de la casa, dentro de la consola */
.zt-consola__filas { border-top: 1px solid var(--filete-inv); }
.zt-consola__filas a {
  display: grid; grid-template-columns: 16px 5.5em 1fr; align-items: baseline; gap: var(--e3);
  padding: 9px var(--e4); border-top: 1px solid var(--filete-inv);
  color: var(--sobre-tinta); text-decoration: none; font-size: .875rem;
  transition: background-color var(--dur-corta) var(--curva);
}
.zt-consola__filas a:first-child { border-top: 0; }
.zt-consola__filas a:hover { background: rgba(5,71,219,.30); }
.zt-consola__filas b { font-family: var(--fuente-titular); font-weight: 700; font-size: 1rem; }
.zt-consola__filas span:last-child { color: var(--apoyo-oscuro); font-size: .8125rem; }
.zt-consola__filas .zt-plano__punto { background: var(--azul-luz); align-self: center; }
@media (max-width: 720px) {
  .zt-consola__filas { display: grid; grid-template-columns: 1fr 1fr; }
  .zt-consola__filas a { grid-template-columns: 12px 1fr; align-items: center; row-gap: 2px; padding: 8px var(--e3); }
  .zt-consola__filas a:nth-child(-n+2) { border-top: 0; }
  .zt-consola__filas a:nth-child(even) { border-left: 1px solid var(--filete-inv); }
  .zt-consola__filas span:last-child { grid-column: 2; font-size: .6875rem; }
  .zt-consola__cifras > div { padding: var(--e3) var(--e4); }
}
