/* ============================================================
   slotting.es — GMP Consultoría Industrial
   ============================================================ */

/* --- Tipografías autoalojadas ------------------------------
   Subid los .woff2 de Barlow a /fuentes/ y descomentad este
   bloque. Sin ellos la web usa la pila de respaldo condensada
   y no hace NINGUNA petición a servidores de terceros.
------------------------------------------------------------ */
/*
@font-face{font-family:'Barlow Semi Condensed';src:url('/fuentes/BarlowSemiCondensed-Regular.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal;}
@font-face{font-family:'Barlow Semi Condensed';src:url('/fuentes/BarlowSemiCondensed-Bold.woff2') format('woff2');font-weight:700;font-display:swap;font-style:normal;}
@font-face{font-family:'Barlow Semi Condensed';src:url('/fuentes/BarlowSemiCondensed-ExtraBold.woff2') format('woff2');font-weight:800;font-display:swap;font-style:normal;}
@font-face{font-family:'Barlow Condensed';src:url('/fuentes/BarlowCondensed-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal;}
@font-face{font-family:'Barlow';src:url('/fuentes/Barlow-Regular.woff2') format('woff2');font-weight:400;font-display:swap;font-style:normal;}
@font-face{font-family:'Barlow';src:url('/fuentes/Barlow-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap;font-style:normal;}
*/

:root{
  --negro:#1A1A1A;
  --negro-900:#0E0E0E;
  --negro-800:#232323;
  --negro-700:#2E2E2E;
  --naranja:#E05A00;
  --naranja-vivo:#F28C1E;
  --naranja-claro:#FFF3E8;
  --gris-bg:#F4F4F4;
  --gris-linea:#DCDCDC;
  --gris-texto:#5A5E62;
  --blanco:#FFFFFF;

  --lima:#A6CE39;
  --turquesa:#00A99D;
  --magenta:#EC008C;
  --purpura:#94206B;

  --rot-a:#E05A00;
  --rot-b:#00A99D;
  --rot-c:#4A4E52;
  --hueco:#232323;

  --f-titulo:'Barlow Semi Condensed','Arial Narrow','Helvetica Neue',Helvetica,Arial,sans-serif;
  --f-etiqueta:'Barlow Condensed','Arial Narrow','Helvetica Neue',Helvetica,Arial,sans-serif;
  --f-texto:'Barlow','Segoe UI',Roboto,system-ui,-apple-system,sans-serif;

  --max:1180px;
  --r:2px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;background:var(--blanco);color:var(--negro);
  font-family:var(--f-texto);font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img,video{max-width:100%;display:block;}

/* ---------- Superficies -------------------------------------
   Cada sección declara cómo son las tarjetas que contiene. Así un
   mismo componente funciona sobre fondo claro y oscuro sin
   necesidad de parchearlo con estilos en línea.
------------------------------------------------------------- */
body,section,.franja-cta{
  --sup:#FFFFFF;
  --sup-2:var(--gris-bg);
  --sup-borde:var(--gris-linea);
  --sup-linea:var(--gris-linea);
  --sup-tit:var(--negro);
  --sup-txt:var(--gris-texto);
  --sup-tenue:#8A8F94;
}
.sec-oscura,.cta{
  --sup:var(--negro-800);
  --sup-2:var(--negro-700);
  --sup-borde:rgba(255,255,255,.12);
  --sup-linea:rgba(255,255,255,.12);
  --sup-tit:#FFFFFF;
  --sup-txt:rgba(255,255,255,.72);
  --sup-tenue:rgba(255,255,255,.4);
}
a{color:inherit;}

h1,h2,h3,h4{font-family:var(--f-titulo);margin:0;line-height:1.03;letter-spacing:-0.015em;}
h1{font-weight:800;font-size:clamp(2.7rem,6.6vw,5.2rem);}
h2{font-weight:800;font-size:clamp(2rem,4.4vw,3.3rem);}
h3{font-weight:700;font-size:1.42rem;line-height:1.15;}
p{margin:0 0 1.1em;}
p:last-child{margin-bottom:0;}
strong{font-weight:600;}

.eyebrow{
  font-family:var(--f-etiqueta);font-weight:600;text-transform:uppercase;
  letter-spacing:.22em;font-size:.82rem;color:var(--naranja);margin:0 0 1rem;display:block;
}
.eyebrow--claro{color:rgba(255,255,255,.55);}
.lead{font-size:1.16rem;color:var(--gris-texto);max-width:62ch;}
.dato{font-family:var(--f-etiqueta);font-weight:600;text-transform:uppercase;letter-spacing:.12em;}

.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
section{padding:104px 0;}
.sec-oscura{background:var(--negro);color:var(--blanco);}
.sec-gris{background:var(--gris-bg);}
.cab{max-width:70ch;margin-bottom:56px;}
.cab .lead{margin-top:18px;}

/* Subtítulo dentro de una sección: mismo ritmo en toda la web */
.subcab{margin:72px 0 24px;display:flex;align-items:baseline;gap:16px;}
.subcab h3{font-size:1.6rem;color:var(--sup-tit);flex:none;}
.subcab::after{content:"";flex:1;height:1px;background:var(--sup-linea);}
.subcab:first-child{margin-top:0;}

/* Sección declaración: un titular y poco más, centrado */
.sec-declaracion{padding:88px 0;}
.declaracion{max-width:44ch;margin:0 auto;text-align:center;}
.declaracion h2{margin-bottom:22px;}
.declaracion .lead{margin:0 auto;}
.declaracion-sellos{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;margin-top:30px;
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.14em;
  font-size:.76rem;color:var(--sup-tenue);
}
.declaracion-sellos span{display:flex;align-items:center;gap:8px;}
.declaracion-sellos span::before{content:"";width:7px;height:7px;background:var(--naranja);flex:none;}

/* Escala de separación: evita los margin-top sueltos en el HTML */
.sep-s{margin-top:14px;}
.sep-m{margin-top:22px;}
.sep-l{margin-top:44px;}
.sep-xl{margin-top:64px;}
.banco-kpis{margin-bottom:44px;}
.normal{text-transform:none;letter-spacing:0;font-weight:400;}
.cookies-nota{margin-top:14px;font-size:.78rem;color:rgba(255,255,255,.42);}
.sec-oscura .lead{color:rgba(255,255,255,.72);}

.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-family:var(--f-etiqueta);font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;font-size:.95rem;padding:16px 30px;
  border:1px solid transparent;border-radius:var(--r);text-decoration:none;cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.btn-primario{background:var(--naranja);color:#fff;}
.btn-primario:hover{background:#c44e00;}
.btn-linea{border-color:rgba(255,255,255,.32);color:#fff;background:transparent;}
.btn-linea:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-linea-osc{border-color:var(--negro);color:var(--negro);background:transparent;}
.btn-linea-osc:hover{background:var(--negro);color:#fff;}
:focus-visible{outline:3px solid var(--naranja);outline-offset:3px;}

.skip{
  position:absolute;left:-9999px;top:0;z-index:300;background:var(--naranja);color:#fff;
  padding:12px 20px;font-family:var(--f-etiqueta);text-transform:uppercase;
  letter-spacing:.14em;font-size:.85rem;text-decoration:none;
}
.skip:focus{left:12px;top:12px;}

/* ================= Cabecera ================= */
.top{
  position:sticky;top:0;z-index:60;background:rgba(14,14,14,.94);
  backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.09);
}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:24px;}
.marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;}
.iso{width:34px;height:34px;flex:none;}
.marca-txt{font-family:var(--f-titulo);font-weight:800;font-size:1.5rem;letter-spacing:.02em;}
.marca-sub{
  font-family:var(--f-etiqueta);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:rgba(255,255,255,.5);border-left:1px solid rgba(255,255,255,.2);
  padding-left:12px;line-height:1.3;max-width:96px;
}
.nav{display:flex;align-items:center;gap:26px;}
.nav a{
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.13em;
  font-size:.85rem;font-weight:500;color:rgba(255,255,255,.72);text-decoration:none;transition:color .18s;
}
.nav a:hover{color:#fff;}
.nav .btn{padding:11px 20px;font-size:.8rem;}
@media(max-width:1080px){.nav a:not(.btn){display:none;} .marca-sub{display:none;}}

/* ================= Hero ================= */
.hero{background:var(--negro-900);color:#fff;padding:88px 0 96px;position:relative;overflow:hidden;}
.hero-fondo{position:absolute;inset:0;background-size:cover;background-position:60% 40%;opacity:.30;}
.hero-velo{
  position:absolute;inset:0;
  background:
    linear-gradient(100deg,#0E0E0E 12%,rgba(14,14,14,.90) 42%,rgba(14,14,14,.55) 100%),
    linear-gradient(to bottom,rgba(14,14,14,.7),rgba(14,14,14,.25) 40%,#0E0E0E 100%);
}
.hero .wrap{position:relative;z-index:2;}
.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:64px;align-items:center;}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr;gap:48px;}}
.hero h1 span{color:var(--lima);}
.hero .lead{color:rgba(255,255,255,.78);margin-top:24px;font-size:1.2rem;}
.hero-acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px;}
.hero-sellos{
  display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.14em;
  font-size:.76rem;color:rgba(255,255,255,.55);
}
.hero-sellos span{display:flex;align-items:center;gap:8px;}
.hero-sellos span::before{content:"";width:7px;height:7px;background:var(--lima);flex:none;}

/* Simulador */
.sim{background:rgba(26,26,26,.92);border:1px solid rgba(255,255,255,.12);padding:22px;backdrop-filter:blur(3px);}
.sim-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;}
.sim-titulo{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:rgba(255,255,255,.55);}
.sim-estado{font-family:var(--f-titulo);font-weight:700;font-size:1.15rem;margin-top:4px;}
.sim-rejilla{display:grid;gap:3px;padding:10px;background:#141414;border:1px solid rgba(255,255,255,.07);}
.celda{aspect-ratio:1/1;background:var(--hueco);transition:background-color .5s cubic-bezier(.4,0,.2,1);}
.sim-suelo{
  display:flex;align-items:center;gap:10px;margin-top:10px;font-family:var(--f-etiqueta);
  text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:rgba(255,255,255,.45);
}
.sim-suelo::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.12);}
.punto-picking{width:9px;height:9px;background:var(--naranja);flex:none;}
.sim-pie{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;}
.leyenda{display:flex;flex-wrap:wrap;gap:14px;}
.leyenda span{
  display:flex;align-items:center;gap:7px;font-family:var(--f-etiqueta);font-size:.74rem;
  text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);
}
.pastilla{width:11px;height:11px;flex:none;}
.metrica{display:flex;align-items:baseline;gap:8px;border-top:1px solid rgba(255,255,255,.1);padding-top:14px;margin-top:14px;width:100%;}
.metrica-val{font-family:var(--f-titulo);font-weight:800;font-size:2rem;color:var(--naranja);line-height:1;}
.metrica-lab{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:rgba(255,255,255,.5);}
.nota{font-size:.78rem;color:rgba(255,255,255,.34);margin-top:10px;font-style:italic;}
.sw{display:inline-flex;border:1px solid rgba(255,255,255,.2);}
.sw button{
  background:transparent;border:0;color:rgba(255,255,255,.6);font-family:var(--f-etiqueta);
  text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;padding:9px 15px;cursor:pointer;transition:.18s;
}
.sw button[aria-pressed="true"]{background:var(--naranja);color:#fff;}

/* ================= Tarjeta: componente único =================
   Antes había tres componentes casi iguales (.pilar, .int, .bk) y
   la variante oscura se conseguía con estilos en línea. Ahora es
   uno solo, que lee los tokens de su sección.
============================================================== */
.tarjetas{display:grid;gap:1px;background:var(--sup-borde);border:1px solid var(--sup-borde);}
.tarjetas-2{grid-template-columns:repeat(2,1fr);}
.tarjetas-3{grid-template-columns:repeat(3,1fr);}
.tarjetas-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.tarjetas-4,.tarjetas-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.tarjetas-4,.tarjetas-3,.tarjetas-2{grid-template-columns:1fr;}}

.tarjeta{
  background:var(--sup);padding:30px 26px 32px;position:relative;
  display:flex;flex-direction:column;gap:11px;
}
.tarjeta .et{
  font-family:var(--f-etiqueta);font-size:.71rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--acento,var(--naranja));font-weight:600;
}
.tarjeta h3{font-size:1.18rem;color:var(--sup-tit);}
.tarjeta p{font-size:.95rem;color:var(--sup-txt);margin:0;}
.tarjeta .cifra-xl{
  font-family:var(--f-titulo);font-weight:800;font-size:2.6rem;line-height:1;
  color:var(--acento,var(--naranja));
}
/* Filete superior de color, para las tarjetas que codifican categoría */
.tarjeta-filete{border-top:4px solid var(--acento,var(--naranja));}
/* Filete lateral, para listados de opciones */
.tarjeta-lateral{border-left:3px solid var(--acento,var(--naranja));}

/* ================= Dos objetivos ================= */
.objetivos{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;}
@media(max-width:760px){.objetivos{grid-template-columns:1fr;}}
.obj{padding:34px 32px 36px;border-radius:var(--r);}
.obj-espacio{background:var(--naranja-vivo);color:#1A1A1A;}
.obj-picking{background:#fff;color:#1A1A1A;border:1px solid var(--gris-linea);}
.obj .et{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.2em;font-size:.76rem;font-weight:600;}
.obj-espacio .et{color:#7a3200;}
.obj-picking .et{color:var(--turquesa);}
.obj h3{font-size:1.85rem;margin:10px 0 14px;font-weight:700;}
.obj p{font-size:1rem;margin:0;}
.obj .cifra{
  display:block;margin-top:22px;font-family:var(--f-titulo);font-weight:800;
  font-size:2.8rem;line-height:1;
}
.obj-espacio .cifra{color:#7a3200;}
.obj-picking .cifra{color:var(--turquesa);}
.obj .cifra small{display:block;font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-family:var(--f-etiqueta);margin-top:8px;color:var(--gris-texto);}
.obj-espacio .cifra small{color:#7a3200;}

/* ================= Vídeo SlotView ================= */
.video-caja{position:relative;background:#000;border:1px solid rgba(255,255,255,.14);overflow:hidden;}
.video-caja video{width:100%;height:auto;display:block;background:#000;}
.video-play{
  position:absolute;inset:0;display:grid;place-items:center;border:0;cursor:pointer;
  background:rgba(10,10,10,.34);transition:background .2s;padding:0;
}
.video-play:hover{background:rgba(10,10,10,.18);}
.video-play[hidden]{display:none;}
.video-play span{
  display:grid;place-items:center;width:84px;height:84px;border-radius:50%;
  background:var(--naranja);color:#fff;font-size:1.8rem;padding-left:6px;
  box-shadow:0 8px 40px rgba(0,0,0,.5);transition:transform .2s;
}
.video-play:hover span{transform:scale(1.08);}
.video-pie{
  display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;
  margin-top:16px;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.13em;
  font-size:.74rem;color:rgba(255,255,255,.5);
}
.slotview-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);margin-top:34px;}
@media(max-width:700px){.slotview-kpis{grid-template-columns:repeat(2,1fr);}}
.skpi{background:var(--negro-800);padding:22px 22px 24px;}
.skpi b{display:block;font-family:var(--f-titulo);font-weight:800;font-size:2rem;line-height:1;color:var(--lima);}
.skpi span{display:block;margin-top:8px;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:rgba(255,255,255,.55);line-height:1.45;}

/* ================= Banco de pruebas: barras ================= */
.barras{display:grid;gap:26px;}
.barra-grupo h4{
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;
  font-weight:600;color:var(--sup-tit);margin-bottom:12px;
}
.barra{display:grid;grid-template-columns:150px 1fr 62px;gap:14px;align-items:center;margin-bottom:8px;font-size:.86rem;}
@media(max-width:640px){.barra{grid-template-columns:104px 1fr 54px;gap:10px;font-size:.8rem;}}
.barra .et{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.1em;color:var(--sup-txt);}
.barra .pista{height:22px;background:rgba(255,255,255,.08);overflow:hidden;display:block;}
.barra .valor{height:100%;width:0;display:block;transition:width 1.2s cubic-bezier(.16,1,.3,1);}
.barra .v-cap{background:#6E7276;}
.barra .v-pick{background:var(--naranja);}
.barra .cifra{font-family:var(--f-titulo);font-weight:700;color:var(--sup-tit);text-align:right;}
.leyenda-barras{display:flex;gap:22px;flex-wrap:wrap;margin-bottom:22px;}
.leyenda-barras span{
  display:flex;align-items:center;gap:8px;font-family:var(--f-etiqueta);text-transform:uppercase;
  letter-spacing:.11em;font-size:.74rem;color:var(--sup-txt);
}

/* Enlace de correo compuesto por JS */
.correo-js{color:var(--naranja);text-decoration:underline;}

/* ================= Beneficios: anillos =================
   Lee los tokens de su sección, así que funciona igual sobre
   fondo claro y oscuro sin parches de color.
======================================================== */
.beneficios{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 36px;}
@media(max-width:940px){.beneficios{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.beneficios{grid-template-columns:1fr;}}
.benef{text-align:center;display:flex;flex-direction:column;}
.anillo{width:150px;height:150px;margin:0 auto 20px;position:relative;}
.anillo svg{transform:rotate(-90deg);width:100%;height:100%;}
.anillo circle{fill:none;stroke-width:11;}
.anillo .pista{stroke:var(--sup-linea);}
.arco{stroke:var(--naranja);stroke-linecap:butt;transition:stroke-dashoffset 1.5s cubic-bezier(.16,1,.3,1);}
.anillo-cifra{
  position:absolute;inset:0;display:grid;place-items:center;
  font-family:var(--f-titulo);font-weight:800;font-size:1.85rem;color:var(--sup-tit);
}
.benef-tit{
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;
  color:var(--naranja);font-weight:600;margin-bottom:10px;
}
.benef > p{font-size:.97rem;color:var(--sup-txt);margin-bottom:14px;}
.fuente{
  font-size:.72rem;color:var(--sup-tenue);font-style:italic;border-top:1px solid var(--sup-linea);
  padding-top:12px;line-height:1.4;margin-top:auto;
}

/* ================= Fases ================= */
.fases{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gris-linea);border:1px solid var(--gris-linea);}
@media(max-width:900px){.fases{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.fases{grid-template-columns:1fr;}}
.fase{background:#fff;padding:28px 24px 30px;transition:background .2s;}
.fase:hover{background:var(--naranja-claro);}
.fase .n{font-family:var(--f-titulo);font-weight:800;font-size:2.6rem;color:var(--gris-linea);line-height:1;display:block;margin-bottom:8px;transition:color .2s;}
.fase:hover .n{color:var(--naranja);}
.fase h3{font-size:1.1rem;margin-bottom:8px;}
.fase p{font-size:.92rem;color:var(--gris-texto);margin:0;}
.ciclo{display:flex;align-items:center;gap:12px;margin-top:26px;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:var(--gris-texto);}
.ciclo::before{content:"";width:40px;height:1px;background:var(--naranja);flex:none;}

/* ================= Réplica digital ================= */
.bi{display:grid;grid-template-columns:1.38fr 1fr;gap:18px;}
@media(max-width:860px){.bi{grid-template-columns:1fr;}}
.bi-col{display:grid;gap:18px;}
.panel{background:var(--negro-800);border:1px solid rgba(255,255,255,.1);overflow:hidden;}
.panel-cab{
  background:var(--negro-700);padding:11px 16px;font-family:var(--f-etiqueta);
  text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;color:rgba(255,255,255,.82);
  display:flex;justify-content:space-between;gap:12px;align-items:center;
}
.panel-cab .lupa{color:rgba(255,255,255,.35);font-size:.68rem;letter-spacing:.1em;}
.panel figure{margin:0;position:relative;background:#0B0B0B;cursor:zoom-in;}
.panel figure img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.panel figure:hover img{transform:scale(1.03);}
.alto-1{aspect-ratio:1200/870;}
.alto-2{aspect-ratio:1200/560;}
.panel figcaption{padding:14px 16px;font-size:.88rem;color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.08);}
.cuadro-mando{margin-top:18px;}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border-top:1px solid rgba(255,255,255,.1);}
@media(max-width:640px){.kpis{grid-template-columns:repeat(2,1fr);}}
.kpi{background:var(--negro-800);padding:18px 18px 20px;}
.kpi b{display:block;font-family:var(--f-titulo);font-weight:800;font-size:1.9rem;line-height:1;color:var(--naranja);}
.kpi span{display:block;margin-top:7px;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.12em;font-size:.7rem;color:rgba(255,255,255,.55);line-height:1.4;}
.bi-texto{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:44px;}
@media(max-width:860px){.bi-texto{grid-template-columns:1fr;gap:22px;}}
.bi-texto p{color:rgba(255,255,255,.74);font-size:.98rem;}

/* Visor ampliado */
.visor{position:fixed;inset:0;z-index:200;background:rgba(8,8,8,.95);display:none;place-items:center;padding:32px;}
.visor[open]{display:grid;}
.visor img{max-width:100%;max-height:82vh;object-fit:contain;border:1px solid rgba(255,255,255,.15);}
.visor-pie{margin-top:16px;text-align:center;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;color:rgba(255,255,255,.6);}
.visor-cerrar{
  position:absolute;top:20px;right:24px;background:transparent;border:1px solid rgba(255,255,255,.3);
  color:#fff;width:44px;height:44px;font-size:1.3rem;cursor:pointer;line-height:1;
}
.visor-cerrar:hover{background:var(--naranja);border-color:var(--naranja);}

/* ================= Señales ================= */
.senales-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start;}
@media(max-width:900px){.senales-grid{grid-template-columns:1fr;gap:36px;}}
.checklist{list-style:none;margin:0;padding:0;}
.checklist li{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--gris-linea);font-size:1.02rem;}
.checklist li:first-child{border-top:1px solid var(--gris-linea);}
.checklist .mk{
  flex:none;width:22px;height:22px;background:var(--naranja);margin-top:4px;display:grid;place-items:center;
  color:#fff;font-size:.78rem;font-weight:700;font-family:var(--f-etiqueta);
}

/* ================= Franja ================= */
.franja{position:relative;height:340px;background:#0E0E0E;overflow:hidden;display:grid;place-items:center;}
.franja img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42;}
.franja::after{content:"";position:absolute;inset:0;background:linear-gradient(to right,rgba(14,14,14,.86),rgba(14,14,14,.55));}
.franja .txt{
  position:relative;z-index:3;text-align:center;color:#fff;max-width:34ch;padding:0 24px;
  font-family:var(--f-titulo);font-weight:700;font-size:clamp(1.5rem,3.4vw,2.3rem);line-height:1.14;
}

/* ================= FAQ ================= */
.faq{display:grid;gap:1px;background:var(--gris-linea);border:1px solid var(--gris-linea);}
.faq details{background:#fff;}
.faq summary{
  cursor:pointer;list-style:none;padding:22px 26px;display:flex;justify-content:space-between;
  gap:20px;align-items:flex-start;font-family:var(--f-titulo);font-weight:700;font-size:1.18rem;line-height:1.25;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--naranja);font-size:1.5rem;line-height:1;flex:none;}
.faq details[open] summary::after{content:"–";}
.faq details[open] summary{background:var(--naranja-claro);}
.faq .resp{padding:0 26px 26px;color:var(--gris-texto);font-size:1rem;max-width:78ch;}

/* ================= Contacto ================= */
.cta{background:var(--negro);color:#fff;}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
@media(max-width:900px){.cta-grid{grid-template-columns:1fr;gap:44px;}}
.sedes{display:grid;gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14);}
.sede{background:var(--negro-800);padding:26px 26px 28px;}
.sede .dato{font-size:.74rem;color:var(--naranja);letter-spacing:.2em;}
.sede p{margin:10px 0 0;color:rgba(255,255,255,.72);font-size:.97rem;line-height:1.6;}
.sede .tel{display:inline-block;margin-top:14px;font-family:var(--f-titulo);font-weight:700;font-size:1.55rem;text-decoration:none;line-height:1.1;}
.sede .tel:hover{color:var(--naranja);}
.correo{display:block;margin-top:6px;color:rgba(255,255,255,.82);text-decoration:none;font-size:.97rem;word-break:break-word;}
.correo:hover{color:var(--naranja);}
.aviso-datos{
  margin-top:26px;border-left:3px solid var(--naranja);background:rgba(224,90,0,.09);
  padding:18px 22px;font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.6;
}

/* ================= Pie ================= */
.pie{background:var(--negro-900);color:rgba(255,255,255,.42);padding:44px 0 30px;font-size:.85rem;}
.pie-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.1);}
@media(max-width:860px){.pie-grid{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:560px){.pie-grid{grid-template-columns:1fr;gap:26px;}}
.pie h4{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--naranja);font-weight:600;margin-bottom:12px;}
.pie-identidad p{margin:0;line-height:1.7;color:rgba(255,255,255,.6);}
.pie-identidad b{color:rgba(255,255,255,.9);font-weight:600;}
.logo-matriz img{width:136px;height:auto;transition:opacity .2s;}
.logo-matriz:hover img{opacity:.78;}
.pie-enlaces{list-style:none;margin:0;padding:0;display:grid;gap:9px;}
.pie-enlaces a{text-decoration:none;color:rgba(255,255,255,.6);}
.pie-enlaces a:hover{color:#fff;text-decoration:underline;}
.pie-cierre{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding-top:22px;}
.pie-cierre a{text-decoration:none;}
.pie-cierre a:hover{color:#fff;}
.enlace-cookies{background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-align:left;}
.enlace-cookies:hover{color:#fff;}

/* ================= Panel legal ================= */
.legalbox{position:fixed;inset:0;z-index:180;background:rgba(8,8,8,.96);display:none;overflow-y:auto;}
.legalbox[open]{display:block;}
.legal-cab{position:sticky;top:0;z-index:2;background:var(--negro-900);border-bottom:1px solid rgba(255,255,255,.12);}
.legal-cab .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:70px;flex-wrap:wrap;}
.legal-tabs{display:flex;flex-wrap:wrap;gap:2px;}
.legal-tabs button{
  background:transparent;border:0;border-bottom:2px solid transparent;color:rgba(255,255,255,.55);
  font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.13em;
  font-size:.82rem;padding:14px 16px;cursor:pointer;transition:color .18s,border-color .18s;
}
.legal-tabs button:hover{color:#fff;}
.legal-tabs button[aria-selected="true"]{color:#fff;border-bottom-color:var(--naranja);}
.legal-cerrar{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;width:42px;height:42px;font-size:1.2rem;cursor:pointer;line-height:1;flex:none;}
.legal-cerrar:hover{background:var(--naranja);border-color:var(--naranja);}
.legal-cuerpo{max-width:860px;margin:0 auto;padding:56px 28px 96px;color:rgba(255,255,255,.76);}
.legal-doc{display:none;}
.legal-doc[data-activo="true"]{display:block;}
.legal-doc h2{color:#fff;margin-bottom:10px;}
.legal-doc h3{
  color:#fff;font-size:1.08rem;margin:38px 0 12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);
  font-family:var(--f-etiqueta);font-weight:700;text-transform:uppercase;letter-spacing:.12em;
}
.legal-doc h3:first-of-type{border-top:0;padding-top:0;}
.legal-doc p,.legal-doc li{font-size:.96rem;line-height:1.68;}
.legal-doc ul{padding-left:20px;margin:0 0 1.1em;}
.legal-doc li{margin-bottom:7px;}
.legal-doc a{color:var(--naranja);}
.legal-fecha{font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:rgba(255,255,255,.4);margin-bottom:32px;display:block;}
.legal-ident{background:rgba(224,90,0,.09);border-left:3px solid var(--naranja);padding:20px 22px;margin:0 0 28px;}
.legal-ident p{margin:0;line-height:1.75;font-size:.94rem;}
.legal-tabla{width:100%;border-collapse:collapse;margin:0 0 1.2em;font-size:.9rem;}
.legal-tabla th,.legal-tabla td{border:1px solid rgba(255,255,255,.14);padding:10px 13px;text-align:left;vertical-align:top;}
.legal-tabla th{background:rgba(255,255,255,.06);color:#fff;font-family:var(--f-etiqueta);text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:600;}

/* ================= Aviso de cookies ================= */
.cookies{position:fixed;left:0;right:0;bottom:0;z-index:150;background:rgba(14,14,14,.98);border-top:2px solid var(--naranja);padding:24px 0;display:none;}
.cookies[data-visible="true"]{display:block;}
.cookies .wrap{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;}
@media(max-width:860px){.cookies .wrap{grid-template-columns:1fr;gap:20px;}}
.cookies h4{font-family:var(--f-titulo);font-weight:700;font-size:1.15rem;color:#fff;margin:0 0 8px;}
.cookies p{font-size:.88rem;color:rgba(255,255,255,.66);margin:0;max-width:75ch;line-height:1.55;}
.cookies-btns{display:flex;flex-wrap:wrap;gap:10px;}
.cookies-btns .btn{padding:13px 22px;font-size:.82rem;}
.btn-sobrio{background:transparent;border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85);}
.btn-sobrio:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.07);}
.cookies-panel{display:none;margin-top:22px;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;}
.cookies-panel[data-abierto="true"]{display:block;}
.cookies-cats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:860px){.cookies-cats{grid-template-columns:1fr;gap:14px;}}
.cat{border:1px solid rgba(255,255,255,.12);padding:14px 16px;}
.cat label{display:flex;align-items:center;gap:10px;margin:0 0 8px;color:#fff;font-size:.76rem;letter-spacing:.12em;}
.cat input{width:17px;height:17px;accent-color:var(--naranja);flex:none;}
.cat p{font-size:.78rem;color:rgba(255,255,255,.5);line-height:1.45;}
.cat .fijo{font-family:var(--f-etiqueta);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--naranja);}

/* ================= Revelado ================= */
.rev{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease;}
.rev.visible{opacity:1;transform:none;}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:.01ms !important;animation-duration:.01ms !important;}
  .rev{opacity:1;transform:none;}
}

@media print{
  .top,.cookies,.legalbox,.visor,.video-play,.hero-fondo,.hero-velo{display:none !important;}
  body{background:#fff;color:#000;font-size:11pt;}
  .sec-oscura,.cta,.pie{background:#fff !important;color:#000 !important;}
  .rev{opacity:1 !important;transform:none !important;}
  section{padding:24px 0;page-break-inside:avoid;}
}
