/* GRAN TORINO v6 — imitación medida de CarRepair (webdesign-finder.com/carrepair, ThemeREX):
   fondos #262626 / #1B1B1B / #000915 · texto Open Sans 300-400 16/26 #A7A7A7 · titulares Poppins 600
   MAYÚSCULAS (H1 50 / H2 40 / eyebrow 29 de 300 / H4 18) · azul #026DFE · radio 2 px · botón fantasma
   borde azul 2 px, padding 13×38, texto blanco 14/600 · cabecera: barra de datos + menú 90 px.
   Contrastes calculados antes: #A7A7A7 sobre #262626 6,9 y sobre #1B1B1B 7,2 · blanco sobre #262626
   15,6 · blanco sobre azul #026DFE 4,56 · azul CLARO #5CA5FF sobre #262626 6,4 (el azul #026DFE como
   texto sobre oscuro da 3,6: PROHIBIDO como texto pequeño) · #1B1B1B sobre blanco 16,9. */
:root{
  --fondo:#262626; --fondo2:#1B1B1B; --profundo:#000915; --panel:#2E2E2E; --linea:#3A3A3A;
  --marino:#010F1F; /* = lo que PINTA Chromium con estos webp (1,15,31), medido en vivo a 3 alturas. blanco ~19 · #A7A7A7 ~8,4 */
  --blanco:#fff; --texto:#A7A7A7; --texto2:rgba(255,255,255,.7);
  --azul:#026DFE; --azul-osc:#0257CB; --azul-claro:#5CA5FF;
  --apagado-bg:#4A4A4A; --apagado-txt:#9A9A9A;
  --fp:'Poppins',sans-serif; --fo:'Open Sans',sans-serif;
  --ancho:1170px; --pad:100px; --radio:2px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font:300 16px/26px var(--fo);color:var(--texto);background:var(--fondo)}
img{max-width:100%;display:block}img[width]{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--fp);font-weight:600;text-transform:uppercase;color:var(--blanco);line-height:1.1}
h1{font-size:clamp(34px,3.8vw,50px)}
h2{font-size:clamp(28px,3vw,40px)}
h3{font-size:clamp(19px,1.7vw,22px);line-height:1.25}
h4{font-size:18px;line-height:1.25}
p{max-width:66ch}
.cont{width:min(var(--ancho),calc(100% - 48px));margin:0 auto;position:relative}
.blq{padding:var(--pad) 0;position:relative}
.blq.b2{background:var(--fondo2)}
.blq.foto{background-size:cover;background-position:center;background-color:var(--profundo)}
.blq.foto::before{content:"";position:absolute;inset:0;background:rgba(0,9,21,.78)}
.blq.foto>.cont{z-index:1}
.eyebrow{display:block;font-family:var(--fp);font-weight:300;font-size:clamp(20px,2vw,29px);text-transform:uppercase;color:var(--blanco);letter-spacing:1px;margin-bottom:6px}
.mini{display:inline-block;font-family:var(--fp);font-weight:600;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--azul-claro);margin-bottom:12px}
.cab{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:46px;flex-wrap:wrap}
.cab p{margin-top:12px}
.centrada{text-align:center}
.centrada p{margin:12px auto 0}
.raya{width:56px;height:3px;background:var(--azul);display:inline-block;margin:14px 0 0;box-shadow:0 0 12px rgba(2,109,254,.8),0 0 30px rgba(2,109,254,.4)}

/* PRUEBA v6.7 — sección blanca y neón. Contrastes calculados antes:
   sobre BLANCO: tinta #1B1B1B 16,9 · texto #555 7,5 · azul #026DFE 4,56 (≥4,5 ok) · PROHIBIDO azul-claro sobre blanco (2,4).
   Neón: el halo (text-shadow/box-shadow) no toca el ratio: el trazo sigue siendo blanco sobre oscuro. */
.blq.blanca{background:#fff;color:#555}
.blq.blanca h1,.blq.blanca h2,.blq.blanca h3,.blq.blanca h4{color:#1B1B1B}
.blq.blanca .mini{color:var(--azul)}
.blq.blanca .logos .marca{border-color:#E4E4E4}
.blq.blanca .logos .marca:hover{border-color:var(--azul);background:rgba(2,109,254,.05)}
.blq.blanca .logos img{filter:brightness(0) opacity(.62)}
.blq.blanca .logos .marca:hover img{filter:brightness(0) opacity(.95)}
.neon-fondo{background:var(--fondo2) !important;background-image:radial-gradient(640px 320px at 12% 18%,rgba(2,109,254,.16),transparent 70%),radial-gradient(640px 320px at 88% 85%,rgba(2,109,254,.13),transparent 70%) !important}

/* Botones medidos: fantasma borde azul 2 px, radio 2, 13×38, Poppins 14/600 mayúsculas, texto blanco */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:transparent;color:var(--blanco);font-family:var(--fp);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:13px 38px;border:2px solid var(--azul);border-radius:var(--radio);transition:background .2s,border-color .2s;line-height:1.3}
.btn:hover{background:var(--azul);box-shadow:0 0 20px rgba(2,109,254,.55),0 0 46px rgba(2,109,254,.25)}
.btn.lleno{background:var(--azul)}
.btn.lleno:hover{background:var(--azul-osc);border-color:var(--azul-osc);box-shadow:0 0 20px rgba(2,109,254,.55),0 0 46px rgba(2,109,254,.25)}
.btn.blanco{border-color:var(--blanco)}
.btn.blanco:hover{background:var(--blanco);color:var(--fondo2)}
.btn:disabled,.btn.apagado{border-color:var(--apagado-bg);background:transparent;color:var(--apagado-txt);cursor:not-allowed;pointer-events:none}
.enlace{font-family:var(--fp);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--azul-claro);display:inline-flex;align-items:center;gap:8px}
.enlace::after{content:"→";transition:transform .2s}
.enlace:hover::after{transform:translateX(5px)}

/* Cabecera: UN solo menú, limpia (regla de la casa: nunca doble menú) */
.top{position:sticky;top:0;z-index:60;background:rgba(16,16,16,.92);backdrop-filter:blur(10px);height:84px;border-bottom:1px solid rgba(255,255,255,.08)}
.top .cont{display:flex;align-items:center;justify-content:space-between;height:100%}
.logo{display:flex;align-items:center;gap:14px;color:var(--blanco)}
.logo img{height:54px;width:auto}
.logo b{font-family:var(--fp);font-weight:700;font-size:19px;letter-spacing:2.5px;text-transform:uppercase;line-height:1;display:block}
.nav{display:flex;gap:2px;align-items:center}
.nav a{font-family:var(--fp);font-size:13px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;color:#C9C9C9;padding:8px 13px;position:relative;transition:color .15s}
.nav a::after{content:"";position:absolute;left:13px;right:13px;bottom:2px;height:2px;background:var(--azul);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav a:hover{color:var(--blanco)}
.nav a.aqui{color:var(--blanco)}
.nav a.aqui::after,.nav a:hover::after{transform:scaleX(1)}
.nav .btn{margin-left:16px;padding:11px 24px;font-size:13px;color:var(--blanco)}
.nav .btn::after{display:none}
.burger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;gap:6px;align-items:flex-end}
.burger span{width:26px;height:2px;background:var(--blanco);display:block;transition:.2s}
.burger.x span:nth-child(1){transform:translateY(8px) rotate(45deg)}.burger.x span:nth-child(2){opacity:0}.burger.x span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* Hero deslizante 664 px (medido): eyebrow 29/300 + título 44/600 + botón fantasma */
.hero-s{position:relative;height:664px;overflow:hidden;background:var(--profundo)}
.hero-s .lamina{position:absolute;inset:0;opacity:0;transition:opacity .9s;background-size:cover;background-position:center}
.hero-s .lamina::before{content:"";position:absolute;inset:0;background:rgba(0,9,21,.66)}
.hero-s .lamina.on{opacity:1}
.hero-s .cont{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;z-index:2}
.hero-s .insignia{height:190px;width:auto;margin-bottom:26px;transform:translateY(16px);opacity:0;transition:.7s .1s;filter:drop-shadow(0 8px 30px rgba(0,0,0,.5))}
.hero-s .eyebrow{font-size:29px;font-weight:300;letter-spacing:-1.5px;margin-bottom:0;transform:translateY(16px);opacity:0;transition:.7s .2s}
.hero-s h1{font-size:44px;letter-spacing:-2.2px;max-width:22ch;transform:translateY(16px);opacity:0;transition:.7s .35s}
.hero-s .btn{margin-top:34px;font-size:16px;transform:translateY(16px);opacity:0;transition:.7s .5s}
.hero-s .lamina.on .eyebrow,.hero-s .lamina.on h1,.hero-s .lamina.on .btn,.hero-s .lamina.on .insignia{transform:none;opacity:1}
.hero-s .lamina .cont{position:relative}
.hero-s .puntos{position:absolute;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:14px;z-index:3}
.hero-s .puntos button{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.35);padding:0;box-shadow:0 0 0 0 transparent;transition:background .2s,box-shadow .2s}
.hero-s .puntos button.on{background:var(--azul);box-shadow:0 0 0 4px rgba(2,109,254,.3)}
.hero-s .flecha{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border:2px solid rgba(255,255,255,.4);border-radius:var(--radio);color:var(--blanco);font-size:18px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}
.hero-s .flecha:hover{border-color:var(--azul);background:var(--azul)}
.hero-s .flecha.izq{left:22px}.hero-s .flecha.der{right:22px}

/* Rasgos (25 Years Reputation…): icono + H4 18 + texto */
.rasgos{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.rasgo{display:flex;gap:20px;align-items:flex-start}
.rasgo svg{width:52px;height:52px;stroke:var(--azul-claro);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none;margin-top:4px}
.rasgo h4{margin-bottom:8px}
.rasgo p{font-size:15px;line-height:24px}

/* Servicios (rejilla de tarjetas oscuras) */
.rejilla{display:grid;gap:30px}
.rejilla.c3{grid-template-columns:repeat(3,1fr)}
.rejilla.c4{grid-template-columns:repeat(4,1fr)}
.serv{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:34px 30px;display:flex;flex-direction:column;gap:12px;transition:transform .2s,border-color .2s}
.serv:hover{transform:translateY(-6px);border-color:var(--azul)}
.blq.b2 .serv{background:var(--fondo)}
.serv .ico{width:54px;height:54px;display:flex;align-items:center;justify-content:center;border:2px solid var(--azul);border-radius:var(--radio);margin-bottom:6px}
.serv .ico svg{width:28px;height:28px;stroke:var(--blanco);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.serv:hover .ico{background:var(--azul)}
.serv p{font-size:15px;line-height:24px;flex:1}
.serv .precio{font-family:var(--fp);font-weight:600;color:var(--azul-claro);font-size:15px;text-transform:uppercase;letter-spacing:1px}

/* DESPIECE: la ficha técnica en blanco sobre el taller oscuro */
.despiece{height:440vh;background:var(--marino)}
.despiece .pegado{position:sticky;top:0;height:100vh;overflow:hidden}
.despiece .marco{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:min(94vw,1280px);aspect-ratio:16/9;max-height:72vh}
.despiece canvas{position:absolute;inset:0;width:100%;height:100%;display:block;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);
  mask-composite:intersect}
.despiece .velo{display:none}
.despiece .titulo{position:absolute;left:0;right:0;top:84px;pointer-events:none;z-index:1}
.despiece .titulo p{color:var(--texto);margin-top:10px;max-width:52ch;transition:opacity .4s}
.despiece.acabado .titulo p{opacity:0}
.despiece .fases{position:absolute;left:0;top:56%;transform:translateY(-50%);width:min(380px,38vw);pointer-events:none;z-index:2}
.fase{position:absolute;left:0;top:0;width:100%;opacity:0;transform:translateY(14px);transition:opacity .35s,transform .35s;background:var(--fondo2);border:1px solid #12325C;border-left:4px solid var(--azul);border-radius:var(--radio);padding:24px 28px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.fase.on{opacity:1;transform:none}
.fase .n{font-family:var(--fp);font-size:12px;font-weight:600;letter-spacing:2px;color:var(--azul-claro)}
.fase b{display:block;font-family:var(--fp);font-size:22px;font-weight:600;text-transform:uppercase;color:var(--blanco);line-height:1.2;margin:8px 0 6px}
.fase small{display:block;color:var(--texto);font-size:14px;line-height:1.5}
.fase .h{display:inline-block;margin-top:12px;background:var(--azul);color:var(--blanco);font-family:var(--fp);font-size:12px;font-weight:500;letter-spacing:1px;text-transform:uppercase;padding:6px 12px;border-radius:var(--radio);box-shadow:0 0 14px rgba(2,109,254,.5)}
.despiece .barra{position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--linea)}
.despiece .barra i{display:block;height:100%;width:0;background:var(--azul);box-shadow:0 0 12px rgba(2,109,254,.9)}
.despiece .pista{position:absolute;left:0;bottom:34px;font-family:var(--fp);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--texto2);display:flex;align-items:center;gap:14px;transition:opacity .4s;z-index:1}
.despiece .pista::before{content:"";width:2px;height:36px;background:var(--azul);animation:baja 1.6s infinite}
.despiece.rodando .pista,.despiece.acabado .pista{opacity:0}
@keyframes baja{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.despiece .cargando{position:absolute;right:0;bottom:34px;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--texto)}
.despiece .fin{position:absolute;left:0;bottom:30px;opacity:0;transition:opacity .4s;pointer-events:none;z-index:2}
.despiece.acabado .fin{opacity:1;pointer-events:auto}
.despiece .capa{position:absolute;inset:0;pointer-events:none}

/* El cuadro azul con el coche de neón (composición de la referencia) */
.cuadro{position:relative;border:4px solid var(--azul);padding:52px 44px 0;margin-left:40px;text-align:center}
.cuadro .eyebrow{margin-bottom:2px}
.cuadro p{margin:16px auto 0}
.cuadro .btn{margin-top:24px}
.cuadro .neon{display:block;width:calc(100% + 130px);max-width:none;margin:18px 0 -46px -90px;filter:drop-shadow(0 0 46px rgba(2,109,254,.30))}
@media (max-width:1200px){.cuadro{margin-left:16px}.cuadro .neon{width:calc(100% + 52px);margin-left:-36px}}
@media (max-width:760px){.cuadro{margin-left:0;padding:36px 22px 0}.cuadro .neon{width:calc(100% + 24px);margin:14px 0 -30px -12px}}

/* Franja de logos de marcas (estática, sin marquesinas) */
.logos{display:grid;grid-template-columns:repeat(7,1fr);gap:14px}
.logos .marca{border:1px solid var(--linea);border-radius:var(--radio);padding:22px 18px;display:flex;align-items:center;justify-content:center;min-height:96px;transition:border-color .2s,background .2s}
.logos .marca:hover{border-color:var(--azul);background:rgba(2,109,254,.06)}
.logos img{max-height:44px;width:auto;max-width:100%;filter:brightness(0) invert(1) opacity(.72);transition:filter .2s}
.logos .marca:hover img{filter:brightness(0) invert(1) opacity(1)}
@media (max-width:1000px){.logos{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.logos{grid-template-columns:repeat(2,1fr)}.logos .marca{min-height:80px;padding:16px}}

/* Testimonios sobre foto oscura (medido: bloque #1B1B1B con imagen) */
.opiniones{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.opi{background:rgba(27,27,27,.82);border:1px solid var(--linea);border-radius:var(--radio);padding:30px}
.opi .estrellas{color:var(--azul-claro);letter-spacing:3px;margin-bottom:14px}
.opi q{font-size:15px;line-height:25px;color:var(--texto2);quotes:"\201C" "\201D";display:block}
.opi .quien{font-family:var(--fp);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--blanco);margin-top:16px;display:block}

/* Trabajos destacados con pestañas de filtro (medido: ALL / DIAGNOSTICS / ENGINE…) */
.pestanas{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:34px}
.pestanas button{font-family:var(--fp);font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--texto);padding:10px 18px;border-radius:var(--radio);border:1px solid transparent}
.pestanas button:hover{color:var(--blanco)}
.pestanas button.on{color:var(--blanco);border-color:var(--azul);box-shadow:0 0 14px rgba(2,109,254,.45),inset 0 0 10px rgba(2,109,254,.15)}
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.obra{position:relative;overflow:hidden;border-radius:var(--radio);aspect-ratio:3/2;background:var(--fondo2)}
.obra img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.obra:hover img{transform:scale(1.06)}
.obra .velo-o{position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(0,9,21,.9));opacity:0;transition:opacity .3s;display:flex;flex-direction:column;justify-content:flex-end;padding:18px}
.obra:hover .velo-o,.obra:focus-visible .velo-o{opacity:1}
.obra h3{font-size:17px}
.obra small{color:var(--azul-claro);font-family:var(--fp);font-size:11px;letter-spacing:2px;text-transform:uppercase}
.obra.oculta{display:none}

/* Noticias (tarjetas de blog) */
.noticias{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.noticia{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;transition:transform .2s,border-color .2s;display:flex;flex-direction:column}
.noticia:hover{transform:translateY(-6px);border-color:var(--azul)}
.blq.b2 .noticia{background:var(--fondo)}
.noticia .foto{aspect-ratio:16/10;overflow:hidden}
.noticia .foto img{width:100%;height:100%;object-fit:cover}
.noticia .cuerpo{padding:26px;display:flex;flex-direction:column;gap:10px;flex:1}
.noticia .fecha{font-family:var(--fp);font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--azul-claro)}
.noticia h3{text-transform:none;font-size:19px}
.noticia p{font-size:14px;line-height:23px;flex:1}

/* Cifras */
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.cifras b{font-family:var(--fp);font-size:clamp(40px,4.2vw,58px);font-weight:600;color:var(--blanco);line-height:1;display:block;margin-bottom:10px;text-shadow:0 0 8px rgba(2,109,254,.95),0 0 26px rgba(2,109,254,.6),0 0 70px rgba(2,109,254,.35)}
.cifras span{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--texto2)}
.cifras div{border:1px solid rgba(2,109,254,.5);border-radius:var(--radio);padding:34px 18px;background:rgba(2,109,254,.04);box-shadow:0 0 24px rgba(2,109,254,.16),inset 0 0 26px rgba(2,109,254,.09)}

/* Tabla de precios */
.tabla-p{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.tabla-p th{font-family:var(--fp);font-weight:600;text-transform:uppercase;font-size:13px;letter-spacing:1px;color:var(--blanco);background:var(--fondo2);padding:16px 22px;text-align:left;border-bottom:2px solid var(--azul)}
.tabla-p td{padding:15px 22px;border-bottom:1px solid var(--linea);font-size:15px}
.tabla-p td:last-child,.tabla-p th:last-child{text-align:right;white-space:nowrap}
.tabla-p td:last-child{font-family:var(--fp);font-weight:600;color:var(--azul-claro)}
.tabla-p tr:hover td{background:rgba(2,109,254,.07)}
.tabla-p .fila-t td{color:var(--blanco);font-weight:400}

/* Presupuestador */
.presu{display:grid;grid-template-columns:1.2fr 1fr;gap:44px;align-items:start}
.presu fieldset{border:1px solid var(--linea);border-radius:var(--radio);padding:24px;margin-bottom:24px;background:var(--panel)}
.presu legend{font-family:var(--fp);font-weight:600;text-transform:uppercase;font-size:14px;letter-spacing:1px;color:var(--blanco);padding:0 10px}
.opcion{display:flex;align-items:center;gap:14px;padding:11px 8px;border-radius:var(--radio);cursor:pointer;color:var(--texto2)}
.opcion:hover{background:rgba(2,109,254,.08)}
.opcion input{width:18px;height:18px;accent-color:var(--azul);flex:none}
.opcion b{flex:1;font-weight:400;color:var(--blanco)}
.opcion small{color:var(--texto);font-size:13px;text-align:right}
.resultado{background:var(--fondo2);border:1px solid var(--linea);color:var(--texto);padding:32px;border-radius:var(--radio);position:sticky;top:110px}
.resultado .mini{margin-bottom:4px}
.resultado .rango{font-family:var(--fp);font-size:clamp(30px,3vw,44px);font-weight:600;color:var(--blanco);line-height:1.1;margin:6px 0 8px}
.resultado .horas{font-size:14px;margin-bottom:18px}
.resultado ul{list-style:none;font-size:14px;margin-bottom:22px}
.resultado li{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--linea)}
.resultado .nota{font-size:12px;margin-top:18px;line-height:1.6}

/* Formularios (cita 3 pasos y contacto) */
.cita{background:var(--panel);border:1px solid var(--linea);padding:38px;border-radius:var(--radio)}
.pasitos{display:flex;gap:10px;margin-bottom:28px}
.pasitos span{width:38px;height:38px;border-radius:var(--radio);border:2px solid var(--linea);display:flex;align-items:center;justify-content:center;font-family:var(--fp);font-weight:600;color:var(--texto)}
.pasitos span.on{background:var(--azul);border-color:var(--azul);color:var(--blanco)}
.pasitos span.hecho{border-color:var(--azul);color:var(--azul-claro)}
.paso-f{display:none;grid-template-columns:1fr 1fr;gap:18px}
.paso-f.on{display:grid}
.paso-f .ancho{grid-column:1/-1}
.campo{display:flex;flex-direction:column;gap:7px}
.campo label{font-family:var(--fp);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--blanco)}
.campo input,.campo select,.campo textarea{width:100%;min-width:0;font:300 15px/1.4 var(--fo);padding:13px 15px;border:1px solid var(--linea);background:var(--fondo2);color:var(--blanco);border-radius:var(--radio)}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:0;border-color:var(--azul)}
.campo input::placeholder,.campo textarea::placeholder{color:#7A7A7A}
.campo .error{color:#FF8A80;font-size:13px;display:none}
.campo.mal input,.campo.mal textarea,.campo.mal select{border-color:#FF8A80}
.campo.mal .error{display:block}
.cita .botones{display:flex;justify-content:space-between;gap:14px;margin-top:24px;flex-wrap:wrap}
.gracias{display:none;text-align:center;padding:24px 0}
.gracias.on{display:block}
.gracias b{font-family:var(--fp);font-size:30px;font-weight:600;text-transform:uppercase;color:var(--blanco);display:block;margin-bottom:10px}
.gracias a{color:var(--azul-claro)}
.resumen{list-style:none;font-size:14px;border-top:1px solid var(--linea)}
.resumen li{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-bottom:1px solid var(--linea)}
.resumen li span:first-child{color:var(--texto);font-size:12px;letter-spacing:1px;text-transform:uppercase}
.resumen li span:last-child{color:var(--blanco)}

/* Equipo */
.persona{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;transition:transform .2s,border-color .2s}
.persona:hover{transform:translateY(-6px);border-color:var(--azul)}
.persona .foto{aspect-ratio:4/5;overflow:hidden;background:var(--fondo2)}
.persona .foto img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.persona .cuerpo{padding:22px}
.persona .rol{font-family:var(--fp);font-size:11px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--azul-claro)}
.persona h3{font-size:19px;margin:6px 0 2px}
.persona .apodo{font-size:13px;color:var(--texto)}
.persona p{font-size:14px;line-height:22px;margin-top:10px}

/* FAQ */
.faq details{background:var(--panel);border:1px solid var(--linea);border-radius:var(--radio);padding:20px 24px;margin-bottom:12px}
.faq summary{font-family:var(--fp);font-weight:500;font-size:16px;color:var(--blanco);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px}
.faq summary::after{content:"+";color:var(--azul-claro);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:12px;font-size:15px}

/* Página interior: barra de título sobre foto (patrón del tema) */
.portada{background:var(--profundo) center/cover;position:relative;padding:86px 0}
.portada::before{content:"";position:absolute;inset:0;background:rgba(0,9,21,.8)}
.portada .cont{z-index:1;text-align:center}
.portada .miga{font-family:var(--fp);font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--texto2);margin-top:14px;display:block}
.portada .miga a:hover{color:var(--azul-claro)}
.portada .miga i{font-style:normal;color:var(--azul-claro);margin:0 8px}

/* Banda CTA y pie */
.banda{background:var(--azul);color:var(--blanco);padding:52px 0}
.banda .cont{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.banda .tel{font-family:var(--fp);font-weight:600;font-size:clamp(24px,3vw,38px);text-transform:uppercase}
.banda .tel small{display:block;font-family:var(--fo);font-weight:400;font-size:14px;text-transform:none;margin-bottom:4px}
.banda .btn{border-color:var(--blanco)}
.banda .btn:hover{background:var(--blanco);color:var(--azul)}
.pie{background:var(--profundo);color:var(--texto);padding:76px 0 34px;font-size:14px}
.pie .cols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:36px;margin-bottom:40px}
.pie h4{font-size:16px;margin-bottom:16px}
.pie h4::after{content:"";display:block;width:36px;height:2px;background:var(--azul);margin-top:10px}
.pie li{list-style:none;margin-bottom:8px}
.pie a:hover{color:var(--azul-claro)}
.pie .boletin{display:flex;gap:0;margin-top:14px}
.pie .boletin input{flex:1;min-width:0;font:300 14px var(--fo);padding:12px 14px;border:1px solid var(--linea);border-right:0;background:var(--fondo2);color:var(--blanco);border-radius:var(--radio) 0 0 var(--radio)}
.pie .boletin input:focus{outline:0;border-color:var(--azul)}
.pie .boletin button{background:var(--azul);color:var(--blanco);font-family:var(--fp);font-size:13px;font-weight:600;text-transform:uppercase;padding:12px 18px;border-radius:0 var(--radio) var(--radio) 0}
.pie .boletin button:hover{background:var(--azul-osc)}
.pie .gracias-b{display:none;color:var(--azul-claro);font-size:13px;margin-top:10px}
.pie .gracias-b.on{display:block}
.pie .demo{border-top:1px solid var(--linea);padding-top:22px;font-size:12px;line-height:1.7}
.pie .demo strong{color:var(--blanco)}
.abierto{display:inline-flex;align-items:center;gap:8px;font-weight:400;color:var(--texto)}
.abierto::before{content:"";width:9px;height:9px;border-radius:50%;background:#3DDC84;animation:late 2s infinite}
.abierto.no::before{background:#FF8A80}
@keyframes late{50%{opacity:.4}}

/* Varios */
.dos{display:grid;grid-template-columns:1.1fr 1fr;gap:46px;align-items:start}
.dos>*{min-width:0}
.mapa{border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.mapa iframe{width:100%;height:330px;border:0;display:block;filter:grayscale(1) invert(.92) contrast(.9)}
.horario{width:100%;border-collapse:collapse;font-size:15px}
.horario td{padding:9px 0;border-bottom:1px solid var(--linea)}
.horario td:last-child{text-align:right;color:var(--blanco)}
.horario tr.hoy td{color:var(--azul-claro);font-weight:600}
.tf{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.tf .foto{border-radius:var(--radio);overflow:hidden;background:var(--fondo2);border:1px solid var(--linea)}
.tf .foto img{width:100%;height:100%;object-fit:cover}
.tf p+p{margin-top:12px}
.linea-t{list-style:none}
.linea-t li{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:18px 0;border-top:1px solid var(--linea)}
.linea-t b{font-family:var(--fp);font-size:28px;font-weight:600;color:var(--blanco);line-height:1}
.linea-t p{font-size:15px}
.barra-movil{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--fondo2);border-top:1px solid var(--linea);padding:10px 14px calc(10px + env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:10px}
.barra-movil .btn{width:100%;padding:12px 10px;font-size:13px}
.rev{opacity:0;transform:translateY(26px);transition:opacity .7s ease-out,transform .7s ease-out}
.rev.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rev{opacity:1;transform:none;transition:none}.despiece{height:auto}.despiece .pegado{height:100vh}.abierto::before{animation:none}.hero-s .lamina,.hero-s .eyebrow,.hero-s h1,.hero-s .btn{transition:none}}

@media (max-width:1000px){
  :root{--pad:76px}
    .rasgos{grid-template-columns:1fr;gap:22px}
  .rejilla.c4,.rejilla.c3{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(2,1fr)}
  .noticias,.opiniones{grid-template-columns:1fr}
  .cifras{grid-template-columns:repeat(2,1fr)}
  .presu,.dos,.tf{grid-template-columns:1fr}
  .resultado{position:static}
  .pie .cols{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  :root{--pad:58px}
    .top{height:68px}
  .logo img{height:42px}.logo b{font-size:15px;letter-spacing:2px}
  .burger{display:flex}
  .nav{position:fixed;top:68px;left:0;right:0;background:var(--fondo2);flex-direction:column;align-items:stretch;padding:12px 24px 22px;gap:2px;display:none;border-bottom:1px solid var(--linea)}
  .nav.on{display:flex}
  .nav a{padding:13px 10px;border-bottom:1px solid var(--linea)}
  .nav .btn{margin:12px 0 0;text-align:center;border:2px solid var(--azul)}
  .hero-s{height:600px}
  .hero-s .flecha{display:none}
  .hero-s .puntos{right:14px}
  .hero-s .insignia{height:130px}
  .hero-s .eyebrow{font-size:20px;letter-spacing:-.8px}
  .hero-s h1{font-size:32px;letter-spacing:-1.4px}
  .rejilla.c3,.rejilla.c4{grid-template-columns:1fr}
  .galeria{grid-template-columns:1fr}
  .obra .velo-o{opacity:1}
  .despiece{height:420vh}
  .despiece .titulo{top:70px}
  .despiece .marco{width:100vw;top:52%;max-height:60vh}
  .despiece .fases{top:auto;bottom:96px;transform:none;width:calc(100% - 48px)}
  .fase{padding:16px 18px}.fase b{font-size:18px}
  .despiece .pista,.despiece .fin{bottom:88px}.despiece .cargando{display:none}
  .despiece .fin .btn{padding:11px 20px;font-size:13px}
  .cita{padding:24px 18px}
  .paso-f{grid-template-columns:1fr}
  .pie .cols{grid-template-columns:1fr}
  .pie{padding-bottom:110px}
  .barra-movil{display:grid}
  body{padding-bottom:70px}
  .tabla-p th,.tabla-p td{padding:12px 14px;font-size:14px}
  .portada{padding:56px 0}
}
