@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/Inter-Regular.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/Inter-Medium.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/Inter-Bold.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/SpaceGrotesk-Regular.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/SpaceGrotesk-Medium.woff2') format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/SpaceGrotesk-Bold.woff2') format('woff2');}



:root{
  --navy:#0A1628; --navy-2:#0D1B30; --navy-3:#132033; --negro:#050A12;
  --verde:#02CA60; --verde-80:#029A49; --verde-10:#E6FAF0;
  --warm:#F8F6F3;
  --g200:#E2DFDB; --g300:#B8B4AE; --g400:#8A8580; --g500:#5C5854;
  
  --piedra:#D8CDB8;      
  --oro:#B69A66;         
  --jade:#2E8077;        

  --linea:rgba(248,246,243,.10);
  --linea-2:rgba(248,246,243,.18);
  --display:'Space Grotesk','Helvetica Neue',Arial,sans-serif;
  --body:'Inter',-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  
  --t-micro:.18s;   
  --t-base:.32s;    
  --t-media:.7s;    
  --t-larga:1.4s;   
  --t-trazo:2.2s;   


  --ease:cubic-bezier(.16,1,.3,1);
  --max:1320px;
  --barra:68px;
  --compra:74px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--barra) + 16px);}
.salto{position:absolute;left:12px;top:-48px;z-index:200;
  background:var(--verde);color:var(--navy);padding:10px 16px;border-radius:2px;
  font:500 13px/1 var(--display);text-decoration:none;transition:top var(--t-micro) var(--ease);}
.salto:focus{top:12px;}

body{
  margin:0;background:var(--navy);color:var(--warm);
  font:400 17px/1.7 var(--body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  font-variant-numeric:tabular-nums;overflow-x:hidden;
  padding-bottom:var(--compra);
}
img,video,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;}
:focus-visible{outline:2px solid var(--verde);outline-offset:3px;border-radius:2px;}
::selection{background:var(--verde);color:var(--navy);}

.wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(22px,4vw,56px);}
h1,h2,h3{font-family:var(--display);margin:0;font-weight:400;}
h1{font-size:clamp(40px,7.4vw,88px);line-height:1.0;letter-spacing:-.03em;}
h2{font-size:clamp(28px,3.9vw,50px);line-height:1.1;letter-spacing:-.025em;}
h3{font-size:20px;line-height:1.35;font-weight:500;letter-spacing:0;}
p{color:rgba(248,246,243,.78);margin:0 0 1em;}

.eyebrow{
  font:500 11px/1.4 var(--display);letter-spacing:.18em;
  text-transform:uppercase;color:var(--verde);margin:0 0 16px;
}
.lead{font:400 clamp(17px,1.55vw,22px)/1.6 var(--body);
  color:rgba(248,246,243,.74);max-width:60ch;margin:0;}
.meta{font:400 11px/1.5 var(--body);letter-spacing:.07em;
  text-transform:uppercase;color:var(--g400);}
.cifra-g{font:500 clamp(32px,3.6vw,52px)/1 var(--display);letter-spacing:-.022em;}

section{padding:clamp(64px,9vw,132px) 0;border-top:1px solid var(--linea);
  position:relative;}



.rv{opacity:1;transform:none;}
html.rv-js .rv{opacity:0;transform:translateY(26px);}

html.rv-js .rv.visible{opacity:1;transform:none;
  transition:opacity var(--t-media) var(--ease),transform var(--t-media) var(--ease);}

@keyframes rv{from{opacity:0;transform:translateY(26px);}
              to{opacity:1;transform:none;}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .rv{opacity:0;transform:translateY(26px);
      animation:rv linear both;animation-timeline:view();
      animation-range:entry 10% entry 90%;}
  }
}

@media (prefers-reduced-motion: reduce){
  .rv,html.rv-js .rv,html.rv-js .rv.visible{
    opacity:1;transform:none;animation:none;transition:none;}
}



body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;
  opacity:.055;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='128' height='128'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='3' seed='7'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");}


section[data-marca]{overflow:hidden;}
section>.wrap{position:relative;z-index:1;}



.num{display:block;font:500 11px/1 var(--display);letter-spacing:.22em;
  margin-bottom:20px;}  
.num b{color:var(--verde);font-weight:500;}


.barra{position:sticky;top:0;z-index:60;height:var(--barra);
  background:rgba(10,22,40,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--linea);}
.barra .wrap{display:flex;align-items:center;gap:22px;height:100%;}
.barra .logo{height:44px;width:auto;}
@media (max-width:680px){.barra .logo{height:36px;}}
.barra nav{display:flex;gap:2px;margin-left:auto;}
.barra nav a{font:500 11px/1 var(--display);letter-spacing:.1em;
  text-transform:uppercase;color:var(--g300);padding:11px 12px;
  border-bottom:1px solid transparent;transition:color var(--t-base),border-color var(--t-base) var(--ease);}
.barra nav a:hover{color:var(--verde);border-color:var(--verde);}
.grupo-btn{display:flex;border:1px solid var(--linea-2);border-radius:2px;
  overflow:hidden;}
.grupo-btn button{background:none;border:0;cursor:pointer;color:var(--g300);
  font:500 11px/1 var(--display);letter-spacing:.1em;padding:10px 11px;
  transition:background var(--t-base),color var(--t-base) var(--ease);}
.grupo-btn button[aria-pressed="true"]{background:var(--verde);color:var(--navy);}


.portada{min-height:clamp(600px,94vh,1000px);display:flex;align-items:flex-end;
  border-top:0;padding:0;position:relative;overflow:hidden;}
.hero-video{opacity:0;transition:opacity var(--t-larga) var(--ease);z-index:1;}
.hero-video.visible{opacity:1;}
@media (prefers-reduced-motion:reduce){.hero-video{display:none;}}

.portada>video,.portada>picture,.portada>picture>img{position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;}
.portada::after{content:"";position:absolute;inset:0;pointer-events:none;
  
  z-index:1;
  background:linear-gradient(180deg,rgba(10,22,40,.58) 0%,
    rgba(10,22,40,.32) 30%,rgba(10,22,40,.65) 52%,
    rgba(10,22,40,.94) 86%,var(--navy) 100%);}
.portada .wrap{position:relative;z-index:2;padding-top:clamp(70px,12vh,140px);
  padding-bottom:clamp(38px,6vh,72px);}
.hair{height:1px;width:min(260px,50%);margin:28px 0;
  background:linear-gradient(90deg,var(--verde),rgba(2,202,96,0));}
.cifras{display:flex;gap:clamp(22px,4.4vw,68px);flex-wrap:wrap;margin-top:40px;}
.cifras span{display:block;font:400 11px/1.5 var(--body);letter-spacing:.07em;
  text-transform:uppercase;color:var(--g300);margin-top:10px;max-width:17ch;}







.accesos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--linea);border:1px solid var(--linea);margin-top:44px;}
.acceso{background:var(--navy);padding:28px 26px;}
.acceso b{display:block;font:500 clamp(26px,2.6vw,38px)/1 var(--display);
  letter-spacing:-.02em;color:var(--verde);}
.acceso span{display:block;font:400 11px/1.5 var(--body);color:var(--g300);
  margin-top:10px;letter-spacing:.05em;text-transform:uppercase;}
.acceso i{display:block;font-style:normal;font-size:13px;color:var(--g400);
  margin-top:5px;}


.explorador{display:grid;grid-template-columns:1fr 392px;gap:0;
  border:1px solid var(--linea);margin-top:40px;background:var(--negro);}

.lienzo{position:relative;overflow:hidden;background:var(--negro);
  aspect-ratio:var(--rel,3/2);}
.lienzo svg{position:absolute;inset:0;width:100%;height:100%;cursor:grab;
  -webkit-tap-highlight-color:transparent;}
.lienzo svg:active{cursor:grabbing;}

.lienzo svg *:focus{outline:none;}
.lienzo polygon.lote:focus-visible{outline:none;stroke:var(--verde);
  stroke-width:4px;}
.lienzo polygon.lote:focus-visible + .halo{opacity:1;}


.halo{opacity:0;pointer-events:none;vector-effect:non-scaling-stroke;
  filter:drop-shadow(0 0 6px rgba(2,202,96,.9))
         drop-shadow(0 0 22px rgba(2,202,96,.42));
  transition:opacity var(--t-base) var(--ease);}
polygon.lote{
  fill:rgba(2,202,96,.10);
  stroke:rgba(248,246,243,.82);
  stroke-width:2.4px;
  vector-effect:non-scaling-stroke;
  cursor:pointer;transition:fill var(--t-base) var(--ease);
}
polygon.lote:hover{fill:rgba(2,202,96,.30);}
polygon.lote.es-activo{fill:rgba(2,202,96,.46);stroke:var(--warm);}
polygon.lote.es-activo + .halo,
polygon.lote:hover + .halo{opacity:1;}
.con-seleccion polygon.lote:not(.es-activo){fill:rgba(2,202,96,.04);
  stroke:rgba(248,246,243,.34);}
@media (prefers-reduced-motion: no-preference){
  .lienzo.dibujar polygon.maestro{stroke-dasharray:4000;
    animation:trazar var(--t-trazo) var(--ease) forwards;}
  .lienzo.dibujar polygon.lote{opacity:0;
    animation:aparecer var(--t-media) var(--ease) forwards;}
  
  .lienzo.dibujar polygon.lote{animation-delay:calc(
    var(--t-larga) + var(--i, 0) * 0.06s);}
}
@keyframes trazar{from{stroke-dashoffset:4000;}to{stroke-dashoffset:0;}}
@keyframes aparecer{to{opacity:1;}}
polygon.maestro{fill:none;stroke:var(--verde);
  stroke-width:3px;vector-effect:non-scaling-stroke;
  pointer-events:none;}
polygon.vial{fill:rgba(248,246,243,.07);stroke:rgba(248,246,243,.28);
  stroke-width:1.4px;vector-effect:non-scaling-stroke;
  pointer-events:none;}
.lienzo text{fill:var(--warm);font-family:var(--display);font-weight:700;
  text-anchor:middle;pointer-events:none;paint-order:stroke;
  stroke:rgba(5,10,18,.72);stroke-width:5px;
  font-size:calc(34px * var(--k,1));letter-spacing:.08em;}

.herramientas{position:absolute;top:16px;right:16px;display:flex;
  flex-direction:column;gap:6px;z-index:5;}
.herramientas button{width:40px;height:40px;border:1px solid var(--linea-2);
  background:rgba(10,22,40,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--warm);
  cursor:pointer;font-size:17px;border-radius:2px;transition:background var(--t-base) var(--ease);}
.herramientas button:hover{background:rgba(2,202,96,.22);}
.pista{position:absolute;left:16px;bottom:16px;z-index:5;
  font:400 11px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;
  color:var(--g300);background:rgba(10,22,40,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  padding:9px 13px;border:1px solid var(--linea);}


.panel{border-left:1px solid var(--linea);background:var(--navy-2);
  padding:34px 30px;display:flex;flex-direction:column;overflow-y:auto;}
.panel .vacio{color:var(--g300);font-size:15px;line-height:1.7;}
.panel h3.nombre{font:400 clamp(32px,2.7vw,40px)/1 var(--display);
  letter-spacing:-.02em;color:var(--warm);margin:10px 0 4px;}
.chip{display:inline-flex;align-items:center;gap:7px;
  font:500 11px/1 var(--display);letter-spacing:.13em;text-transform:uppercase;
  color:var(--verde);border:1px solid rgba(2,202,96,.42);padding:6px 11px;}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--verde);}
.precio{font:500 clamp(32px,3vw,44px)/1 var(--display);color:var(--verde);
  letter-spacing:-.025em;margin:20px 0 3px;}
.precio-sub{font:400 11px/1.5 var(--body);letter-spacing:.05em;
  text-transform:uppercase;color:var(--g300);}
.rejilla-cifras{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--linea);border:1px solid var(--linea);margin:24px 0;}
.rejilla-cifras div{background:var(--navy-2);padding:16px 15px;}
.rejilla-cifras b{display:block;font:500 20px/1 var(--display);color:var(--warm);}
.rejilla-cifras span{display:block;font:400 11px/1.4 var(--body);
  letter-spacing:.07em;text-transform:uppercase;color:var(--g400);margin-top:8px;}
details.ficha{border-top:1px solid var(--linea);padding-top:16px;margin-top:4px;}
details.ficha summary{cursor:pointer;font:500 11px/1 var(--display);
  letter-spacing:.13em;text-transform:uppercase;color:var(--g300);
  list-style:none;display:flex;justify-content:space-between;align-items:center;}
details.ficha summary::-webkit-details-marker{display:none;}
details.ficha summary::after{content:"+";color:var(--verde);font-size:15px;}
details.ficha[open] summary::after{content:"–";}
details.ficha dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;
  margin:18px 0 4px;font-size:13px;}
details.ficha dt{color:var(--g400);}
details.ficha dd{margin:0;text-align:right;font-family:var(--display);
  font-weight:500;color:var(--warm);}
.panel .acciones{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto;
  padding-top:24px;}
.panel .acciones .btn{padding:13px 20px;font-size:11px;flex:1;
  justify-content:center;}


.tira{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;
  background:var(--linea);border:1px solid var(--linea);border-top:0;}
.tira button{background:var(--navy);border:0;cursor:pointer;padding:16px 12px;
  text-align:left;transition:background var(--t-base) var(--ease);border-top:2px solid transparent;}
.tira button:hover{background:var(--navy-3);}
.tira button[aria-pressed="true"]{background:var(--navy-3);
  border-top-color:var(--verde);}
.tira small{display:block;font:500 11px/1 var(--display);letter-spacing:.12em;
  color:var(--g400);}
.tira b{display:block;font:400 15px/1.2 var(--display);color:var(--warm);
  margin:7px 0 5px;}
.tira i{display:block;font-style:normal;font:500 11px/1 var(--display);
  color:var(--verde);}


.comparador{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;
  margin-top:26px;}
.comp-col{border:1px solid var(--linea);background:var(--navy-2);padding:22px;}
.comp-col.vacia{display:flex;align-items:center;justify-content:center;
  color:var(--g400);font-size:13px;border-style:dashed;min-height:190px;}
.comp-col h4{margin:0 0 12px;font:500 17px var(--display);color:var(--warm);}
.comp-col dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;
  margin:0;font-size:13px;}
.comp-col dt{color:var(--g400);}
.comp-col dd{margin:0;text-align:right;font-family:var(--display);
  font-weight:500;}
.comp-col .quitar{margin-top:14px;background:none;border:1px solid var(--linea-2);
  color:var(--g300);padding:7px 12px;font-size:11px;cursor:pointer;
  letter-spacing:.08em;text-transform:uppercase;}


.cotizador{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,4vw,60px);
  align-items:start;margin-top:44px;}
.controles{border:1px solid var(--linea);background:var(--navy-2);padding:32px;}
.modo{display:flex;gap:1px;background:var(--linea);border:1px solid var(--linea);
  margin-bottom:28px;}
.modo button{flex:1;background:var(--navy-2);border:0;cursor:pointer;
  padding:14px;font:500 11px/1 var(--display);letter-spacing:.11em;
  text-transform:uppercase;color:var(--g300);transition:all var(--t-base) var(--ease);}
.modo button[aria-pressed="true"]{background:var(--verde);color:var(--navy);}
.control{margin-bottom:26px;}
.control .fila{display:flex;justify-content:space-between;align-items:baseline;
  margin-bottom:11px;}
.control .fila label{font:400 11px/1 var(--body);letter-spacing:.08em;
  text-transform:uppercase;color:var(--g400);}
.control .fila output{font:500 20px/1 var(--display);color:var(--warm);}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;
  background:var(--linea-2);border-radius:2px;padding:0;border:0;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;
  height:20px;border-radius:50%;background:var(--verde);cursor:pointer;
  border:3px solid var(--navy-2);box-shadow:0 0 0 1px var(--verde);}
input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;
  background:var(--verde);cursor:pointer;border:3px solid var(--navy-2);}
.prima{margin-top:16px;}
.prima label{display:block;font:400 11px/1 var(--body);letter-spacing:.09em;
  text-transform:uppercase;color:var(--g400);margin-bottom:8px;}
.prima-campo{display:flex;align-items:center;gap:9px;border:1px solid
  var(--linea-2);background:var(--navy-3);padding:11px 14px;}
.prima-campo span{color:var(--verde);font:500 15px var(--display);}
.prima-campo input{flex:1;background:none;border:0;color:var(--warm);
  font:500 15px var(--display);width:100%;outline:none;
  font-variant-numeric:tabular-nums;}
.atajos{display:flex;gap:6px;margin-top:14px;flex-wrap:wrap;}
.atajos button{flex:1;min-width:44px;background:var(--navy-3);
  border:1px solid var(--linea-2);color:var(--g300);cursor:pointer;
  padding:9px 6px;font:500 11px var(--display);transition:all var(--t-micro) var(--ease);}
.atajos button:hover{border-color:rgba(2,202,96,.5);color:var(--verde);}
.atajos button[aria-pressed="true"]{background:var(--verde);color:var(--navy);
  border-color:var(--verde);}
.resultado{border:1px solid rgba(2,202,96,.34);background:rgba(2,202,96,.05);
  padding:32px;}
.resultado .cuota{font:500 clamp(38px,4.2vw,60px)/1 var(--display);
  color:var(--verde);letter-spacing:-.03em;}
.resultado .cuota-sub{font:400 11px/1.5 var(--body);letter-spacing:.07em;
  text-transform:uppercase;color:var(--g300);margin-top:10px;}
.desglose{display:grid;gap:11px;margin:28px 0 0;}


.comun{margin-top:26px;padding-top:24px;border-top:1px solid var(--linea-2);}
.comun dl{display:grid;gap:11px;margin:18px 0 0;}
.comun dt{font-size:13px;color:var(--g300);grid-column:1;}
.comun dd{margin:0;grid-column:2;justify-self:end;text-align:right;
  font-family:var(--display);font-weight:500;color:var(--warm);
  font-size:15px;}
.comun dl > dt,.comun dl > dd{padding-bottom:11px;
  border-bottom:1px solid var(--linea);}
.comun dl{grid-template-columns:1fr auto;align-items:baseline;}
.desglose div{display:flex;justify-content:space-between;gap:16px;
  padding-bottom:11px;border-bottom:1px solid var(--linea);}
.desglose span{font-size:13px;color:var(--g300);}
.desglose b{font-family:var(--display);font-weight:500;color:var(--warm);}


.recorridos{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;
  margin-top:42px;}
.recorrido{border:1px solid var(--linea);background:var(--negro);
  position:relative;overflow:hidden;}
.recorrido video{width:100%;aspect-ratio:16/9;object-fit:cover;}
.recorrido .reproducir{position:absolute;left:50%;top:38%;
  transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;
  border:1px solid rgba(2,202,96,.6);background:rgba(10,22,40,.72);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--verde);font-size:20px;cursor:pointer;
  transition:all var(--t-base) var(--ease);}
.recorrido .reproducir:hover{background:var(--verde);color:var(--navy);
  transform:translate(-50%,-50%) scale(1.06);}
.recorrido.reproduciendo .reproducir{opacity:0;pointer-events:none;}
.recorrido figcaption{padding:16px 20px;font:500 11px/1.4 var(--display);
  letter-spacing:.1em;text-transform:uppercase;color:var(--g300);}
.galeria{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;
  margin-top:42px;}
.galeria button{padding:0;border:0;background:none;cursor:pointer;
  aspect-ratio:16/9;overflow:hidden;position:relative;}
.galeria img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--t-media) var(--ease),opacity var(--t-base);}
.galeria button:hover img{transform:scale(1.06);}
.visor{position:fixed;inset:0;background:rgba(5,10,18,.97);z-index:90;
  display:none;align-items:center;justify-content:center;}
.visor.abierto{display:flex;}
.visor img{max-width:94vw;max-height:86svh;object-fit:contain;}
.visor button{position:absolute;background:none;border:0;color:var(--warm);
  cursor:pointer;font-size:32px;padding:20px;line-height:1;}
.visor .cerrar{top:8px;right:12px;}
.visor .prev{left:6px;top:50%;transform:translateY(-50%);}
.visor .next{right:6px;top:50%;transform:translateY(-50%);}


.tarjetas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin-top:44px;}
.tarjeta{border:1px solid var(--linea);padding:30px 26px;
  background:rgba(248,246,243,.018);transition:border-color var(--t-base) var(--ease);}
.tarjeta:hover{border-color:rgba(2,202,96,.4);}
.tarjeta h3{color:var(--warm);margin-bottom:12px;}
.tarjeta p{font-size:15px;line-height:1.65;margin:0;}


.barra-compra{position:fixed;left:0;right:0;bottom:0;z-index:70;
  height:var(--compra);background:rgba(13,27,48,.96);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--linea-2);
  transform:translateY(100%);transition:transform var(--t-base) var(--ease);}
.barra-compra.visible{transform:none;}
.barra-compra .wrap{display:flex;align-items:center;gap:18px;height:100%;}
.bc-lote{font:500 15px/1 var(--display);color:var(--warm);}
.bc-precio{font:500 20px/1 var(--display);color:var(--verde);}
.bc-sep{width:1px;height:26px;background:var(--linea-2);}
.bc-paso{font:400 11px/1.4 var(--body);letter-spacing:.06em;
  text-transform:uppercase;color:var(--g400);}
.barra-compra .btn{margin-left:auto;padding:13px 26px;font-size:11px;}


.cierre{text-align:center;border-top:0;
  background:linear-gradient(180deg,var(--navy) 0%,var(--negro) 100%);}
.frase{font:400 clamp(26px,4.2vw,50px)/1.15 var(--display);letter-spacing:-.02em;}
.aviso{font:400 11px/1.75 var(--body);color:var(--g400);max-width:82ch;
  margin:36px auto 0;}


@media (max-width:1180px){
  .explorador{grid-template-columns:1fr;}
  .panel{border-left:0;border-top:1px solid var(--linea);max-height:none;}
  .tarjetas{grid-template-columns:repeat(2,1fr);}
  .tira{grid-template-columns:7fr repeat(4,23.4471fr);}
}
@media (max-width:860px){
  .barra nav{display:none;}
  .accesos,.cotizador,.recorridos,.comparador{grid-template-columns:1fr;}
  .galeria{grid-template-columns:repeat(2,1fr);}
  .lienzo{min-height:66vh;}
  .cifras{gap:26px;}
  .barra-compra .bc-paso,.barra-compra .bc-sep{display:none;}
  .barra-compra .btn{padding:12px 18px;}
}
@media (max-width:560px){
  .tarjetas,.tira{grid-template-columns:repeat(2,1fr);}
  .rejilla-cifras{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;
    scroll-behavior:auto!important;}
}



@media (max-width:860px){
  
  .grupo-btn button,.herramientas button,.planes button,
  .barra-compra .btn,.panel .acciones .btn,
  .tira button{min-height:44px;padding-block:11px;}
  .grupo-btn button,.herramientas button{min-width:44px;}

  
  .lienzo{min-height:62vh;aspect-ratio:auto;}
  
  .lienzo svg{width:100%;height:100%;}

  
  .pista{font-size:11px;padding:8px 12px;left:12px;bottom:12px;
    max-width:calc(100% - 24px);}
}


.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;
  background:var(--verde);color:var(--navy);
  font:700 15px/1 var(--display);letter-spacing:.03em;
  padding:19px 38px;border-radius:8px;border:0;cursor:pointer;
  text-decoration:none;white-space:nowrap;position:relative;isolation:isolate;
  box-shadow:0 2px 14px rgba(2,202,96,.22),0 0 0 0 rgba(2,202,96,.34);
  transition:box-shadow var(--t-base) var(--ease),transform var(--t-micro) var(--ease),
             background var(--t-micro) var(--ease);}
.btn:hover{background:var(--verde-80);transform:translateY(-2px);
  box-shadow:0 10px 30px rgba(2,202,96,.40),0 0 0 5px rgba(2,202,96,.14);}
.btn:active{transform:translateY(0);}
.btn:focus-visible{outline:2px solid var(--warm);outline-offset:3px;}


.btn::after{content:"→";font-size:1.05em;line-height:1;
  transition:transform var(--t-base) var(--ease);}
.btn.sin-flecha::after,.btn.wa::after{content:none;}
.btn:hover::after{transform:translateX(5px);}

.btn.grande{font-size:17px;padding:23px 46px;border-radius:10px;}
.btn.bloque{display:flex;width:100%;}


.btn.llama{animation:latido 4s var(--ease) infinite;}
@keyframes latido{
  0%,72%,100%{box-shadow:0 2px 14px rgba(2,202,96,.22),
                          0 0 0 0 rgba(2,202,96,.34);}
  86%{box-shadow:0 6px 24px rgba(2,202,96,.34),
                 0 0 0 12px rgba(2,202,96,0);}}
@media (prefers-reduced-motion:reduce){.btn.llama{animation:none;}}


.btn.wa{background:#25D366;color:#062011;}
.btn.wa:hover{background:#2EE878;
  box-shadow:0 10px 30px rgba(37,211,102,.42),0 0 0 5px rgba(37,211,102,.16);}


.btn.fino{background:transparent;border:1.5px solid var(--verde);
  color:var(--verde);box-shadow:none;}
.btn.fino:hover{background:rgba(2,202,96,.14);border-color:var(--verde-80);
  color:var(--verde-80);box-shadow:0 6px 20px rgba(2,202,96,.18);}
.btn.claro{background:transparent;border:1.5px solid rgba(248,246,243,.45);
  color:var(--warm);box-shadow:none;}
.btn.claro:hover{background:rgba(248,246,243,.10);
  border-color:var(--warm);box-shadow:none;}



.flota{position:fixed;right:22px;bottom:26px;z-index:75;
  display:inline-flex;align-items:center;gap:0;overflow:hidden;
  height:60px;padding:0 18px;border-radius:30px;
  background:#25D366;color:#062011;text-decoration:none;
  font:700 15px/1 var(--display);
  box-shadow:0 8px 28px rgba(0,0,0,.42),0 0 0 0 rgba(37,211,102,.4);
  transition:bottom var(--t-base) var(--ease),box-shadow var(--t-base) var(--ease),
             padding var(--t-base) var(--ease);}
.flota svg{width:26px;height:26px;flex:0 0 26px;}
.flota span{max-width:0;opacity:0;white-space:nowrap;
  transition:max-width var(--t-base) var(--ease),opacity var(--t-base) var(--ease),
             margin var(--t-base) var(--ease);}
.flota:hover{box-shadow:0 12px 34px rgba(0,0,0,.5),
                        0 0 0 6px rgba(37,211,102,.18);}
.flota:hover span{max-width:230px;opacity:1;margin-left:11px;}
.flota:focus-visible{outline:2px solid var(--warm);outline-offset:3px;}
.flota.oculta{opacity:0;transform:scale(.7) translateY(12px);
  pointer-events:none;transition:opacity var(--t-base) var(--ease),
    transform var(--t-base) var(--ease);}
body.con-compra .flota{bottom:calc(var(--compra) + 20px);}
@media (max-width:860px){
  .flota{right:14px;bottom:18px;height:56px;padding:0 15px;}
  .flota:hover span{max-width:0;opacity:0;margin-left:0;}
}



main > section + section::before{content:"";position:absolute;top:0;
  left:50%;transform:translateX(-50%);
  width:min(var(--max),100%);
  max-width:calc(100% - 2*clamp(22px,4vw,56px));
  height:1px;background:linear-gradient(90deg,
    transparent,var(--linea-2) 12%,var(--linea-2) 88%,transparent);}
main > section{position:relative;}






.simbolo{width:26px;height:26px;flex:none;fill:var(--oro);opacity:.9;}
.marca-proyecto{display:flex;align-items:center;gap:14px;margin-bottom:22px;}
.marca-proyecto .nombre{font:500 13px/1 var(--display);letter-spacing:.30em;
  color:var(--piedra);text-transform:uppercase;}
.marca-proyecto .regla{flex:1;height:1px;background:linear-gradient(90deg,
  var(--oro),rgba(182,154,102,0));max-width:180px;}

.lema{font:400 clamp(20px,2.4vw,32px)/1.32 var(--display);
  color:var(--piedra);letter-spacing:-.01em;margin:0;}


.vision{position:relative;margin-top:0;}
.vision figure{margin:0;position:relative;}
.vision img{width:100%;height:auto;display:block;}
.vision .sello{position:absolute;left:clamp(16px,3vw,34px);
  top:clamp(16px,3vw,34px);z-index:2;display:inline-flex;align-items:center;
  gap:9px;padding:9px 15px;border-radius:2px;
  background:rgba(7,23,34,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid rgba(182,154,102,.45);
  font:500 11px/1 var(--display);letter-spacing:.18em;color:var(--oro);
  text-transform:uppercase;}
.vision figcaption{margin-top:14px;font-size:13px;color:var(--g400);
  max-width:64ch;}


.banda{position:relative;height:clamp(420px,72vh,760px);overflow:hidden;
  border-top:0;border-bottom:0;}
.banda video,.banda img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;}
.banda::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,var(--navy) 0%,rgba(10,22,40,.35) 22%,
    rgba(10,22,40,.30) 62%,var(--navy) 100%);}
.banda .wrap{position:relative;z-index:2;height:100%;display:flex;
  flex-direction:column;justify-content:center;align-items:center;
  text-align:center;}
.banda .lema{max-width:22ch;}
.banda .firma{margin-top:20px;font:400 11px/1 var(--body);
  letter-spacing:.22em;color:var(--g400);text-transform:uppercase;}
@media (max-width:860px){.banda{height:clamp(340px,58vh,520px);}}




.cierre{text-align:center;}
.cierre .frase{font:400 clamp(26px,3.4vw,44px)/1.2 var(--display);
  color:var(--warm);letter-spacing:-.02em;margin:0;}

.firma-pie{display:flex;align-items:center;justify-content:center;
  gap:16px;margin-top:34px;text-align:left;
  padding-top:30px;border-top:1px solid var(--linea-2);}
.firma-pie .simbolo{width:34px;height:34px;margin-top:2px;}
.firma-pie b{display:block;font:500 15px/1.3 var(--display);
  letter-spacing:.22em;color:var(--piedra);text-transform:uppercase;}
.firma-pie span{display:block;font-size:13px;line-height:1.6;
  color:var(--g400);margin-top:6px;}
.firma-pie span+span{color:var(--oro);margin-top:3px;}

.aviso-doble{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:38px;margin-top:38px;justify-content:center;}
.aviso-doble p{font-size:13px;line-height:1.72;color:var(--g400);margin:0;}
.aviso-doble .a-titulo{font:500 11px/1 var(--display);letter-spacing:.20em;
  color:var(--oro);text-transform:uppercase;margin-bottom:12px;}


.aviso-doble.una{grid-template-columns:minmax(0,58ch);
  justify-content:center;text-align:left;}
@media (max-width:860px){.aviso-doble{grid-template-columns:1fr;gap:28px;}}



.mosaico{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;margin-top:44px;}
.mosaico figure{margin:0;position:relative;overflow:hidden;
  background:var(--negro);aspect-ratio:1;}
.mosaico video{width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.02);transition:transform var(--t-larga) var(--ease);}
.mosaico figure:hover video{transform:scale(1.06);}
.mosaico figcaption{position:absolute;left:0;right:0;bottom:0;
  padding:34px 16px 14px;
  background:linear-gradient(180deg,transparent,rgba(7,23,34,.88));
  font:400 11px/1.3 var(--body);letter-spacing:.14em;
  text-transform:uppercase;color:var(--piedra);}
@media (max-width:860px){
  .mosaico{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}



.planes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;margin-top:22px;}
.planes button{display:flex;flex-direction:column;gap:5px;text-align:left;
  padding:16px 18px;border:1px solid var(--linea-2);border-radius:4px;
  background:transparent;cursor:pointer;
  transition:border-color var(--t-base) var(--ease),
             background var(--t-base) var(--ease);}
.planes button:hover{border-color:rgba(2,202,96,.55);
  background:rgba(2,202,96,.05);}
.planes button.es-activo{border-color:var(--verde);
  background:rgba(2,202,96,.10);}
.planes button:focus-visible{outline:2px solid var(--verde);outline-offset:2px;}
.planes .p-nombre{font:400 11px/1 var(--body);letter-spacing:.16em;
  text-transform:uppercase;color:var(--g400);}
.planes .p-cifra{font:500 20px/1.1 var(--display);color:var(--warm);
  letter-spacing:-.02em;}
.planes .p-cifra i{font-style:normal;font-size:13px;color:var(--g400);}
.planes button.es-activo .p-cifra{color:var(--verde);}
.planes .p-pie{font:400 11px/1.3 var(--body);color:var(--g400);}
#cot-lote{width:100%;background:var(--navy-3);border:1px solid var(--linea-2);
  color:var(--warm);padding:13px;border-radius:2px;
  font:400 15px var(--body);}
@media (max-width:860px){.planes{grid-template-columns:1fr;}}


.escasez{margin-top:14px;font:500 15px/1.4 var(--display);color:var(--piedra);
  letter-spacing:-.01em;}


@media (max-width:860px){
  .barra{flex-wrap:wrap;height:auto;padding-block:10px;row-gap:8px;}
  .barra nav{display:flex;order:3;width:100%;margin:0;gap:4px;
    overflow-x:auto;scrollbar-width:none;
    padding-bottom:2px;-webkit-overflow-scrolling:touch;}
  .barra nav::-webkit-scrollbar{display:none;}
  .barra nav a{flex:0 0 auto;padding:9px 12px;min-height:38px;
    display:inline-flex;align-items:center;}
}



.grupo-btn button:hover:not([aria-pressed="true"]){color:var(--verde);}
.planes button:hover .p-nombre{color:var(--piedra);}



:root{--medida:68ch;}
p{max-width:var(--medida);}

.tarjeta p,.acceso p,.dos p,.aviso-doble p,.mosaico figcaption,
.banda .lema,.vision figcaption,.firma-pie span,
.eyebrow,.escasez,.meta,.fuente,.firma{max-width:none;}


.eyebrow{line-height:1.6;letter-spacing:.14em;}


.cifra-g{line-height:1.1;}

@media (max-width:560px){
  
  h1{font-size:clamp(28px,6vw,40px);line-height:1.1;}
  .lead{max-width:none;}
}



.eyebrow{color:var(--oro);}
.num{color:var(--g300);}          
.num b{color:var(--oro);}
.tira small{color:var(--g300);}   

.precio,.bc-precio,.resultado .cuota,.acceso b,.tira i,
.planes button.es-activo .p-cifra{color:var(--warm);}

.chip{color:var(--verde-80);border-color:rgba(2,154,73,.46);}
.chip::before{background:var(--verde-80);}


main > section:not(.portada):not(.banda):not(.cierre){
  background:radial-gradient(ellipse 1200px 460px at 50% -6%,
    var(--navy-3) 0%,var(--navy-2) 42%,var(--navy) 78%);}
.panel,.controles,.comp-col,.resultado,.acceso{position:relative;
  box-shadow:inset 0 1px 0 rgba(248,246,243,.06),
             0 30px 60px -34px rgba(0,0,0,.55);}
.barra{box-shadow:inset 0 1px 0 rgba(248,246,243,.07);}
.marca-proyecto .simbolo{filter:drop-shadow(0 0 6px rgba(182,154,102,.35));}



:root{
  --v-xl:clamp(96px,11vw,168px);   
  --v-l: clamp(76px,8.4vw,124px);  
  --v-m: clamp(56px,6vw,88px);     
  --v-s: clamp(40px,4.2vw,60px);   
}


main > .banda + section{padding-top:var(--v-s);}
main > section#lugar{padding-top:var(--v-l);}
main > section#lotes,main > section#mosaico,
main > section#vision{padding-bottom:var(--v-xl);}
main > section#cotizador{padding-bottom:var(--v-l);}
main > section#galeria,main > section#evidencia,
main > section#descargas,main > section#contacto{padding-bottom:var(--v-m);}

main > .banda::before,main > .banda + section::before{display:none;}


main > .banda{height:clamp(280px,40svh,420px);}
main > .banda.alta{height:clamp(520px,72svh,760px);}
main > .banda:nth-of-type(2),
main > .banda:nth-of-type(5){height:clamp(520px,72svh,760px);}


#lotes > .wrap > h2,#mosaico > .wrap > h2,
#vision > .wrap > h2{font-size:clamp(32px,4.4vw,56px);}
#lugar > .wrap > h2,#cotizador > .wrap > h2{font-size:clamp(28px,3.2vw,40px);}
#evidencia > .wrap > h2,#galeria > .wrap > h2,
#descargas > .wrap > h2,#contacto > .wrap > h2{font-size:clamp(26px,2.5vw,32px);}


.tira{grid-template-columns:7fr repeat(8,23.4471fr);}
.tira::before{content:"CALLE 7.00 M";grid-column:1;
  background:rgba(248,246,243,.07);
  border-right:1px solid rgba(248,246,243,.28);
  writing-mode:vertical-rl;transform:rotate(180deg);
  display:flex;align-items:center;justify-content:center;
  font:500 10px/1 var(--display);letter-spacing:.20em;
  color:var(--g400);padding:10px 0;}

.tira button:first-of-type{box-shadow:inset 3px 0 0 var(--oro);}
@media (max-width:860px){.tira{grid-template-columns:7fr repeat(4,23.4471fr);}}
@media (max-width:560px){.tira{grid-template-columns:7fr repeat(2,23.4471fr);}
  .tira::before{font-size:9px;letter-spacing:.14em;}}


#lugar figure{margin-inline:0;}



@media (max-width:860px){
  .barra nav a{font-size:13px;padding:9px 11px;}
  .grupo-btn button{font-size:13px;}
  .eyebrow{font-size:12px;}
  .meta,.tira small,.planes .p-pie{font-size:12px;}
}


.panel .meta,.controles .meta,.comp-col .meta,.resultado .meta,
.planes .p-nombre,.planes .p-pie{color:var(--g300);}



.firma-pie::after{content:"";width:34px;height:34px;flex:none;}


.mosaico video{aspect-ratio:1;object-fit:cover;}



.portada{min-height:100svh;display:block;padding:0;overflow:hidden;}



.portada-marca{position:absolute;top:clamp(26px,5vh,54px);left:0;right:0;
  width:max-content;max-width:calc(100% - 2*clamp(18px,5vw,44px));
  margin-inline:auto;
  z-index:3;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  opacity:0;animation:entra-marca var(--t-larga) var(--ease) .25s forwards;}
.portada-marca .simbolo{width:102px;height:102px;fill:var(--piedra);}


.portada-marca span:not(.portada-por){font:500 17px/1 var(--display);
  letter-spacing:.34em;text-indent:.34em;
  color:var(--piedra);text-transform:uppercase;}



.portada-centro{position:absolute;inset:0;z-index:2;display:flex;
  
  flex-direction:column;justify-content:flex-start;align-items:center;
  text-align:center;pointer-events:none;
  padding:clamp(472px,50svh,520px) clamp(22px,5vw,80px) clamp(96px,13svh,140px);}
.portada-centro h1{font-size:clamp(38px,5.4vw,72px);line-height:1.12;
  letter-spacing:-.012em;font-weight:400;max-width:24ch;
  opacity:0;transform:translateY(28px);
  animation:entra-titular 1.5s var(--ease) .45s forwards;}

.portada-lema{margin:34px 0 0;max-width:none;font:400 13px/1.5 var(--body);
  letter-spacing:.26em;padding-left:.26em;text-wrap:balance;
  text-transform:uppercase;color:var(--piedra);
  opacity:0;animation:entra-lema var(--t-larga) var(--ease) 1.1s forwards;}



.portada-bajar{position:absolute;left:0;right:0;bottom:clamp(26px,5svh,52px);
  width:max-content;max-width:calc(100% - 2*clamp(18px,5vw,44px));
  margin-inline:auto;
  z-index:3;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:12px;
  color:var(--warm);text-decoration:none;
  font:400 11px/1 var(--body);letter-spacing:.22em;text-indent:.22em;
  text-transform:uppercase;
  opacity:0;animation:entra-lema var(--t-larga) var(--ease) 1.5s forwards;}
.portada-bajar svg{width:22px;height:13px;
  animation:respira-flecha 2.6s var(--ease) 2s infinite;}
.portada-bajar:hover{color:var(--verde);}

@keyframes entra-marca{to{opacity:1;}}
@keyframes entra-titular{to{opacity:1;transform:none;}}
@keyframes entra-lema{to{opacity:1;}}
@keyframes respira-flecha{
  0%,68%,100%{transform:translateY(0);opacity:.85;}
  84%{transform:translateY(7px);opacity:1;}}


.portada>video,.portada>picture,.portada>picture>img{
  animation:acercar-lento 24s var(--ease) infinite alternate;}
@keyframes acercar-lento{from{transform:scale(1);}to{transform:scale(1.06);}}

@media (prefers-reduced-motion:reduce){
  .portada-marca,.portada-centro h1,.portada-lema,.portada-bajar{
    opacity:1;transform:none;animation:none;}
  .portada-bajar svg,.portada>video,.portada>picture,.portada>picture>img{
    animation:none;}
}


.resumen{padding-top:var(--v-l);}
.resumen .lead{max-width:52ch;}
.resumen-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px;}

@media (max-width:860px){
  .portada-centro h1{font-size:clamp(32px,8.4vw,46px);max-width:13ch;}
  .portada-centro{padding-top:clamp(441px,52svh,480px);}
  .portada-lema{font-size:11px;letter-spacing:.2em;margin-top:18px;}
  .portada-marca .simbolo{width:76px;height:76px;}
  .portada-marca{gap:12px;}
  .portada-por{padding-top:18px;}
}



.portada::after{background:
  linear-gradient(180deg,
    rgba(7,17,30,.78) 0%,rgba(7,17,30,.42) 13%,
    rgba(10,22,40,.34) 30%,rgba(10,22,40,.58) 54%,
    rgba(10,22,40,.72) 82%,rgba(10,22,40,.90) 93%,var(--navy) 100%);}
.portada-marca span,.portada-bajar{
  text-shadow:0 1px 14px rgba(5,12,22,.85);}
.portada-centro h1{text-shadow:0 2px 30px rgba(5,12,22,.75),
  0 1px 3px rgba(5,12,22,.4);}
.portada-lema{color:var(--warm);
  text-shadow:0 1px 12px rgba(5,12,22,.8);}


.barra{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;
  box-shadow:none;
  transition:background var(--t-media) var(--ease),
             backdrop-filter var(--t-media) var(--ease);}
.barra.compacta{background:rgba(10,22,40,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  box-shadow:inset 0 1px 0 rgba(248,246,243,.07);}

.barra:not(.compacta) nav,
.barra:not(.compacta) .grupo-btn{opacity:0;visibility:hidden;
  transition:opacity var(--t-base) var(--ease),
             visibility 0s var(--t-base);}
.barra.compacta nav,.barra.compacta .grupo-btn{opacity:1;visibility:visible;
  transition:opacity var(--t-base) var(--ease),visibility 0s;}
.barra.compacta nav,.barra.compacta .grupo-btn{opacity:1;pointer-events:auto;}
@media (max-width:860px){
  
  .barra:not(.compacta) nav{visibility:hidden;}
}




.portada{margin-top:calc(-1 * var(--barra));}
.portada-marca{top:calc(var(--barra) + clamp(18px,3.5svh,40px));}


.portada-marca .simbolo{fill:var(--warm);}
.portada-marca span{color:var(--warm);}



@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){
  .lienzo{min-height:auto;height:min(78svh,520px);aspect-ratio:auto;}
  .lienzo svg{width:100%;height:100%;}
  .portada{min-height:auto;height:100svh;}
  .portada-centro h1{font-size:clamp(28px,5.4vw,44px);}
  .cifras{margin-top:20px;gap:16px;}
  .barra-compra .btn,.grupo-btn button{min-height:40px;}
}


.barra-compra{padding-bottom:env(safe-area-inset-bottom,0);
  height:calc(var(--compra) + env(safe-area-inset-bottom,0));}
.flota{bottom:calc(26px + env(safe-area-inset-bottom,0));}
body.con-compra .flota{
  bottom:calc(var(--compra) + 20px + env(safe-area-inset-bottom,0));}
@media (max-width:860px){
  .flota{bottom:calc(18px + env(safe-area-inset-bottom,0));}
}


@media (max-width:860px){
  .barra nav{
    mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);}
  
  .barra-compra .btn{padding-inline:22px;font-size:12px;}
}


.lienzo{min-height:62svh;}



@media (max-width:860px){
  .tira{grid-template-columns:repeat(2,minmax(0,1fr));
    padding-left:34px;position:relative;}
  .tira::before{position:absolute;left:0;top:0;bottom:0;width:34px;
    grid-column:auto;border-right:1px solid rgba(248,246,243,.28);}
  .tira button{min-height:44px;}
}
@media (max-width:560px){
  .tira{grid-template-columns:1fr;}
}


.flota{min-width:56px;min-height:56px;}
.portada-bajar{min-height:44px;padding:6px 14px;}
.salto{min-height:44px;display:inline-flex;align-items:center;}
@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){
  .barra-compra .btn,.grupo-btn button,.herramientas button{min-height:44px;}
}



@media (max-width:860px){
  
  .barra{display:block;height:auto;padding-block:8px;}
  .barra .wrap{display:grid;grid-template-columns:auto 1fr;
    grid-template-areas:"logo controles" "nav nav";
    align-items:center;row-gap:6px;column-gap:12px;height:auto;}
  .barra .logo{grid-area:logo;}
  .barra nav{grid-area:nav;width:auto;margin:0;min-width:0;}
  .barra .grupo-btn{grid-area:controles;justify-self:end;}
  .barra .grupo-btn + .grupo-btn{justify-self:end;margin-right:86px;}

  .grupo-btn button{min-height:32px;min-width:34px;padding:8px 10px;
    font-size:12px;position:relative;}
  
  .barra .grupo-btn{overflow:visible;}
  .grupo-btn button::after{content:"";position:absolute;
    left:-5px;right:-5px;top:50%;height:44px;transform:translateY(-50%);}
}

@media (max-width:860px){:root{--barra:112px;}}   
@media (max-width:680px){:root{--barra:104px;}}   


.banda .lema{color:var(--warm);text-shadow:0 2px 20px rgba(5,12,22,.7);}
.banda .firma{color:var(--piedra);text-shadow:0 1px 12px rgba(5,12,22,.85);}
.banda::after{background:linear-gradient(180deg,var(--navy) 0%,
  rgba(10,22,40,.42) 20%,rgba(10,22,40,.50) 50%,
  rgba(10,22,40,.62) 80%,var(--navy) 100%);}



.acciones{display:grid;gap:12px;margin-top:26px;}
.acciones-pie{margin:-4px 0 2px;font:400 12px/1.5 var(--body);
  color:var(--g300);}
.acciones-fila{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;}
.acciones-fila .btn{padding:14px 12px;font-size:13px;}
.acciones .btn.grande{padding:19px 24px;font-size:15px;}
@media (max-width:860px){
  .acciones-fila{grid-template-columns:1fr;}
  .acciones .btn{min-height:48px;}
}



.portada-por{font:400 10px/1 var(--body);letter-spacing:.24em;
  text-indent:.24em;white-space:nowrap;
  text-transform:uppercase;color:var(--g300);margin-top:14px;
  opacity:.85;}

.portada-arvore{position:static;width:96px;height:auto;margin:14px 0 0;
  inset:auto;object-fit:contain;animation:none;opacity:.9;
  filter:drop-shadow(0 1px 9px rgba(5,12,22,.7));}
.portada-por{position:relative;padding-top:26px;}
.portada-por::before{content:"";position:absolute;top:0;left:50%;
  width:44px;height:1px;margin-left:-22px;
  background:linear-gradient(90deg,transparent,rgba(216,205,184,.42),transparent);}


body.en-portada .barra .logo{opacity:0;pointer-events:none;}
.barra .logo{transition:opacity var(--t-base) var(--ease);}
@media (max-width:860px){
  .portada-arvore{width:64px;}
  .portada-por{font-size:9px;letter-spacing:.2em;text-indent:.2em;
    margin-top:11px;}
}


.nav{position:relative;margin-inline:0;}
.nav-lienzo{position:relative;overflow:hidden;border-radius:2px;
  background:var(--negro);box-shadow:0 18px 50px rgba(5,10,18,.45);}
.nav-svg{display:block;width:100%;aspect-ratio:16/9;cursor:grab;
  --k:1;--u:1;touch-action:pan-y pinch-zoom;}
.nav-svg:active{cursor:grabbing;}
.nav-svg:focus-visible{outline:2px solid var(--verde);outline-offset:-2px;}

.nav-svg *:focus{outline:none;}
.nav-svg{-webkit-tap-highlight-color:transparent;}

@media (max-width:860px){
  
  .nav-svg{aspect-ratio:1/1;max-height:76svh;}
}


.nav-predio{fill:none;stroke:var(--verde);
  stroke-width:calc(2px * var(--u));pointer-events:none;}
.nav-pulso circle{fill:none;stroke:var(--verde);pointer-events:none;
  vector-effect:non-scaling-stroke;}
.nav-pulso-a{stroke-width:2.4;opacity:.85;}
.nav-pulso-b{stroke-width:1;opacity:.32;}
@media (prefers-reduced-motion:no-preference){
  .nav-pulso-b{transform-box:fill-box;transform-origin:center;
    animation:navLatido 3.4s var(--ease) infinite;}
}
@keyframes navLatido{
  0%,100%{opacity:.10;transform:scale(.86);}
  50%    {opacity:.42;transform:scale(1.12);}
}


.nav-ruta{stroke:transparent;fill:none;pointer-events:none;
  stroke-width:calc(5px * var(--u));stroke-linecap:round;
  transition:stroke var(--t-micro) var(--ease);}
.nav-ruta.es-activa{stroke:var(--verde);opacity:.92;}
.nav-ruta--agua.es-activa{stroke-dasharray:calc(9px * var(--u))
  calc(7px * var(--u));}


.nav-punto{cursor:pointer;
  transform:translate(calc(var(--px) * 1px), calc(var(--py) * 1px))
            scale(var(--u));}
.nav-toque{fill:transparent;}
.nav-halo{fill:var(--verde);opacity:.24;
  transition:opacity var(--t-micro) var(--ease);}
.nav-nucleo{fill:var(--warm);stroke:var(--navy);stroke-width:1.4;}
.nav-punto:hover .nav-halo,
.nav-punto.es-activo .nav-halo{opacity:.62;}
.nav-punto.es-activo .nav-nucleo{fill:var(--verde);}
.nav-punto:focus-visible .nav-halo{opacity:.8;}
.nav-punto:focus-visible .nav-nucleo{fill:var(--verde);stroke:var(--warm);
  stroke-width:3;}



.nav-nombre,.nav-pie{cursor:pointer;paint-order:stroke fill;
  stroke:rgba(5,10,18,.78);stroke-linejoin:round;}
.nav-nombre{font:700 14px/1 var(--display);letter-spacing:.07em;
  fill:var(--warm);stroke-width:3.4;}
.nav-pie{font:400 12px/1 var(--body);fill:var(--piedra);stroke-width:2.8;}

.nav-punto.sin-rotulo .nav-nombre,
.nav-punto.sin-rotulo .nav-pie{display:none;}
.nav-punto.es-hito .nav-nombre{font-size:17px;fill:var(--warm);
  letter-spacing:.1em;}


@media (max-width:860px){
  .nav-punto:not(.es-hito) .nav-pie{display:none;}
  .nav-nombre{font-size:12.5px;letter-spacing:.05em;}
  .nav-punto.es-hito .nav-nombre{font-size:15px;}
}
.nav-punto.es-hito .nav-nucleo{fill:var(--verde);}

.nav-escala rect{pointer-events:none;stroke:rgba(5,10,18,.55);
  stroke-width:calc(.8px * var(--u));}
.nav-escala-a{fill:var(--warm);}
.nav-escala-b{fill:var(--navy);}
.nav-escala-txt{font:500 calc(11px * var(--u))/1 var(--display);
  letter-spacing:.14em;fill:var(--piedra);pointer-events:none;
  paint-order:stroke fill;stroke:rgba(5,10,18,.72);
  stroke-width:calc(2.4px * var(--u));}


.nav-mandos{position:absolute;top:14px;right:14px;display:flex;gap:6px;
  align-items:center;z-index:3;}
.nav-mandos button{min-width:38px;height:38px;padding:0 12px;cursor:pointer;
  border:1px solid rgba(216,205,184,.28);border-radius:2px;
  background:rgba(7,23,34,.82);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  color:var(--piedra);font:500 15px/1 var(--display);
  transition:border-color var(--t-micro) var(--ease),
             color var(--t-micro) var(--ease);}
.nav-mandos button:last-child{font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;}
.nav-mandos button:hover{border-color:var(--verde);color:var(--verde);}

.nav-pista{position:absolute;left:14px;top:16px;z-index:3;margin:0;
  max-width:min(58%,340px);
  font:500 11px/1.45 var(--display);letter-spacing:.14em;
  text-transform:uppercase;color:var(--g300);
  background:rgba(10,22,40,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  border:1px solid var(--linea);padding:9px 13px;border-radius:2px;
  transition:opacity var(--t-micro) var(--ease);}
.nav.es-acercado .nav-pista{opacity:0;}


.nav-ficha{position:absolute;left:14px;bottom:14px;z-index:4;
  width:min(330px,calc(100% - 28px));padding:16px 18px 17px;
  border:1px solid rgba(216,205,184,.2);border-left:2px solid var(--verde);
  border-radius:2px;background:rgba(7,23,34,.93);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 14px 40px rgba(5,10,18,.5);}
@media (prefers-reduced-motion:no-preference){
  .nav-ficha{animation:navFicha var(--t-media) var(--ease) both;}
}
@keyframes navFicha{from{opacity:0;transform:translateY(10px);}
                    to{opacity:1;transform:none;}}
.nav-ficha b{display:block;font:500 15px/1.25 var(--display);
  letter-spacing:.005em;color:var(--warm);}
.nav-ficha span{display:block;margin-top:3px;font:500 11px/1.3 var(--display);
  letter-spacing:.14em;text-transform:uppercase;color:var(--oro);}
.nav-ficha p{margin:11px 0 0;font:400 13.5px/1.6 var(--body);
  color:var(--g300);max-width:none;}
.nav-cerrar{position:absolute;top:6px;right:8px;width:30px;height:30px;
  border:0;background:none;cursor:pointer;color:var(--g400);
  font:400 21px/1 var(--display);}
.nav-cerrar:hover{color:var(--verde);}

@media (max-width:860px){
  .nav-mandos{top:auto;bottom:12px;right:12px;}
  .nav-mandos button{min-width:44px;height:44px;}
  .nav-pista{font-size:11px;max-width:calc(100% - 28px);}
  .nav-ficha{left:12px;right:12px;bottom:64px;width:auto;}
}


.credo{margin:52px 0 0;text-align:center;
  font:400 clamp(19px,2.1vw,27px)/1.3 var(--display);
  letter-spacing:-.012em;color:var(--piedra);}
.cierre .meta{margin-top:26px;text-align:center;}
@media (max-width:860px){.credo{margin-top:40px;}}


#panel .gancho{margin:14px 0 4px;font:500 11px/1.3 var(--display);
  letter-spacing:.2em;text-transform:uppercase;color:var(--oro);}
#panel .titular{margin:6px 0 0;font:400 15px/1.45 var(--body);
  color:var(--piedra);max-width:34ch;}
#panel .porque{margin:20px 0 0;font:400 14px/1.68 var(--body);
  color:var(--g300);max-width:46ch;
  padding-top:18px;border-top:1px solid rgba(182,154,102,.22);}
#panel .porque b{color:var(--warm);font-weight:500;}


#tira button b{font:500 12.5px/1.32 var(--display);letter-spacing:.005em;
  color:var(--piedra);text-transform:none;min-height:2.6em;
  display:flex;align-items:center;}
#tira button[aria-pressed="true"] b{color:var(--warm);}


.nota-fuente{max-width:62ch;margin:52px auto 0;text-align:left;
  padding:26px 30px;border-radius:2px;
  border:1px solid rgba(182,154,102,.16);
  background:rgba(248,246,243,.018);}
.nota-fuente .a-titulo{font:500 10.5px/1 var(--display);letter-spacing:.22em;
  color:var(--oro);text-transform:uppercase;margin:0 0 13px;}
.nota-fuente p:last-child{margin:0;font:400 13px/1.72 var(--body);
  color:var(--g400);max-width:none;}


.cierre .firma-pie{margin-top:46px;padding-top:0;border-top:0;}
.cierre .firma-pie span+span{display:none;}

.firma-arvore{display:flex;flex-direction:column;align-items:center;
  gap:11px;margin-top:38px;padding-top:32px;
  border-top:1px solid var(--linea-2);}
.firma-arvore img{width:42px;height:auto;opacity:.82;}
.firma-arvore span{font:400 12px/1.5 var(--body);letter-spacing:.06em;
  color:var(--g400);}


.cierre .credo{margin:30px 0 0;}
.cierre .meta{margin-top:30px;font-size:11px;color:var(--g300);
  letter-spacing:.06em;}

@media (max-width:860px){
  .nota-fuente{margin-top:38px;padding:22px 20px;}
  .firma-arvore{margin-top:30px;padding-top:26px;}
}



.fuente{font:400 13px/1.72 var(--body);color:var(--g400);}
.t-label{font:500 11px/1 var(--display);letter-spacing:.2em;
  text-transform:uppercase;color:var(--oro);margin-bottom:10px;}


.dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:38px;margin-top:44px;}
@media (max-width:860px){.dos{grid-template-columns:1fr;gap:22px;}}


@media (max-width:560px){
  .tarjetas{grid-template-columns:1fr;}
  .rejilla-cifras{grid-template-columns:1fr;}
}


.lienzo{min-height:0;}
@media (max-width:860px){.lienzo{min-height:62svh;}}



.comp-gancho{margin:0 0 6px;font:500 10px/1.3 var(--display);
  letter-spacing:.18em;text-transform:uppercase;color:var(--oro);}


.chip-reservado{background:rgba(245,166,35,.14);color:#F5A623;
  border-color:rgba(245,166,35,.34);}
.chip-vendido{background:rgba(184,180,174,.12);color:var(--g300);
  border-color:rgba(184,180,174,.28);}
polygon.lote.es-vendido{fill:rgba(184,180,174,.10);
  stroke:rgba(184,180,174,.45);}
#tira button.es-reservado i{color:#F5A623;}
polygon.lote.es-reservado{fill:rgba(245,166,35,.16);
  stroke:rgba(245,166,35,.5);}
#tira button.es-vendido{opacity:.5;}
#tira button.es-vendido i{text-decoration:line-through;}



.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}



@media (max-width:860px){
  .accesos,.cotizador,.recorridos,.comparador,.explorador,.planes{
    grid-template-columns:minmax(0,1fr);}
}
@media (max-width:560px){
  .tarjetas,.rejilla-cifras{grid-template-columns:minmax(0,1fr);}
  
  .btn.bloque,.btn.grande{white-space:normal;line-height:1.25;}
}


details.ficha summary{min-height:44px;padding-block:14px 12px;}
.nav-cerrar{width:44px;height:44px;top:2px;right:4px;}
.comp-col .quitar{min-height:44px;padding-block:12px;}
@media (max-width:860px){.barra nav a{min-height:44px;}}


.panel .acciones{display:grid;gap:12px;margin-top:auto;padding-top:24px;
  flex-wrap:unset;}
.panel .acciones .btn{font-size:13px;}
.panel .acciones-fila .btn{font-size:13px;}


body{padding-bottom:env(safe-area-inset-bottom,0);}
body.con-compra{padding-bottom:calc(var(--compra) + env(safe-area-inset-bottom,0));}


.wrap{padding-inline:calc(clamp(22px,4vw,56px) + env(safe-area-inset-left,0))
                   calc(clamp(22px,4vw,56px) + env(safe-area-inset-right,0));}
.flota{right:calc(14px + env(safe-area-inset-right,0));}

.nota-fuente .a-titulo{font-size:11px;}





.visor{overscroll-behavior:contain;touch-action:none;}
.visor .cerrar{top:calc(8px + env(safe-area-inset-top,0));
  right:calc(12px + env(safe-area-inset-right,0));}
.visor .prev{left:calc(6px + env(safe-area-inset-left,0));}
.visor .next{right:calc(6px + env(safe-area-inset-right,0));}
.visor img{max-width:calc(94vw - env(safe-area-inset-left,0)
  - env(safe-area-inset-right,0));}


#cot-lote{-webkit-appearance:none;appearance:none;min-height:44px;
  padding:13px 38px 13px 13px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23F8F6F3' stroke-width='1.6'><path d='M1 1l5 5 5-5'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;}


@media (orientation:landscape) and (max-height:520px) and (pointer:coarse){
  .portada-centro{padding-top:clamp(150px,38svh,190px);
    padding-bottom:clamp(40px,9svh,60px);}
  .portada-lema{margin-top:10px;}
  .portada-marca{gap:8px;}
  .portada-marca .simbolo{width:44px;height:44px;}
  .portada-por,.portada-arvore{display:none;}
}


.barra{transition:background var(--t-media) var(--ease),
  -webkit-backdrop-filter var(--t-media) var(--ease),
  backdrop-filter var(--t-media) var(--ease);}



.planes button:last-child:nth-child(odd){grid-column:1/-1;}
@media (max-width:860px){.planes button:last-child:nth-child(odd){grid-column:auto;}}


@media (max-width:860px) and (max-height:620px) and (orientation:portrait){
  .portada-centro{padding-top:304px;padding-bottom:56px;}
  .portada-marca{gap:8px;}
  .portada-marca .simbolo{width:44px;height:44px;}
  .portada-marca span{font-size:12px;}
  .portada-por{padding-top:10px;}
  .portada-arvore{width:40px;margin-top:6px;}
  .portada-centro h1{font-size:clamp(28px,7vw,34px);}
  .portada-lema{margin-top:18px;}
}


@media (min-width:861px) and (max-height:820px){
  .portada-marca{gap:14px;}
  .portada-marca .simbolo{width:84px;height:84px;}
  .portada-marca span{font-size:15px;}
  .portada-por{padding-top:20px;}
  .portada-arvore{width:80px;margin-top:10px;}
  .portada-centro{padding-top:404px;}
}


.pasos{list-style:none;margin:44px 0 0;padding:0;
  border-top:1px solid var(--linea-2);}
.paso{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:6px 18px;
  padding:22px 0;border-bottom:1px solid var(--linea-2);
  align-items:baseline;}
.paso i{font:500 20px/1 var(--display);color:var(--oro);font-style:normal;}
.paso b{font:500 15px/1.4 var(--display);color:var(--warm);display:block;}
.paso div p{margin:6px 0 0;font:400 14px/1.65 var(--body);color:var(--g300);
  max-width:56ch;}
.paso small{font:500 11px/1.4 var(--display);letter-spacing:.14em;
  text-transform:uppercase;color:var(--piedra);white-space:nowrap;}
@media (max-width:860px){
  .paso{grid-template-columns:34px minmax(0,1fr);}
  .paso small{grid-column:2;margin-top:2px;}
}
.gastos{margin-top:34px;max-width:62ch;}
.gastos dl{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;}
.gastos dt{margin-top:16px;font:500 13px/1.4 var(--display);
  color:var(--warm);}
.gastos dd{margin:2px 0 0;font:400 13px/1.65 var(--body);color:var(--g300);}
.gastos dd em{font-style:normal;color:var(--g400);}
.gastos .fuente{margin-top:20px;}
