:root{
  --noche:#0B1420; --noche-alta:#101E2E; --horizonte:#1B3047;
  --trazo:#2B4763; --trazo-suave:#182C40;
  --luz:#F97316; --luz-alta:#FFB067;
  --tiza:#E8F0F7; --tiza-media:#93A9BF; --tiza-baja:#5E7793;
  --medida:#4FD1C5;
  --pag:clamp(20px,5vw,64px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--noche); color:var(--tiza);
  font-family:'Archivo',system-ui,sans-serif; font-variation-settings:'wdth' 100;
  font-size:clamp(15px,1.02vw,17px); line-height:1.65; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,video{display:block;max-width:100%}
a{color:inherit}

/* ---- notación del mundo ---- */
.mono{font-family:'Azeret Mono',ui-monospace,monospace;font-weight:400;letter-spacing:.02em;font-size:.82em}
.u{color:var(--tiza-baja)}
.display{
  font-variation-settings:'wdth' 78,'wght' 780; text-transform:uppercase;
  letter-spacing:-.005em; line-height:.98; text-wrap:balance;
}
h1.display{font-size:clamp(1.85rem,3.1vw,2.85rem);line-height:1.02}
h2.display{font-size:clamp(1.9rem,3.6vw,3rem)}
h3{font-variation-settings:'wdth' 84,'wght' 660;font-size:1.06rem;line-height:1.25;letter-spacing:.005em}
p{max-width:66ch;color:var(--tiza-media)}
p strong{color:var(--tiza);font-weight:600}
.lead{font-size:1.06rem;color:var(--tiza-media)}

/* lámina: la única notación de sección permitida */
.lamina{
  display:flex;align-items:center;gap:14px;
  font-family:'Azeret Mono',monospace;font-size:.72rem;letter-spacing:.14em;
  color:var(--tiza-baja);text-transform:uppercase;margin-bottom:26px;
}
.lamina::after{content:'';flex:1;height:1px;background:var(--trazo-suave);max-width:220px}
.lamina b{color:var(--luz);font-weight:500}

/* cota */
.cota{display:flex;flex-direction:column;gap:3px;font-family:'Azeret Mono',monospace}
.cota-v{font-size:1.02rem;color:var(--tiza);font-weight:500;font-variant-numeric:tabular-nums}
.cota-k{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--tiza-baja)}

/* estrato = unidad de composición */
.estrato{padding:clamp(64px,8vw,116px) var(--pag);border-top:1px solid var(--horizonte)}
.ancho{max-width:1240px;margin:0 auto}

/* acción: único relleno naranja sólido de la página */
.accion{
  display:inline-flex;align-items:center;gap:11px;background:var(--luz);color:#140B02;
  padding:15px 26px;border-radius:2px;text-decoration:none;
  font-variation-settings:'wdth' 88,'wght' 700;font-size:.95rem;letter-spacing:.01em;
  transition:background .15s ease,transform .15s ease;
}
.accion:hover{background:var(--luz-alta);transform:translateY(-1px)}
.accion .mono{font-size:.78rem;opacity:.62}
.accion-2{
  display:inline-flex;align-items:center;gap:10px;padding:15px 22px;
  border:1px solid var(--trazo);border-radius:2px;color:var(--tiza);text-decoration:none;
  font-weight:600;font-size:.93rem;transition:border-color .15s ease,color .15s ease;
}
.accion-2:hover{border-color:var(--luz);color:var(--luz)}

/* ---------- HEADER ---------- */
header{
  position:sticky;top:0;z-index:80;background:rgba(11,20,32,.92);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--horizonte);
  display:flex;align-items:center;gap:28px;padding:12px var(--pag);
}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.marca img{height:38px;width:auto}
.marca-txt{display:flex;flex-direction:column;line-height:1}
.marca-n{font-variation-settings:'wdth' 78,'wght' 800;font-size:1.22rem;letter-spacing:.02em}
.marca-n i{color:var(--luz);font-style:normal}
.marca-s{font-family:'Azeret Mono',monospace;font-size:.56rem;letter-spacing:.19em;
  text-transform:uppercase;color:var(--tiza-baja);margin-top:4px}
nav.principal{margin-left:auto;display:flex;align-items:center;gap:4px}
nav.principal a{
  text-decoration:none;color:var(--tiza-media);font-size:.87rem;font-weight:500;
  padding:9px 12px;border-radius:2px;transition:color .15s ease;position:relative;white-space:nowrap;
}
nav.principal a:hover{color:var(--tiza)}
nav.principal a[aria-current]{color:var(--tiza)}
nav.principal a[aria-current]::after{
  content:'';position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--luz);
}
.menu-serv{position:relative}
.menu-serv>button{
  background:none;border:none;color:var(--tiza-media);font:inherit;font-size:.87rem;font-weight:500;
  padding:9px 12px;cursor:pointer;display:flex;align-items:center;gap:7px;font-family:'Archivo',sans-serif;
}
.menu-serv>button:hover{color:var(--tiza)}
.menu-serv>button svg{transition:transform .18s ease}
.menu-serv[data-abierto] >button{color:var(--tiza)}
.menu-serv[data-abierto] >button svg{transform:rotate(180deg)}
.desplegable{
  position:absolute;top:calc(100% + 10px);left:0;min-width:262px;background:var(--noche-alta);
  border:1px solid var(--horizonte);border-radius:2px;padding:6px;display:none;
  box-shadow:0 18px 44px rgba(0,0,0,.5);
}
.menu-serv[data-abierto] .desplegable{display:block}
.desplegable a{display:flex;flex-direction:column;gap:2px;padding:11px 13px;text-decoration:none;border-radius:2px}
.desplegable a:hover{background:rgba(249,115,22,.08)}
.desplegable b{font-size:.88rem;font-weight:600;color:var(--tiza)}
.desplegable span{font-size:.75rem;color:var(--tiza-baja);line-height:1.4}
.hamb{display:none;margin-left:auto;background:none;border:1px solid var(--trazo);border-radius:2px;
  width:42px;height:38px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.hamb span{display:block;width:18px;height:1.5px;background:var(--tiza);transition:transform .2s,opacity .2s}
.hamb[data-abierto] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamb[data-abierto] span:nth-child(2){opacity:0}
.hamb[data-abierto] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- LÁMINA 00 · HERO ---------- */
.hero{
  position:relative;width:100%;
  min-height:calc(100svh - 63px);          /* 63px = alto del header */
  overflow:hidden;isolation:isolate;
  display:flex;align-items:center;
}
/* el instrumento (carta + video) ocupa toda la primera pantalla, de fondo */
.hero > .carta{
  position:absolute;inset:0;width:100%;height:100%;
  aspect-ratio:auto;border:0;border-radius:0;z-index:0;
}
/* velo de legibilidad: degradado desde la izquierda, donde vive el texto */
.hero::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,17,28,.95) 0%, rgba(8,17,28,.88) 22%, rgba(8,17,28,.52) 45%,
    rgba(8,17,28,.14) 63%, rgba(8,17,28,0) 76%);
}
/* el bloque de texto, adentro de la primera pantalla */
.hero-overlay{
  position:relative;z-index:2;width:100%;max-width:1400px;margin:0 auto;
  padding:clamp(20px,4vh,52px) var(--pag);
}
.hero-overlay-inner{max-width:min(600px,54vw)}
.hero-kicker{
  font-family:'Azeret Mono',monospace;font-size:.72rem;letter-spacing:.1em;color:var(--tiza-media);
  border-left:1px solid var(--luz);padding-left:12px;margin-bottom:24px;line-height:1.6;max-width:44ch;
}
.hero h1{margin-bottom:20px}
.hero h1 i{color:var(--luz);font-style:normal}
.hero .lead{margin-bottom:30px;max-width:46ch}
.hero-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}
.hero-cotas{display:flex;flex-wrap:wrap;
  gap:14px clamp(16px,2.4vw,34px);border-top:1px solid var(--horizonte);
  margin-top:28px;padding-top:16px;max-width:min(600px,54vw)}
.carta{
  position:relative;width:100%;aspect-ratio:1000/720;
  border:1px solid var(--trazo);border-radius:2px;overflow:hidden;
  background:var(--cielo,#08111C);
  transition:background 1.2s ease;
}
.carta svg{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;
  filter:drop-shadow(0 1px 1.5px rgba(4,9,15,.85))}
.carta-terreno{
  position:absolute;inset:0;overflow:hidden;z-index:1;
}
.carta-terreno video,.carta-terreno img{
  width:100%;height:100%;object-fit:cover;
  filter:var(--filtro-terreno, saturate(.55) brightness(.7) contrast(1.04));
  transition:filter 1.2s ease;
}
.carta-terreno::after{
  content:'';position:absolute;inset:0;
  background:var(--velo-terreno, linear-gradient(180deg,rgba(11,20,32,.42),rgba(11,20,32,.06)));
  transition:background 1.2s ease;
}

/* ---- el cielo de la lámina según el momento del día ---- */
.carta[data-fase="noche"]{
  --cielo:linear-gradient(180deg,#04090F 0%,#070E18 55%,#0A1420 100%);
  --filtro-terreno:saturate(.28) brightness(.4) contrast(1.12);
  --velo-terreno:linear-gradient(180deg,rgba(4,9,15,.62),rgba(4,9,15,.2));
}
.carta[data-fase="crepusculo"]{
  --cielo:linear-gradient(180deg,#08111C 0%,#152136 48%,#3B2733 82%,#5A3527 100%);
  --filtro-terreno:saturate(.6) brightness(.62) contrast(1.05);
  --velo-terreno:linear-gradient(180deg,rgba(58,32,26,.46),rgba(11,20,32,.1));
}
.carta[data-fase="tarde"]{
  --cielo:linear-gradient(180deg,#0A1826 0%,#12293E 60%,#28323F 100%);
  --filtro-terreno:saturate(.72) brightness(.82) contrast(1.02);
  --velo-terreno:linear-gradient(180deg,rgba(11,20,32,.34),rgba(11,20,32,.04));
}
.carta[data-fase="dia"]{
  --cielo:linear-gradient(180deg,#0C2136 0%,#17395480 40%,#1D4967 100%);
  --filtro-terreno:saturate(.9) brightness(1) contrast(1);
  --velo-terreno:linear-gradient(180deg,rgba(13,35,54,.22),rgba(13,35,54,0));
}
/* con el cielo más claro, la notación necesita más peso para seguir legible */
.carta[data-fase="dia"] .g-rotulo{fill:#EAF3FB}
.carta[data-fase="dia"] .g-rotulo-ejes{fill:#FFFFFF}
.carta[data-fase="dia"] .g-arco{stroke:rgba(150,200,235,.92)}
.carta[data-fase="tarde"] .g-rotulo{fill:#DCEAF6}
.g-estrella{fill:#DCE8F5}
.carta-sello{
  position:absolute;right:16px;top:12px;z-index:3;font-family:'Azeret Mono',monospace;
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tiza);
  text-align:right;text-shadow:0 1px 4px rgba(4,9,15,.98),0 0 10px rgba(4,9,15,.85),0 0 2px rgba(4,9,15,1);
}
.carta-sello b{color:#FFFFFF;font-weight:600}
.carta[data-fase="noche"] .carta-sello{
  text-shadow:0 0 7px rgba(120,190,255,.5),0 1px 3px rgba(4,9,15,.9);
}
.carta-pie{
  position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-wrap:wrap;
  justify-content:space-between;gap:8px 18px;padding:26px 14px 10px;
  font-family:'Azeret Mono',monospace;font-size:.63rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--tiza);
  background:linear-gradient(180deg,rgba(4,9,15,0) 0%,rgba(4,9,15,.72) 45%,rgba(4,9,15,.9) 100%);
}
.carta-pie b{color:var(--luz);font-weight:500}

/* trazos del diagrama — ingenieria solar definida sobre el video */
.g-grilla{stroke:rgba(170,205,232,.52);stroke-width:1;fill:none}
.g-horizonte{stroke:rgba(214,231,244,.72);stroke-width:1.8;fill:none}
.g-arco{fill:none;stroke:rgba(120,186,230,.95);stroke-width:1.9}
.g-arco-eq{fill:none;stroke:rgba(79,209,197,.98);stroke-width:1.9;stroke-dasharray:6 5}
.g-hora{stroke:rgba(170,205,232,.46);stroke-width:1.1;fill:none}
.g-rotulo{font-family:'Azeret Mono',monospace;font-size:19px;fill:#D8E7F3;letter-spacing:.06em}
.g-rotulo-ejes{font-family:'Azeret Mono',monospace;font-size:22px;fill:#F2F8FD;letter-spacing:.18em}
.g-arco-lbl{font-family:'Azeret Mono',monospace;font-size:14px;letter-spacing:.16em;
  text-transform:uppercase;font-weight:500}
.g-arco-lbl.v{fill:#AFD8FF}.g-arco-lbl.e{fill:#7CEBDE}.g-arco-lbl.i{fill:#AFD8FF}
.g-hoy{fill:none;stroke:var(--luz);stroke-width:2.9;opacity:1}
.g-sol-halo{fill:var(--luz);opacity:.24}
.g-sol{fill:var(--luz-alta);stroke:#FFE2BE;stroke-width:1.9}
.g-plomada{stroke:var(--luz);stroke-width:1.3;stroke-dasharray:3 4;opacity:.72}

/* menú móvil */
.nav-movil{
  display:none;position:fixed;top:63px;left:0;right:0;bottom:0;z-index:79;
  background:var(--noche);border-top:1px solid var(--horizonte);
  overflow-y:auto;padding:8px var(--pag) 40px;
}
.nav-movil[data-abierto]{display:block}
.nav-movil a{
  display:block;text-decoration:none;color:var(--tiza);padding:16px 0;
  border-bottom:1px solid var(--trazo-suave);
  font-variation-settings:'wdth' 88,'wght' 620;font-size:1.08rem;
}
.nav-movil a small{display:block;font-size:.76rem;color:var(--tiza-baja);
  font-variation-settings:'wdth' 100,'wght' 400;margin-top:3px}
.nav-movil .grupo{font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tiza-baja);padding:22px 0 6px}
.nav-movil .accion{margin-top:26px;width:100%;justify-content:center}

/* botón de contacto persistente */
.wa{
  position:fixed;right:clamp(14px,2vw,26px);bottom:clamp(14px,2vw,26px);z-index:70;
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  background:var(--noche-alta);border:1px solid #2C6B4F;color:var(--tiza);
  padding:12px 16px;border-radius:2px;font-size:.88rem;font-weight:600;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  transition:border-color .15s,background .15s,opacity .3s ease,transform .3s ease;
  opacity:0;transform:translateY(12px);pointer-events:none;
}
.wa.visible{opacity:1;transform:none;pointer-events:auto}
.wa:hover{border-color:#25D366;background:#0E2A1E}
.wa svg{flex-shrink:0}
.wa span{white-space:nowrap}
@media (max-width:560px){ .wa span{display:none} .wa{padding:13px} }

/* ---------- estructura de dos columnas de estrato ---------- */
.duo{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(32px,5vw,76px);align-items:start}
.duo-titulo h2{margin-bottom:18px}
.duo-titulo p+p{margin-top:14px}
.duo-titulo .accion,.duo-titulo .accion-2{margin-top:26px}

/* ---------- LÁMINA 01 · el contrapunto ----------
   Dos columnas enfrentadas separadas por una hairline: cara a la izquierda,
   barata a la derecha. La afirmación va grande; los motivos, abajo y chicos. */
.contra{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:8px}
.contra-lado{padding:clamp(24px,3vw,40px) 0}
.contra-lado.barata{border-left:1px solid var(--horizonte);padding-left:clamp(26px,3.4vw,52px)}
.contra-lado.cara{padding-right:clamp(26px,3.4vw,52px)}
.contra-rotulo{font-family:'Azeret Mono',monospace;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tiza-baja);margin-bottom:16px}
.contra-lado.barata .contra-rotulo{color:var(--luz)}
.contra h2{font-size:clamp(1.55rem,2.5vw,2.35rem);margin-bottom:8px}
.contra h2 i{font-style:normal}
.contra-lado.barata h2 i{color:var(--luz)}
.contra-lado.cara h2 i{color:#D69AA6}
/* min-height reserva dos renglones en las dos columnas: si una bajada ocupa uno
   y la otra dos, las listas de motivos arrancarían a distinta altura y el
   contrapunto se desarma */
.contra-sub{font-size:.95rem;margin-bottom:26px;max-width:36ch;min-height:3.1em}

/* los motivos: numerados como una lista de plano, sin viñetas ni cajas */
.porques{list-style:none;border-top:1px solid var(--trazo-suave)}
.porques li{display:grid;grid-template-columns:30px 1fr;gap:12px;
  padding:14px 0;border-bottom:1px solid var(--trazo-suave);
  font-size:.9rem;color:var(--tiza-media);line-height:1.55}
.porques li b{color:var(--tiza);font-weight:600}
.porques .n{font-family:'Azeret Mono',monospace;font-size:.72rem;color:var(--tiza-baja);padding-top:.15em}
.contra-lado.barata .porques .n{color:var(--luz)}

@media (max-width:900px){
  .contra{grid-template-columns:1fr}
  .contra-lado.cara{padding-right:0;padding-bottom:8px}
  .contra-lado.barata{border-left:none;border-top:1px solid var(--horizonte);padding-left:0}
}

/* ---------- LÁMINA 01 · las dos cadenas ---------- */
.cadenas{display:flex;flex-direction:column;gap:clamp(20px,2.6vw,30px);margin-top:34px}
.cadena{border:1px solid var(--horizonte);border-radius:2px;padding:clamp(18px,2.2vw,26px)}
.cadena.vieja{background:rgba(16,30,46,.5)}
.cadena.nueva{border-color:rgba(249,115,22,.45);background:rgba(249,115,22,.045)}
/* dentro del contrapunto la columna ya separa: la cadena no necesita su propia caja */
.contra .cadena{border:none;background:none;padding:26px 0 0;margin-top:4px;
  border-top:1px solid var(--trazo-suave)}
/* en columna angosta la cadena se desarma al envolver: va vertical, y así el
   largo de cada una (cinco pasos contra tres) queda a la vista */
.contra .eslabones{flex-direction:column;align-items:flex-start;gap:0}
.contra .eslabon{align-self:stretch}
.contra .union{flex:0 0 16px;width:1px;height:16px;margin-left:24px;align-self:flex-start}

/* ---------- LÁMINA 01 · el flujo de transformación ----------
   No es una lista de pasos: es la corriente de energía. En la red se angosta y
   larga desechos en cada transformación; en la solar baja entera. La diferencia
   de ancho al llegar al enchufe es el argumento. */
.flujo-t{margin-top:26px;border-top:1px solid var(--trazo-suave);padding-top:24px}
.flujo-t svg{width:100%;height:auto;display:block}
.ft-banda{stroke-width:1}
.ft-banda.mala{fill:rgba(147,169,191,.13);stroke:var(--trazo)}
.ft-banda.buena{fill:rgba(249,115,22,.13);stroke:rgba(249,115,22,.6)}
.ft-fuga{fill:rgba(178,58,72,.22);stroke:#8E3040;stroke-width:1}
.ft-etq{font-family:'Azeret Mono',monospace;font-size:11px;letter-spacing:.11em;
  text-transform:uppercase;fill:var(--tiza-media)}
.ft-etq.viva{fill:var(--tiza)}
.ft-num{font-family:'Azeret Mono',monospace;font-size:26px;font-weight:500;fill:var(--tiza)}
.ft-num.resto{fill:#D69AA6}
.ft-num.entera{fill:var(--luz-alta)}
.ft-u{font-family:'Azeret Mono',monospace;font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;fill:var(--tiza-baja)}
.ft-perd{font-family:'Azeret Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;fill:#D69AA6}
.ft-perd-sub{font-family:'Azeret Mono',monospace;font-size:9.5px;letter-spacing:.06em;fill:var(--tiza-baja)}
.ft-gana{font-family:'Azeret Mono',monospace;font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;fill:var(--luz)}
.ft-icono{fill:none;stroke:var(--tiza-media);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.ft-icono.sol{stroke:var(--luz-alta)}
/* la lamparita: la unidad que entiende cualquiera. Apagada = la que se perdió */
.ft-bulbo path{fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.ft-bulbo.apagada path{stroke:#4B6178}
.ft-bulbo.perdida path{stroke:#8E3040}
.ft-bulbo.on path{stroke:var(--luz-alta)}
.ft-bulbo .halo{fill:var(--luz);stroke:none;opacity:.15}

/* los dibujos del recorrido: la central, las torres, tu casa */
.ft-dib{fill:none;stroke:var(--tiza-media);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ft-dib.luz{stroke:var(--luz-alta)}
.ft-humo{fill:#A8455A;stroke:none}
.ft-fuego{fill:rgba(196,72,90,.25);stroke:#C4485A;stroke-width:1.4;stroke-linejoin:round}
.ft-panel{fill:rgba(249,115,22,.16);stroke:var(--luz);stroke-width:1.4;stroke-linejoin:round}
.ft-ventana{fill:rgba(249,115,22,.5);stroke:none}
.ft-paso{stroke:var(--trazo);stroke-width:1.5;stroke-dasharray:5 5;fill:none}
.ft-paso.viva{stroke:rgba(249,115,22,.55);stroke-dasharray:none}
.ft-remate{margin-top:20px;font-size:.92rem;color:var(--tiza-media);max-width:none;line-height:1.55}
.ft-remate b{color:#D69AA6;font-weight:600}
.contra-lado.barata .ft-remate b{color:var(--luz)}
.cadena-encabezado{display:flex;align-items:baseline;justify-content:space-between;
  gap:14px;flex-wrap:wrap;margin-bottom:20px}
.cadena-rotulo{font-family:'Azeret Mono',monospace;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tiza-baja)}
.cadena.nueva .cadena-rotulo{color:var(--luz)}
.cadena-saldo{font-family:'Azeret Mono',monospace;font-size:.72rem;letter-spacing:.06em;color:var(--tiza-media)}
.cadena-saldo b{color:var(--tiza);font-weight:500}
.eslabones{display:flex;align-items:center;flex-wrap:wrap;gap:6px 4px}
.eslabon{display:flex;align-items:center;gap:9px;padding:9px 13px;
  border:1px solid var(--trazo);border-radius:2px;font-size:.85rem;color:var(--tiza-media);white-space:nowrap}
.cadena.nueva .eslabon{border-color:rgba(249,115,22,.4);color:var(--tiza)}
.eslabon.malo{border-color:#5B3340;color:#D69AA6}
.eslabon svg{flex-shrink:0}
.union{flex:0 0 22px;height:1px;background:var(--trazo)}
.cadena.nueva .union{background:rgba(249,115,22,.5)}
.cadena p{font-size:.9rem;margin-top:16px;max-width:none}

/* ---------- LÁMINA 01 · los 25 años ---------- */
.horizonte25{margin-top:clamp(30px,4vw,44px);border-top:1px solid var(--horizonte);padding-top:26px}
.h25-titulo{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.h25-titulo h3{font-variation-settings:'wdth' 84,'wght' 700;font-size:1.12rem}
.h25-fila{display:grid;grid-template-columns:clamp(94px,12vw,132px) 1fr;gap:14px;align-items:center;margin-bottom:14px}
.h25-etq{font-family:'Azeret Mono',monospace;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tiza-media);line-height:1.35}
.h25-riel{display:flex;gap:2px;height:34px}
.h25-anio{flex:1;border-radius:1px;position:relative}
.h25-anio.pagando{background:linear-gradient(180deg,#7A2E3C,#B23A48)}
.h25-anio.propia{background:rgba(249,115,22,.06);border:1px solid rgba(249,115,22,.55);
  box-shadow:inset 0 0 0 1px rgba(249,115,22,.08)}
.h25-anio.inversion{background:var(--luz)}
.h25-escala{display:flex;justify-content:space-between;margin-top:8px;
  font-family:'Azeret Mono',monospace;font-size:.64rem;color:var(--tiza-baja);letter-spacing:.08em}
.h25-leyenda{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:20px;
  font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.06em;color:var(--tiza-baja)}
.h25-leyenda span{display:flex;align-items:center;gap:8px}
.h25-leyenda i{width:16px;height:9px;border-radius:1px;display:block}
.remate-01{margin-top:28px;padding-top:22px;border-top:1px solid var(--horizonte);
  font-variation-settings:'wdth' 88,'wght' 600;font-size:clamp(1rem,1.5vw,1.2rem);
  color:var(--tiza);max-width:58ch;line-height:1.5}

@media (max-width:620px){
  .h25-fila{grid-template-columns:1fr;gap:8px}
  .eslabon{font-size:.78rem;padding:7px 10px}
  .union{flex-basis:12px}
}

/* ---------- LÁMINA 01 · escala de tarifa ---------- */
.escala{border-top:1px solid var(--horizonte);padding-top:8px}
.escala-fila{display:grid;grid-template-columns:58px 1fr 82px;align-items:center;gap:14px;padding:9px 0;border-bottom:1px solid var(--trazo-suave)}
.escala-fila:last-of-type{border-bottom:none}
.escala-anio{font-family:'Azeret Mono',monospace;font-size:.8rem;color:var(--tiza-media);font-variant-numeric:tabular-nums}
.escala-riel{position:relative;height:14px}
.escala-riel::before{content:'';position:absolute;left:0;right:0;top:6.5px;height:1px;background:var(--trazo-suave)}
.escala-traza{position:absolute;left:0;top:6.5px;height:1px;background:var(--tiza-baja)}
.escala-tick{position:absolute;top:1px;width:1px;height:12px;background:var(--tiza-baja)}
.escala-fila.tope .escala-traza,.escala-fila.tope .escala-tick{background:var(--luz)}
.escala-fila.tope .escala-anio,.escala-fila.tope .escala-valor{color:var(--luz)}
.escala-valor{font-family:'Azeret Mono',monospace;font-size:.82rem;text-align:right;color:var(--tiza);font-variant-numeric:tabular-nums}
.escala-pie{display:flex;justify-content:space-between;font-family:'Azeret Mono',monospace;font-size:.66rem;
  color:var(--tiza-baja);letter-spacing:.1em;margin-top:12px;padding-top:10px;border-top:1px solid var(--horizonte)}
.nota{font-size:.76rem;color:var(--tiza-baja);margin-top:16px;line-height:1.55;max-width:62ch}

/* ---------- LÁMINA 02 · diagrama de flujo ---------- */
.flujo-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.flujo-tabs button{
  font-family:'Archivo',sans-serif;font-variation-settings:'wdth' 88,'wght' 600;font-size:.9rem;
  background:none;border:1px solid var(--trazo);color:var(--tiza-media);padding:10px 18px;border-radius:2px;
  cursor:pointer;transition:border-color .15s,color .15s,background .15s;
}
.flujo-tabs button:hover{color:var(--tiza);border-color:var(--tiza-baja)}
.flujo-tabs button[aria-selected="true"]{border-color:var(--luz);color:var(--luz);background:rgba(249,115,22,.07)}
.flujo-lienzo{border:1px solid var(--trazo);border-radius:2px;background:#08111C;padding:clamp(14px,2vw,24px)}
.flujo-lienzo svg{width:100%;height:auto;display:block}
.f-caja{fill:none;stroke:var(--trazo);stroke-width:1.4}
.f-caja.on{stroke:var(--luz)}
.f-etq{font-family:'Azeret Mono',monospace;font-size:15px;fill:var(--tiza-baja);letter-spacing:.1em;text-transform:uppercase}
.f-etq.on{fill:var(--tiza)}
.f-linea{stroke:var(--trazo);stroke-width:1.6;fill:none}
.f-linea.on{stroke:var(--luz);stroke-width:2.2}
.f-linea.off{stroke:var(--trazo-suave);stroke-dasharray:5 5}
.f-icono{fill:none;stroke:var(--tiza-baja);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.f-icono.on{stroke:var(--luz-alta)}
.flujo-detalle{margin-top:26px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:end;
  border-top:1px solid var(--horizonte);padding-top:22px}
.flujo-detalle h3{margin-bottom:8px}
.flujo-detalle p{font-size:.95rem;max-width:60ch}

/* ---------- LÁMINA 03 · tabla técnica de sistemas ---------- */
.tabla-envoltura{overflow-x:auto;margin-top:34px;border:1px solid var(--horizonte);border-radius:2px}
table.tecnica{width:100%;border-collapse:collapse;min-width:660px;font-size:.92rem}
table.tecnica caption{text-align:left;padding:16px 18px;font-family:'Azeret Mono',monospace;font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--tiza-baja);border-bottom:1px solid var(--horizonte)}
table.tecnica th,table.tecnica td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--trazo-suave)}
table.tecnica thead th{font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--tiza-baja);font-weight:400;background:rgba(16,30,46,.6)}
table.tecnica tbody th{font-variation-settings:'wdth' 84,'wght' 700;font-size:1.02rem;color:var(--tiza);white-space:nowrap}
table.tecnica td{color:var(--tiza-media)}
table.tecnica .num{font-family:'Azeret Mono',monospace;font-variant-numeric:tabular-nums;color:var(--tiza);font-size:.86rem}
table.tecnica tbody tr:last-child th,table.tecnica tbody tr:last-child td{border-bottom:none}
table.tecnica tbody tr:hover{background:rgba(249,115,22,.04)}

/* promo: el único bloque con tratamiento propio */
.promo{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,52px);align-items:center;
  margin-top:34px;padding:clamp(24px,3.4vw,38px);
  border:1px solid var(--luz);border-radius:2px;background:rgba(249,115,22,.05);
}
.promo-sello{font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--luz);margin-bottom:12px}
.promo h3{font-variation-settings:'wdth' 80,'wght' 780;text-transform:uppercase;
  font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.02;margin-bottom:14px}
.promo ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;margin-bottom:8px}
.promo li{font-size:.88rem;color:var(--tiza-media);position:relative;padding-left:14px}
.promo li::before{content:'';position:absolute;left:0;top:.62em;width:6px;height:1px;background:var(--luz)}
.promo-precio{text-align:right}
.promo-precio .v{font-family:'Azeret Mono',monospace;font-size:clamp(1.9rem,3.4vw,2.7rem);
  font-weight:500;color:var(--luz);line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}
.promo-precio .k{font-family:'Azeret Mono',monospace;font-size:.64rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--tiza-baja);margin-top:8px;display:block}
.promo-precio .accion{margin-top:18px}

/* ---------- LÁMINA 04 · la obra ---------- */
.obra{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(10px,1.4vw,18px);margin-top:38px}
.placa{position:relative;overflow:hidden;border:1px solid var(--horizonte);border-radius:2px;background:#08111C}
.placa img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.placa:hover img{transform:scale(1.03)}
.placa figcaption{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding:11px 13px;border-top:1px solid var(--horizonte);background:var(--noche);
  font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;
}
.placa figcaption b{color:var(--tiza);font-weight:400}
.placa figcaption span{color:var(--tiza-baja)}
.p-ancha{grid-column:span 7}
.p-media{grid-column:span 5}
.p-tercio{grid-column:span 4}
.p-ancha img{aspect-ratio:16/9}
.p-media img{aspect-ratio:16/10}
.p-tercio img{aspect-ratio:4/3}

/* ---------- LÁMINA 05 · respaldo ---------- */
.respaldo{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:38px;background:var(--horizonte);
  border:1px solid var(--horizonte);border-radius:2px}
.respaldo>div{background:var(--noche);padding:clamp(24px,2.6vw,34px)}
.respaldo svg{margin-bottom:20px;display:block}
.respaldo h3{margin-bottom:10px}
.respaldo p{font-size:.92rem;max-width:none}
.ico{fill:none;stroke:var(--luz);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ---------- LÁMINA 06 · propósito ---------- */
.proposito{border-top:1px solid var(--horizonte);background:var(--noche-alta)}
.palancas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px);margin-top:40px}
.palanca{border-top:1px solid var(--luz);padding-top:20px}
.palanca .n{font-family:'Azeret Mono',monospace;font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--luz);margin-bottom:10px;display:block}
.palanca h3{margin-bottom:10px}
.palanca p{font-size:.92rem;max-width:none}
.remate{margin-top:44px;padding-top:26px;border-top:1px solid var(--horizonte);
  font-variation-settings:'wdth' 88,'wght' 600;font-size:clamp(1.05rem,1.7vw,1.32rem);
  color:var(--tiza);max-width:52ch;line-height:1.45}

/* ---------- LÁMINA 07 · preguntas ---------- */
.preguntas{margin-top:34px;border-top:1px solid var(--horizonte)}
.preguntas details{border-bottom:1px solid var(--trazo-suave)}
.preguntas summary{
  display:flex;align-items:center;gap:18px;padding:20px 0;cursor:pointer;list-style:none;
  font-variation-settings:'wdth' 90,'wght' 620;font-size:1.02rem;color:var(--tiza);
}
.preguntas summary::-webkit-details-marker{display:none}
.preguntas summary::after{
  content:'';margin-left:auto;flex-shrink:0;width:11px;height:11px;
  border-right:1.5px solid var(--luz);border-bottom:1.5px solid var(--luz);
  transform:rotate(45deg) translate(-3px,-3px);transition:transform .2s ease;
}
.preguntas details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.preguntas .q{font-family:'Azeret Mono',monospace;font-size:.72rem;color:var(--tiza-baja);flex-shrink:0}
.preguntas p{padding:0 0 22px 46px;font-size:.95rem}

/* ---------- cierre ---------- */
.cierre{text-align:left;border-top:1px solid var(--horizonte)}
.cierre-caja{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,4vw,60px);align-items:end}
.cierre h2{margin-bottom:16px}
.cierre-acciones{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- footer ---------- */
footer{border-top:1px solid var(--horizonte);padding:clamp(44px,5vw,64px) var(--pag) 28px;background:#070E17}
.pie{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:clamp(24px,3vw,44px);max-width:1240px;margin:0 auto}
.pie h4{font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tiza-baja);margin-bottom:16px;font-weight:400}
.pie ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.pie a{color:var(--tiza-media);text-decoration:none;font-size:.88rem;transition:color .15s}
.pie a:hover{color:var(--luz)}
.pie-lema{font-variation-settings:'wdth' 88,'wght' 600;color:var(--tiza);margin-bottom:12px;font-size:1rem}
.pie-zona{font-size:.82rem;color:var(--tiza-baja);line-height:1.6;max-width:38ch}
.pie-fin{max-width:1240px;margin:clamp(34px,4vw,50px) auto 0;padding-top:20px;border-top:1px solid var(--horizonte);
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;
  font-family:'Azeret Mono',monospace;font-size:.68rem;letter-spacing:.08em;color:var(--tiza-baja)}

@media (max-width:900px){
  .duo{grid-template-columns:1fr;gap:34px}
  .flujo-detalle{grid-template-columns:1fr;align-items:start;gap:16px}
  .promo{grid-template-columns:1fr;gap:26px}
  .promo-precio{text-align:left}
  .respaldo,.palancas{grid-template-columns:1fr}
  .p-ancha,.p-media,.p-tercio{grid-column:span 12}
  .p-ancha img,.p-media img,.p-tercio img{aspect-ratio:16/10}
  .cierre-caja{grid-template-columns:1fr;align-items:start;gap:26px}
  .pie{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .pie{grid-template-columns:1fr}
  .preguntas p{padding-left:0}
}
/* pantallas bajas (notebooks): compactar el texto para que la lámina entre entera */
@media (min-width:1081px) and (max-height:800px){
  h1.display{font-size:clamp(1.55rem,2.35vw,2.15rem)}
  .hero .lead{font-size:.95rem;margin-bottom:22px}
  .hero-kicker{margin-bottom:16px;font-size:.68rem}
  .hero h1{margin-bottom:14px}
}
@media (min-width:1081px) and (max-height:660px){
  .hero-kicker{font-size:.63rem;margin-bottom:12px;padding-left:9px}
  .hero-cotas .cota-v{font-size:.9rem}
}

@media (max-width:1080px){
  nav.principal{display:none}
  .hamb{display:flex}
  .hero-overlay-inner{max-width:none}
  .hero-cotas{max-width:none}
  /* en pantallas chicas el velo baja en vertical para sostener el texto */
  .hero::before{background:linear-gradient(180deg,
    rgba(8,17,28,.66) 0%, rgba(8,17,28,.5) 32%, rgba(8,17,28,.82) 100%)}
}
@media (max-width:620px){
  .hero-cotas{gap:18px}
  .cota-v{font-size:.94rem}
}

/* ============ MODO NOCHE LUMÍNICO — solo con el cielo oscuro (data-fase="noche") ============ */
/* De noche el instrumento se enciende como un panel retroiluminado: sobrio, caro. */
.carta[data-fase="noche"] .g-grilla{stroke:rgba(126,196,238,.5)}
.carta[data-fase="noche"] .g-hora{stroke:rgba(126,196,238,.44)}
.carta[data-fase="noche"] .g-grilla,
.carta[data-fase="noche"] .g-hora{filter:drop-shadow(0 0 1.6px rgba(120,190,235,.8))}
.carta[data-fase="noche"] .g-arco{stroke:rgba(158,216,255,1);filter:drop-shadow(0 0 3px rgba(120,195,255,.95))}
.carta[data-fase="noche"] .g-arco-eq{stroke:rgba(108,242,227,1);filter:drop-shadow(0 0 3px rgba(79,224,208,.95))}
.carta[data-fase="noche"] .g-horizonte{filter:drop-shadow(0 0 3px rgba(150,210,245,.85))}
.carta[data-fase="noche"] .g-hoy{filter:drop-shadow(0 0 5px rgba(249,150,55,.95)) drop-shadow(0 0 13px rgba(249,115,22,.55))}
.carta[data-fase="noche"] .g-rotulo-ejes{fill:#F4FAFF;filter:drop-shadow(0 0 4px rgba(120,190,255,.7))}
.carta[data-fase="noche"] .g-arco-lbl{filter:drop-shadow(0 0 3px rgba(120,190,255,.6))}
.carta[data-fase="noche"] .g-estrella{filter:drop-shadow(0 0 1.6px rgba(222,236,255,.95))}
/* la última luz sobre el horizonte: aurora tenue que sube del terreno */
.carta[data-fase="noche"]::after{
  content:'';position:absolute;left:0;right:0;bottom:39%;height:22%;z-index:1;pointer-events:none;
  background:radial-gradient(150% 130% at 50% 100%, rgba(249,140,50,.15), rgba(79,190,205,.17) 38%, rgba(138,124,242,.17) 62%, transparent 80%);
  mix-blend-mode:screen;
}
/* respiración suave del cielo estrellado (atmósfera, no titileo berreta) */
.carta[data-fase="noche"] #capaEstrellas{animation:cielo-respira 6.5s ease-in-out infinite}
@keyframes cielo-respira{0%,100%{opacity:1}50%{opacity:.72}}
@media (prefers-reduced-motion:reduce){.carta[data-fase="noche"] #capaEstrellas{animation:none}}

/* — la Luna (posición y fase reales), visible sólo con el cielo oscuro — */
.g-luna{fill:#EAF1FA}
.g-luna-halo{fill:rgba(205,222,246,.15)}
.g-luna-sombra{fill:#0C1524;opacity:.92}
.g-luna-lbl{font-family:'Azeret Mono',monospace;font-size:15px;fill:#D9E6F5;letter-spacing:.06em}
.carta[data-fase="noche"] .g-luna{filter:drop-shadow(0 0 7px rgba(210,228,250,.9)) drop-shadow(0 0 17px rgba(180,205,245,.5))}
.carta[data-fase="crepusculo"] .g-luna{filter:drop-shadow(0 0 5px rgba(210,228,250,.7))}
.carta[data-fase="noche"] .g-luna-lbl{filter:drop-shadow(0 0 5px rgba(120,190,255,.5))}

/* menos aire arriba del contrapunto (sin el rótulo de lámina) */
.estrato-1{padding-top:clamp(20px,2.8vw,42px)}

/* ===== TERCER ACENTO: violeta crepúsculo · estaciones color-codeadas ===== */
:root{--via:#8A7CF2}
.g-ver{stroke:rgba(96,206,224,.96)}       /* Verano  · cian  */
.g-inv{stroke:rgba(150,132,246,.98)}      /* Invierno · violeta */
.g-arco-lbl.v{fill:#8FE6F2}
.g-arco-lbl.i{fill:#C3B4FF}
.carta[data-fase="noche"] .g-ver{stroke:rgba(120,226,244,1);filter:drop-shadow(0 0 3px rgba(96,212,232,.95))}
.carta[data-fase="noche"] .g-inv{stroke:rgba(178,160,255,1);filter:drop-shadow(0 0 3px rgba(150,132,246,.95))}

/* placa de obra: foto real en el lado solar del contrapunto (sin degradé, cota al pie) */
.placa-solar{margin-top:28px;border:1px solid var(--horizonte);border-radius:2px;overflow:hidden}
.placa-solar img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.placa-solar figcaption{
  font-family:'Azeret Mono',monospace;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--tiza-baja);padding:9px 13px;border-top:1px solid var(--horizonte);background:var(--noche-alta);
}

/* ===== fondo atmosférico detrás de los títulos del contrapunto (premium) ===== */
.contra-lado{position:relative}
.contra-lado>*{position:relative;z-index:1}
.contra-lado::before{
  content:'';position:absolute;left:-28px;right:-28px;top:-40px;height:300px;z-index:0;pointer-events:none;
  filter:blur(6px);opacity:1;
  -webkit-mask-image:linear-gradient(180deg,#000 58%,transparent);
  mask-image:linear-gradient(180deg,#000 58%,transparent);
}
/* red: humo frío que sube + brasa baja */
.contra-lado.cara::before{
  background:
    radial-gradient(58% 90% at 18% 2%, rgba(150,165,190,.34), transparent 60%),
    radial-gradient(50% 85% at 50% -14%, rgba(176,132,158,.28), transparent 62%),
    radial-gradient(80% 70% at 60% 128%, rgba(249,120,40,.30), transparent 60%);
}
/* solar: glow cálido del sol + aire limpio */
.contra-lado.barata::before{
  background:
    radial-gradient(50% 120% at 82% 0%, rgba(249,168,78,.42), transparent 58%),
    radial-gradient(64% 95% at 26% -8%, rgba(120,205,225,.22), transparent 62%),
    radial-gradient(55% 75% at 55% 128%, rgba(255,176,103,.20), transparent 64%);
}

/* ===== escenas animadas detrás de los títulos del contrapunto (llamativo/premium) ===== */
.contra-lado::before{content:none}          /* reemplaza el gradiente sutil anterior */
.contra-lado>.titbg{z-index:0}
.titbg{position:absolute;left:-24px;right:-24px;top:-34px;height:280px;overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 50%,transparent);mask-image:linear-gradient(180deg,#000 50%,transparent)}
.titbg svg{width:100%;height:100%;display:block}
/* red: chimeneas + humo que sube + brasa */
.tb-torre{fill:none;stroke:rgba(150,166,192,.5);stroke-width:2}
.tb-torre-fill{fill:rgba(120,136,162,.12)}
.tb-brasa{fill:rgba(249,120,40,.4);filter:blur(11px)}
.tb-humo{fill:rgba(168,182,207,.55);filter:blur(4px);transform-box:fill-box;transform-origin:center;
  animation:humo 7s ease-out infinite}
.tb-humo.b{animation-delay:2.3s}.tb-humo.c{animation-delay:4.6s}
@keyframes humo{0%{transform:translateY(0) scale(.7);opacity:0}18%{opacity:.6}100%{transform:translateY(-135px) scale(2.4);opacity:0}}
/* solar: sol + rayos girando + glow que late */
.ts-glow{fill:rgba(249,168,78,.32);filter:blur(15px);animation:latir 6s ease-in-out infinite}
.ts-sol{fill:rgba(249,172,82,.6);filter:blur(1px)}
.ts-ray{stroke:rgba(249,178,95,.5);stroke-width:2.4;stroke-linecap:round}
@keyframes latir{0%,100%{opacity:.7}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){.tb-humo,.ts-glow{animation:none}.ts-rayos{display:none}}

/* ===== NUEVA SECCIÓN: por qué la solar es más barata (título central + fotos + razones) ===== */
.vs-cab{text-align:center;max-width:840px;margin:0 auto clamp(30px,4vw,54px)}
.vs-cab h2{margin-bottom:18px}
.vs-cab .lead{color:var(--tiza-media);margin:0 auto}
.vs-cab .lead b{color:var(--tiza);font-weight:600}
.vs-fotos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2vw,28px)}
.vs-foto{border:1px solid var(--horizonte);border-radius:2px;overflow:hidden;background:var(--noche-alta)}
.vs-foto img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.vs-razones{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.6vw,40px);
  margin-top:clamp(30px,3.6vw,50px);border-top:1px solid var(--horizonte);padding-top:clamp(26px,3vw,40px)}
.vs-razones li{list-style:none}
.vs-razones .n{font-family:'Azeret Mono',monospace;color:var(--luz);font-size:.82rem;display:block;margin-bottom:9px}
.vs-razones h3{margin-bottom:7px}
.vs-razones p{font-size:.94rem;max-width:34ch}
@media(max-width:760px){.vs-fotos{grid-template-columns:1fr}.vs-razones{grid-template-columns:1fr;gap:22px}}

/* ===== carrusel tipográfico de marcas ===== */
.marcas-band{padding:clamp(42px,5vw,68px) 0;border-top:1px solid var(--horizonte);overflow:hidden}
.marcas-rotulo{text-align:center;font-family:'Azeret Mono',monospace;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tiza-baja);margin:0 auto 30px}
.marquee{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.marquee-track{display:flex;align-items:center;gap:clamp(38px,4vw,64px);width:max-content;
  animation:marcas 34s linear infinite}
.marquee-track:hover{animation-play-state:paused}
@keyframes marcas{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.marquee-track span{font-family:'Azeret Mono',monospace;font-weight:500;white-space:nowrap;
  font-size:clamp(1.05rem,1.8vw,1.5rem);letter-spacing:.06em;color:var(--tiza-media);
  transition:color .2s ease}
.marquee-track span:hover{color:var(--luz-alta)}
@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:16px clamp(28px,3vw,48px)}
  .marquee-track span[aria-hidden]{display:none}   /* en estático, sin duplicados */
}

/* ===== Los tres equipos: off-grid / híbrido / on-grid, con su foto ===== */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.8vw,44px);
  margin-top:clamp(30px,4vw,48px)}
.trio-item{display:flex;flex-direction:column;padding-top:22px;
  border-top:1px solid var(--horizonte)}
.trio-item.destacado{border-top-color:rgba(249,115,22,.55)}
.trio-item picture{display:block;order:-1;margin-bottom:20px;
  border:1px solid var(--horizonte);border-radius:2px;overflow:hidden;background:#08111C}
/* height:auto es imprescindible: sin él, el atributo height del <img> le gana al aspect-ratio
   y cada foto queda con su alto natural (la del híbrido es cuadrada y rompía la fila) */
.trio-item img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.16,1,.3,1)}
.trio-item:hover img{transform:scale(1.03)}
.trio-rotulo{font-family:'Azeret Mono',monospace;font-size:.66rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tiza-baja);margin-bottom:10px;
  display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.trio-rotulo b{font-weight:400;color:var(--luz);border:1px solid rgba(249,115,22,.45);
  border-radius:2px;padding:3px 7px;font-size:.9em;letter-spacing:.1em}
.trio-item h3{margin-bottom:9px;color:var(--tiza)}
.trio-item figcaption p{font-size:.94rem;color:var(--tiza-media)}
.trio-item .cota{margin-top:auto;padding-top:18px}
@media (max-width:900px){ .trio{grid-template-columns:1fr;gap:34px} }

/* ===== Remate de la lámina 01: la nota y el CTA ocupan el ancho, sin hueco muerto ===== */
.h25-cierre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:20px clamp(24px,4vw,56px);margin-top:22px;padding-top:22px;
  border-top:1px solid var(--trazo-suave)}
.h25-cierre .nota{margin-top:0;flex:1 1 30ch}
.h25-cierre .accion-2{flex:0 0 auto}

/* ===== Cobertura: localidades y provincias en texto visible (SEO local) ===== */
.zonas-t{font-family:'Azeret Mono',monospace;font-size:.68rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--tiza-baja);font-weight:400;
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--trazo-suave)}
.zonas-t:not(:first-child){margin-top:clamp(28px,3.4vw,40px)}
.zonas{list-style:none;display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:6px}
.zonas li{font-size:.88rem;color:var(--tiza-media);
  border:1px solid var(--trazo);border-radius:2px;padding:6px 11px}
.zonas.destacadas li{border-color:rgba(249,115,22,.42);color:var(--tiza)}
#cobertura .duo-titulo p{margin-top:16px}
#cobertura>.ancho>.duo>div>p{color:var(--tiza-media);max-width:68ch}

/* ===== FAQ visible (respalda el FAQPage schema) ===== */
.faq{display:grid;gap:clamp(4px,1.2vw,8px);margin-top:clamp(26px,3.2vw,44px)}
.faq-item{border-top:1px solid var(--horizonte);padding:clamp(18px,2.2vw,26px) 0}
.faq-item h3{margin-bottom:9px;color:var(--tiza)}
.faq-item p{max-width:74ch;color:var(--tiza-media)}
@media(min-width:860px){.faq{grid-template-columns:1fr 1fr;column-gap:clamp(32px,4vw,64px)}}
