/* ============================================================
   Tesis Co · Colombia
   Sistema del brand kit · septiembre 2026
   Tinta 60 · Papel 30 · Señal 10
   Archivo (títulos) · Plus Jakarta Sans (cuerpo) · IBM Plex Mono (datos)
   ============================================================ */

:root{
  /* — Color — */
  --tinta:#0B1733;          /* Tinta medianoche */
  --azul:#16295E;           /* Azul documento */
  --senal:#FF5A3C;          /* Naranja señal · fondo o forma, nunca texto sobre papel */
  --senal-profundo:#B93315; /* Naranja profundo · el único naranja apto para texto */
  --papel:#FFFFFF;
  --papel-2:#F7F5F0;        /* papel cálido */
  --papel-3:#EFEDE7;

  --tinta-72:rgba(11,23,51,0.72);
  --tinta-52:rgba(11,23,51,0.52);
  --tinta-12:rgba(11,23,51,0.12);
  --tinta-08:rgba(11,23,51,0.08);
  --sobre-tinta:rgba(255,255,255,0.74);
  --sobre-tinta-52:rgba(255,255,255,0.52);
  --linea:#DCDAD3;
  --linea-tinta:rgba(255,255,255,0.14);

  /* — Tipografía — */
  --titulo:"Archivo",system-ui,sans-serif;
  --cuerpo:"Plus Jakarta Sans",system-ui,-apple-system,sans-serif;
  --dato:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;

  --t-h1:clamp(34px,4.6vw,56px);
  --t-h2:clamp(27px,3.2vw,40px);
  --t-h3:clamp(19px,1.6vw,23px);
  --t-bajada:clamp(18px,1.6vw,22px);
  --t-cuerpo:18px;
  --t-sm:16px;
  --t-xs:14px;
  --t-etiqueta:12px;
  --t-precio:clamp(30px,4vw,52px);

  /* — Métrica: 4 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96 — */
  --e1:4px;  --e2:8px;  --e3:12px; --e4:16px; --e5:24px;
  --e6:32px; --e7:48px; --e8:64px; --e9:96px;

  --ancho:1248px;
  --margen:clamp(20px,6.6vw,96px);
  --seccion:clamp(56px,7vw,96px);
  --burbuja:18px;   /* recorte de burbuja: 3 esquinas redondeadas */
  --r:6px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--papel-2);color:var(--tinta);
  font-family:var(--cuerpo);font-size:var(--t-cuerpo);font-weight:400;line-height:1.6;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5{margin:0;font-family:var(--titulo);font-weight:700;line-height:1.06}
:focus-visible{outline:2.5px solid var(--senal);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.container{width:100%;max-width:var(--ancho);margin:0 auto;padding:0 var(--margen)}
.tnum{font-variant-numeric:tabular-nums}

/* — Barra de progreso — */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;background:var(--senal)}

/* ============================================================
   TIPOGRAFÍA
   ============================================================ */
.h1{font-size:var(--t-h1);letter-spacing:-0.022em}
.h2{font-size:var(--t-h2);letter-spacing:-0.02em}
.h3{font-size:var(--t-h3);letter-spacing:-0.015em}
.bajada{
  font-family:var(--cuerpo);font-weight:500;font-size:var(--t-bajada);
  letter-spacing:-0.01em;line-height:1.5;color:var(--tinta-72);max-width:56ch;
}
.cuerpo{font-size:var(--t-cuerpo);line-height:1.6;color:var(--tinta-72);max-width:64ch}
.em-senal{color:var(--senal-profundo);font-style:normal}
.sobre-tinta .em-senal{color:var(--senal)}

/* Etiqueta en mono con cuadrado de remate — la "regla de folio" */
.etiqueta{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--dato);font-size:var(--t-etiqueta);font-weight:500;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--tinta-52);
}
.etiqueta::before{content:"";width:8px;height:8px;background:var(--senal);flex:none}
.sobre-tinta .etiqueta{color:var(--sobre-tinta-52)}

/* Folio: línea + etiqueta + cuadrado */
.folio{
  display:flex;align-items:center;gap:var(--e4);
  font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.14em;
  text-transform:uppercase;color:var(--tinta-52);
}
.folio::after{content:"";flex:1;height:1px;background:var(--linea)}
.sobre-tinta .folio{color:var(--sobre-tinta-52)}
.sobre-tinta .folio::after{background:var(--linea-tinta)}

.sec-head{margin-bottom:var(--e7);max-width:60ch}
.sec-head .h2{margin-top:var(--e4)}
.sec-head .bajada{margin-top:var(--e4)}

/* ============================================================
   SUPERFICIES
   ============================================================ */
.sobre-tinta{background:var(--tinta);color:#fff;position:relative;isolation:isolate}
.sobre-tinta p,.sobre-tinta .cuerpo,.sobre-tinta .bajada{color:var(--sobre-tinta)}
.sobre-tinta h1,.sobre-tinta h2,.sobre-tinta h3,.sobre-tinta h4{color:#fff}
.sobre-azul{background:var(--azul);color:#fff}

/* Trama de renglón: 1px cada 22px. Nunca sobre azul. */
.renglon{
  background-image:repeating-linear-gradient(to bottom,var(--tinta-08) 0 1px,transparent 1px 22px);
  background-position:0 6px;
}

/* Recorte de burbuja: tres esquinas redondeadas, la inferior derecha recta */
.burbuja{border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja)}

/* ============================================================
   BOTONES
   Regla del kit: los botones naranja llevan texto tinta, nunca blanco.
   ============================================================ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:var(--e2);
  padding:15px 22px;border:1.5px solid transparent;
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
  font-family:var(--cuerpo);font-size:var(--t-sm);font-weight:700;letter-spacing:-0.005em;
  cursor:pointer;white-space:nowrap;
  transition:transform 180ms cubic-bezier(.2,.7,.2,1),background 180ms ease,border-color 180ms ease,color 180ms ease;
}
.btn:hover{transform:translateY(-1px)}
.btn-senal{background:var(--senal);color:var(--tinta)}
.btn-senal:hover{background:#FF6E54}
.btn-tinta{background:var(--tinta);color:#fff}
.btn-tinta:hover{background:var(--azul)}
.btn-papel{background:var(--papel);color:var(--tinta)}
.btn-papel:hover{background:var(--papel-3)}
.btn-borde{border-color:var(--tinta-12);color:var(--tinta)}
.btn-borde:hover{border-color:var(--tinta);background:var(--papel)}
.sobre-tinta .btn-borde{border-color:rgba(255,255,255,0.28);color:#fff}
.sobre-tinta .btn-borde:hover{border-color:var(--senal);background:rgba(255,255,255,0.06)}
.btn-fila{display:flex;flex-wrap:wrap;gap:var(--e3)}

/* ============================================================
   NAVEGACIÓN
   ============================================================ */
.nav{
  position:sticky;top:0;z-index:100;background:var(--tinta);color:#fff;
  display:flex;align-items:center;gap:var(--e6);
  padding:var(--e3) var(--margen);border-bottom:1px solid var(--linea-tinta);
  transition:padding 220ms ease;
}
.marca{display:inline-flex;align-items:center;gap:0.26em;flex:none}
.marca img{height:34px;width:auto;transition:height 220ms ease}
.marca span{
  font-family:var(--titulo);font-weight:700;font-size:23px;
  letter-spacing:-0.035em;color:#fff;line-height:1;
}
.marca i{width:0.17em;height:0.17em;background:var(--senal);display:block;font-size:23px;align-self:flex-end;margin-bottom:0.14em}
.nav.scrolled .marca img{height:30px}
.nav-links{display:flex;gap:var(--e6);font-size:var(--t-sm);font-weight:500}
.nav-links a{color:var(--sobre-tinta);padding:6px 0;position:relative;transition:color 160ms ease}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--senal)}
.nav-cta{margin-left:auto;padding:11px 18px}
.nav-burger{
  display:none;margin-left:auto;width:44px;height:40px;background:none;
  border:1px solid rgba(255,255,255,0.24);border-radius:var(--r);
  flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;
}
.nav-burger span{display:block;width:18px;height:2px;background:#fff}
.nav-movil{
  position:fixed;inset:62px 0 0;background:var(--tinta);z-index:99;
  display:flex;flex-direction:column;padding:var(--e5) var(--margen);overflow-y:auto;
}
.nav-movil a{
  color:var(--sobre-tinta);font-family:var(--titulo);font-size:21px;font-weight:700;
  padding:var(--e4) 0;border-bottom:1px solid var(--linea-tinta);
}
.nav-movil a.active{color:var(--senal)}
.nav-movil .btn{margin-top:var(--e5);justify-content:center}
body.nav-open{overflow:hidden}
@media (max-width:1000px){
  .nav-links,.nav-cta{display:none}
  .nav-burger{display:flex}
}

/* ============================================================
   PORTADA
   ============================================================ */
.hero{padding:clamp(44px,5.6vw,80px) var(--margen) clamp(48px,6vw,88px)}
.hero-inner{
  max-width:var(--ancho);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,0.92fr);
  gap:clamp(32px,5vw,72px);align-items:center;
}
@media (max-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr);gap:var(--e7)}}
.hero h1{font-size:var(--t-h1);letter-spacing:-0.022em;margin-top:var(--e4);max-width:16ch}
.hero .bajada{margin-top:var(--e5)}
.hero .btn-fila{margin-top:var(--e6)}
.hero-datos{
  margin-top:var(--e6);padding-top:var(--e5);border-top:1px solid var(--linea-tinta);
  display:flex;flex-wrap:wrap;gap:var(--e3) var(--e6);
  font-family:var(--dato);font-size:var(--t-xs);color:var(--sobre-tinta-52);
}
.hero-datos span{display:inline-flex;align-items:center;gap:var(--e2)}
.hero-datos b{color:#fff;font-weight:500}

/* — La cotización: la pieza que cierra la venta — */
.cot{
  background:var(--papel);color:var(--tinta);
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
  overflow:hidden;box-shadow:0 40px 80px -40px rgba(3,10,26,0.75);
}
.cot-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--e4);
  padding:var(--e4) var(--e5);border-bottom:1px solid var(--linea);
  font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.13em;
  text-transform:uppercase;color:var(--tinta-52);
}
/* La tarjeta vive dentro de un bloque tinta: fija su propio color
   para no heredar el blanco de .sobre-tinta. */
.cot,.cot h3,.cot b{color:var(--tinta)}
.cot p{color:var(--tinta-72)}
.cot-titulo{padding:var(--e5) var(--e5) 0}
.cot-titulo h3{font-size:26px;letter-spacing:-0.02em;color:var(--tinta)}
.cot-cuerpo{padding:var(--e4) var(--e5) var(--e5)}
.cot-fila{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--e4);
  padding:var(--e3) 0;border-bottom:1px solid var(--linea);
}
.cot-fila:last-of-type{border-bottom:0}
.cot-fila span{
  font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.12em;
  text-transform:uppercase;color:var(--tinta-52);align-self:center;
}
.cot-fila b{font-size:var(--t-sm);font-weight:700;text-align:right}
.cot-total{
  margin-top:var(--e4);padding:var(--e4) var(--e5);
  background:var(--senal);color:var(--tinta);
  display:flex;align-items:baseline;justify-content:space-between;gap:var(--e4);
  margin-left:calc(var(--e5) * -1);margin-right:calc(var(--e5) * -1);
}
.cot-total span{font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.14em;text-transform:uppercase}
.cot-total b{font-family:var(--titulo);font-size:var(--t-precio);letter-spacing:-0.03em;line-height:1}
.cot-pie{
  padding:var(--e4) var(--e5);border-top:1px solid var(--linea);
  font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52);line-height:1.5;
}

/* ============================================================
   CIFRAS
   ============================================================ */
.cifras{background:var(--papel);border-bottom:1px solid var(--linea)}
.cifras-grid{max-width:var(--ancho);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:820px){.cifras-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cifra{padding:var(--e5) var(--margen);border-right:1px solid var(--linea)}
.cifra:last-child{border-right:0}
@media (max-width:820px){
  .cifra{border-bottom:1px solid var(--linea)}
  .cifra:nth-child(2n){border-right:0}
  .cifra:nth-last-child(-n+2){border-bottom:0}
}
.cifra b{
  display:block;font-family:var(--titulo);font-size:clamp(28px,3.4vw,42px);
  font-weight:700;letter-spacing:-0.03em;line-height:1;font-variant-numeric:tabular-nums;
}
.cifra b .mas{color:var(--senal-profundo)}
.cifra span{
  display:block;margin-top:var(--e3);font-family:var(--dato);font-size:var(--t-etiqueta);
  letter-spacing:0.12em;text-transform:uppercase;color:var(--tinta-52);
}

/* ============================================================
   SECCIONES
   ============================================================ */
.section{padding:var(--seccion) 0}
.section.pegada{padding-top:0}
.section.papel{background:var(--papel)}

/* — Universidades — */
.unis{padding:var(--e7) 0;background:var(--papel);border-bottom:1px solid var(--linea)}
.unis-head{display:flex;gap:var(--e6);align-items:end;justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--e5)}
.unis-head h2{font-size:var(--t-h3);max-width:26ch;margin-top:var(--e3)}
.unis-head p{font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52);max-width:40ch}
.unis-grid{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));border:1px solid var(--linea)}
@media (max-width:1100px){.unis-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:640px){.unis-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.uni{display:grid;place-items:center;height:76px;padding:var(--e3);border:1px solid var(--linea);margin:-1px 0 0 -1px;background:var(--papel)}
.uni img{max-height:36px;width:auto;object-fit:contain;filter:grayscale(1) opacity(0.45);transition:filter 240ms ease}
.uni:hover img{filter:none}

/* — Tarjetas — */
.tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}
@media (max-width:900px){.tarjetas{grid-template-columns:minmax(0,1fr)}}
.tarjeta{
  background:var(--papel);border:1px solid var(--linea);
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
  padding:var(--e6);
}
.tarjeta .folio{margin-bottom:var(--e5)}
.tarjeta h3{font-size:var(--t-h3);margin-bottom:var(--e3)}
.tarjeta p{font-size:var(--t-sm);color:var(--tinta-72)}
.tarjeta svg{color:var(--senal-profundo);margin-bottom:var(--e4)}

/* — Split — */
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,0.95fr);gap:clamp(32px,5vw,72px);align-items:start}
@media (max-width:940px){.split{grid-template-columns:minmax(0,1fr)}}
.lista-check{display:flex;flex-direction:column;gap:var(--e3);margin-top:var(--e5)}
.lista-check li{display:flex;gap:var(--e3);font-size:var(--t-sm);color:var(--tinta-72);line-height:1.5}
.lista-check li svg{flex:none;color:var(--senal-profundo);margin-top:2px}
.sobre-tinta .lista-check li{color:var(--sobre-tinta)}
.sobre-tinta .lista-check li svg{color:var(--senal)}
.aparte{
  background:var(--tinta);color:#fff;padding:var(--e6);
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
}
.aparte h3{font-size:var(--t-h3);margin:var(--e4) 0 var(--e3)}
.aparte p{font-size:var(--t-sm);color:var(--sobre-tinta)}

/* — Pasos — */
.pasos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
@media (max-width:1000px){.pasos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.pasos{grid-template-columns:minmax(0,1fr)}}
.paso{background:var(--papel);padding:var(--e6) var(--e5)}
.paso-n{
  font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.14em;
  color:var(--senal-profundo);margin-bottom:var(--e4);display:flex;align-items:center;gap:var(--e2);
}
.paso-n::after{content:"";width:8px;height:8px;background:var(--senal)}
.paso h4{font-family:var(--titulo);font-size:19px;margin-bottom:var(--e2)}
.paso p{font-size:var(--t-sm);color:var(--tinta-72)}
.paso-extra{
  margin-top:var(--e4);padding:var(--e3);background:var(--papel-2);
  font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-72);
}

/* ============================================================
   SERVICIOS
   ============================================================ */
.svc-tabla{border:1px solid var(--linea);background:var(--papel);overflow:hidden}
.svc-fila{
  display:grid;grid-template-columns:56px minmax(0,1fr) 200px 190px;
  gap:var(--e5);align-items:center;padding:var(--e5);
  border-bottom:1px solid var(--linea);transition:background 200ms ease;
}
.svc-fila:last-child{border-bottom:0}
.svc-fila:hover{background:var(--papel-2)}
@media (max-width:1040px){
  .svc-fila{grid-template-columns:44px minmax(0,1fr);row-gap:var(--e4)}
  .svc-fila .svc-precio,.svc-fila .svc-cta{grid-column:2}
  .svc-fila .svc-cta{justify-self:start}
}
.svc-num{font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52)}
.svc-etq{
  display:inline-block;font-family:var(--dato);font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--tinta);background:var(--senal);
  padding:4px 8px;margin-bottom:var(--e3);
}
.svc-fila.destacada{background:var(--papel-2);border-left:3px solid var(--senal)}
.svc-info h3{font-size:var(--t-h3);margin-bottom:var(--e2)}
.svc-info p{font-size:var(--t-sm);color:var(--tinta-72);max-width:54ch}
.svc-precio b{display:block;font-family:var(--titulo);font-size:22px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.svc-precio span{display:block;margin-top:var(--e1);font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52);line-height:1.4}
.svc-cta{justify-self:end}

/* — Nota — */
.nota{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--e5);align-items:start;
  margin-top:var(--e5);padding:var(--e6);background:var(--papel);
  border:1px solid var(--linea);border-left:3px solid var(--senal);
}
@media (max-width:640px){.nota{grid-template-columns:minmax(0,1fr)}}
.nota svg{color:var(--senal-profundo)}
.nota h4{font-family:var(--titulo);font-size:19px;margin-bottom:var(--e2)}
.nota p{font-size:var(--t-sm);color:var(--tinta-72)}

/* ============================================================
   PAGOS · COMPARATIVA · CHATS
   ============================================================ */
.pagos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linea-tinta);border:1px solid var(--linea-tinta)}
@media (max-width:860px){.pagos{grid-template-columns:minmax(0,1fr)}}
.pago{background:var(--tinta);padding:var(--e6)}
.pago-k{
  display:inline-block;font-family:var(--dato);font-size:var(--t-xs);
  letter-spacing:0.08em;color:var(--tinta);background:var(--senal);
  padding:5px 10px;margin-bottom:var(--e4);
}
.pago h4{font-family:var(--titulo);font-size:var(--t-h3);margin-bottom:var(--e2);color:#fff}
.pago p{font-size:var(--t-sm);color:var(--sobre-tinta)}

.compara{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--e6)}
@media (max-width:880px){.compara{grid-template-columns:minmax(0,1fr)}}
.compara-col{background:var(--papel);border:1px solid var(--linea);padding:var(--e6)}
.compara-col.si{border-top:3px solid var(--tinta)}
.compara-col.no{border-top:3px solid var(--senal)}
.compara-col h3{font-size:var(--t-h3);margin-bottom:var(--e1)}
.compara-col > p{font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52);margin-bottom:var(--e5)}
.compara-lista{display:flex;flex-direction:column;gap:var(--e4)}
.compara-lista li{display:flex;gap:var(--e3);font-size:var(--t-sm);line-height:1.5}
.compara-lista li svg{flex:none;margin-top:2px}
.compara-col.si svg{color:var(--tinta)}
.compara-col.no svg{color:var(--senal-profundo)}
.compara-lista b{display:block;font-weight:700;margin-bottom:2px}
.compara-lista span{color:var(--tinta-72)}

.chats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--e4)}
@media (max-width:1040px){.chats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.chats{grid-template-columns:minmax(0,1fr)}}
.chat{
  background:var(--papel);border:1px solid var(--linea);padding:var(--e5);
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
  display:flex;flex-direction:column;gap:var(--e4);
}
.chat-head{display:flex;align-items:center;gap:var(--e3)}
.chat-av{width:36px;height:36px;display:grid;place-items:center;flex:none;color:#fff;font-family:var(--titulo);font-weight:700;font-size:15px;border-radius:12px 12px 0 12px}
.chat-name{font-size:var(--t-sm);font-weight:700;line-height:1.25}
.chat-where{font-family:var(--dato);font-size:11.5px;color:var(--tinta-52)}
.chat-stack{display:flex;flex-direction:column;gap:var(--e2);flex:1}
.chat-msg{background:var(--papel-2);padding:var(--e3);font-size:var(--t-sm);line-height:1.45;color:var(--tinta-72);border-radius:12px 12px 12px 0}
.chat-res{border-top:1px solid var(--linea);padding-top:var(--e3);font-family:var(--dato);font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--senal-profundo)}

/* ============================================================
   NO ACEPTAMOS · el riesgo declarado
   ============================================================ */
.filtro{background:var(--senal);color:var(--tinta);padding:var(--seccion) 0}
.filtro h2{font-size:var(--t-h2);letter-spacing:-0.02em;max-width:18ch}
.filtro .etiqueta{color:rgba(11,23,51,0.62)}
.filtro .etiqueta::before{background:var(--tinta)}
.filtro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5);margin-top:var(--e6)}
@media (max-width:860px){.filtro-grid{grid-template-columns:minmax(0,1fr)}}
.filtro-item{border-top:2px solid var(--tinta);padding-top:var(--e4)}
.filtro-item h4{font-family:var(--titulo);font-size:19px;margin-bottom:var(--e2)}
.filtro-item p{font-size:var(--t-sm);color:rgba(11,23,51,0.78)}
.filtro .btn-fila{margin-top:var(--e6)}

/* ============================================================
   IMÁN · CTA · PIE
   ============================================================ */
.iman{
  background:var(--papel);border:1px solid var(--linea);border-top:3px solid var(--senal);
  padding:var(--e7);display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:var(--e7);align-items:center;
}
@media (max-width:880px){.iman{grid-template-columns:minmax(0,1fr);gap:var(--e5)}}
.iman h2{font-size:var(--t-h2);margin:var(--e4) 0 var(--e3)}
.iman p{font-size:var(--t-sm);color:var(--tinta-72);max-width:52ch}
.iman .btn-fila{margin-top:var(--e5)}
.iman img{width:132px;height:auto}

.cta{padding:var(--seccion) 0;text-align:center}
.cta h2{font-size:var(--t-h1);letter-spacing:-0.022em;margin:var(--e4) auto;max-width:19ch}
.cta .bajada{margin:0 auto}
.cta .btn-fila{justify-content:center;margin-top:var(--e6)}
.cta .etiqueta{justify-content:center}
.cta-meta{margin-top:var(--e5);font-family:var(--dato);font-size:var(--t-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--sobre-tinta-52)}

.pie{background:var(--tinta);color:#fff;padding:var(--e7) 0 var(--e5);border-top:1px solid var(--linea-tinta)}
.pie-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,2fr);gap:var(--e7)}
@media (max-width:880px){.pie-top{grid-template-columns:minmax(0,1fr)}}
.pie-marca .marca{margin-bottom:var(--e4)}
.pie-marca p{font-size:var(--t-sm);color:var(--sobre-tinta);max-width:34ch}
.pie-lema{margin-top:var(--e4);font-family:var(--titulo);font-size:20px;font-weight:700;letter-spacing:-0.02em}
.pie-lema b{color:var(--senal)}
.pie-nit{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--linea-tinta);font-family:var(--dato);font-size:var(--t-xs);color:var(--sobre-tinta-52)}
.pie-cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}
@media (max-width:620px){.pie-cols{grid-template-columns:minmax(0,1fr)}}
.pie-col h4{font-family:var(--dato);font-size:var(--t-etiqueta);letter-spacing:0.14em;text-transform:uppercase;color:var(--senal);margin-bottom:var(--e4);font-weight:500}
.pie-col li{margin-bottom:var(--e3)}
.pie-col a{font-size:var(--t-sm);color:var(--sobre-tinta)}
.pie-col a:hover{color:#fff}
.pie-bottom{
  margin-top:var(--e7);padding-top:var(--e4);border-top:1px solid var(--linea-tinta);
  display:flex;justify-content:space-between;gap:var(--e4);flex-wrap:wrap;
  font-family:var(--dato);font-size:var(--t-xs);color:var(--sobre-tinta-52);
}
.pie-legal{display:flex;gap:var(--e5)}

.wafab{
  position:fixed;right:20px;bottom:20px;z-index:95;
  display:inline-flex;align-items:center;gap:var(--e2);
  background:var(--senal);color:var(--tinta);padding:15px 20px;
  border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja);
  font-size:var(--t-sm);font-weight:700;
  box-shadow:0 18px 36px -16px rgba(255,90,60,0.7);
  transition:transform 200ms cubic-bezier(.2,.7,.2,1);
}
.wafab:hover{transform:translateY(-2px)}
body.nav-open .wafab{display:none}
@media (max-width:520px){.wafab-text{display:none}.wafab{padding:16px}}

/* ============================================================
   PÁGINAS INTERIORES
   ============================================================ */
.page-hero{padding:clamp(40px,5vw,72px) 0 clamp(36px,4.4vw,60px)}
.page-hero h1{font-size:var(--t-h1);letter-spacing:-0.022em;margin-top:var(--e4);max-width:17ch}
.page-hero .bajada{margin-top:var(--e5)}
.page-hero .btn-fila{margin-top:var(--e6)}

/* — FAQ — */
.faq{border:1px solid var(--linea);background:var(--papel);max-width:920px}
.faq-item{border-bottom:1px solid var(--linea)}
.faq-item:last-child{border-bottom:0}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:var(--e5);
  padding:var(--e5);cursor:pointer;list-style:none;
  font-family:var(--titulo);font-size:var(--t-h3);font-weight:700;letter-spacing:-0.015em;line-height:1.3;
}
.faq-q::-webkit-details-marker{display:none}
.faq-q:hover{background:var(--papel-2)}
.faq-mas{flex:none;width:26px;height:26px;border:1.5px solid var(--tinta-12);position:relative}
.faq-mas::before,.faq-mas::after{content:"";position:absolute;left:50%;top:50%;background:var(--tinta);transform:translate(-50%,-50%)}
.faq-mas::before{width:11px;height:2px}
.faq-mas::after{width:2px;height:11px}
.faq-item[open] .faq-mas{background:var(--senal);border-color:var(--senal)}
.faq-item[open] .faq-mas::after{opacity:0}
.faq-a{padding:0 var(--e5) var(--e5);font-size:var(--t-sm);color:var(--tinta-72);max-width:74ch;line-height:1.62}

/* — Calculadora — */
.calc{max-width:920px;background:var(--papel);border:1px solid var(--linea);padding:var(--e7)}
.calc-paso{margin-bottom:var(--e6)}
.calc-paso .etiqueta{margin-bottom:var(--e4)}
.calc-pills{display:flex;flex-wrap:wrap;gap:var(--e2)}
.calc-pill{
  padding:11px 16px;border:1.5px solid var(--tinta-12);background:var(--papel);
  font-family:var(--cuerpo);font-size:var(--t-sm);font-weight:500;color:var(--tinta-72);
  cursor:pointer;transition:all 180ms cubic-bezier(.2,.7,.2,1);
  border-radius:12px 12px 0 12px;
}
.calc-pill:hover{border-color:var(--tinta-52);color:var(--tinta)}
.calc-pill.active{background:var(--tinta);border-color:var(--tinta);color:#fff}
.calc-res{margin-top:var(--e6);padding:var(--e6);background:var(--tinta);color:#fff;border-radius:var(--burbuja) var(--burbuja) 0 var(--burbuja)}
.calc-rango{
  font-family:var(--titulo);font-size:var(--t-precio);font-weight:700;letter-spacing:-0.03em;
  line-height:1.05;margin:var(--e3) 0;font-variant-numeric:tabular-nums;transition:opacity 200ms ease;
}
.calc-rango.flash{opacity:0.45}
.calc-rango em{font-style:normal;color:var(--senal)}
.calc-sum{margin-top:var(--e5);padding-top:var(--e4);border-top:1px solid var(--linea-tinta);display:flex;flex-wrap:wrap;gap:var(--e2) var(--e5);font-family:var(--dato);font-size:var(--t-xs);color:var(--sobre-tinta)}
.calc-sum b{color:#fff;font-weight:500}
.calc-nota{margin-top:var(--e4);padding:var(--e4);background:rgba(255,255,255,0.06);border-left:2px solid var(--senal);font-size:var(--t-xs);color:var(--sobre-tinta);line-height:1.55}
.calc-nota.aviso{background:rgba(255,90,60,0.16)}
.calc-res .btn-borde{border-color:rgba(255,255,255,0.28);color:#fff}
.calc-res .btn-borde:hover{border-color:var(--senal);background:rgba(255,255,255,0.07)}

/* — Equipo · testimonios · grado — */
.equipo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
@media (max-width:940px){.equipo{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.equipo{grid-template-columns:minmax(0,1fr)}}
.miembro{background:var(--papel);padding:var(--e6) var(--e5)}
.miembro-head{display:flex;align-items:center;gap:var(--e3);margin-bottom:var(--e4)}
.miembro-i{width:44px;height:44px;display:grid;place-items:center;flex:none;color:#fff;font-family:var(--titulo);font-weight:700;font-size:17px;border-radius:14px 14px 0 14px}
.miembro-name{font-family:var(--titulo);font-size:17px;font-weight:700}
.miembro-title{font-family:var(--dato);font-size:var(--t-xs);color:var(--tinta-52)}
.miembro p{font-size:var(--t-sm);color:var(--tinta-72)}
.miembro-years{margin-top:var(--e4);padding-top:var(--e3);border-top:1px solid var(--linea);font-family:var(--dato);font-size:11.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--senal-profundo)}

.testis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e5)}
@media (max-width:940px){.testis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.testis{grid-template-columns:minmax(0,1fr)}}
.testi{background:var(--papel);border:1px solid var(--linea);padding:var(--e6) var(--e5);display:flex;flex-direction:column;gap:var(--e4)}
.testi-q{font-size:var(--t-sm);color:var(--tinta-72);line-height:1.6;flex:1}
.testi-who{display:flex;align-items:center;gap:var(--e3);padding-top:var(--e4);border-top:1px solid var(--linea)}

.linea-tiempo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--linea);background:var(--papel)}
@media (max-width:940px){.linea-tiempo{grid-template-columns:minmax(0,1fr)}}
.lt-paso{padding:var(--e6) var(--e5);border-right:1px solid var(--linea)}
.lt-paso:last-child{border-right:0}
@media (max-width:940px){.lt-paso{border-right:0;border-bottom:1px solid var(--linea)}.lt-paso:last-child{border-bottom:0}}
.lt-barra{height:4px;background:var(--tinta-12);margin-bottom:var(--e4)}
.lt-paso:nth-child(1) .lt-barra{background:var(--tinta)}
.lt-paso:nth-child(2) .lt-barra{background:var(--azul)}
.lt-paso:nth-child(3) .lt-barra{background:var(--senal-profundo)}
.lt-paso:nth-child(4) .lt-barra{background:var(--senal)}
.lt-w{font-family:var(--dato);font-size:var(--t-xs);letter-spacing:0.12em;text-transform:uppercase;color:var(--tinta-52)}
.lt-paso h4{font-family:var(--titulo);font-size:19px;margin:var(--e2) 0}
.lt-paso p{font-size:var(--t-sm);color:var(--tinta-72)}

.tramos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea)}
@media (max-width:880px){.tramos{grid-template-columns:minmax(0,1fr)}}
.tramo{background:var(--papel);padding:var(--e6) var(--e5)}
.tramo h4{font-family:var(--titulo);font-size:17px;margin-bottom:var(--e3)}
.tramo b{display:block;font-family:var(--titulo);font-size:clamp(22px,2.6vw,28px);letter-spacing:-0.025em;margin-bottom:var(--e3);font-variant-numeric:tabular-nums}
.tramo p{font-size:var(--t-sm);color:var(--tinta-72)}
.tramo-nota{margin-top:var(--e5);padding:var(--e5);background:var(--senal);color:var(--tinta);font-family:var(--titulo);font-size:var(--t-bajada);font-weight:700;letter-spacing:-0.015em}

/* ============================================================
   LEGALES
   ============================================================ */
.legal-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--e5);padding:var(--e4) var(--margen);background:var(--tinta)}
.legal-page{max-width:820px;margin:0 auto;padding:var(--e7) var(--margen) var(--e9);background:var(--papel)}
.legal-page h1{font-size:var(--t-h1);letter-spacing:-0.022em;margin-bottom:var(--e3)}
.legal-page h2{font-family:var(--titulo);font-size:var(--t-h3);margin:var(--e6) 0 var(--e3);padding-top:var(--e5);border-top:1px solid var(--linea)}
.legal-page p{margin-bottom:var(--e4);font-size:var(--t-sm);color:var(--tinta-72)}
.legal-page ul{margin:0 0 var(--e4);display:flex;flex-direction:column;gap:var(--e2)}
.legal-page li{font-size:var(--t-sm);color:var(--tinta-72);padding-left:var(--e4);position:relative}
.legal-page li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;background:var(--senal)}
.legal-page a{color:var(--senal-profundo);text-decoration:underline;text-underline-offset:2px}
.legal-meta{font-family:var(--dato);font-size:var(--t-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--tinta-52);margin-bottom:var(--e6)}

/* ============================================================
   REVEAL
   ============================================================ */
[data-reveal]{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){
  [data-reveal]{opacity:0;transform:translateY(14px);transition:opacity 600ms ease,transform 600ms cubic-bezier(.2,.7,.2,1)}
  [data-reveal].is-visible{opacity:1;transform:none}
  [data-reveal-stagger] > *{opacity:0;transform:translateY(14px);transition:opacity 540ms ease,transform 540ms cubic-bezier(.2,.7,.2,1)}
  [data-reveal-stagger].is-visible > *{opacity:1;transform:none}
  [data-reveal-stagger].is-visible > *:nth-child(2){transition-delay:70ms}
  [data-reveal-stagger].is-visible > *:nth-child(3){transition-delay:140ms}
  [data-reveal-stagger].is-visible > *:nth-child(4){transition-delay:210ms}
  [data-reveal-stagger].is-visible > *:nth-child(5){transition-delay:280ms}
  [data-reveal-stagger].is-visible > *:nth-child(6){transition-delay:350ms}
}

/* Ninguna celda impone su ancho mínimo */
.hero-inner > *,.split > *,.compara > *,.iman > *,.cifras-grid > *,.pasos > *,
.tarjetas > *,.svc-fila > *,.chats > *,.equipo > *,.testis > *,.linea-tiempo > *,
.tramos > *,.pagos > *,.pie-top > *,.pie-cols > *,.nota > *,.filtro-grid > *{min-width:0}
