/* Inicio Weston — rediseno 2026 */

:root{--gi:clamp(20px,3vw,52px)}

.wrap{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding-inline:var(--gi);
}

body{background:var(--white);color:var(--black)}

.saltar{
  position:absolute;
  left:-9999px;
  top:0;
  z-index:99;
  background:var(--black);
  color:var(--white);
  padding:var(--sp-3) var(--sp-4);
}
.saltar:focus{left:0}

.eyebrow{
  font-size:var(--fs-xs);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:600;
  color:var(--g-500);
}

.enlace{
  display:inline-flex;
  align-items:center;
  gap:var(--sp-2);
  color:var(--blue);
  font-size:var(--fs-sm);
  font-weight:600;
  transition:gap var(--tr-fast);
}
.enlace:hover{gap:var(--sp-3)}

.btn-solid,.btn-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:var(--sp-2);
  height:var(--ctl-h);
  padding-inline:var(--sp-5);
  border-radius:999px;
  font-size:var(--fs-sm);
  font-weight:600;
  white-space:nowrap;
  transition:background var(--tr-fast),color var(--tr-fast),border-color var(--tr-fast);
}
.btn-solid{background:var(--black);color:var(--white)}
.btn-solid:hover{background:var(--blue)}
.btn-line{background:transparent;color:var(--black);border:1px solid var(--g-300)}
.btn-line:hover{border-color:var(--black)}

/* ---------- Barra superior ---------- */

.nav{
  position:fixed;
  inset:0 0 auto 0;
  z-index:40;
  background:rgba(255,255,255,.55);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
  border-bottom:1px solid transparent;
  transition:transform var(--tr-base),border-color var(--tr-base),background var(--tr-base);
}
.nav.is-solid{background:rgba(255,255,255,.94);border-bottom-color:var(--g-200)}
.nav.is-hidden{transform:translateY(-100%)}

.nav__in{
  display:flex;
  align-items:center;
  gap:0;
  min-height:var(--nav-h);
  padding-inline:clamp(16px,1.25vw,24px);
}

.brand{display:flex;align-items:center;margin-right:14px}
.brand img{width:136px;height:auto}

.nav__links{
  display:flex;
  align-items:center;
  gap:14px;
  margin-inline:0 auto;
}
.nav__links a{
  font-family:var(--font-display);
  font-size:16px;
  font-weight:500;
  letter-spacing:-.015em;
  color:var(--g-800);
  white-space:nowrap;
  transition:color var(--tr-fast);
}
.nav__links a:hover{color:var(--blue-dark)}
.nav__links a[aria-current]{color:var(--black);font-weight:600}


.lang{
  display:flex;
  align-items:center;
  gap:var(--sp-2);
  margin:0 0 0 16px;
  font-size:var(--fs-xs);
  font-weight:600;
  letter-spacing:.08em;
  color:var(--g-800);
}
.lang a{transition:color var(--tr-fast)}
.lang a:hover,.lang a[aria-current]{color:var(--black)}
.lang i{font-style:normal;color:var(--g-500)}

/* el panel movil solo existe bajo 1024; sin esto queda suelto en escritorio */
.menu{display:none}

.nav__btn{
  display:none;
  width:44px;
  height:44px;
  margin-left:auto;
  align-items:center;
  justify-content:center;
}
.nav__btn span{
  position:relative;
  display:block;
  width:20px;
  height:1.5px;
  background:var(--black);
  transition:background var(--tr-fast);
}
.nav__btn span::before,.nav__btn span::after{
  content:'';
  position:absolute;
  left:0;
  width:20px;
  height:1.5px;
  background:var(--black);
  transition:transform var(--tr-base);
}
.nav__btn span::before{top:-6px}
.nav__btn span::after{top:6px}
.nav__btn[aria-expanded="true"] span{background:transparent}
.nav__btn[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.nav__btn[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}

/* ---------- Hero ---------- */

.hero{
  position:relative;
  padding-top:var(--nav-h);
  background:var(--white);
}

.hero__in{
  display:grid;
  grid-template-columns:minmax(0,44fr) minmax(0,56fr);
  align-items:stretch;
  gap:clamp(24px,4vw,64px);
  min-height:clamp(500px,70vh,700px);
}

.hero__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-block:clamp(40px,6vh,80px);
}

.hero__copy h1{
  margin-block:var(--sp-4) var(--sp-5);
  font-size:clamp(34px,4.6vw,60px);
  font-weight:600;
  letter-spacing:-.03em;
  line-height:1.08;
}
.hero__copy h1 em{font-style:normal;color:var(--blue)}

.hero__lede{
  color:var(--g-700);
  font-size:var(--fs-md);
  max-width:30ch;
}

.hero__explorar{
  display:inline-flex;
  flex-direction:column;
  gap:var(--sp-3);
  margin-top:clamp(28px,4vh,52px);
  font-size:var(--fs-sm);
  font-weight:600;
  color:var(--g-700);
  transition:color var(--tr-fast);
}
.hero__explorar:hover{color:var(--black)}
.hero__explorar svg{animation:baja 2.6s ease-in-out infinite}

@keyframes baja{
  0%,100%{transform:translateY(0);opacity:.5}
  50%{transform:translateY(6px);opacity:1}
}

.hero__media{
  position:relative;
  overflow:hidden;
  background:var(--g-100);
  /* la foto sale del margen para tocar el borde derecho */
  margin-right:calc(-1 * var(--gi));
}
.hero__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  animation:entra 1100ms cubic-bezier(.22,1,.36,1) both;
}

@keyframes entra{
  from{opacity:0;transform:scale(1.05)}
  to{opacity:1;transform:none}
}

.vert{
  position:absolute;
  top:clamp(24px,5vh,64px);
  right:clamp(16px,2.4vw,32px);
  z-index:2;
  display:grid;
  gap:2px;
  justify-items:end;
  text-align:right;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:600;
  color:rgba(5,5,5,.62);
  text-shadow:0 1px 10px rgba(255,255,255,.85);
}
.vert::after{
  content:'';
  width:26px;
  height:1px;
  margin-top:var(--sp-3);
  background:currentColor;
  opacity:.6;
}

/* ---------- Configurador ---------- */

.conf{padding-top:clamp(20px,3vh,32px)}

.conf__in{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:clamp(14px,1.6vw,20px) clamp(18px,2.2vw,30px);
  padding:clamp(16px,2vw,20px) clamp(16px,2vw,22px);
  background:var(--g-100);
  border-radius:4px;
}

.conf__grupo{
  display:flex;
  align-items:center;
  gap:clamp(10px,1.2vw,16px);
  min-width:0;
}

.conf__tit{
  display:flex;
  align-items:baseline;
  gap:6px;
  font-size:12.5px;
  font-weight:600;
  white-space:nowrap;
}
.conf__tit b{
  font-family:var(--font-display);
  font-size:var(--fs-xs);
  font-weight:700;
  color:var(--g-500);
}

.opt-row{display:flex;flex-wrap:wrap;gap:5px}

.opt{
  height:30px;
  padding-inline:11px;
  border:1px solid var(--g-300);
  border-radius:999px;
  background:var(--white);
  font-size:12px;
  font-weight:500;
  color:var(--g-700);
  white-space:nowrap;
  transition:border-color var(--tr-fast),background var(--tr-fast),color var(--tr-fast);
}
.opt:hover{border-color:var(--g-500);color:var(--black)}
.opt.is-on{background:var(--black);border-color:var(--black);color:var(--white)}

.sw-row{display:flex;flex-wrap:wrap;gap:5px}

.sw{
  width:28px;
  height:28px;
  padding:3px;
  border:1px solid var(--g-300);
  border-radius:50%;
  transition:border-color var(--tr-fast),transform var(--tr-fast);
}
.sw i{display:block;width:100%;height:100%;border-radius:50%}
.sw:hover{transform:scale(1.06)}
.sw.is-on{border-color:var(--black);border-width:2px;padding:2px}

.cop-row{display:flex;flex-wrap:wrap;gap:6px}

.cop{
  width:36px;
  height:104px;
  padding:3px;
  border:1px solid var(--g-300);
  border-radius:var(--r-sm);
  background:var(--white);
  transition:border-color var(--tr-fast),box-shadow var(--tr-fast);
}

.cop img,
.cop__p{display:block;width:100%;height:100%;object-fit:contain}

.cop__p{fill:none;stroke:var(--g-700);stroke-width:1.8;stroke-linejoin:round}
.cop__p .cop__d{fill:var(--g-800);stroke:none}

.cop:hover{border-color:var(--g-500)}
.cop.is-on{border-color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}

.luz-row{display:flex;flex-wrap:wrap;gap:6px}

.luz{
  width:76px;
  height:54px;
  padding:3px;
  border:1px solid var(--g-300);
  border-radius:var(--r-sm);
  background:var(--white);
  transition:border-color var(--tr-fast),box-shadow var(--tr-fast);
}
.luz img{display:block;width:100%;height:100%;object-fit:contain}
.luz:hover{border-color:var(--g-500)}
.luz.is-on{border-color:var(--black);box-shadow:inset 0 0 0 1px var(--black)}

.conf__cta{height:40px;padding-inline:var(--sp-4);font-size:12.5px;margin-left:auto}

/* ---------- Ficha tecnica ---------- */

.ficha{padding-block:clamp(56px,8vh,104px)}

.ficha__in{
  display:grid;
  grid-template-columns:minmax(0,36fr) minmax(0,42fr) minmax(0,18fr);
  gap:clamp(24px,3.4vw,56px);
  align-items:start;
}

.ficha__datos h2{
  margin-block:var(--sp-3) var(--sp-6);
  font-size:clamp(26px,3vw,40px);
  letter-spacing:-.025em;
  line-height:1.1;
}

.tabla{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.tabla th,.tabla td{
  padding-block:var(--sp-3);
  border-bottom:1px solid var(--g-200);
  text-align:left;
  vertical-align:baseline;
}
.tabla th{font-weight:500;color:var(--g-500);width:42%}
.tabla td{font-weight:600}
.tabla td em{
  font-style:normal;
  margin-left:var(--sp-2);
  font-size:var(--fs-xs);
  font-weight:500;
  color:var(--g-500);
}
.tabla td small{margin-left:4px;font-size:var(--fs-xs);font-weight:500;color:var(--g-500)}

.ficha__ver{margin-top:var(--sp-5)}

.cabin__shell{
  position:relative;
  overflow:hidden;
  background:var(--g-100);
  border-radius:2px;
  aspect-ratio:4/3.4;
}
.cabin__shell img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:opacity var(--tr-base);
}
.cabin__shell.is-swapping img{opacity:.35}

.gal__slide{display:none}
.gal__slide.is-on{display:block}

.ficha__lado{
  display:flex;
  flex-direction:column;
  gap:var(--sp-5);
  padding-top:var(--sp-4);
}

.ficha__cap{
  display:grid;
  gap:2px;
  font-size:var(--fs-sm);
}
.ficha__cap b{font-weight:600}
.ficha__cap span{font-size:var(--fs-xs);color:var(--g-500)}
.ficha__cap::after{
  content:'';
  width:34px;
  height:1px;
  margin-top:var(--sp-4);
  background:var(--g-300);
}

.gal__nav{display:flex;align-items:center;gap:var(--sp-3)}

.gal__b{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border:1px solid var(--g-300);
  border-radius:50%;
  color:var(--g-700);
  transition:border-color var(--tr-fast),color var(--tr-fast);
}
.gal__b:hover{border-color:var(--black);color:var(--black)}

.gal__n{font-size:var(--fs-xs);font-weight:600;color:var(--g-500)}

/* ---------- Cifras ---------- */

.cifras{
  position:relative;
  overflow:hidden;
  background:var(--g-100);
}
.cifras__fondo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.8;
}
.cifras::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(to right,rgba(255,255,255,.9),rgba(255,255,255,.76));
}

.cifras__grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding-block:clamp(36px,5vh,56px);
}

.cifra{
  display:grid;
  gap:var(--sp-1);
  justify-items:center;
  text-align:center;
  padding-inline:var(--sp-4);
  border-left:1px solid var(--g-300);
}
.cifra:first-child{border-left:0}

.cifra__n{
  font-family:var(--font-display);
  font-size:clamp(24px,2.7vw,34px);
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1;
}
.cifra__n small{font-size:.62em;font-weight:600;margin-left:2px}
.cifra__t{font-size:var(--fs-sm);color:var(--g-700)}

/* ---------- Soluciones ---------- */

.sol{padding-block:clamp(56px,8vh,104px)}

.bloque__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:var(--sp-5);
  margin-bottom:clamp(28px,4vh,48px);
}
.bloque__head h2{
  margin-top:var(--sp-3);
  font-size:clamp(26px,3.1vw,42px);
  letter-spacing:-.025em;
  line-height:1.12;
  max-width:20ch;
}

.sol__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.4vw,20px);
  row-gap:clamp(28px,3.4vw,44px);
}

.sol__c{
  display:grid;
  gap:var(--sp-2);
  align-content:start;
  padding-top:var(--sp-4);
  border-top:1px solid var(--g-200);
  transition:border-color var(--tr-fast);
}
.sol__c:hover{border-top-color:var(--black)}

.sol__no{
  font-family:var(--font-display);
  font-size:var(--fs-xs);
  font-weight:700;
  color:var(--g-700);
  letter-spacing:.08em;
}

.sol__n{
  font-family:var(--font-display);
  font-size:var(--fs-md);
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.2;
  min-height:2.4em;
}

.sol__d,
.sol__pronto{display:flex;align-items:center;min-height:23px}
.sol__d{font-size:var(--fs-sm);color:var(--g-700)}

.sol__pronto{
  font-family:var(--font-display);
  font-size:var(--fs-xs);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-700);
}

.sol__go{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  margin-top:var(--sp-3);
  border:1px solid var(--g-300);
  border-radius:50%;
  color:var(--g-700);
  transition:background var(--tr-fast),border-color var(--tr-fast),color var(--tr-fast);
}
.sol__c:hover .sol__go{background:var(--blue);border-color:var(--blue);color:var(--white)}
.sol__c--pronto:hover .sol__go{background:var(--g-700);border-color:var(--g-700);color:var(--white)}

/* ---------- Tres categorias destacadas ---------- */

.dest{padding-block:clamp(28px,4vh,48px) clamp(16px,2.4vh,32px)}

.dest__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,28px);
}

.dest__c{display:grid;gap:var(--sp-2);align-content:start}

.dest__foto{
  position:relative;
  overflow:hidden;
  border-radius:2px;
  background:var(--g-100);
  aspect-ratio:4/3;
}
.dest__foto img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform var(--tr-slow);
}
.dest__c:hover .dest__foto img{transform:scale(1.05)}

.dest__go{
  position:absolute;
  right:12px;
  bottom:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--black);
  transition:background var(--tr-fast),color var(--tr-fast);
}
.dest__c:hover .dest__go{background:var(--blue);color:var(--white)}

.dest__n{
  margin-top:var(--sp-3);
  font-family:var(--font-display);
  font-size:clamp(20px,2.2vw,28px);
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.15;
}
.dest__d{font-size:var(--fs-sm);color:var(--g-700)}

/* ---------- Customize ---------- */

.custom{padding-top:clamp(34px,5vh,60px)}

.custom__head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.9fr);
  align-items:end;
  gap:var(--sp-5);
}
.custom__head h2{
  margin-top:var(--sp-3);
  font-size:clamp(26px,3.1vw,42px);
  letter-spacing:-.025em;
  line-height:1.12;
}
.custom__head h2 em{font-style:normal;color:var(--blue)}
.custom__p{font-size:var(--fs-sm);color:var(--g-700);max-width:48ch}

/* ---------- Mas que equipos ---------- */

.mas{padding-block:clamp(20px,3vh,40px)}

.mas__in{
  display:grid;
  grid-template-columns:minmax(0,38fr) minmax(0,62fr);
  align-items:center;
  gap:clamp(24px,4vw,64px);
}

.mas__copy h2{
  margin-block:var(--sp-3) var(--sp-4);
  font-size:clamp(26px,3.1vw,42px);
  letter-spacing:-.025em;
  line-height:1.12;
}
.mas__copy h2 em{font-style:normal;color:var(--blue)}
.mas__copy p{color:var(--g-700);max-width:34ch;margin-bottom:var(--sp-5)}

.mas__foto{
  position:relative;
  overflow:hidden;
  background:var(--g-100);
  aspect-ratio:16/8.4;
  margin-right:calc(-1 * var(--gi));
}
.mas__foto img{width:100%;height:100%;object-fit:cover}

/* ---------- Sectores ---------- */

.sect{padding-block:clamp(56px,8vh,104px)}

.sect__row{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--g-200);
}

.sect__i{
  display:grid;
  gap:var(--sp-3);
  justify-items:center;
  text-align:center;
  padding:clamp(24px,3.4vh,36px) var(--sp-3);
  border-left:1px solid var(--g-200);
  color:var(--g-700);
  transition:color var(--tr-fast),background var(--tr-fast);
}
.sect__i:first-child{border-left:0}
.sect__i:hover{color:var(--black);background:var(--g-050)}
.sect__i svg{color:var(--black);opacity:.72}
.sect__i span{font-size:var(--fs-sm);font-weight:500}

/* ---------- Cierre ---------- */

.cta{padding-bottom:clamp(56px,8vh,104px)}

.cta__in{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,240px);
  align-items:center;
  gap:clamp(20px,3vw,48px);
  padding:clamp(28px,4vw,48px);
  background:var(--g-100);
  border-radius:4px;
}

.cta__copy{display:grid;gap:var(--sp-3);align-content:center}
.cta__copy h2{
  font-size:clamp(24px,2.8vw,36px);
  letter-spacing:-.025em;
  line-height:1.14;
}
.cta__copy h2 em{font-style:normal;color:var(--blue)}
.cta__copy p{color:var(--g-700);max-width:46ch;font-size:var(--fs-sm)}

.cta__acciones{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-top:var(--sp-3)}

.cta__foto{
  align-self:stretch;
  min-height:150px;
  overflow:hidden;
  border-radius:2px;
}
.cta__foto img{width:100%;height:100%;object-fit:cover}

/* ---------- Pie ---------- */

.foot{
  border-top:1px solid var(--g-200);
  padding-top:clamp(40px,6vh,64px);
  background:var(--white);
}

.foot__in{
  display:grid;
  grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr)) auto;
  gap:clamp(24px,3vw,48px);
  padding-bottom:clamp(32px,5vh,52px);
}

.foot__brand img{width:118px;height:auto}
.foot__what{
  margin-top:var(--sp-4);
  font-size:var(--fs-sm);
  color:var(--g-700);
  max-width:26ch;
}

.foot__col{display:grid;gap:var(--sp-3);align-content:start}
.foot__col h3{
  font-family:var(--font-body);
  font-size:var(--fs-sm);
  font-weight:600;
  margin-bottom:var(--sp-1);
}
.foot__col a{
  font-size:var(--fs-sm);
  color:var(--g-700);
  transition:color var(--tr-fast);
}
.foot__col a:hover{color:var(--blue)}

.foot__lado{display:flex;align-items:center;gap:var(--sp-4);align-self:start}
.foot__red{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:32px;
  border:1px solid var(--g-300);
  border-radius:50%;
  color:var(--g-700);
  transition:border-color var(--tr-fast),color var(--tr-fast);
}
.foot__red:hover{border-color:var(--black);color:var(--black)}

.foot__base{
  display:flex;
  justify-content:space-between;
  gap:var(--sp-4);
  padding-block:var(--sp-5);
  border-top:1px solid var(--g-200);
  font-size:var(--fs-xs);
  color:var(--g-500);
}

/* ---------- Apariciones ---------- */

@media (scripting:enabled){
  [data-reveal]{
    opacity:0;
    transform:translate3d(0,18px,0);
    transition:opacity var(--tr-slow),transform var(--tr-slow);
  }
  [data-reveal].is-in{opacity:1;transform:none}
}

/* ---------- Responsive ---------- */

@media (max-width:1180px){
  .conf__in{gap:var(--sp-5)}
  .conf__cta{margin-left:0;height:44px}
  .opt{height:38px;padding-inline:14px;font-size:13px}
  .sw{width:34px;height:34px}
}

@media (max-width:1024px){
  .nav__links,.nav .lang,.nav .btn-solid{display:none}
  .nav__btn{display:flex}
  .nav__in{gap:var(--sp-4)}
  .brand{margin-right:0}
  .brand img{width:118px}

  .nav.is-open{background:var(--white)}
  .menu{
    position:fixed;
    inset:var(--nav-h) 0 0 0;
    z-index:39;
    display:grid;
    align-content:start;
    gap:var(--sp-2);
    padding:var(--sp-6) clamp(20px,4vw,56px) var(--sp-8);
    background:var(--white);
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    transition:opacity var(--tr-base),transform var(--tr-base),visibility var(--tr-base);
  }
  .menu.is-open{opacity:1;visibility:visible;transform:none}
  .menu a{
    padding-block:var(--sp-4);
    border-bottom:1px solid var(--g-200);
    font-family:var(--font-display);
    font-size:var(--fs-lg);
    font-weight:600;
  }
  .menu__pie{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:var(--sp-4);
    margin-top:var(--sp-5);
  }
  .menu__pie .lang{display:flex;margin-left:0}

  .hero__in{grid-template-columns:1fr;min-height:0;gap:0}
  .hero__copy{max-width:none;padding-block:clamp(32px,5vh,56px) var(--sp-6)}
  .hero__media{aspect-ratio:16/9;margin-inline:calc(-1 * var(--gi))}
  .vert{display:none}

  .ficha__in{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .ficha__lado{
    grid-column:1/-1;
    flex-direction:row;
    flex-wrap:wrap;
    align-items:center;
    justify-content:space-between;
    padding-top:0;
  }
  .ficha__cap::after{display:none}
  .piezas{
    flex:1 1 100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-items:center;
  }

  .sol__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-5)}
  .custom__head{grid-template-columns:1fr;align-items:start}

  .mas__in{grid-template-columns:1fr;gap:var(--sp-6)}
  .mas__foto{aspect-ratio:16/9;margin-inline:calc(-1 * var(--gi))}

  .sect__row{grid-template-columns:repeat(3,1fr)}
  .sect__i:nth-child(3n+1){border-left:0}
  .sect__i:nth-child(n+4){border-top:1px solid var(--g-200)}

  .foot__in{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot__brand{grid-column:1/-1}
  .foot__lado{grid-column:1/-1}
}

@media (max-width:760px){
  .cifras__grid{grid-template-columns:repeat(2,1fr);gap:var(--sp-6) 0}
  .cifra:nth-child(odd){border-left:0}

  .ficha__in{grid-template-columns:1fr;gap:var(--sp-6)}

  .bloque__head{grid-template-columns:1fr;align-items:start}

  .sol__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dest__grid{grid-template-columns:1fr;gap:var(--sp-6)}
  .sol__n{min-height:0}

  .cta__in{grid-template-columns:1fr}
  .cta__foto{min-height:130px;order:-1}

  .foot__in{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:520px){
  .conf__grupo{flex-direction:column;align-items:flex-start;gap:var(--sp-3);width:100%}
  .sect__row{grid-template-columns:repeat(2,1fr)}
  .sect__i:nth-child(3n+1){border-left:1px solid var(--g-200)}
  .sect__i:nth-child(odd){border-left:0}
  .sect__i:nth-child(n+3){border-top:1px solid var(--g-200)}
  .foot__base{flex-direction:column;gap:var(--sp-2)}
}

@media (max-width:380px){
  .sol__grid{grid-template-columns:1fr}
  .dest__n{font-size:22px}
  .foot__in{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .hero__media img,.hero__explorar svg{animation:none}
  [data-reveal]{opacity:1;transform:none}
}

.proj{padding-block:clamp(48px,7vh,88px) clamp(20px,2.5vh,32px)}

.proj__in{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:clamp(24px,4vw,64px);
  align-items:end;
}

.proj__cab{grid-column:1;grid-row:1}
.proj__in .enlace{grid-column:2;grid-row:1}

.proj__cab h2{
  margin-top:var(--sp-3);
  font-size:clamp(26px,3.1vw,42px);
  letter-spacing:-.025em;
  line-height:1.12;
}

.proj__nota{
  grid-column:1;
  grid-row:2;
  margin-top:var(--sp-3);
  max-width:52ch;
  color:var(--g-700);
  font-size:var(--fs-sm);
  line-height:1.6;
}

.why{padding-block:clamp(20px,2.5vh,32px) clamp(40px,6vh,80px)}

.why__in{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) repeat(4,minmax(0,1fr));
  border-top:1px solid var(--g-200);
  padding-top:clamp(32px,4vh,56px);
}

.why__head{padding-right:clamp(24px,3vw,56px)}

.why__head h2{
  margin-top:var(--sp-3);
  font-size:clamp(23px,2.1vw,30px);
  letter-spacing:-.02em;
  line-height:1.18;
}

.why__filete{
  display:block;
  width:44px;
  height:1px;
  margin:var(--sp-5) 0;
  background:var(--g-500);
}

.why__head p{
  color:var(--g-700);
  font-size:var(--fs-sm);
  line-height:1.6;
  max-width:34ch;
}

.why__i{
  display:grid;
  gap:var(--sp-2);
  align-content:start;
  padding-inline:clamp(16px,1.8vw,28px);
  border-left:1px solid var(--g-200);
}

.why__no{
  font-family:var(--font-display);
  font-size:var(--fs-xs);
  font-weight:600;
  color:var(--g-700);
}

.why__k{
  font-family:var(--font-body);
  font-size:11px;
  font-weight:600;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--g-700);
}

.why__t{
  margin-top:var(--sp-1);
  min-height:2.5em;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:600;
  letter-spacing:-.015em;
  line-height:1.25;
}

.why__p{
  margin-top:var(--sp-2);
  font-size:var(--fs-sm);
  line-height:1.6;
  color:var(--g-700);
}

@media (max-width:1180px){
  .why__in{grid-template-columns:repeat(4,minmax(0,1fr))}
  .why__head{
    grid-column:1/-1;
    padding-right:0;
    margin-bottom:clamp(28px,4vh,44px);
  }
  .why__head h2{max-width:24ch}
  .why__i:nth-child(2){border-left:0;padding-left:0}
}

@media (max-width:860px){
  .why__in{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:clamp(28px,4vh,40px)}
  .why__head{margin-bottom:0}
  .why__i:nth-child(4){border-left:0;padding-left:0}
}

@media (max-width:640px){
  .proj__in{grid-template-columns:minmax(0,1fr);align-items:start;row-gap:var(--sp-5)}
  .proj__in .enlace{grid-column:1;grid-row:3}
  .why__in{grid-template-columns:minmax(0,1fr);row-gap:0}
  .why__i{
    border-left:0;
    padding-inline:0;
    padding-block:var(--sp-5);
    border-top:1px solid var(--g-200);
  }
  .why__i:first-of-type{padding-top:0;border-top:0}
  .why__t{min-height:0}
}

/* ---------- Vista previa dibujada de la cabina ---------- */

.vista{
  position:relative;
  overflow:hidden;
  border-radius:2px;
  background:#0E0E0E;
  aspect-ratio:4/3.4;
  --cab-base:#B9BFC3;
  --cab-claro:#E4E7E9;
  --cab-oscuro:#8E9498;
}
.vista svg{display:block;width:100%;height:100%}
.vista__capa{position:absolute;display:none;pointer-events:none}
.vista.tiene-foto .vista__capa.is-on{display:block}
.vista polygon,
.vista rect,
.vista circle,
.vista ellipse{transition:fill var(--tr-base)}

.vista [data-luz-grupo],
.vista [data-panel-grupo]{display:none}
.vista [data-cop-foto]{display:none}
.vista.cop-foto [data-cop-foto]{display:block}
.vista.cop-foto [data-panel-grupo]{display:none}
.vista[data-luz="uniforme"] [data-luz-grupo="uniforme"],
.vista[data-luz="tira"] [data-luz-grupo="tira"],
.vista[data-luz="puntual"] [data-luz-grupo="puntual"],
.vista[data-panel-tipo="partida"] [data-panel-grupo="partida"],
.vista[data-panel-tipo="pared"] [data-panel-grupo="pared"],
.vista[data-panel-tipo="vidrio"] [data-panel-grupo="vidrio"]{display:block}

.ficha__nota{font-size:var(--fs-xs);color:var(--g-700);max-width:24ch;line-height:1.45}

.piezas{display:grid;gap:var(--sp-4);min-width:0;border-top:1px solid var(--g-200);padding-top:var(--sp-4)}
.pieza{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-3);align-items:center}
.pieza__caja{width:84px;height:64px;display:grid;place-items:center;background:var(--g-050);border:1px solid var(--g-200);border-radius:var(--r-sm);overflow:hidden}
.pieza--cop .pieza__caja{width:56px;height:110px}
.pieza__caja img{display:block;width:100%;height:100%;object-fit:contain;padding:3px}
.pieza__caja img[hidden]{display:none}
.pieza__vacia{font-family:var(--font-display);font-size:11px;font-weight:600;color:var(--g-700);text-align:center;padding:0 6px;line-height:1.3}
.pieza figcaption{display:grid;gap:2px;font-size:var(--fs-sm);min-width:0}
.pieza figcaption b{font-family:var(--font-display);font-weight:600}
.pieza figcaption span{font-size:var(--fs-xs);color:var(--g-800);line-height:1.35}


@media (prefers-reduced-motion:reduce){
  .vista polygon,
  .vista rect,
  .vista circle,
  .vista ellipse{transition:none}
}

@media (pointer:coarse){
  .opt{height:var(--ctl-h-sm);padding-inline:16px}
  .sw{width:var(--ctl-h-sm);height:var(--ctl-h-sm)}
  .conf__cta{height:var(--ctl-h-sm)}
  .cop{width:var(--ctl-h-sm);height:127px}
  .luz{width:92px;height:64px}
}

.opt--vacio{
  display:inline-flex;
  align-items:center;
  color:var(--g-700);
  border-color:var(--g-200);
  cursor:default;
}

.vista [data-vista-foto]{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:0;
  transition:opacity var(--tr-base);
}
.vista.tiene-foto{aspect-ratio:3/4;background:var(--g-100)}
.vista.tiene-foto [data-vista-foto]{opacity:1}
.vista.tiene-foto svg{visibility:hidden}

@media (prefers-reduced-motion:reduce){
  .vista [data-vista-foto]{transition:none}
}

.vista[data-luz="paneles"] [data-luz-grupo="paneles"],
.vista[data-panel-tipo="empotrada"] [data-panel-grupo="empotrada"]{display:block}

.hv{position:relative}
.hv .hero{position:sticky;top:0;z-index:1}
.hv__pista{height:110svh}
.hv__poster,
.hv__video,
.hv__lienzo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv__video,
.hv__lienzo{opacity:0;transition:opacity .5s ease}
.hv.is-listo .hv__video,
.hv.is-listo .hv__lienzo{opacity:1}

@media (max-width:860px),(pointer:coarse){
  .hv__video{display:none}
}
@media (min-width:861px) and (pointer:fine){
  .hv__lienzo{display:none}
}

@media (min-width:1025px){
  .hv .hero{height:100svh}
  .hv .hero__in{min-height:0;height:calc(100svh - var(--nav-h));grid-template-columns:minmax(0,1fr) auto;align-items:start}
  .hv .hero__copy{align-self:center}
  .hv .hero__media{
    width:min(52vw,calc(100svh * .8));
    aspect-ratio:4/5;
    margin-top:calc(-1 * var(--nav-h));
    margin-right:0;
    border-radius:0 0 6px 6px;
  }
}

@media (max-width:1024px){
  .hv__pista{height:80svh}
  .hv .hero__in{display:flex;flex-direction:column}
  .hv .hero__media{
    order:-1;
    width:auto;
    aspect-ratio:4/5;
    max-height:calc(62svh + var(--nav-h));
    margin-top:calc(-1 * var(--nav-h));
    margin-inline:calc(-1 * var(--gi));
  }
  .hv .hero__copy{padding-top:clamp(24px,4svh,40px)}
}

@media (prefers-reduced-motion:reduce){
  .hv__pista{height:0}
  .hv .hero{position:relative}
  .hv__video,
  .hv__lienzo{display:none}
}

@media (min-width:1025px){
  .hv .hero__media{
    width:calc(min(52vw,calc(100svh * .8)) + var(--gi));
    height:100svh;
    aspect-ratio:auto;
    margin-right:calc(-1 * var(--gi));
    border-radius:0 0 0 6px;
  }
}

@media (max-width:600px){
  .hv .hero{height:100svh;padding-top:0;overflow:hidden}
  .hv .hero__in{display:block;position:relative;height:100%}
  .hv .hero__media{position:absolute;inset:0;width:auto;max-height:none;aspect-ratio:auto;margin:0}
  .hv .hero__media::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:radial-gradient(175% 46% at 0% 100%,rgba(255,255,255,.93) 0%,rgba(255,255,255,.86) 38%,rgba(255,255,255,.5) 64%,rgba(255,255,255,.14) 84%,rgba(255,255,255,0) 100%);
  }
  .hv .hero__media::before{
    content:"";
    position:absolute;
    inset:0 0 auto 0;
    height:120px;
    z-index:2;
    pointer-events:none;
    background:linear-gradient(to bottom,rgba(255,255,255,.62) 0%,rgba(255,255,255,.48) 35%,rgba(255,255,255,.18) 70%,rgba(255,255,255,0) 100%);
  }
  .hv .hero__copy{position:absolute;left:var(--gi);right:var(--gi);bottom:clamp(20px,4svh,40px);z-index:3;padding:0}
  .hv .hero__copy .eyebrow,
  .hv .hero__lede,
  .hv .hero__explorar{display:none}
  :root:has(.hv) .nav:not(.is-solid):not(.is-open){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
}
@media (max-width:600px) and (prefers-reduced-motion:no-preference){
  .hv__pista{height:170svh}
}
