/* =========================================================
   L&G Translog · Vista previa
   Paleta del logo: azul rey, plata metálica, blanco
   Tipografía: Saira (títulos, cifras) + Hanken Grotesk (texto)
   Motivo: diagonales a -12° y líneas de velocidad
   ========================================================= */

:root{
  --rey:#0A3AA8;
  --rey-600:#1B4FD0;
  --rey-700:#072C85;
  --rey-900:#06205E;
  --noche:#050D24;
  --noche-2:#0A1636;
  --plata-50:#F4F6F9;
  --plata-100:#E6EAF0;
  --plata-200:#D2D8E0;
  --plata-400:#9AA1AB;
  --plata-600:#6B7380;
  --tinta:#0B1224;
  --tinta-2:#4B5568;
  --blanco:#FFFFFF;
  --wa:#25D366;

  --metal:linear-gradient(178deg, #FFFFFF 0%, #E4E8ED 34%, #A3AAB4 50%, #EEF1F4 66%, #C3C9D1 100%);
  --metal-oscuro:linear-gradient(178deg, #3A4452 0%, #8B94A1 42%, #2A323E 52%, #6F7885 74%, #3E4755 100%);

  --titulo:'Saira', 'Arial Narrow', Arial, sans-serif;
  --texto:'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --hdr:92px;
  --gut:clamp(20px, 4vw, 56px);
  --env:min(1280px, 100% - 2 * var(--gut));
  --sesgo:-12deg;
  --sombra:0 34px 70px -38px rgba(5,13,36,.55);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 8px);-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--texto);font-size:clamp(15.5px, .25vw + 14.5px, 17.5px);line-height:1.65;
  color:var(--tinta);background:var(--blanco);-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:700}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0;list-style:none}
button{font:inherit;cursor:pointer}
svg{display:block}
address{font-style:normal}

.envoltura{width:var(--env);margin-inline:auto}
.saltar{position:absolute;left:-9999px;top:8px;z-index:300;background:var(--rey);color:#fff;padding:10px 16px}
.saltar:focus{left:8px}
.visualmente-oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--rey-600);outline-offset:3px}

/* ---------- Tipos comunes ---------- */
.antetitulo{
  display:inline-flex;align-items:center;gap:14px;margin:0 0 18px;
  font-family:var(--titulo);font-size:13px;font-weight:700;font-stretch:115%;letter-spacing:.18em;text-transform:uppercase;color:var(--rey);
}
.antetitulo::before{
  content:"";width:34px;height:10px;flex:none;
  background:repeating-linear-gradient(90deg, currentColor 0 6px, transparent 6px 10px);
  transform:skewX(var(--sesgo));
}
.antetitulo--claro{color:var(--plata-200)}

.cabeza{margin-bottom:clamp(40px, 6vw, 76px)}
.cabeza h2,.yarda h2,.nosotros h2,.contacto h2{
  font-family:var(--titulo);font-style:italic;font-weight:800;font-stretch:108%;
  font-size:clamp(2.2rem, 4.4vw, 4.1rem);line-height:1;letter-spacing:-.01em;color:var(--tinta);
  max-width:17ch;text-wrap:balance;
}
.cabeza h2 em,.yarda h2 em,.nosotros h2 em,.contacto h2 em{font-style:italic;color:var(--rey)}
.cabeza--claro h2{color:#fff}
.cabeza--claro h2 em,.contacto h2 em{
  background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.cabeza__bajada{font-size:clamp(1rem, .4vw + .92rem, 1.18rem);color:var(--tinta-2);max-width:46ch;margin-top:20px}
.cabeza--claro .cabeza__bajada{color:var(--plata-200)}
.cabeza--fila{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(24px, 5vw, 80px);align-items:end}
.cabeza--fila .cabeza__bajada{margin-top:0}
.cabeza--centro{text-align:center}
.cabeza--centro h2{margin-inline:auto}

.metal{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.metal-oscuro{background:var(--metal-oscuro);-webkit-background-clip:text;background-clip:text;color:transparent}

/* botones en paralelogramo: el fondo va sesgado, el texto no */
.boton{
  position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 34px;border:0;background:none;text-decoration:none;
  font-family:var(--titulo);font-weight:700;font-stretch:110%;font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  transition:color .3s;
}
.boton::before{
  content:"";position:absolute;inset:0;z-index:-1;transform:skewX(var(--sesgo));
  transition:background-color .3s, border-color .3s, transform .3s;
}
.boton:hover::before{transform:skewX(var(--sesgo)) scaleX(1.04)}
.boton svg{width:20px;height:20px}
.boton--blanco{color:var(--rey-900)}
.boton--blanco::before{background:#fff}
.boton--blanco:hover{color:var(--rey)}
.boton--linea{color:#fff}
.boton--linea::before{border:1.5px solid rgba(255,255,255,.7)}
.boton--linea:hover::before{background:rgba(255,255,255,.12)}
.boton--rey{color:#fff}
.boton--rey::before{background:var(--rey)}
.boton--rey:hover::before{background:var(--rey-700)}
.boton--bloque{width:100%}

/* ---------- Barra ---------- */
.barra{
  position:fixed;inset:0 0 auto;z-index:100;height:var(--hdr);background:#fff;
  border-bottom:1px solid var(--plata-100);transition:height .3s, box-shadow .3s;
}
.barra::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;
  background:linear-gradient(90deg, var(--rey) 0 38%, var(--plata-200) 38% 100%);
  transform-origin:left;transform:scaleX(var(--progreso, 0));
}
.barra--compacta{height:70px;box-shadow:0 12px 30px -20px rgba(5,13,36,.4)}
.barra__in{width:min(1440px, 100% - 2 * var(--gut));height:100%;margin-inline:auto;display:flex;align-items:center;gap:28px}
.barra__logo img{height:clamp(54px, 5vw, 74px);width:auto;transition:height .3s}
.barra--compacta .barra__logo img{height:56px}
.barra__nav{display:flex;gap:clamp(14px, 1.8vw, 30px);margin-left:auto}
.barra__nav a{
  position:relative;text-decoration:none;padding:6px 0;
  font-family:var(--titulo);font-size:14px;font-weight:600;font-stretch:105%;letter-spacing:.03em;color:var(--tinta);
}
.barra__nav a::after{
  content:"";position:absolute;left:-2px;right:-2px;bottom:0;height:3px;background:var(--rey);
  transform:skewX(var(--sesgo)) scaleX(0);transform-origin:left;transition:transform .3s;
}
.barra__nav a:hover{color:var(--rey)}
.barra__nav a:hover::after{transform:skewX(var(--sesgo)) scaleX(1)}
.barra__acciones{display:flex;align-items:center;gap:14px}
.idioma{display:flex;gap:2px}
.idioma button{
  position:relative;isolation:isolate;border:0;background:none;padding:7px 10px;
  font-family:var(--titulo);font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--plata-600);
}
.idioma button::before{content:"";position:absolute;inset:0;z-index:-1;transform:skewX(var(--sesgo));border:1px solid var(--plata-200)}
.idioma button[aria-pressed="true"]{color:#fff}
.idioma button[aria-pressed="true"]::before{background:var(--rey);border-color:var(--rey)}
.barra__tel{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-family:var(--titulo);font-weight:700;font-size:15px;letter-spacing:.02em;color:var(--rey-900);
}
.barra__tel svg{width:19px;height:19px;color:var(--rey)}
.barra__tel:hover{color:var(--rey)}
.barra__burger{display:none;width:44px;height:44px;border:0;background:transparent;position:relative}
.barra__burger span{position:absolute;left:10px;right:10px;height:2px;background:var(--tinta);transition:transform .3s, opacity .3s, top .3s}
.barra__burger span:nth-child(1){top:14px}
.barra__burger span:nth-child(2){top:21px;left:16px}
.barra__burger span:nth-child(3){top:28px}
.barra__burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.barra__burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.barra__burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* ---------- Portada ---------- */
.portada{
  position:relative;overflow:hidden;margin-top:var(--hdr);
  min-height:calc(100svh - var(--hdr));display:flex;flex-direction:column;justify-content:flex-end;
  color:#fff;background:var(--noche);
}
.portada__cuadros{position:absolute;inset:0}
.cuadro{position:absolute;inset:0;margin:0;opacity:0;transition:opacity 2.2s ease}
.cuadro img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 0s linear 2.3s}
.cuadro.activo{opacity:1}
.cuadro.activo img{transform:scale(1.16) translateX(-1.5%);transition:transform 12s linear}
.portada__velo{
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(0deg, rgba(5,13,36,.92) 0%, rgba(5,13,36,.35) 38%, rgba(5,13,36,0) 60%),
    linear-gradient(98deg, rgba(6,32,94,.9) 0%, rgba(6,32,94,.55) 36%, rgba(6,32,94,0) 66%);
}
.portada__velocidad{position:absolute;left:0;top:18%;width:48%;height:120px;pointer-events:none}
.portada__velocidad i{
  position:absolute;left:0;height:6px;background:linear-gradient(90deg, transparent, rgba(255,255,255,.55));
  transform:skewX(var(--sesgo));animation:velocidad 5s cubic-bezier(.5,0,.3,1) infinite;
}
.portada__velocidad i:nth-child(1){top:0;width:62%;animation-delay:.2s}
.portada__velocidad i:nth-child(2){top:28px;width:46%;animation-delay:.5s;background:linear-gradient(90deg, transparent, rgba(27,79,208,.9))}
.portada__velocidad i:nth-child(3){top:56px;width:30%;animation-delay:.8s}
@keyframes velocidad{0%{transform:skewX(var(--sesgo)) translateX(-110%);opacity:0}25%{opacity:1}60%{transform:skewX(var(--sesgo)) translateX(10%);opacity:1}100%{transform:skewX(var(--sesgo)) translateX(40%);opacity:0}}

.portada__contenido{position:relative;z-index:2;padding-top:clamp(60px, 10vh, 120px)}
.portada__titulo{
  font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:112%;
  font-size:clamp(2.6rem, 5.2vw, 5.4rem);line-height:.95;letter-spacing:-.015em;max-width:16ch;text-wrap:balance;
}
.portada__titulo em{display:block;font-style:italic;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.portada__bajada{margin:clamp(20px, 3vh, 30px) 0 0;max-width:48ch;font-size:clamp(1.02rem, .5vw + .92rem, 1.22rem);color:var(--plata-100)}
.portada__cta{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:clamp(26px, 4vh, 40px)}

.tramos{
  position:relative;z-index:2;display:grid;grid-template-columns:repeat(3, 1fr) auto;gap:22px;align-items:end;
  margin-top:clamp(40px, 8vh, 90px);padding:22px 0 clamp(22px, 4vh, 36px);border-top:1px solid rgba(255,255,255,.18);
}
.tramo{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:10px;align-items:baseline;opacity:.55;transition:opacity .6s}
.tramo.activo,.tramo.hecho{opacity:1}
.tramo__n{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:15px;color:var(--plata-200)}
.tramo__t{font-family:var(--titulo);font-weight:700;font-stretch:115%;font-size:14px;letter-spacing:.16em;text-transform:uppercase}
.tramo__barra{grid-column:1 / -1;position:relative;height:4px;background:rgba(255,255,255,.2);transform:skewX(var(--sesgo));overflow:hidden}
.tramo__barra b{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.tramo.hecho .tramo__barra b{transform:scaleX(1)}
.tramo.llenando .tramo__barra b{animation:llenar 8s linear forwards}
@keyframes llenar{to{transform:scaleX(1)}}
.tramos__pill{
  display:inline-flex;align-items:center;gap:10px;margin:0;padding:8px 16px;white-space:nowrap;
  font-family:var(--titulo);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid rgba(255,255,255,.3);background:rgba(5,13,36,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.pulso{position:relative;width:9px;height:9px;border-radius:50%;background:var(--wa)}
.pulso::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid var(--wa);animation:pulso 2s ease-out infinite}
@keyframes pulso{from{transform:scale(.4);opacity:1}to{transform:scale(1.6);opacity:0}}

/* ---------- Cifras ---------- */
.cifras{
  position:relative;overflow:hidden;color:#fff;padding:clamp(70px, 9vw, 120px) 0 clamp(50px, 6vw, 80px);
  background:
    repeating-linear-gradient(-78deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px),
    linear-gradient(120deg, var(--rey-900) 0%, var(--rey) 55%, var(--rey-600) 100%);
}
.cifras::before{
  content:"";position:absolute;right:-6%;top:-40%;width:48%;height:180%;
  background:linear-gradient(90deg, rgba(255,255,255,.08), rgba(255,255,255,0));transform:skewX(var(--sesgo));
}
.cifras .envoltura{position:relative}
.cifras__lista{display:grid;grid-template-columns:repeat(4, 1fr)}
.cifra{position:relative;padding:0 clamp(12px, 2vw, 30px)}
.cifra + .cifra::before{
  content:"";position:absolute;left:0;top:6%;bottom:6%;width:1px;background:rgba(255,255,255,.28);transform:skewX(var(--sesgo));
}
.cifra:first-child{padding-left:0}
.cifra__n{
  display:inline-flex;align-items:flex-start;font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:105%;
  font-size:clamp(4.2rem, 9.4vw, 9rem);line-height:.9;letter-spacing:-.03em;font-variant-numeric:lining-nums tabular-nums;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.25));padding-right:.08em;
}
.cifra__n sup{font-size:.42em;line-height:1;margin-top:.12em}
.cifra__t{
  display:block;margin-top:14px;max-width:18ch;
  font-family:var(--titulo);font-weight:600;font-stretch:110%;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--plata-100);line-height:1.4;
}
.cifras__extra{display:flex;flex-wrap:wrap;gap:12px 14px;margin-top:clamp(40px, 5vw, 60px);padding-top:28px;border-top:1px solid rgba(255,255,255,.2)}
.cifras__extra li{
  position:relative;isolation:isolate;display:inline-flex;align-items:baseline;gap:10px;padding:8px 20px;
  font-weight:600;font-size:15px;color:var(--plata-100);
}
.cifras__extra li::before{content:"";position:absolute;inset:0;z-index:-1;transform:skewX(var(--sesgo));border:1px solid rgba(255,255,255,.3);background:rgba(5,13,36,.18)}
.cifras__extra b{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:20px;color:#fff}

/* ---------- Enfoque (frases grandes) ---------- */
.enfoque{padding:clamp(80px, 10vw, 150px) 0;background:#fff;overflow:hidden}
.enfoque__lista{border-top:1px solid var(--plata-200)}
.frase{
  display:grid;grid-template-columns:70px minmax(0, 1fr) minmax(0, 28ch);gap:clamp(16px, 3vw, 44px);align-items:center;
  padding:clamp(22px, 3vw, 38px) 0;border-bottom:1px solid var(--plata-200);
}
.frase__n{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:18px;color:var(--plata-400)}
.frase__grande{
  font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:108%;
  font-size:clamp(2.4rem, 6.4vw, 6.2rem);line-height:.95;letter-spacing:-.02em;color:var(--rey);
  transition:transform 1.1s cubic-bezier(.2,.7,.1,1), opacity 1.1s;
}
.frase__grande small{font-size:.42em;font-weight:800;color:var(--tinta);letter-spacing:0;vertical-align:.9em}
.frase--contorno .frase__grande{color:transparent;-webkit-text-stroke:2px var(--rey);transition:transform 1.1s cubic-bezier(.2,.7,.1,1), opacity 1.1s, color .5s}
.frase--contorno:hover .frase__grande{color:var(--rey)}
.frase__texto{color:var(--tinta-2);font-size:clamp(.98rem, .3vw + .92rem, 1.1rem)}
.enfoque.animable .frase__grande{opacity:0;transform:translateX(-12%) skewX(-10deg)}
.enfoque.animable .frase.visible .frase__grande{opacity:1;transform:none}

/* ---------- Servicios (índice) ---------- */
.servicios{position:relative;background:var(--plata-50);padding:clamp(80px, 10vw, 150px) 0}
.indice{counter-reset:s;border-top:2px solid var(--tinta)}
.indice__fila{
  position:relative;isolation:isolate;display:grid;grid-template-columns:80px minmax(0, 1.2fr) minmax(0, 1fr);gap:clamp(14px, 3vw, 40px);align-items:center;
  padding:clamp(22px, 2.6vw, 34px) clamp(8px, 1.5vw, 20px);border-bottom:1px solid var(--plata-200);cursor:default;
}
.indice__fila::before{
  content:"";position:absolute;inset:0;z-index:-1;background:var(--rey);
  transform:scaleY(0);transform-origin:bottom;transition:transform .45s cubic-bezier(.6,0,.2,1);
}
.indice__n{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:20px;color:var(--rey);transition:color .3s}
.indice__t{
  font-family:var(--titulo);font-style:italic;font-weight:800;font-stretch:106%;
  font-size:clamp(1.5rem, 2.8vw, 2.6rem);line-height:1.05;color:var(--tinta);transition:color .3s, transform .45s;
}
.indice__d{margin:0;color:var(--tinta-2);transition:color .3s}
.indice__mini{display:none}
@media (hover:hover){
  .indice__fila:hover::before{transform:scaleY(1)}
  .indice__fila:hover .indice__t{color:#fff;transform:translateX(12px)}
  .indice__fila:hover .indice__n{color:var(--plata-200)}
  .indice__fila:hover .indice__d{color:var(--plata-100)}
}
.vista{
  position:fixed;left:0;top:0;z-index:50;margin:0;width:clamp(240px, 22vw, 340px);aspect-ratio:4/3;pointer-events:none;
  clip-path:polygon(14% 0, 100% 0, 86% 100%, 0 100%);opacity:0;transform:translate3d(-9999px, 0, 0) scale(.85);
  transition:opacity .3s, transform .08s linear;box-shadow:var(--sombra);
}
.vista img{width:100%;height:100%;object-fit:cover}
.vista.visible{opacity:1}

/* ---------- Ensenada ---------- */
.ensenada{position:relative;overflow:hidden;color:#fff;background:var(--noche);padding:clamp(90px, 11vw, 170px) 0 clamp(70px, 8vw, 120px)}
.ensenada__fondo{position:absolute;inset:-12% 0;transform:translate3d(0, var(--para, 0px), 0);will-change:transform}
.ensenada__fondo img{width:100%;height:100%;object-fit:cover;opacity:.5}
.ensenada::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(5,13,36,.95) 0%, rgba(6,32,94,.78) 50%, rgba(6,32,94,.45) 100%);
}
.ensenada__in{position:relative;z-index:2}
.ensenada .cabeza{margin-bottom:34px}
.ensenada__datos{display:flex;flex-wrap:wrap;gap:12px 28px;margin-bottom:clamp(56px, 7vw, 90px)}
.ensenada__datos li{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--plata-100)}
.ensenada__datos svg{width:22px;height:22px;color:#fff}

.carretera{position:relative}
.carretera__asfalto{
  position:relative;height:46px;background:linear-gradient(180deg, #1B2233, #0E1320);
  transform:skewX(var(--sesgo));box-shadow:0 18px 40px -20px rgba(0,0,0,.7);overflow:hidden;
  border-top:2px solid var(--plata-400);border-bottom:2px solid var(--plata-400);
}
.carretera__asfalto::after{
  content:"";position:absolute;left:0;right:0;top:50%;height:4px;margin-top:-2px;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.9) 0 44px, transparent 44px 90px);
  animation:carril 1.6s linear infinite;
}
@keyframes carril{to{background-position:-90px 0}}
.carretera__avance{
  position:absolute;left:0;top:0;bottom:0;width:100%;
  background:linear-gradient(90deg, rgba(27,79,208,.95), rgba(27,79,208,.25));
  transform:scaleX(0);transform-origin:left;transition:transform 2.2s cubic-bezier(.6,0,.2,1);
}
.carretera.visible .carretera__avance{transform:scaleX(1)}
.carretera__paradas{display:grid;grid-template-columns:.8fr repeat(4, 1fr);gap:clamp(12px, 2vw, 28px);margin-top:-23px}
.parada{position:relative;padding-top:44px;opacity:0;transform:translateY(18px);transition:opacity .7s, transform .7s}
.carretera.visible .parada{opacity:1;transform:none}
.carretera.visible .parada:nth-child(2){transition-delay:.5s}
.carretera.visible .parada:nth-child(3){transition-delay:.9s}
.carretera.visible .parada:nth-child(4){transition-delay:1.3s}
.carretera.visible .parada:nth-child(5){transition-delay:1.7s}
.parada__punto{
  position:absolute;top:10px;left:0;width:26px;height:26px;border-radius:50%;
  background:#fff;border:6px solid var(--rey-600);box-shadow:0 0 0 6px rgba(255,255,255,.12);
}
.parada--origen .parada__punto{background:var(--rey-600);border-color:#fff;width:30px;height:30px;top:8px}
.parada__eti{display:block;margin-top:10px;font-family:var(--titulo);font-style:italic;font-weight:800;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--plata-400)}
.parada__nombre{
  display:block;margin:2px 0 6px;font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:108%;
  font-size:clamp(1.6rem, 2.6vw, 2.5rem);line-height:1;color:#fff;
}
.parada--origen .parada__nombre{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.parada p{margin:0 0 12px;color:var(--plata-200);font-size:15px}
.parada__cta{
  display:inline-block;text-decoration:none;font-family:var(--titulo);font-weight:700;font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:#fff;padding-bottom:4px;border-bottom:2px solid var(--rey-600);transition:border-color .3s, color .3s;
}
.parada__cta:hover{border-color:#fff}

/* ---------- Long Beach ---------- */
.lb{background:#fff;padding:clamp(80px, 10vw, 150px) 0 clamp(80px, 9vw, 130px);overflow:hidden}
.lb__titulo{
  font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:110%;
  font-size:clamp(2.4rem, 6vw, 6rem);line-height:.98;letter-spacing:-.02em;color:var(--tinta);
}
.lb__flecha{display:inline-block;vertical-align:middle;width:clamp(60px, 9vw, 150px);height:.5em;position:relative;margin:0 .15em}
.lb__flecha i{position:absolute;left:0;right:14px;top:50%;height:.12em;margin-top:-.06em;background:var(--rey);transform-origin:left;transform:scaleX(var(--f, 1));transition:transform 1.2s cubic-bezier(.6,0,.2,1)}
.lb__flecha::after{content:"";position:absolute;right:0;top:50%;width:.36em;height:.36em;margin-top:-.18em;border-top:.12em solid var(--rey);border-right:.12em solid var(--rey);transform:rotate(45deg)}
.lb__banda{
  position:relative;height:clamp(200px, 30vw, 420px);margin:clamp(40px, 5vw, 70px) 0;
  clip-path:polygon(0 12%, 100% 0, 100% 88%, 0 100%);overflow:hidden;
}
.lb__banda img{width:100%;height:124%;object-fit:cover;transform:translate3d(0, var(--para, 0px), 0);will-change:transform}
.lb__banda::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(10,58,168,.55), rgba(10,58,168,0) 60%)}
.lb__columnas{display:grid;grid-template-columns:1fr 1fr;gap:0}
.lb__col{position:relative;padding:8px clamp(20px, 4vw, 64px) 8px 0}
.lb__col + .lb__col{padding:8px 0 8px clamp(20px, 4vw, 64px);border-left:1px solid var(--plata-200)}
.lb__idioma{
  position:relative;isolation:isolate;display:inline-block;margin-bottom:16px;padding:4px 12px;
  font-family:var(--titulo);font-weight:800;font-size:12px;letter-spacing:.14em;color:#fff;
}
.lb__idioma::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--rey);transform:skewX(var(--sesgo))}
.lb__col[lang="en"] .lb__idioma::before{background:var(--tinta)}
.lb__col h3{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:clamp(1.5rem, 2.4vw, 2.2rem);line-height:1.08;margin-bottom:14px;color:var(--tinta)}
.lb__col p{color:var(--tinta-2);max-width:46ch}
.lb__cta{grid-column:1 / -1;margin-top:clamp(30px, 4vw, 50px)}

/* ---------- Yarda ---------- */
.yarda{background:var(--plata-50);padding:clamp(80px, 10vw, 150px) 0;overflow:hidden}
.yarda__grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:clamp(40px, 7vw, 110px);align-items:center}
.yarda__fotos{position:relative;min-height:clamp(420px, 44vw, 640px)}
.yarda__foto{position:absolute;margin:0;overflow:hidden;box-shadow:var(--sombra)}
.yarda__foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}
.yarda__foto:hover img{transform:scale(1.05)}
.yarda__foto--a{left:0;top:0;width:82%;height:72%;clip-path:polygon(0 0, 100% 0, 90% 100%, 0 100%)}
.yarda__foto--b{right:0;bottom:0;width:52%;height:52%;clip-path:polygon(16% 0, 100% 0, 100% 100%, 0 100%);border:0}
.yarda__sello{
  position:absolute;left:6%;bottom:6%;margin:0;display:flex;align-items:flex-end;gap:12px;
  background:#fff;padding:14px 22px;box-shadow:var(--sombra);
}
.yarda__sello b{font-family:var(--titulo);font-style:italic;font-weight:900;font-size:clamp(3rem, 5vw, 4.6rem);line-height:.85}
.yarda__sello span{font-family:var(--titulo);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta);padding-bottom:6px;max-width:9ch;line-height:1.3}
.yarda h2{margin-bottom:clamp(28px, 4vw, 44px)}
.bloque{padding:clamp(22px, 3vw, 32px) 0;border-top:1px solid var(--plata-200)}
.bloque h3{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:clamp(1.4rem, 2.2vw, 1.9rem);color:var(--rey);margin-bottom:10px}
.bloque > p{color:var(--tinta-2)}
.marcas{margin-top:16px;display:grid;gap:8px}
.marcas li{position:relative;padding-left:30px;font-weight:600}
.marcas li::before{content:"";position:absolute;left:0;top:.62em;width:18px;height:6px;background:var(--rey);transform:skewX(var(--sesgo))}
.fichas{display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;margin-top:18px}
.fichas li{background:#fff;padding:16px 16px 14px;border-top:3px solid var(--rey)}
.fichas b{display:block;font-family:var(--titulo);font-style:italic;font-weight:900;font-size:2.2rem;line-height:1;color:var(--tinta)}
.fichas span{display:block;margin-top:6px;font-size:13.5px;color:var(--tinta-2);line-height:1.35}

/* ---------- Seguridad ---------- */
.seguridad{
  position:relative;overflow:hidden;color:#fff;padding:clamp(90px, 11vw, 160px) 0;
  background:
    radial-gradient(70% 60% at 20% 40%, rgba(10,58,168,.38), transparent 70%),
    linear-gradient(180deg, var(--noche) 0%, var(--noche-2) 100%);
}
.seguridad::before{
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 44px 44px,
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px) 0 0 / 44px 44px;
}
.seguridad .envoltura{position:relative}
.seguridad__grid{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:clamp(40px, 6vw, 90px);align-items:center}
.radar{
  position:relative;width:min(100%, 440px);aspect-ratio:1;margin-inline:auto;border-radius:50%;overflow:hidden;
  background:
    radial-gradient(circle, transparent 0 24%, rgba(154,161,171,.28) 24.3% 24.8%, transparent 25.1% 49%, rgba(154,161,171,.28) 49.3% 49.8%, transparent 50.1% 74%, rgba(154,161,171,.28) 74.3% 74.8%, transparent 75.1%),
    linear-gradient(90deg, transparent 49.8%, rgba(154,161,171,.22) 49.8% 50.2%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(154,161,171,.22) 49.8% 50.2%, transparent 50.2%),
    radial-gradient(circle, rgba(10,58,168,.4), rgba(5,13,36,.2) 70%);
  border:1.5px solid rgba(154,161,171,.45);box-shadow:0 0 80px -10px rgba(27,79,208,.5), inset 0 0 60px rgba(27,79,208,.25);
}
.radar__barrido{
  position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg, rgba(27,79,208,0) 0deg, rgba(27,79,208,0) 290deg, rgba(90,140,255,.55) 356deg, rgba(200,220,255,.9) 360deg);
  animation:barrido 4.5s linear infinite;
}
@keyframes barrido{to{transform:rotate(360deg)}}
.radar__eco{
  position:absolute;left:var(--x);top:var(--y);width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:#fff;
  box-shadow:0 0 12px 3px rgba(120,170,255,.9);animation:eco 4.5s ease-out infinite;animation-delay:var(--d, 0s);
}
@keyframes eco{0%, 8%{opacity:0;transform:scale(.4)}14%{opacity:1;transform:scale(1.3)}60%{opacity:.6;transform:scale(1)}100%{opacity:0}}
.radar__centro{
  position:absolute;left:50%;top:50%;transform:translate(-50%, -50%);text-align:center;
  font-family:var(--titulo);font-style:italic;font-weight:900;font-size:clamp(2.2rem, 4vw, 3.2rem);line-height:.9;
  background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.radar__centro small{display:block;font-size:.4em;letter-spacing:.1em}
.rasgos{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(154,161,171,.22);border:1px solid rgba(154,161,171,.22)}
.rasgo{background:rgba(5,13,36,.82);padding:clamp(22px, 2.6vw, 32px);transition:background .35s}
.rasgo:hover{background:rgba(10,58,168,.55)}
.rasgo svg{width:32px;height:32px;color:#fff;margin-bottom:16px}
.rasgo h3{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:clamp(1.15rem, 1.6vw, 1.4rem);margin-bottom:6px}
.rasgo p{color:var(--plata-200);font-size:15px}
.oea{
  display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:clamp(40px, 5vw, 64px);
  padding:22px clamp(20px, 3vw, 34px);border:1.5px dashed rgba(154,161,171,.55);
}
.oea__estado{
  position:relative;isolation:isolate;padding:7px 18px;flex:none;
  font-family:var(--titulo);font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--noche);
}
.oea__estado::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--metal);transform:skewX(var(--sesgo))}
.oea p{margin:0;color:var(--plata-200)}
.oea b{color:#fff;margin-right:6px}

/* ---------- Clientes ---------- */
.clientes{background:#fff;padding:clamp(80px, 10vw, 140px) 0}
.clientes__lista{display:grid;grid-template-columns:repeat(3, 1fr);gap:clamp(12px, 2vw, 24px)}
.clientes__lista li{
  position:relative;display:grid;place-items:center;aspect-ratio:16/9;padding:clamp(22px, 3vw, 40px);
  background:var(--plata-50);border:1px solid var(--plata-100);transition:background .35s, border-color .35s;
}
.clientes__lista li::after{
  content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--rey);
  transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.6,0,.2,1);
}
.clientes__lista li:hover{background:#fff;border-color:var(--plata-200)}
.clientes__lista li:hover::after{transform:scaleX(1)}
.clientes__lista img{width:100%;height:100%;object-fit:contain;opacity:.72;transition:opacity .35s}
.clientes__lista li:hover img{opacity:1}
.nota{margin-top:18px;font-size:12.5px;color:var(--plata-600);text-align:center}

/* ---------- Nosotros ---------- */
.nosotros{background:var(--plata-50);padding:clamp(80px, 10vw, 150px) 0}
.nosotros__grid{display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:clamp(36px, 6vw, 90px);align-items:start}
.nosotros h2{margin-bottom:24px}
.nosotros__intro > p{color:var(--tinta-2);max-width:44ch}
.pestanas__botones{position:relative;display:flex;border-bottom:1px solid var(--plata-200)}
.pestanas__botones button{
  flex:1;border:0;background:none;padding:18px 10px 16px;
  font-family:var(--titulo);font-style:italic;font-weight:800;font-size:clamp(1.05rem, 1.6vw, 1.35rem);letter-spacing:.02em;color:var(--plata-600);transition:color .3s;
}
.pestanas__botones button[aria-selected="true"]{color:var(--rey)}
.pestanas__indicador{
  position:absolute;left:0;bottom:-2px;height:4px;width:calc(100% / 3);background:var(--rey);
  transform:translateX(calc(var(--tab, 0) * 100%)) skewX(var(--sesgo));transition:transform .45s cubic-bezier(.6,0,.2,1);
}
.panel{padding-top:clamp(18px, 2.5vw, 28px)}
.panel.entrando{animation:entrar .5s ease}
@keyframes entrar{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.lista-def{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(20px, 3vw, 44px)}
.lista-def > div{padding:18px 0;border-bottom:1px solid var(--plata-200)}
.lista-def dt{font-family:var(--titulo);font-weight:700;font-size:1.08rem;color:var(--tinta);margin-bottom:4px}
.lista-def dd{margin:0;color:var(--tinta-2);font-size:15.5px}

/* ---------- Contacto ---------- */
.contacto{
  position:relative;overflow:hidden;color:#fff;padding:clamp(100px, 12vw, 170px) 0 clamp(80px, 10vw, 140px);
  background:linear-gradient(125deg, var(--rey-900) 0%, var(--rey) 70%, var(--rey-600) 100%);
  clip-path:polygon(0 0, 100% clamp(30px, 6vw, 90px), 100% 100%, 0 100%);margin-top:calc(-1 * clamp(30px, 6vw, 90px));
}
.contacto::before{
  content:"";position:absolute;left:-10%;bottom:-30%;width:60%;height:120%;pointer-events:none;
  background:repeating-linear-gradient(90deg, rgba(255,255,255,.05) 0 3px, transparent 3px 26px);transform:skewX(var(--sesgo));
}
.contacto__grid{position:relative;display:grid;grid-template-columns:minmax(0, 5fr) minmax(0, 7fr);gap:clamp(36px, 6vw, 90px);align-items:start}
.contacto h2{color:#fff;margin-bottom:20px}
.contacto__info > p{color:var(--plata-100);max-width:42ch}
.datos{margin-top:30px;display:grid;gap:18px}
.datos li{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.datos svg{width:26px;height:26px;margin-top:4px}
.datos span{display:block;font-family:var(--titulo);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--plata-200)}
.datos a,.datos address{color:#fff;font-weight:600;font-size:1.05rem;text-decoration:none}
.datos a:hover{text-decoration:underline}
.mapa{margin-top:30px;aspect-ratio:16/10;background:var(--rey-900);border:1px solid rgba(255,255,255,.25)}
.mapa iframe{width:100%;height:100%;border:0;filter:grayscale(.35) contrast(1.05)}

.formulario{
  display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#fff;color:var(--tinta);
  padding:clamp(24px, 4vw, 50px);box-shadow:0 40px 80px -40px rgba(0,0,0,.6);position:relative;
}
.formulario::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:var(--metal)}
.campo label{display:block;margin-bottom:8px;font-family:var(--titulo);font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2)}
.campo input,.campo select,.campo textarea{
  width:100%;font:inherit;font-size:16px;color:var(--tinta);padding:13px 14px;border-radius:0;
  background:var(--plata-50);border:1px solid var(--plata-200);border-bottom:2px solid var(--plata-400);transition:border-color .2s, background .2s;
}
.campo select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--rey) 50%), linear-gradient(135deg, var(--rey) 50%, transparent 50%);background-position:calc(100% - 20px) 55%, calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.campo textarea{resize:vertical;min-height:110px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;background-color:#fff;border-color:var(--plata-200);border-bottom-color:var(--rey)}
.campo--ancho{grid-column:1 / -1}
.formulario .boton{grid-column:1 / -1;margin-top:6px}
.formulario__error{grid-column:1 / -1;margin:0;color:#B3261E;font-weight:600;font-size:14px}

/* ---------- Pie ---------- */
.pie{background:var(--noche);color:var(--plata-200);padding:clamp(70px, 8vw, 110px) 0 0}
.pie__grid{display:grid;grid-template-columns:5fr 3fr 4fr;gap:clamp(28px, 5vw, 70px)}
.pie__logo{display:inline-block;background:#fff;padding:18px 26px;clip-path:polygon(6% 0, 100% 0, 94% 100%, 0 100%)}
.pie__logo img{width:220px;height:auto}
.pie__marca p{margin-top:22px;max-width:40ch;font-size:15px}
.pie__nav{display:grid;gap:10px;align-content:start}
.pie__nav a{color:#fff;text-decoration:none;font-family:var(--titulo);font-weight:600;letter-spacing:.02em}
.pie__nav a:hover{color:var(--plata-400)}
.pie__contacto p{margin-bottom:10px;font-size:15px}
.pie__contacto a{color:#fff;font-weight:600;text-decoration:none}
.pie__base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 30px;margin-top:clamp(48px, 6vw, 80px);padding:22px 0;border-top:1px solid rgba(255,255,255,.1);font-size:13.5px}
.pie__base p{margin:0}
.pie__base a{color:#fff;font-weight:700}

.wa-flotante{
  position:fixed;right:20px;bottom:20px;z-index:90;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:var(--wa);color:#fff;box-shadow:0 12px 28px -10px rgba(0,0,0,.5);transition:transform .3s;
}
.wa-flotante svg{width:30px;height:30px}
.wa-flotante:hover{transform:scale(1.08)}

/* ---------- Revelado ---------- */
.revelar{opacity:0;transform:translateY(28px);transition:opacity .9s ease, transform .9s cubic-bezier(.2,.6,.2,1)}
.revelar.visible{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  .barra__nav{gap:14px}
  .barra__nav a{font-size:13px}
  .barra__tel span{display:none}
}

@media (max-width:1100px){
  .cifras__lista{grid-template-columns:repeat(2, 1fr);row-gap:48px}
  .cifra:nth-child(3){padding-left:0}
  .cifra:nth-child(3)::before{display:none}
  .frase{grid-template-columns:50px minmax(0, 1fr)}
  .frase__texto{grid-column:2}
  .seguridad__grid{grid-template-columns:1fr}
  .radar{width:min(80%, 380px)}
  .pie__grid{grid-template-columns:1fr 1fr}
  .pie__marca{grid-column:1 / -1}
}

@media (max-width:860px){
  :root{--hdr:70px}
  .barra__burger{display:block}
  .barra__nav{
    position:fixed;top:var(--hdr);left:0;right:0;margin:0;flex-direction:column;gap:0;background:#fff;
    padding:6px var(--gut) 18px;border-bottom:1px solid var(--plata-100);box-shadow:0 24px 40px -24px rgba(5,13,36,.35);
    visibility:hidden;transform:translateY(-8px);opacity:0;transition:transform .25s, opacity .2s, visibility 0s .25s;
    max-height:calc(100svh - var(--hdr));overflow-y:auto;
  }
  .barra__nav.abierto{transition:transform .25s, opacity .2s, visibility 0s}
  .barra__nav.abierto{opacity:1;visibility:visible;transform:none}
  .barra__nav a{font-size:18px;padding:13px 0;border-bottom:1px solid var(--plata-100)}
  .barra__nav a::after{display:none}
  .barra__acciones{margin-left:auto}
  .barra--compacta{height:var(--hdr)}
  .barra__logo img,.barra--compacta .barra__logo img{height:44px}

  .portada{min-height:calc(100svh - var(--hdr))}
  .portada__velocidad{display:none}
  .tramos{grid-template-columns:repeat(3, 1fr);gap:14px}
  .tramos__pill{grid-column:1 / -1;justify-self:start;order:-1}
  .tramo__t{font-size:12px;letter-spacing:.1em}

  .cabeza--fila{grid-template-columns:1fr;align-items:start}
  .cabeza--fila .cabeza__bajada{margin-top:0}

  .indice__fila{grid-template-columns:44px minmax(0, 1fr) 96px;row-gap:6px}
  .indice__t{grid-column:2}
  .indice__d{grid-column:2;font-size:15px}
  .indice__mini{display:block;grid-column:3;grid-row:1 / span 2;width:96px;height:72px;object-fit:cover;clip-path:polygon(14% 0, 100% 0, 86% 100%, 0 100%)}
  .indice__n{grid-row:1 / span 2;align-self:start;padding-top:4px}
  .vista{display:none}

  .carretera__asfalto{display:none}
  .carretera__paradas{grid-template-columns:1fr;margin-top:0;gap:0;padding-left:34px;position:relative}
  .carretera__paradas::before{
    content:"";position:absolute;left:10px;top:18px;bottom:18px;width:6px;
    background:repeating-linear-gradient(180deg, #fff 0 18px, transparent 18px 32px);opacity:.6;
  }
  .parada{padding:0 0 30px 18px;opacity:1;transform:none}
  .parada__punto{left:-31px;top:4px}
  .parada--origen .parada__punto{left:-33px;top:2px}
  .parada__eti{margin-top:0}

  .lb__columnas{grid-template-columns:1fr}
  .lb__col,.lb__col + .lb__col{padding:0 0 26px;border-left:0}
  .lb__col + .lb__col{padding-top:26px;border-top:1px solid var(--plata-200)}
  .lb__flecha{width:clamp(50px, 14vw, 90px)}

  .yarda__grid{grid-template-columns:1fr}
  .yarda__fotos{min-height:clamp(320px, 80vw, 520px)}
  .nosotros__grid,.contacto__grid{grid-template-columns:1fr}
  .rasgos{grid-template-columns:1fr 1fr}
  .clientes__lista{grid-template-columns:1fr 1fr 1fr}
}

@media (max-width:540px){
  .idioma button{padding:6px 8px}
  .barra__acciones{gap:8px}
  .portada__titulo{font-size:clamp(2.5rem, 12vw, 3.4rem)}
  .boton{padding:14px 26px;font-size:14px}
  .tramo{grid-template-columns:1fr}
  .tramo__n{display:none}
  .cifra{padding:0 10px}
  .cifra__n{font-size:clamp(3.8rem, 20vw, 5rem)}
  .cifra__t{font-size:12px;letter-spacing:.08em}
  .cifras__extra li{font-size:14px}
  .frase{grid-template-columns:1fr;gap:6px}
  .frase__texto{grid-column:1}
  .frase__n{font-size:15px}
  .frase--contorno .frase__grande{-webkit-text-stroke-width:1.5px}
  .indice__fila{grid-template-columns:34px minmax(0, 1fr) 76px}
  .indice__mini{width:76px;height:60px}
  .rasgos{grid-template-columns:1fr}
  .fichas{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .fichas li{padding:12px 10px}
  .fichas b{font-size:1.7rem}
  .fichas span{font-size:12.5px}
  .clientes__lista{grid-template-columns:1fr;max-width:340px;margin-inline:auto}
  .lista-def{grid-template-columns:1fr}
  .formulario{grid-template-columns:1fr}
  .pie__grid{grid-template-columns:1fr}
  .pie__base{flex-direction:column}
  .wa-flotante{width:52px;height:52px;right:14px;bottom:14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .cuadro img,.cuadro.activo img{transform:none}
  .revelar,.parada{opacity:1;transform:none}
  .enfoque.animable .frase__grande{opacity:1;transform:none}
  .carretera__avance{transform:scaleX(1)}
}

/* =========================================================
   Sitio final · secciones nuevas (8 páginas, ES/EN)
   ========================================================= */

/* ---------- barra: selector de idioma como enlaces ---------- */
.idioma a{
  position:relative;isolation:isolate;display:inline-block;padding:7px 10px;text-decoration:none;
  font-family:var(--titulo);font-size:12.5px;font-weight:800;letter-spacing:.08em;color:var(--plata-600);
}
.idioma a::before{content:"";position:absolute;inset:0;z-index:-1;transform:skewX(var(--sesgo));border:1px solid var(--plata-200)}
.idioma a.activo{color:#fff;pointer-events:none}
.idioma a.activo::before{background:var(--rey);border-color:var(--rey)}
.barra__nav a[aria-current="page"]{color:var(--rey)}
.barra__nav a[aria-current="page"]::after{transform:skewX(var(--sesgo)) scaleX(1)}

/* ---------- portadilla (páginas interiores) ---------- */
.portadilla{
  position:relative;overflow:hidden;margin-top:var(--hdr);color:#fff;background:var(--noche);
  padding:clamp(70px, 10vw, 130px) 0 clamp(60px, 8vw, 110px);display:flex;align-items:center;min-height:min(62svh, 620px);
}
.portadilla__fondo{position:absolute;inset:0}
.portadilla__fondo img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);animation:respira 18s ease-in-out infinite alternate}
@keyframes respira{to{transform:scale(1.13)}}
.portadilla::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg, rgba(5,13,36,.94) 0%, rgba(6,32,94,.78) 52%, rgba(6,32,94,.42) 100%);
}
.portadilla__in{position:relative;z-index:2}
.portadilla h1{
  font-family:var(--titulo);font-style:italic;font-weight:900;font-stretch:110%;
  font-size:clamp(2.3rem, 4.8vw, 4.6rem);line-height:.98;letter-spacing:-.015em;max-width:18ch;text-wrap:balance;
}
.portadilla h1 em{font-style:italic;background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.portadilla__bajada{margin:22px 0 0;max-width:52ch;font-size:clamp(1rem, .45vw + .9rem, 1.18rem);color:var(--plata-100)}
.portadilla .portada__cta{margin-top:30px}
.migas{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;font-size:13px;color:var(--plata-300)}
.migas a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.migas a:hover{border-color:#fff}
.migas span[aria-hidden]{color:var(--plata-400)}

/* ---------- cifras: pie de cada cifra ---------- */
.cifra__p{display:block;margin-top:6px;font-size:13px;color:var(--plata-300);letter-spacing:.02em}

/* ---------- índice de servicios: enlaces ---------- */
.indice__t a{text-decoration:none;color:inherit}
.indice__t a::after{content:"";position:absolute;inset:0}
@media (hover:hover){.indice__fila:hover .indice__t a{color:#fff}}

/* ---------- split (imagen + texto) ---------- */
.split{padding:clamp(70px, 9vw, 140px) 0;background:#fff}
.split:nth-of-type(even){background:var(--plata-50)}
.split__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px, 6vw, 90px);align-items:center}
.split--right .split__foto{order:2}
.split__foto{margin:0;overflow:hidden;box-shadow:var(--sombra);clip-path:polygon(0 0, 100% 0, 96% 100%, 0 100%)}
.split--right .split__foto{clip-path:polygon(4% 0, 100% 0, 100% 100%, 0 100%)}
.split__foto img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;transition:transform 1.4s cubic-bezier(.2,.6,.2,1)}
.split__foto:hover img{transform:scale(1.04)}
.split__texto h2{
  font-family:var(--titulo);font-style:italic;font-weight:800;font-stretch:108%;
  font-size:clamp(1.9rem, 3.4vw, 3.1rem);line-height:1.02;color:var(--tinta);margin-bottom:20px;max-width:18ch;
}
.split__texto h2 em{font-style:italic;color:var(--rey)}
.split__texto p{color:var(--tinta-2);max-width:52ch}
.split--oscura{background:var(--noche);color:#fff}
.split--oscura .split__texto h2{color:#fff}
.split--oscura .split__texto h2 em{background:var(--metal);-webkit-background-clip:text;background-clip:text;color:transparent}
.split--oscura .split__texto p{color:var(--plata-200)}
.split--oscura .marcas li{color:#fff}
.split--oscura .fichas li{background:rgba(255,255,255,.07);border-top-color:var(--plata-400)}
.split--oscura .fichas b{color:#fff}
.split--oscura .fichas span{color:var(--plata-200)}

/* ---------- tarjetas ---------- */
.tarjetas{padding:clamp(70px, 9vw, 130px) 0;background:#fff}
.tarjetas__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:1px;background:var(--plata-200);border:1px solid var(--plata-200)}
.tarjeta{background:#fff;padding:clamp(24px, 3vw, 36px);transition:background .35s, transform .35s}
.tarjeta:hover{background:var(--plata-50)}
.tarjeta svg{width:30px;height:30px;color:var(--rey);margin-bottom:16px}
.tarjeta h3{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:1.25rem;margin-bottom:8px;color:var(--tinta)}
.tarjeta p{color:var(--tinta-2);font-size:15.5px}

/* ---------- pasos ---------- */
.pasos{padding:clamp(70px, 9vw, 130px) 0;background:var(--plata-50)}
.pasos__grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));gap:clamp(18px, 2.4vw, 30px);counter-reset:paso}
.paso{position:relative;padding:28px 22px 26px;background:#fff;border-top:3px solid var(--rey)}
.paso__n{
  display:block;font-family:var(--titulo);font-style:italic;font-weight:900;font-size:2.4rem;line-height:1;
  background:var(--metal-oscuro);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:12px;
}
.paso h3{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:1.15rem;margin-bottom:8px;color:var(--rey)}
.paso p{color:var(--tinta-2);font-size:15px}

/* ---------- galería ---------- */
.galeria{padding:0 0 clamp(70px, 9vw, 130px);background:var(--plata-50)}
.galeria__grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:12px}
.galeria__item{margin:0;overflow:hidden;aspect-ratio:4/3}
.galeria__item img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.galeria__item:hover img{transform:scale(1.05)}

/* ---------- llamado final ---------- */
.cta{
  position:relative;overflow:hidden;color:#fff;padding:clamp(70px, 9vw, 120px) 0;
  background:
    repeating-linear-gradient(-78deg, rgba(255,255,255,.04) 0 2px, transparent 2px 24px),
    linear-gradient(120deg, var(--rey-900) 0%, var(--rey) 60%, var(--rey-600) 100%);
}
.cta__in{text-align:center;max-width:44ch;margin-inline:auto}
.cta h2{font-family:var(--titulo);font-style:italic;font-weight:800;font-size:clamp(1.9rem, 3.6vw, 3rem);line-height:1.04;margin-bottom:14px}
.cta p{color:var(--plata-100)}
.cta__botones{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:28px}

/* ---------- enlace bajo las rutas ---------- */
.ensenada__link{margin-top:clamp(30px, 4vw, 48px)}
.ensenada__link .boton--linea{color:#fff}

/* ---------- mapa a lo ancho ---------- */
.mapa-seccion{background:var(--plata-50);padding:0 0 clamp(60px, 7vw, 100px)}
.mapa-seccion .mapa{width:min(1280px, 100% - 2 * var(--gut));margin:0 auto;aspect-ratio:21/9;border:1px solid var(--plata-200);background:#fff}
.mapa-seccion .mapa iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05)}

/* ---------- logos de clientes en PNG ---------- */
.clientes__lista img{max-height:70px}

@media (max-width:860px){
  .split__grid{grid-template-columns:1fr}
  .split--right .split__foto{order:0}
  .split__foto,.split--right .split__foto{clip-path:polygon(0 0, 100% 0, 100% 96%, 0 100%)}
  .galeria__grid{grid-template-columns:1fr 1fr}
  .galeria__item:first-child{grid-column:1 / -1}
  .portadilla{min-height:0}
  .mapa-seccion .mapa{aspect-ratio:4/3}
}

@media (max-width:540px){
  .tarjetas__grid,.pasos__grid{grid-template-columns:1fr}
  .galeria__grid{grid-template-columns:1fr}
  .migas{font-size:12px}
}

@media (prefers-reduced-motion:reduce){
  .portadilla__fondo img{animation:none}
}
