/* Inversiones Baja — sitio público. Línea inmobiliaria editorial (referencia «Haven», Andrés 24-oct-2026):
   siempre claro, títulos serif con una línea en cursiva, buscador blanco sobre la foto, tarjetas con datos,
   banda de cifras. El color es el azul de Inversiones Baja (navy de FH); nada de dorados ni verdes. */
:root{
  --fondo:#F6F7F9; --hoja:#FFFFFF; --hoja-2:#EFF2F6; --hoja-3:#E3E8EF;
  --tinta:#141B26; --tinta-2:#525C6B; --tinta-3:#8A93A1;
  --linea:#E2E6EC;
  --navy:#002157; --navy-2:#00183F; --navy-3:#0A2E6B; --azul:#0C579A; --azul-claro:#8DB6E3; --azul-suave:#E8F0F9;
  --wa:#1FA855; --wa-2:#178A45;
  --ok:#1C7A55; --ok-suave:#E7F3EC; --mal:#B42318; --mal-suave:#FDF1F0;
  --sombra-1:0 1px 3px rgba(20,27,38,.06);
  --sombra-2:0 24px 48px -24px rgba(0,33,87,.28);
  --serif:'Instrument Serif',Georgia,'Times New Roman',serif;
  --sans:'Lato',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:8px; --r-sm:4px;
  --max:1520px; --margen:clamp(20px,4vw,72px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;color-scheme:light}
body{background:var(--fondo);color:var(--tinta);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.005em;text-wrap:balance;line-height:1.08;color:var(--tinta)}
h1 em,h2 em{font-style:italic;color:var(--azul)}
a{color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.ico{width:18px;height:18px;flex:none}
[hidden]{display:none!important}

/* barra */
header.top{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linea)}
.topnav{display:flex;align-items:center;gap:24px;max-width:1200px;margin:0 auto;padding:12px 20px}
.marca{display:flex;align-items:center;text-decoration:none;flex:none}
.marca img{display:block;height:48px;width:auto}
@media (max-width:400px){.marca img{height:40px}.topnav{gap:10px;padding:10px 16px}}
.links{display:none;gap:34px;margin:0 auto}
@media (min-width:900px){.links{display:flex}}
.links a{text-decoration:none;color:var(--tinta);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 0;
  border-bottom:2px solid transparent;transition:border-color .15s,color .15s}
.links a:hover{border-bottom-color:var(--azul);color:var(--navy)}
.ctas{display:flex;align-items:center;gap:10px;margin-left:auto}
@media (min-width:900px){.ctas{margin-left:0}}
.lang{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-decoration:none;color:var(--tinta-2);border:1px solid var(--linea);border-radius:var(--r-sm);padding:8px 10px}
.lang:hover{border-color:var(--navy);color:var(--navy)}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:700;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;border:1px solid transparent;border-radius:var(--r-sm);padding:15px 24px;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:background .15s ease,color .15s ease,border-color .15s ease}
.btn .ico{width:16px;height:16px}
.btn:focus-visible{outline:2px solid var(--azul-claro);outline-offset:2px}
.btn-azul{background:var(--navy);color:#fff}
.btn-azul:hover{background:var(--azul)}
.btn-claro{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-claro:hover{background:var(--navy);color:#fff}
.btn-blanco{background:transparent;color:#fff;border-color:rgba(255,255,255,.85)}
.btn-blanco:hover{background:#fff;color:var(--navy)}
.btn-wa{background:var(--wa);color:#fff}
.btn-wa:hover{background:var(--wa-2)}
.btn-sm{padding:11px 16px;font-size:11px}
.btn-bloque{width:100%}
.btn[disabled]{opacity:.6;cursor:progress}
.liga{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--azul);text-decoration:none}
.liga .ico{width:16px;height:16px;transition:transform .15s}
.liga:hover .ico{transform:translateX(3px)}

/* portada: el video del proyecto a todo lo ancho y en su proporción original (16:9, sin recorte ni zoom), con el
   texto encima a la derecha: sus letreros salen abajo a la izquierda y así quedan libres. En celular el video es
   muy bajito para escribir encima: va arriba y el texto debajo. */
.portada{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.portada .medio{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.portada .medio video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.portada .txt{padding:36px 20px 96px}
@media (min-width:960px){
  .portada .medio::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(270deg,rgba(0,16,42,.82) 0%,rgba(0,16,42,.66) 34%,rgba(0,16,42,.28) 56%,rgba(0,16,42,0) 70%),
               linear-gradient(180deg,rgba(0,16,42,.35) 0%,rgba(0,16,42,0) 22%)}
  .portada .txt{position:absolute;top:0;right:0;bottom:0;width:min(560px,40%);padding:clamp(40px,8vw,140px) clamp(28px,4vw,72px) 120px 0;
    display:flex;flex-direction:column;justify-content:flex-start;text-shadow:0 2px 18px rgba(0,10,30,.35)}
}
.ceja{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.9);margin-bottom:20px}
.ceja .ico{width:22px;height:22px;color:var(--azul-claro)}
.portada h1{color:#fff;font-size:clamp(38px,4.5vw,76px);line-height:1.02}
.portada h1 em{display:block;color:#fff}
.portada .sub{font-size:clamp(16px,1.25vw,18px);color:rgba(255,255,255,.9);max-width:42ch;margin-top:20px}
.portada .botones{margin-top:28px;align-items:center}
.botones{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}

/* buscador blanco sobre la portada */
.buscador{position:relative;z-index:2;margin-top:-56px}
@media (min-width:960px){.buscador{margin-top:-64px}}
.buscador form{background:var(--hoja);border-radius:var(--r);padding:10px;display:grid;grid-template-columns:1fr 1fr;gap:2px 4px;box-shadow:var(--sombra-2)}
@media (max-width:819px){.campo{padding:8px 10px}.buscador .btn{margin:8px 6px;align-self:end;padding:14px 12px}}
.campo{display:flex;flex-direction:column;padding:10px 14px}
.campo label{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-3);margin-bottom:2px}
.campo label .ico{width:15px;height:15px;color:var(--azul)}
.campo select{border:0;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23525C6B' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center;
  -webkit-appearance:none;appearance:none;padding:6px 22px 6px 0;font-size:15px;font-weight:700;color:var(--tinta);cursor:pointer;border-radius:0}
.campo select:focus{outline:0;box-shadow:0 2px 0 var(--azul)}
.buscador .btn{margin:6px}
@media (min-width:820px){
  .buscador form{grid-template-columns:repeat(3,1fr) auto;align-items:center;padding:12px 12px 12px 10px}
  .campo+.campo{border-left:1px solid var(--linea)}
  .buscador .btn{margin:0 0 0 8px;height:54px}
}

/* secciones */
.seccion{padding:96px 0}
.seccion.alt{background:var(--hoja)}
.cabeza-sec{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px}
.eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--azul);margin-bottom:12px}
.seccion h2{font-size:clamp(34px,4.2vw,52px)}
.sub-sec{color:var(--tinta-2);font-size:16.5px;margin-top:12px;max-width:60ch}

/* tarjetas */
.rejilla{display:grid;gap:22px;margin-top:40px;grid-template-columns:1fr}
@media (min-width:640px){.rejilla{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.rejilla{grid-template-columns:repeat(4,1fr)}.rejilla.tres{grid-template-columns:repeat(3,1fr)}}
.tarjeta{display:flex;flex-direction:column;background:var(--hoja);border-radius:var(--r);overflow:hidden;text-decoration:none;
  box-shadow:var(--sombra-1);border:1px solid var(--linea);transition:box-shadow .2s ease,transform .2s ease}
.seccion.alt .tarjeta{background:var(--fondo)}
.tarjeta:hover{box-shadow:var(--sombra-2);transform:translateY(-4px)}
.tarjeta .foto{position:relative}
.tarjeta .foto img{width:100%;aspect-ratio:4/3;object-fit:cover}
.tarjeta .carrusel{overflow:hidden}
.tarjeta .carrusel img.c{transition:opacity 1s ease;opacity:0}
.tarjeta .carrusel img.c:not(:first-child){position:absolute;inset:0;height:100%}
.tarjeta .carrusel img.c.on{opacity:1}
.tarjeta .puntos{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;gap:5px;z-index:2}
.tarjeta .puntos i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55);transition:background .3s}
.tarjeta .puntos i.on{background:#fff}
@media (prefers-reduced-motion: reduce){.tarjeta .carrusel img.c{transition:none}}
.etiqueta{position:absolute;top:12px;left:12px;z-index:2;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 9px;
  border-radius:var(--r-sm);background:#fff;color:var(--navy)}
.tarjeta .cuerpo{padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px;flex:1}
.tarjeta h3{font-size:27px}
.donde{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--tinta-3)}
.donde .ico{width:15px;height:15px;color:var(--azul)}
.tarjeta .donde span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-top:8px;font-size:13px;color:var(--tinta-2)}
.specs span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.ficha .specs{display:flex;flex-wrap:wrap;gap:10px 26px}
.specs .ico{width:16px;height:16px;color:var(--tinta-3)}
.resumen{font-size:14.5px;color:var(--tinta-2);flex:1;margin-top:6px}
.pie-tarjeta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:14px;border-top:1px solid var(--linea)}
.precio{font-family:var(--sans);font-weight:800;font-size:20px;color:var(--tinta);white-space:nowrap}
.precio small{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-3)}
.precio.pide{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.ver{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--linea);color:var(--navy);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,border-color .15s}
.ver .ico{width:16px;height:16px}
.tarjeta:hover .ver{background:var(--navy);border-color:var(--navy);color:#fff}
.sin-res{color:var(--tinta-2);margin-top:26px}
.sin-res a{color:var(--azul);font-weight:700}

/* por qué */
.porque{display:grid;gap:36px;align-items:center}
@media (min-width:980px){.porque{grid-template-columns:.9fr 1.6fr;gap:48px}}
.porque .sub-sec{margin-bottom:28px}
.mosaicos{display:grid;gap:16px;grid-template-columns:1fr}
@media (min-width:560px){.mosaicos{grid-template-columns:repeat(2,1fr)}}
.mosaico{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--r);padding:26px 24px;box-shadow:var(--sombra-1)}
.seccion.alt .mosaico{background:var(--fondo)}
.ico-caja{width:52px;height:52px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 0 16px}
.ico-caja .ico{width:24px;height:24px;stroke-width:1.5}
.mosaico h3{font-size:22px}
.mosaico p{font-size:14px;color:var(--tinta-2);margin-top:8px}

/* cifras */
.cifras{background:var(--navy);color:#fff;border-radius:var(--r);display:grid;grid-template-columns:repeat(2,1fr);padding:10px;position:relative;overflow:hidden}
@media (min-width:860px){.cifras{grid-template-columns:repeat(4,1fr);padding:14px 10px}}
.cifra{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px 12px}
@media (min-width:860px){.cifra+.cifra{border-left:1px solid rgba(255,255,255,.16)}}
.cifra .linea1{display:flex;align-items:center;gap:12px}
.cifra .ico{width:30px;height:30px;color:var(--azul-claro);stroke-width:1.4}
.cifra b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.4vw,42px);line-height:1.1}
.cifra span{font-size:13.5px;color:rgba(255,255,255,.78);margin-top:6px}

/* casa muestra */
.muestra{display:grid;gap:40px;align-items:center}
@media (min-width:960px){.muestra{grid-template-columns:1.05fr 1fr;gap:72px}}
.muestra-foto{position:relative}
.muestra-foto img{width:100%;aspect-ratio:4/3.1;object-fit:cover;border-radius:var(--r)}
.muestra-tarjeta{position:absolute;right:-12px;bottom:-26px;background:var(--hoja);border-radius:var(--r);box-shadow:var(--sombra-2);padding:18px 20px;
  display:flex;gap:14px;align-items:center;max-width:280px}
@media (max-width:600px){.muestra-tarjeta{right:12px;left:12px;max-width:none}}
.muestra-tarjeta .ico-caja{margin:0;width:46px;height:46px;flex:none}
.muestra-tarjeta .ico-caja .ico{width:20px;height:20px}
.muestra-tarjeta small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--azul)}
.muestra-tarjeta p{font-size:14px;color:var(--tinta);line-height:1.4;margin-top:3px}
.palomitas{list-style:none;display:grid;gap:12px;margin:24px 0 30px}
.palomitas li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.palomitas .ico{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--azul);color:#fff;stroke-width:2.6;margin-top:2px}

/* pasos */
.pasos{list-style:none;display:grid;gap:32px;margin-top:48px}
@media (min-width:860px){.pasos{grid-template-columns:repeat(4,1fr)}}
.pasos li{border-top:1px solid var(--linea);padding-top:22px}
.pasos .n{font-family:var(--serif);font-style:italic;font-size:44px;line-height:1;color:var(--azul);display:block;margin-bottom:10px}
.pasos h3{font-size:24px}
.pasos p{font-size:15px;color:var(--tinta-2);margin-top:8px}

/* ficha de desarrollo */
.ficha{padding:28px 0 80px}
.volver{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-2);text-decoration:none;margin-bottom:18px}
.volver:hover{color:var(--navy)}
.galeria{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r)}
.galeria::-webkit-scrollbar{display:none}
.galeria figure{flex:0 0 100%;scroll-snap-align:start}
@media (min-width:900px){.galeria figure{flex-basis:calc(70% - 5px)}.galeria figure+figure{flex-basis:calc(45% - 5px)}}
.galeria img{width:100%;height:clamp(280px,54vw,560px);object-fit:cover;border-radius:var(--r)}
.contador{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-3);margin-top:10px}
.ficha-grid{display:grid;gap:36px;margin-top:34px}
@media (min-width:900px){.ficha-grid{grid-template-columns:1fr 360px;gap:64px;align-items:start}}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.chip{font-size:10.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:var(--r-sm);background:var(--hoja-3);color:var(--tinta-2)}
.chip.azul{background:var(--navy);color:#fff}
.ficha h1{font-size:clamp(44px,6vw,72px)}
.donde.grande{font-size:15px;margin-top:12px}
.ficha .specs{font-size:15px;margin-top:18px}
.desc{font-size:17px;color:var(--tinta-2);margin-top:22px;max-width:64ch}
.h-menor{font-size:32px!important;margin-top:48px}
.datos{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:16px;border-top:1px solid var(--linea)}
.datos div{padding:14px 18px 14px 0;border-bottom:1px solid var(--linea)}
.datos span{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--tinta-3)}
.datos b{font-size:15.5px;font-weight:700}
.amen{list-style:none;display:grid;gap:12px;margin-top:18px}
@media (min-width:640px){.amen{grid-template-columns:1fr 1fr;gap:12px 24px}}
.amen li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.amen .ico{width:20px;height:20px;padding:3px;border-radius:50%;background:var(--azul-suave);color:var(--azul);stroke-width:2.6;margin-top:2px}
.caja-precio{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--r);padding:28px 26px;box-shadow:var(--sombra-2);
  display:flex;flex-direction:column;gap:12px}
@media (min-width:900px){.caja-lado{position:sticky;top:112px}}
.caja-lado .dispo{margin-top:16px}
.respaldo{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:16px 18px;border:1px solid var(--linea);border-radius:var(--r-sm);
  font-size:14px;line-height:1.5;color:var(--tinta-2)}
.respaldo .ico{width:20px;height:20px;color:var(--azul);flex:none;margin-top:1px}
.precio-grande .precio{font-size:32px}
.precio-grande .precio.pide{font-size:15px}
.nota{font-size:12.5px;color:var(--tinta-3)}

/* formulario */
.contacto-grid{display:grid;gap:24px;margin-top:40px}
@media (min-width:900px){.contacto-grid{grid-template-columns:1.35fr .8fr}}
form.lead{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--r);padding:32px 30px;box-shadow:var(--sombra-1)}
.seccion.alt form.lead{background:var(--fondo)}
.fila{display:grid;gap:18px;margin-bottom:18px}
@media (min-width:560px){.fila.dos{grid-template-columns:1fr 1fr}}
label{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--tinta-2);margin-bottom:7px}
input,select,textarea{width:100%;font:inherit;font-size:16px;color:var(--tinta);background:var(--hoja);border:1px solid var(--linea);
  border-radius:var(--r-sm);padding:12px 13px}
input:focus,select:focus,textarea:focus{outline:1px solid var(--azul);border-color:var(--azul)}
input[aria-invalid="true"]{border-color:var(--mal);background:var(--mal-suave)}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.acepto{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:14px;letter-spacing:0;text-transform:none;margin:6px 0 20px;cursor:pointer}
.acepto input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--navy)}
.acepto a{color:var(--azul)}
.aviso-form{font-size:13.5px;color:var(--mal);margin-top:10px}
.aviso-form:empty{display:none}
.gracias{margin-top:14px;background:var(--ok-suave);color:var(--ok);border-radius:var(--r-sm);padding:16px 18px;font-size:15px}
.gracias b{display:flex;gap:8px;align-items:center;margin-bottom:2px}
.lado{background:var(--navy);color:#fff;border-radius:var(--r);padding:30px 28px;align-self:start}
.lado h3{font-size:30px;margin-bottom:14px;color:#fff}
.fila-lado{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.16);text-decoration:none;font-weight:700}
a.fila-lado:hover{color:var(--azul-claro)}
.legal-lado{font-size:12px;color:rgba(255,255,255,.6);margin-top:16px}

/* pie */
.pie{background:var(--navy-2);color:rgba(255,255,255,.72);padding:64px 0 100px;font-size:14px}
.pie-cols{display:grid;gap:36px;grid-template-columns:1fr}
@media (min-width:700px){.pie-cols{grid-template-columns:1.4fr 1fr 1fr 1.3fr}}
.pie .marca img{height:54px}
.pie p.lema{margin-top:16px;max-width:30ch}
.pie h4{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#fff;margin-bottom:14px}
.pie ul{list-style:none;display:grid;gap:9px}
.pie a{text-decoration:none;color:rgba(255,255,255,.75)}
.pie a:hover{color:#fff}
.pie li{display:flex;gap:10px;align-items:flex-start}
.pie li .ico{width:16px;height:16px;margin-top:3px;color:var(--azul-claro)}
.legal{font-size:12px;color:rgba(255,255,255,.45);margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
.wa-flotante{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:60;width:58px;height:58px;border-radius:50%;
  background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -6px rgba(22,120,60,.5)}
.wa-flotante .ico{width:30px;height:30px}
.ig-flotante{position:fixed;right:20px;bottom:calc(86px + env(safe-area-inset-bottom));z-index:60;width:50px;height:50px;border-radius:50%;
  background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 24px -6px rgba(214,36,159,.45)}
.ig-flotante.solo{bottom:calc(16px + env(safe-area-inset-bottom))}
.ig-flotante .ico{width:26px;height:26px;stroke-width:2}

/* aviso de privacidad */
.texto-legal{max-width:760px}
.texto-legal h1{font-size:clamp(40px,5vw,56px);margin-bottom:18px}
.texto-legal h2{font-size:28px!important;margin:28px 0 8px}
.texto-legal p{color:var(--tinta-2);margin-top:8px}
.texto-legal mark{background:#FFE58F;color:#000;padding:0 4px;border-radius:2px}

/* Disponibilidad, modelos y formas de pago (datos de FH) */
.dispo{display:flex;gap:14px;align-items:center;margin-top:26px;background:var(--azul-suave);color:var(--tinta);border-left:3px solid var(--azul);
  border-radius:var(--r-sm);padding:16px 18px}
.dispo .punto{width:9px;height:9px;border-radius:50%;background:#1FA855;box-shadow:0 0 0 4px rgba(31,168,85,.16);flex:none}
.dispo b{display:block;font-size:15.5px}.dispo small{font-size:12.5px;color:var(--tinta-2)}
.modelos,.pagos{display:grid;gap:14px;margin-top:18px}
@media (min-width:640px){.modelos,.pagos{grid-template-columns:1fr 1fr}}
.modelo,.pago{background:var(--hoja);border:1px solid var(--linea);border-radius:var(--r);padding:20px 22px}
.modelo b,.pago b{font-family:var(--serif);font-weight:400;font-size:26px;display:block;line-height:1.15}
.modelo p,.pago p{font-size:14.5px;color:var(--tinta-2);margin:6px 0 12px}
.pago p{margin-bottom:0}
.modelo .precio{font-size:18px}

/* Videos de la casa muestra (montar_videos.py) */
.video-vertical{position:relative;aspect-ratio:9/16;max-height:640px;border-radius:var(--r);overflow:hidden;background:var(--navy);box-shadow:var(--sombra-2)}
.video-vertical video{width:100%;height:100%;object-fit:cover;display:block}
.pausa{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,16,42,.55);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pausa .ico{width:18px;height:18px}
.pausa .ico:last-child{display:none}
.video-vertical.parado .pausa .ico:first-child{display:none}
.video-vertical.parado .pausa .ico:last-child{display:block}
.muestra-foto{width:min(100%,380px);margin:0 auto}
@media (min-width:960px){.muestra{grid-template-columns:minmax(0,.85fr) 1fr}.muestra-foto{margin:0 0 0 auto}}
.muestra-foto .muestra-tarjeta{left:-56px;right:auto;bottom:40px;max-width:260px}
@media (max-width:959px){.muestra-foto .muestra-tarjeta{left:12px;right:12px;bottom:12px;max-width:none}}
.recorrido{display:grid;gap:20px;margin-top:18px;align-items:center}
.recorrido .video-vertical{width:min(100%,320px)}
.recorrido p{color:var(--tinta-2);font-size:15.5px}
@media (min-width:640px){.recorrido{grid-template-columns:320px 1fr;gap:28px}}
.ver-video{display:inline-flex;align-items:center;gap:12px;background:none;border:0;color:#fff;font:inherit;font-size:12px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;cursor:pointer;padding:4px 6px}
.ver-video .circulo{width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s}
.ver-video .circulo .ico{width:16px;height:16px;margin-left:2px}
.ver-video:hover .circulo{background:#fff;color:var(--navy)}
.ventana-video{border:0;padding:0;background:transparent;width:min(1100px,94vw,calc((100vh - 130px) * 16 / 9));max-width:none;margin:auto;overflow:visible}
.ventana-video::backdrop{background:rgba(0,12,32,.86)}
.ventana-video video{width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--r);display:block}
.ventana-video .cerrar{position:absolute;top:-46px;right:0;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.6);background:transparent;
  color:#fff;font-size:24px;line-height:1;cursor:pointer}
.video-ancho{width:100%;aspect-ratio:16/9;margin-top:18px;border-radius:var(--r);background:#000;display:block}
@media (max-width:959px){.portada .btn-azul{background:#fff;color:var(--navy)}.portada .btn-azul:hover{background:var(--azul-claro)}}

/* Casa muestra: dos marcos verticales lado a lado, el recorrido en video y un visor de fotos que cambia solo
   (13 fotos sacadas de los mismos videos en 4K). Tocar la foto la abre en grande. */
.muestra-medios{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:min(100%,580px);margin:0 auto}
@media (min-width:960px){.muestra{grid-template-columns:minmax(0,1.05fr) 1fr}.muestra-medios{margin:0}}
.marco{margin:0;min-width:0}
.marco .video-vertical,.visor-caja{width:100%;aspect-ratio:9/16;max-height:none;border-radius:var(--r);overflow:hidden}
.marco figcaption{font-size:13.5px;color:var(--tinta-2);margin-top:10px;min-height:1.5em}
.marco:first-child figcaption{color:var(--azul);font-weight:700}
.visor-caja{position:relative;background:var(--navy);box-shadow:var(--sombra-2)}
.abre-foto{position:absolute;inset:0;padding:0;border:0;background:none;cursor:zoom-in;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility 0s .8s}
.abre-foto.on{opacity:1;visibility:visible;transition:opacity .8s ease}
.abre-foto img{width:100%;height:100%;object-fit:cover;display:block}
.flecha{width:40px;height:40px;border-radius:50%;border:0;background:rgba(0,16,42,.55);color:#fff;display:flex;align-items:center;
  justify-content:center;cursor:pointer;transition:background .2s,color .2s;backdrop-filter:blur(4px)}
.flecha .ico{width:16px;height:16px}
.flecha.ant .ico{transform:rotate(180deg)}
.flecha:hover{background:#fff;color:var(--navy)}
.visor-caja .flecha{position:absolute;bottom:14px;z-index:2}
.visor-caja .ant{left:14px}.visor-caja .sig{left:62px}
.cuenta{position:absolute;right:14px;bottom:22px;z-index:2;color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
@media (max-width:600px){.visor-caja .flecha{width:34px;height:34px;bottom:10px}.visor-caja .ant{left:10px}.visor-caja .sig{left:50px}.cuenta{right:10px;bottom:19px}}
@media (prefers-reduced-motion: reduce){.abre-foto,.abre-foto.on{transition:none}}
.ventana-foto{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100vh;margin:0;
  display:none;align-items:center;justify-content:center;gap:24px}
.ventana-foto[open]{display:flex}
.ventana-foto::backdrop{background:rgba(0,12,32,.92)}
.ventana-foto figure{margin:0;display:flex;flex-direction:column;align-items:center}
.ventana-foto img{max-height:calc(100vh - 110px);max-width:calc(100vw - 32px);width:auto;border-radius:var(--r);display:block}
.ventana-foto figcaption{color:#fff;font-size:14px;margin-top:12px;letter-spacing:.02em}
.ventana-foto .flecha{width:48px;height:48px;border:1px solid rgba(255,255,255,.7);background:transparent;flex:none}
.ventana-foto .flecha:hover{background:#fff;color:var(--navy)}
.ventana-foto .cerrar{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.6);
  background:transparent;color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media (max-width:700px){.ventana-foto .flecha{position:absolute;bottom:20px}.ventana-foto .ant{left:calc(50% - 60px)}.ventana-foto .sig{right:calc(50% - 60px)}
  .ventana-foto img{max-height:calc(100vh - 170px)}}
/* visor ancho (fotos del desarrollo) y video principal de la ficha */
.visor.ancho{margin:0}
.visor.ancho .visor-caja{aspect-ratio:auto;height:clamp(300px,52vw,600px);background:var(--hoja-3)}
.visor.ancho .visor-caja .flecha{bottom:auto;top:50%;transform:translateY(-50%);width:48px;height:48px}
.visor.ancho .visor-caja .ant{left:16px}.visor.ancho .visor-caja .sig{left:auto;right:16px}
.visor.ancho .cuenta{right:auto;left:50%;transform:translateX(-50%);bottom:18px;background:rgba(0,16,42,.55);padding:6px 12px;border-radius:99px;text-shadow:none}
.desc+.h-menor+.visor.ancho .visor-caja{height:clamp(260px,40vw,460px)}
.video-principal{border-radius:var(--r);overflow:hidden;background:#000;box-shadow:var(--sombra-2)}
.video-principal video{width:100%;aspect-ratio:16/9;display:block}
.muestra-medios.en-ficha{margin:18px 0 0;width:min(100%,600px)}

/* Pantallas grandes (Andrés, 27-oct-2026: «hay mucho espacio muerto»). El contenido ya no se queda en una columna
   de 1200 px: el contenedor crece hasta 1520 y todo (márgenes, letra, tarjetas, espacios) escala con la pantalla
   entre 1280 y 1920 px de ancho, para que se vea igual de proporcionado en una laptop que en un monitor grande. */
.wrap,.topnav{max-width:calc(var(--max) + var(--margen) * 2);padding-left:var(--margen);padding-right:var(--margen)}
@media (min-width:960px){
  /* Un solo bloque: todo mide lo mismo que el título (ceja, texto y botones no lo ensanchan) y su borde derecho cae
     justo donde termina el menú, así queda alineado con «Agenda tu visita» de la barra y con el buscador. */
  .portada .txt{right:max(var(--margen),calc((100% - var(--max)) / 2));width:fit-content;min-width:min(500px,36vw);max-width:46%;
    padding:0 0 110px;justify-content:center}
  .portada .txt>:not(h1){contain:inline-size}
  .portada h1{font-size:clamp(40px,4.6vw,96px)}
  .portada .sub{max-width:none;text-wrap:pretty}
  .portada .botones{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .portada .botones .btn{padding-left:12px;padding-right:12px}
  .portada .ver-video{grid-column:1/-1;justify-self:start;margin:6px 0 0 -6px}
}
@media (min-width:960px){.muestra-medios{width:min(100%,780px)}}
.muestra-medios.en-ficha{width:min(100%,760px)}
@media (min-width:1280px){
  body{font-size:clamp(16px,calc(12.00px + 0.312vw),18px)}
  .marca img{height:clamp(48px,calc(28.00px + 1.562vw),58px)}
  .links{gap:clamp(34px,calc(-2.00px + 2.812vw),52px)}
  .links a{font-size:clamp(12px,calc(9.00px + 0.234vw),13.5px)}
  .lang{font-size:clamp(11.5px,calc(8.50px + 0.234vw),13px)}
  .btn{font-size:clamp(12px,calc(9.00px + 0.234vw),13.5px)}
  .btn-sm{font-size:clamp(11px,calc(8.00px + 0.234vw),12.5px)}
  .liga{font-size:clamp(12px,calc(9.00px + 0.234vw),13.5px)}
  .eyebrow{font-size:clamp(11.5px,calc(8.50px + 0.234vw),13px)}
  .ceja{font-size:clamp(11.5px,calc(8.50px + 0.234vw),13px)}
  .portada .sub{font-size:clamp(18px,calc(12.00px + 0.469vw),21px)}
  .campo label{font-size:clamp(10.5px,calc(8.50px + 0.156vw),11.5px)}
  .campo select{font-size:clamp(15px,calc(11.00px + 0.312vw),17px)}
  .seccion h2{font-size:clamp(52px,calc(4.00px + 3.750vw),76px)}
  .sub-sec{font-size:clamp(16.5px,calc(11.50px + 0.391vw),19px)}
  .rejilla{gap:clamp(22px,calc(6.00px + 1.250vw),30px)}
  .tarjeta h3{font-size:clamp(27px,calc(13.00px + 1.094vw),34px)}
  .donde{font-size:clamp(13.5px,calc(10.50px + 0.234vw),15px)}
  .specs{font-size:clamp(13px,calc(10.00px + 0.234vw),14.5px)}
  .resumen{font-size:clamp(14.5px,calc(11.50px + 0.234vw),16px)}
  .precio{font-size:clamp(20px,calc(12.00px + 0.625vw),24px)}
  .mosaico h3{font-size:clamp(22px,calc(10.00px + 0.938vw),28px)}
  .mosaico p{font-size:clamp(14px,calc(10.00px + 0.312vw),16px)}
  .cifra b{font-size:clamp(42px,calc(10.00px + 2.500vw),58px)}
  .cifra span{font-size:clamp(13.5px,calc(9.50px + 0.312vw),15.5px)}
  .palomitas li{font-size:clamp(15.5px,calc(11.50px + 0.312vw),17.5px)}
  .pasos .n{font-size:clamp(44px,calc(16.00px + 2.188vw),58px)}
  .pasos h3{font-size:clamp(24px,calc(12.00px + 0.938vw),30px)}
  .pasos p{font-size:clamp(15px,calc(11.00px + 0.312vw),17px)}
  .marco figcaption{font-size:clamp(13.5px,calc(10.50px + 0.234vw),15px)}
  .ficha h1{font-size:clamp(72px,calc(32.00px + 3.125vw),92px)}
  .donde.grande{font-size:clamp(15px,calc(11.00px + 0.312vw),17px)}
  .ficha .specs{font-size:clamp(15px,calc(11.00px + 0.312vw),17px)}
  .desc{font-size:clamp(17px,calc(13.00px + 0.312vw),19px)}
  .datos b{font-size:clamp(15.5px,calc(11.50px + 0.312vw),17.5px)}
  .datos span{font-size:clamp(10.5px,calc(8.50px + 0.156vw),11.5px)}
  .amen li{font-size:clamp(15.5px,calc(11.50px + 0.312vw),17.5px)}
  .modelo b,.pago b{font-size:clamp(26px,calc(14.00px + 0.938vw),32px)}
  .modelo p,.pago p{font-size:clamp(14.5px,calc(11.50px + 0.234vw),16px)}
  .precio-grande .precio{font-size:clamp(32px,calc(16.00px + 1.250vw),40px)}
  .respaldo{font-size:clamp(14px,calc(9.00px + 0.391vw),16.5px)}
  .nota{font-size:clamp(12.5px,calc(9.50px + 0.234vw),14px)}
  label{font-size:clamp(11px,calc(9.00px + 0.156vw),12px)}
  input,select,textarea{font-size:clamp(16px,calc(14.00px + 0.156vw),17px)}
  .lado h3{font-size:clamp(30px,calc(14.00px + 1.250vw),38px)}
  .pie{font-size:clamp(14px,calc(11.00px + 0.234vw),15.5px)}
  .pie h4{font-size:clamp(11px,calc(8.00px + 0.234vw),12.5px)}
  .h-menor{font-size:clamp(32px,calc(12.00px + 1.562vw),42px)!important;margin-top:clamp(48px,calc(16.00px + 2.500vw),64px)}
  .topnav{padding-top:clamp(12px,calc(4.00px + 0.625vw),16px);padding-bottom:clamp(12px,calc(4.00px + 0.625vw),16px)}
  .btn{padding:clamp(15px,calc(9.00px + 0.469vw),18px) clamp(24px,calc(12.00px + 0.938vw),30px)}
  .btn-sm{padding:clamp(11px,calc(7.00px + 0.312vw),13px) clamp(16px,calc(8.00px + 0.625vw),20px)}
  .seccion{padding:clamp(96px,calc(16.00px + 6.250vw),136px) 0}
  .rejilla{margin-top:clamp(40px,calc(8.00px + 2.500vw),56px)}
  .tarjeta .cuerpo{padding:clamp(20px,calc(8.00px + 0.938vw),26px) clamp(20px,calc(8.00px + 0.938vw),26px) clamp(22px,calc(10.00px + 0.938vw),28px)}
  .mosaico{padding:clamp(26px,calc(10.00px + 1.250vw),34px) clamp(24px,calc(8.00px + 1.250vw),32px)}
  .ico-caja{width:clamp(52px,calc(36.00px + 1.250vw),60px);height:clamp(52px,calc(36.00px + 1.250vw),60px)}
  .porque{gap:clamp(48px,calc(-48.00px + 7.500vw),96px)}
  .muestra{gap:clamp(72px,calc(-24.00px + 7.500vw),120px)}
  .ficha-grid{grid-template-columns:1fr clamp(360px,calc(200.00px + 12.500vw),440px);gap:clamp(64px,calc(-28.00px + 7.187vw),110px)}
  .contacto-grid{gap:clamp(24px,calc(0.00px + 1.875vw),36px)}
  form.lead{padding:clamp(32px,calc(8.00px + 1.875vw),44px) clamp(30px,calc(2.00px + 2.188vw),44px)}
  .lado{padding:clamp(30px,calc(10.00px + 1.562vw),40px) clamp(28px,calc(8.00px + 1.562vw),38px)}
}

/* Botones flotantes de WhatsApp e Instagram (Andrés, 27-oct-2026: «muy pequeños, más arriba y más visibles»): más
   grandes, con aro blanco para que se despeguen de fotos y videos, y subidos para no quedar pegados a la barra del
   navegador del celular. */
.wa-flotante,.ig-flotante{right:max(14px,env(safe-area-inset-right));border:3px solid #fff;transition:transform .15s ease}
.wa-flotante:hover,.ig-flotante:hover{transform:scale(1.06)}
.wa-flotante{width:66px;height:66px;bottom:calc(clamp(28px,11vh,104px) + env(safe-area-inset-bottom));
  box-shadow:0 12px 28px -6px rgba(22,120,60,.55),0 2px 6px rgba(0,0,0,.18)}
.wa-flotante .ico{width:34px;height:34px}
.ig-flotante{width:58px;height:58px;right:calc(max(14px,env(safe-area-inset-right)) + 4px);
  bottom:calc(clamp(28px,11vh,104px) + 80px + env(safe-area-inset-bottom));box-shadow:0 12px 28px -6px rgba(214,36,159,.5),0 2px 6px rgba(0,0,0,.18)}
.ig-flotante.solo{bottom:calc(clamp(28px,11vh,104px) + env(safe-area-inset-bottom))}
.ig-flotante .ico{width:29px;height:29px}
@media (min-width:960px){.wa-flotante{width:70px;height:70px}.wa-flotante .ico{width:36px;height:36px}
  .ig-flotante{width:60px;height:60px;right:calc(max(14px,env(safe-area-inset-right)) + 5px);bottom:calc(clamp(28px,11vh,104px) + 84px)}}
/* Cifras en celular: que «El mismo día» quepa en un renglón dentro de su media columna. */
@media (max-width:600px){.cifra .linea1{gap:8px}.cifra .ico{width:22px;height:22px}.cifra b{font-size:25px;white-space:nowrap}.cifra span{font-size:12.5px}}
/* Ficha en celular: el precio y los botones van arriba, debajo del nombre, en lugar de hasta abajo de la página
   (en una sola columna la caja lateral quedaba después de «Lo que incluye»). */
.precio-movil{display:grid;gap:12px;margin-top:22px;background:var(--hoja);border:1px solid var(--linea);border-radius:var(--r);
  padding:20px;box-shadow:var(--sombra-1)}
.precio-movil .dispo{margin-top:2px}
.precio-movil .precio-grande .precio{font-size:28px}
@media (min-width:900px){.precio-movil{display:none}}
@media (max-width:899px){.caja-lado{display:none}}
/* Celular: más abajo, en la esquina, para que no tapen los botones de la página (Andrés, 27-oct-2026). */
@media (max-width:959px){
  .wa-flotante{bottom:calc(18px + env(safe-area-inset-bottom))}
  .ig-flotante{bottom:calc(18px + 76px + env(safe-area-inset-bottom))}
  .ig-flotante.solo{bottom:calc(18px + env(safe-area-inset-bottom))}
}

/* Celular: menos aire entre secciones (96 px se veía como hueco vacío) */
@media (max-width:600px){.seccion{padding:64px 0}.ficha{padding-bottom:48px}}

/* ── Sensación de app (celular y tableta) ─────────────────────────────────────────────── */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
html{-webkit-tap-highlight-color:transparent}
.tabbar{display:none}
@media (max-width:959px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
  .wa-flotante,.ig-flotante{display:none}
  /* La barra de arriba: compacta, translúcida, se esconde al bajar */
  header.top{background:rgba(255,255,255,.82);transition:transform .28s ease}
  header.top.oculta{transform:translateY(-100%)}
  .topnav .ctas .btn{display:none}
  /* Barra de pestañas */
  .tabbar{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:0;right:0;bottom:0;z-index:70;
    height:calc(64px + env(safe-area-inset-bottom));padding:0 max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left));
    background:rgba(255,255,255,.88);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);
    border-top:1px solid rgba(0,33,87,.10)}
  .tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;
    color:#6b7689;font-size:10.5px;font-weight:700;letter-spacing:.02em;transition:color .15s,transform .12s}
  .tabbar a .ico{width:24px;height:24px}
  .tabbar a.on{color:var(--navy)}
  .tabbar a.on .ico{stroke-width:2.2}
  .tabbar a:active{transform:scale(.9)}
  /* WhatsApp al centro, en verde y levantado: es la acción principal */
  .tabbar .t-wa{color:#128c4a}
  .tabbar .t-wa .ico{width:46px;height:46px;padding:11px;margin-top:-22px;border-radius:50%;background:#25d366;color:#fff;
    border:3px solid #fff;box-shadow:0 6px 18px rgba(18,140,74,.35)}
  .tabbar .t-ig .ico{color:#d62976}
  /* Tarjetas de desarrollos: carrusel que se desliza con el dedo */
  .rejilla{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;margin-left:calc(var(--margen) * -1);margin-right:calc(var(--margen) * -1);
    padding:4px var(--margen) 18px;scroll-padding:0 var(--margen);scrollbar-width:none;overscroll-behavior-x:contain}
  .rejilla::-webkit-scrollbar{display:none}
  .rejilla>.tarjeta{flex:0 0 min(84%,400px);scroll-snap-align:start}
  .rejilla>.tarjeta[hidden]{display:none}
  /* Respuesta al toque */
  .btn,.tarjeta,.fila-lado,.lang{transition:transform .12s ease}
  .btn:active,.fila-lado:active,.lang:active{transform:scale(.97)}
  .tarjeta:active{transform:scale(.985)}
  input,select,textarea{font-size:16px}
}
@media (display-mode:standalone){header.top{padding-top:env(safe-area-inset-top)}}

/* ── Look de app moderno (referencia de Andrés, 27-oct): fotos a sangre con texto encima,
   chips, botones píldora y barra de pestañas flotante ─────────────────────────────────── */
.filtros{display:none}
@media (max-width:959px){
  :root{--r:22px}
  .btn{border-radius:999px}
  /* Barra flotante en píldora, solo íconos; la activa en círculo navy */
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .tabbar{left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));height:66px;padding:0 8px;border-radius:999px;
    border:1px solid rgba(0,33,87,.08);background:rgba(255,255,255,.9);box-shadow:0 10px 30px rgba(0,16,42,.18)}
  .tabbar a span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .tabbar a .ico{width:46px;height:46px;padding:12px;border-radius:50%;transition:background .2s,color .2s}
  .tabbar a.on{color:#fff}
  .tabbar a.on .ico{background:var(--navy);stroke-width:2}
  .tabbar .t-wa .ico{width:50px;height:50px;padding:12px;margin-top:0;border:0;box-shadow:0 4px 14px rgba(18,140,74,.35)}
  .tabbar .t-ig .ico{color:#d62976}
  /* Buscador de selects → chips */
  .buscador{display:none}
  .filtros{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:22px calc(var(--margen) * -1) 0;padding:2px var(--margen)}
  .filtros::-webkit-scrollbar{display:none}
  .filtros button{flex:0 0 auto;font:inherit;font-size:13.5px;font-weight:700;padding:10px 16px;border-radius:999px;border:1px solid var(--linea);
    background:var(--hoja);color:var(--tinta-2);cursor:pointer;transition:background .15s,color .15s,transform .12s}
  .filtros button.on{background:var(--navy);border-color:var(--navy);color:#fff}
  .filtros button:active{transform:scale(.95)}
  .rejilla{margin-top:16px}
  /* Tarjeta: la foto es la tarjeta y el texto va encima */
  .rejilla>.tarjeta{position:relative;border-radius:26px;box-shadow:0 12px 28px rgba(0,16,42,.16);border:0}
  .tarjeta .foto img{aspect-ratio:4/5}
  .tarjeta .cuerpo{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:70px 20px 20px;gap:4px;color:#fff;
    background:linear-gradient(to top,rgba(0,16,42,.92),rgba(0,16,42,.6) 55%,rgba(0,16,42,0));pointer-events:none}
  .tarjeta h3{color:#fff;font-size:30px;line-height:1.05}
  .tarjeta .donde,.tarjeta .specs{color:rgba(255,255,255,.82);font-size:13px}
  .tarjeta .donde .ico,.tarjeta .specs .ico{color:rgba(255,255,255,.82)}
  .tarjeta .pie-tarjeta{border-top:1px solid rgba(255,255,255,.18);margin-top:8px;padding-top:10px}
  .tarjeta .precio,.tarjeta .precio *{color:#fff}
  .tarjeta .ver{background:#fff;color:var(--navy);border-color:#fff}
  .tarjeta .puntos{top:18px;bottom:auto;left:auto;right:16px;transform:none}
  .etiqueta{top:14px;left:14px;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.92);backdrop-filter:blur(6px)}
  /* Ficha: foto o video a sangre arriba, botón de regreso redondo encima */
  .ficha{padding-top:0;position:relative}
  .ficha .wrap>.video-principal,.ficha .wrap>.visor.ancho{margin:0 calc(var(--margen) * -1);border-radius:0 0 30px 30px;box-shadow:none}
  .ficha .wrap>.visor.ancho .visor-caja{border-radius:0 0 30px 30px;height:min(118vw,520px)}
  .volver{position:absolute;top:14px;left:var(--margen);z-index:5;width:44px;height:44px;margin:0;justify-content:center;border-radius:50%;
    background:rgba(255,255,255,.88);backdrop-filter:blur(8px);color:var(--navy);box-shadow:0 4px 14px rgba(0,16,42,.2);font-size:20px;letter-spacing:0}
  .volver .tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ficha-grid{margin-top:26px}
  .chip{border-radius:999px;padding:7px 12px}
  .precio-movil{border-radius:26px;padding:22px}
  .precio-movil .precio-grande .precio{font-size:34px}
  .precio-movil .dispo{border-radius:16px}
  form.lead,.lado,.pago,.cifra,.tarjeta-paso{border-radius:22px}
  input,select,textarea{border-radius:14px}
}

/* ── Portada de celular como pantalla de bienvenida de app (referencia Homio, 27-oct) ── */
.marca img.blanca,.foto-movil{display:none}
@media (max-width:959px){
  body:has(.portada) header.top{position:fixed;left:0;right:0}
  header.top{transition:transform .28s ease,background .25s ease,border-color .25s ease}
  header.top.sobre{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  header.top.sobre .marca img{display:none}
  header.top.sobre .marca img.blanca{display:block}
  header.top.sobre .lang{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.12)}
  .portada{height:100svh;min-height:620px;max-height:980px;border-radius:0 0 32px 32px;background:#0b1322}
  .portada .medio{position:absolute;inset:0;aspect-ratio:auto}
  .portada .medio video{display:none}
  .foto-movil{display:block;position:absolute;inset:0}
  .foto-movil img{width:100%;height:100%;object-fit:cover;object-position:28% 50%}
  .portada .medio::after{content:"";position:absolute;inset:0;
    background:linear-gradient(to bottom,rgba(5,12,26,.55) 0,rgba(5,12,26,0) 20%,rgba(5,12,26,0) 38%,rgba(5,12,26,.78) 66%,rgba(5,12,26,.95) 100%)}
  .portada .txt{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--margen) calc(112px + env(safe-area-inset-bottom))}
  .portada .ceja{font-size:11px;color:rgba(255,255,255,.8)}
  .portada .ceja .ico{display:none}
  .portada h1{font-size:clamp(44px,12.5vw,60px);line-height:.98;margin-top:10px}
  .portada .sub{font-size:16px;color:rgba(255,255,255,.85);margin-top:14px}
  .portada .botones{display:flex;align-items:center;gap:18px;margin-top:24px}
  .portada .botones .btn-blanco{display:none}
  .portada .botones .btn-azul{padding:17px 26px;font-size:12.5px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
  .portada .ver-video{color:#fff;margin:0}
  /* Barra de pestañas un poco más ligera */
  .tabbar{height:62px;left:16px;right:16px}
  .tabbar a .ico{width:44px;height:44px;padding:11px}
  .tabbar .t-wa .ico{width:48px;height:48px}
}
@media (max-width:959px){.portada .botones{flex-wrap:wrap;row-gap:10px}.portada .ver-video{margin-left:-4px}}

/* ── Ficha de desarrollo en celular como pantalla de app (referencia Homio) ── */
.barra-ficha{display:none}
.ficha .wrap>.visor.galeria,.bloque-fotos{display:none}
@media (max-width:959px){
  body:has(.ficha-heroe) header.top{position:fixed;left:0;right:0}
  body:has(.ficha-heroe) .tabbar{display:none}
  body:has(.ficha-heroe){padding-bottom:calc(96px + env(safe-area-inset-bottom))}
  .ficha .wrap>.video-principal,.ficha .wrap>.visor.galeria,.bloque-fotos{display:none}
  .ficha .ficha-grid>div>.chips,.ficha .ficha-grid h1,.ficha .ficha-grid>div>.donde,.ficha .ficha-grid>div>.specs{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .solo-movil{display:block}
  /* Foto a sangre con el nombre encima */
  .ficha-heroe{display:block;position:relative;margin:0 calc(var(--margen) * -1);height:max(440px,66svh);border-radius:0 0 32px 32px;overflow:hidden;background:#0b1322}
  .ficha-heroe>img{width:100%;height:100%;object-fit:cover}
  .ficha-heroe::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to bottom,rgba(5,12,26,.55) 0,rgba(5,12,26,0) 24%,rgba(5,12,26,0) 50%,rgba(5,12,26,.88) 100%)}
  .volver{top:calc(84px + env(safe-area-inset-top))}
  .compartir{position:absolute;z-index:5;top:calc(84px + env(safe-area-inset-top));right:var(--margen);width:44px;height:44px;border-radius:50%;border:0;
    display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.88);backdrop-filter:blur(8px);color:var(--navy);box-shadow:0 4px 14px rgba(0,16,42,.2);cursor:pointer}
  .compartir .ico{width:20px;height:20px}
  .sobre-foto{position:absolute;left:var(--margen);right:var(--margen);bottom:58px;z-index:2;color:#fff}
  .sobre-foto .chips{margin-bottom:10px}
  .sobre-foto .chip{background:rgba(255,255,255,.2);color:#fff;backdrop-filter:blur(6px)}
  .sobre-foto .chip.azul{background:#fff;color:var(--navy)}
  .sobre-foto .nombre{font-family:var(--serif);font-size:clamp(40px,11vw,52px);line-height:1;color:#fff}
  .sobre-foto .donde{display:flex;gap:6px;align-items:center;margin-top:8px;font-size:14px;color:rgba(255,255,255,.85)}
  .sobre-foto .donde .ico{width:16px;height:16px;color:#fff}
  /* Tarjeta blanca de datos montada sobre la foto */
  .datos-tarjeta{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:relative;z-index:3;margin:-34px 0 0;background:#fff;border-radius:22px;
    box-shadow:0 12px 30px rgba(0,16,42,.14);padding:16px 8px}
  .datos-tarjeta span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;font-size:13px;font-weight:700;color:var(--tinta);line-height:1.25;padding:0 6px}
  .datos-tarjeta span+span{border-left:1px solid var(--linea)}
  .datos-tarjeta .ico{width:22px;height:22px;color:var(--azul)}
  .ficha-grid{margin-top:22px}
  /* Mosaico de fotos: una grande y cuatro chicas, la última con «+N fotos» */
  .mosaico-fotos{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:repeat(2,96px);gap:8px;margin-bottom:8px}
  .mosaico-fotos button{position:relative;padding:0;border:0;border-radius:16px;overflow:hidden;cursor:pointer;background:var(--hoja-3)}
  .mosaico-fotos button:first-child{grid-row:span 2}
  .mosaico-fotos img{width:100%;height:100%;object-fit:cover;display:block}
  .mosaico-fotos button:active{transform:scale(.97)}
  .mosaico-fotos .mas{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,16,42,.55);color:#fff;font-weight:800;font-size:20px;line-height:1.1}
  .mosaico-fotos .mas small{font-size:11px;font-weight:700;opacity:.85}
  .mosaico-fotos.n1{grid-template-columns:1fr}
  /* Disponibilidad queda como tarjeta; el precio y los botones viven en la barra de abajo */
  .precio-movil{background:none;border:0;box-shadow:none;padding:0;margin-top:18px}
  .precio-movil .precio-grande,.precio-movil .btn{display:none}
  /* Barra fija de abajo: precio + agendar + WhatsApp */
  .barra-ficha{display:flex;align-items:center;gap:10px;position:fixed;z-index:70;left:14px;right:14px;bottom:calc(12px + env(safe-area-inset-bottom));
    padding:10px 10px 10px 20px;border-radius:999px;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);
    border:1px solid rgba(0,33,87,.08);box-shadow:0 10px 30px rgba(0,16,42,.18)}
  .bf-precio{flex:1;min-width:0}
  .bf-precio .precio{display:flex;flex-direction:column;font-size:20px;line-height:1.1}
  .bf-precio .precio small{font-size:10px;letter-spacing:.12em}
  .bf-precio .precio small:last-child{display:none}
  .barra-ficha .btn{padding:15px 20px;font-size:11.5px;white-space:nowrap}
  .bf-wa{flex:0 0 48px;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25d366;color:#fff;box-shadow:0 4px 14px rgba(18,140,74,.35)}
  .bf-wa .ico{width:24px;height:24px}
  .bf-wa:active,.compartir:active{transform:scale(.92)}
}

/* ── Resto de secciones en celular con el mismo look de app: listas agrupadas, pasos en línea de tiempo,
   formulario con campos rellenos y pie compacto ── */
@media (max-width:959px){
  .seccion h2{font-size:31px;line-height:1.08}
  .sub-sec{font-size:15.5px}
  /* Por qué con nosotros: una sola tarjeta con renglones */
  .porque{gap:26px}
  .mosaicos{display:block;gap:0;margin-top:0;background:var(--hoja);border-radius:24px;box-shadow:0 8px 26px rgba(0,16,42,.08);padding:4px 18px}
  .seccion.alt .mosaicos{background:#fff}
  .mosaico{display:grid;grid-template-columns:46px 1fr;column-gap:14px;row-gap:2px;align-items:start;background:none;border:0;box-shadow:none;border-radius:0;padding:16px 0}
  .mosaico+.mosaico{border-top:1px solid var(--linea)}
  .mosaico .ico-caja{grid-row:span 2;width:46px;height:46px;border-radius:14px;background:#e8eef8;color:var(--navy);margin:0}
  .mosaico .ico-caja .ico{width:22px;height:22px}
  .mosaico h3{font-family:var(--sans);font-size:15.5px;font-weight:800;line-height:1.3;margin:2px 0 0}
  .mosaico p{font-size:13.5px;line-height:1.5;margin:0;color:var(--tinta-2)}
  /* Cifras: cuatro mosaiquitos */
  .cifras{background:none;padding:0;gap:10px;margin-top:28px!important;overflow:visible}
  .cifra{background:var(--navy);border-radius:20px;padding:18px 10px;border:0!important}
  .cifra .linea1{gap:8px}
  /* Cómo comprar: línea de tiempo */
  .pasos{gap:0;margin-top:28px}
  .pasos li{position:relative;display:grid;grid-template-columns:40px 1fr;column-gap:16px;border:0;padding:0 0 26px}
  .pasos li:not(:last-child)::before{content:"";position:absolute;left:19px;top:44px;bottom:6px;width:2px;background:#d5dceb;border-radius:2px}
  .pasos .n{grid-row:span 2;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--sans);font-style:normal;
    font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0}
  .pasos h3{font-family:var(--sans);font-size:16.5px;font-weight:800;margin-top:9px}
  .pasos p{font-size:14px;margin-top:4px}
  /* Formulario: sin caja alrededor, campos rellenos como en una app */
  .contacto-grid{margin-top:24px;gap:20px}
  form.lead,.seccion.alt form.lead{background:none;border:0;box-shadow:none;padding:0}
  label{text-transform:none;letter-spacing:0;font-size:13.5px;color:var(--tinta);margin-bottom:6px}
  input,select,textarea,.seccion.alt input,.seccion.alt select,.seccion.alt textarea{background:#eceff5;border:1.5px solid transparent;border-radius:16px;min-height:54px;padding:14px 16px}
  textarea{min-height:110px}
  input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--azul);outline:0}
  .acepto{font-size:13.5px}
  form.lead .btn{padding:18px 24px}
  /* Contacto directo: lista agrupada blanca */
  .lado{background:var(--hoja);color:var(--tinta);border-radius:24px;padding:20px 20px 16px;box-shadow:0 8px 26px rgba(0,16,42,.08)}
  .seccion.alt .lado{background:#fff}
  .lado h3{color:var(--tinta);font-size:24px;margin-bottom:6px}
  .fila-lado{border-top-color:var(--linea);color:var(--tinta);font-size:15px}
  .fila-lado .ico{width:38px;height:38px;padding:9px;border-radius:12px;background:#e8eef8;color:var(--navy)}
  .legal-lado{color:var(--tinta-3,#7a8496);font-size:12px}
  /* Ficha: datos, pagos y amenidades como tarjetas agrupadas */
  .datos{background:var(--hoja);border-radius:24px;box-shadow:0 8px 26px rgba(0,16,42,.08);padding:6px 18px;gap:0 16px}
  .datos>div{border-top:1px solid var(--linea);padding:14px 0}
  .datos>div:nth-child(-n+2){border-top:0}
  .pago{border-radius:22px;border:0;box-shadow:0 8px 26px rgba(0,16,42,.08)}
  .pago b{font-family:var(--sans);font-size:16.5px;font-weight:800}
  .amen{background:var(--hoja);border-radius:24px;box-shadow:0 8px 26px rgba(0,16,42,.08);padding:4px 18px;gap:0}
  .amen li{padding:13px 0;font-size:14.5px}
  .amen li+li{border-top:1px solid var(--linea)}
  .h-menor{font-size:26px}
  /* Pie: compacto, con esquinas de arriba redondeadas */
  .pie{border-radius:32px 32px 0 0;padding:44px 0 calc(110px + env(safe-area-inset-bottom))}
  .pie-cols{grid-template-columns:1fr 1fr;gap:28px 18px}
  .pie-cols>div:first-child,.pie-cols>div:last-child{grid-column:1/-1}
  .pie .marca img{height:46px}
}
@media (max-width:959px){
  .datos{border-top:0}.datos div{border-bottom:0;padding-right:0}
  .seccion.alt .mosaico{background:none}
}

/* ── Computadora con el mismo look de app (Andrés, 27-oct: «me gustó este estilo») ── */
.btn{border-radius:999px}
@media (min-width:960px){
  :root{--r:24px}
  /* Barra de arriba transparente sobre la portada y la foto de la ficha; blanca al bajar */
  body:has(.portada) header.top,body:has(.ficha-heroe) header.top{position:fixed;left:0;right:0}
  header.top{transition:background .25s ease,border-color .25s ease}
  header.top.sobre{background:transparent;border-bottom-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
  header.top.sobre .marca img{display:none}
  header.top.sobre .marca img.blanca{display:block}
  header.top.sobre .links a{color:#fff}
  header.top.sobre .links a:hover{border-bottom-color:#fff}
  header.top.sobre .lang{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.12)}
  header.top.sobre .ctas .btn-azul{background:#fff;color:var(--navy)}
  .lang{border-radius:999px}
  /* Portada a pantalla completa con esquinas de abajo redondeadas */
  .portada{height:100vh;min-height:640px;max-height:1100px;border-radius:0 0 40px 40px}
  .portada .medio{position:absolute;inset:0;aspect-ratio:auto}
  .portada::before{content:"";position:absolute;left:0;right:0;top:0;height:180px;z-index:1;pointer-events:none;background:linear-gradient(rgba(5,12,26,.55),rgba(5,12,26,0))}
  /* Buscador de listas → chips */
  .buscador{display:none}
  .filtros{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
  .filtros button{font:inherit;font-size:14px;font-weight:700;padding:11px 20px;border-radius:999px;border:1px solid var(--linea);background:var(--hoja);color:var(--tinta-2);cursor:pointer;transition:background .15s,color .15s}
  .filtros button:hover{border-color:var(--navy);color:var(--navy)}
  .filtros button.on{background:var(--navy);border-color:var(--navy);color:#fff}
  .rejilla{margin-top:22px}
  /* Tarjetas: la foto es la tarjeta y el texto va encima */
  .rejilla>.tarjeta{position:relative;border-radius:28px;border:0;box-shadow:0 14px 34px rgba(0,16,42,.14);transition:transform .25s ease,box-shadow .25s ease}
  .rejilla>.tarjeta:hover{transform:translateY(-4px);box-shadow:0 22px 44px rgba(0,16,42,.2)}
  .tarjeta .foto img{aspect-ratio:4/5}
  .tarjeta .cuerpo{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:90px 22px 22px;gap:4px;color:#fff;
    background:linear-gradient(to top,rgba(0,16,42,.92),rgba(0,16,42,.6) 55%,rgba(0,16,42,0));pointer-events:none}
  .tarjeta h3{color:#fff;line-height:1.05}
  .tarjeta .donde,.tarjeta .specs,.tarjeta .donde .ico,.tarjeta .specs .ico{color:rgba(255,255,255,.82)}
  .tarjeta .donde,.tarjeta .specs{font-size:13.5px}
  .tarjeta .pie-tarjeta{border-top:1px solid rgba(255,255,255,.18);margin-top:8px;padding-top:12px}
  .tarjeta .precio,.tarjeta .precio *{color:#fff}
  .tarjeta .ver{background:#fff;color:var(--navy);border-color:#fff}
  .tarjeta .puntos{top:20px;bottom:auto;left:auto;right:18px;transform:none}
  .etiqueta{top:16px;left:16px;border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.92)}
  /* Por qué con nosotros: una tarjeta con renglones, a dos columnas */
  .mosaicos,.seccion.alt .mosaicos{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;background:#fff;border-radius:28px;box-shadow:0 12px 34px rgba(0,16,42,.08);padding:10px 30px}
  .mosaico,.seccion.alt .mosaico{display:grid;grid-template-columns:50px 1fr;column-gap:16px;row-gap:4px;align-items:start;background:none;border:0;box-shadow:none;border-radius:0;padding:22px 0}
  .mosaico:nth-child(n+3){border-top:1px solid var(--linea)}
  .mosaico .ico-caja{grid-row:span 2;width:50px;height:50px;border-radius:16px;background:#e8eef8;color:var(--navy);margin:0}
  .mosaico h3{font-family:var(--sans);font-size:17px;font-weight:800;line-height:1.3;margin:2px 0 0}
  .mosaico p{font-size:14.5px;line-height:1.55;margin:0;color:var(--tinta-2)}
  /* Cifras en cuatro mosaicos */
  .cifras{background:none;padding:0!important;gap:16px;overflow:visible}
  .cifra{background:var(--navy);border-radius:24px;padding:26px 14px;border:0!important}
  /* Cómo comprar: pasos con círculos unidos por una línea */
  .pasos li{position:relative;border:0;padding-top:0}
  .pasos li:not(:last-child)::before{content:"";position:absolute;top:21px;left:58px;right:-18px;height:2px;background:#d5dceb;border-radius:2px}
  .pasos .n{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;font-family:var(--sans);font-style:normal;font-size:15px;font-weight:800;
    display:flex;align-items:center;justify-content:center;margin-bottom:20px}
  .pasos h3{font-family:var(--sans);font-size:19px;font-weight:800}
  /* Formulario en tarjeta con campos rellenos */
  form.lead,.seccion.alt form.lead{background:#fff;border:0;border-radius:28px;box-shadow:0 12px 34px rgba(0,16,42,.08);padding:34px}
  label{text-transform:none;letter-spacing:0;font-size:14px;color:var(--tinta);margin-bottom:7px}
  input,select,textarea,.seccion.alt input,.seccion.alt select,.seccion.alt textarea{background:#eceff5;border:1.5px solid transparent;border-radius:16px;min-height:54px;padding:14px 16px}
  textarea{min-height:110px}
  input:focus,select:focus,textarea:focus{background:#fff;border-color:var(--azul);outline:0}
  .lado,.seccion.alt .lado{background:#fff;color:var(--tinta);border-radius:28px;padding:28px;box-shadow:0 12px 34px rgba(0,16,42,.08)}
  .lado h3{color:var(--tinta)}
  .fila-lado{border-top-color:var(--linea);color:var(--tinta)}
  a.fila-lado:hover{color:var(--azul)}
  .fila-lado .ico{width:40px;height:40px;padding:10px;border-radius:12px;background:#e8eef8;color:var(--navy)}
  .legal-lado{color:var(--tinta-3,#7a8496)}
  .pie{border-radius:40px 40px 0 0}
  /* Ficha: foto a sangre con el nombre encima, tarjeta de datos, mosaico y la columna del precio */
  .ficha{padding-top:0;position:relative;overflow-x:clip}
  .ficha-heroe{position:relative;margin:0 calc(50% - 50vw);height:min(78vh,780px);min-height:520px;border-radius:0 0 40px 40px;overflow:hidden;background:#0b1322}
  .ficha-heroe>img{width:100%;height:100%;object-fit:cover}
  .ficha-heroe::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to bottom,rgba(5,12,26,.55) 0,rgba(5,12,26,0) 22%,rgba(5,12,26,0) 48%,rgba(5,12,26,.85) 100%)}
  .ficha .volver{position:absolute;z-index:5;top:clamp(96px,8vw,124px);left:max(var(--margen),calc((100vw - var(--max)) / 2));width:48px;height:48px;margin:0;justify-content:center;border-radius:50%;
    background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:var(--navy);box-shadow:0 4px 14px rgba(0,16,42,.2);font-size:20px;letter-spacing:0}
  .volver .tx{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .compartir{position:absolute;z-index:5;top:clamp(96px,8vw,124px);right:max(var(--margen),calc((100vw - var(--max)) / 2));width:48px;height:48px;border-radius:50%;border:0;
    display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.9);color:var(--navy);box-shadow:0 4px 14px rgba(0,16,42,.2);cursor:pointer}
  .compartir .ico{width:20px;height:20px}
  .sobre-foto{position:absolute;z-index:2;bottom:86px;left:max(var(--margen),calc((100vw - var(--max)) / 2));right:max(var(--margen),calc((100vw - var(--max)) / 2));color:#fff}
  .sobre-foto .chips{margin-bottom:14px}
  .sobre-foto .chip{background:rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:8px 14px}
  .sobre-foto .chip.azul{background:#fff;color:var(--navy)}
  .sobre-foto .nombre{font-family:var(--serif);font-size:clamp(56px,6vw,96px);line-height:1;color:#fff}
  .sobre-foto .donde{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:17px;color:rgba(255,255,255,.88)}
  .sobre-foto .donde .ico{width:18px;height:18px;color:#fff}
  .datos-tarjeta{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:relative;z-index:3;width:min(640px,100%);margin:-46px 0 0;background:#fff;border-radius:24px;
    box-shadow:0 14px 34px rgba(0,16,42,.14);padding:20px 10px}
  .datos-tarjeta span{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;font-size:14.5px;font-weight:700;color:var(--tinta);padding:0 10px}
  .datos-tarjeta span+span{border-left:1px solid var(--linea)}
  .datos-tarjeta .ico{width:24px;height:24px;color:var(--azul)}
  .ficha .ficha-grid>div>.chips,.ficha .ficha-grid h1,.ficha .ficha-grid>div>.donde,.ficha .ficha-grid>div>.specs{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ficha-grid{margin-top:40px}
  .mosaico-fotos{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,clamp(150px,13vw,220px));gap:10px;margin-bottom:10px}
  .mosaico-fotos button{position:relative;padding:0;border:0;border-radius:20px;overflow:hidden;cursor:pointer;background:var(--hoja-3)}
  .mosaico-fotos button:first-child{grid-row:span 2}
  .mosaico-fotos img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
  .mosaico-fotos button:hover img{transform:scale(1.04)}
  .mosaico-fotos .mas{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(0,16,42,.55);color:#fff;font-weight:800;font-size:26px;line-height:1.1}
  .mosaico-fotos .mas small{font-size:12.5px;font-weight:700;opacity:.85}
  .mosaico-fotos.n1{grid-template-columns:1fr}
  .video-ancho{border-radius:24px}
  .caja-precio{border-radius:28px;border:0;box-shadow:0 14px 34px rgba(0,16,42,.12)}
  .caja-lado .dispo{border-radius:20px}
  .datos{background:#fff;border-radius:24px;border-top:0;box-shadow:0 12px 34px rgba(0,16,42,.08);padding:8px 24px;gap:0 24px}
  .datos div{border-bottom:0;border-top:1px solid var(--linea);padding:16px 0}
  .datos>div:nth-child(-n+2){border-top:0}
  .pago{border-radius:24px;border:0;box-shadow:0 12px 34px rgba(0,16,42,.08)}
  .pago b{font-family:var(--sans);font-weight:800}
  .modelo{border-radius:24px}
  .amen{background:#fff;border-radius:24px;box-shadow:0 12px 34px rgba(0,16,42,.08);padding:6px 24px;gap:0}
  .amen li{padding:14px 0}
  .amen li+li{border-top:1px solid var(--linea)}
  .chip{border-radius:999px}
}
@media (min-width:960px){.amen{gap:0 32px}.amen li+li{border-top:0}.amen li:nth-child(n+3){border-top:1px solid var(--linea)}}
@media (min-width:960px) and (max-width:1099px){.amen li:nth-child(n+2){border-top:1px solid var(--linea)}}

/* Página «Casas en venta en La Paz» */
.busqueda h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.08;margin:0 0 14px;max-width:18ch}
.bloques-texto{display:grid;gap:28px;margin-top:24px}
.bloques-texto h3{margin:0 0 8px}
.bloques-texto p{margin:0;line-height:1.6}
.bloques-texto a{color:inherit;font-weight:700;text-decoration:underline}
@media (min-width:960px){.bloques-texto{grid-template-columns:repeat(3,1fr);gap:40px}}
