/* Henry Oak — sistema visual
   Lenguaje Apple: tipografía SF, superficies blancas y humo, radios suaves,
   píldoras, barra superior translúcida. El lujo lo da el aire, no el adorno. */
:root{
  --blanco:#FFFFFF; --humo:#F5F5F7; --humo-2:#EEEEF0;
  --tinta:#1D1D1F; --tinta-2:#6E6E73; --tinta-3:#86868B;
  --linea:rgba(0,0,0,.10); --linea-suave:rgba(0,0,0,.06);
  --oscuro:#111113; --oscuro-2:#1D1D1F;
  --bronce:#8A6E4B;
  --sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
  --ancho:1180px; --r:14px; --rg:22px; --pill:980px;
  --sombra:0 1px 2px rgba(0,0,0,.04), 0 6px 16px rgba(0,0,0,.05);
  --sombra-alta:0 1px 2px rgba(0,0,0,.05), 0 12px 34px rgba(0,0,0,.10);
  --vidrio:rgba(255,255,255,.62);
  --vidrio-borde:rgba(0,0,0,.08);
  --vidrio-luz:inset 0 1px 0 rgba(255,255,255,.65);
  --vidrio-oscuro:rgba(255,255,255,.08);
  --vidrio-oscuro-borde:rgba(255,255,255,.14);
  --curva:cubic-bezier(.25,1,.5,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--blanco);color:var(--tinta);font:400 17px/1.5 var(--sans);-webkit-font-smoothing:antialiased;letter-spacing:-.01em}
img{max-width:100%;display:block}
a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}
a:hover{color:var(--tinta-2)}
:focus-visible{outline:2px solid var(--tinta);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-weight:600;letter-spacing:-.03em;line-height:1.06;margin:0 0 .45em}
h1{font-size:clamp(2.5rem,5.4vw,4.3rem)}
h2{font-size:clamp(1.8rem,3.2vw,2.75rem)}
h3{font-size:1.25rem;letter-spacing:-.02em}
p{margin:0 0 1em;max-width:70ch}
small{font-size:.82em;color:var(--tinta-3)}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem)}
.saltar{position:absolute;left:-999px}.saltar:focus{left:1rem;top:1rem;background:var(--blanco);padding:.6rem 1rem;z-index:99;border-radius:var(--r)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nota{font-size:.88rem;color:var(--tinta-3);max-width:68ch}
.nota--pie{padding-bottom:3.5rem}

/* Cifras */
.cifra{font-weight:600;font-variant-numeric:tabular-nums lining-nums;line-height:1;margin:0;letter-spacing:-.035em;max-width:none}
.cifra--xl{font-size:clamp(3rem,7vw,5.2rem)}
.cifra--l{font-size:clamp(1.8rem,3.2vw,2.6rem)}
.cifra--m{font-size:1.7rem}
.cifra--s{font-size:1.25rem}
.cifra--suave{color:var(--tinta-3);font-weight:500}

/* Botones y campos */
.boton{display:inline-block;padding:.72rem 1.4rem;border:1px solid var(--linea);border-radius:var(--pill);background:var(--blanco);color:var(--tinta);font:500 15px/1.25 var(--sans);letter-spacing:-.01em;text-decoration:none;cursor:pointer;margin:0 .5rem .5rem 0;transition:background .35s var(--curva),color .35s var(--curva),transform .35s var(--curva),box-shadow .35s var(--curva)}
.boton:hover{background:var(--humo);color:var(--tinta);transform:translateY(-1px)}
.boton--lleno{background:var(--tinta);color:var(--blanco);border-color:var(--tinta)}
.boton--lleno:hover{background:#000;color:var(--blanco)}
.boton:active{transform:scale(.97)}
.boton--claro{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.boton--claro:hover{background:rgba(255,255,255,.14);color:#fff}
.boton--chico{padding:.45rem 1rem;font-size:14px;margin:0}
input,select,textarea{font:400 16px/1.4 var(--sans);color:var(--tinta);background:var(--blanco);border:1px solid var(--linea);border-radius:12px;padding:.78rem .9rem;width:100%;appearance:none;-webkit-appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%236E6E73' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .85rem center;background-size:11px;padding-right:2.2rem}
input:focus,select:focus,textarea:focus{border-color:var(--tinta-2);outline:none}
textarea{resize:vertical;min-height:84px}
label>span{display:block;font-size:13px;font-weight:500;color:var(--tinta-2);margin-bottom:.35rem}

/* Cabecera */
.cabecera{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.66);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border-bottom:1px solid var(--vidrio-borde)}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;min-height:62px;gap:1rem}
.marca{display:flex;flex-direction:column;text-decoration:none;line-height:1}
.marca__logo{height:36px;width:auto}
.marca__nombre{font-weight:700;font-size:19px;letter-spacing:.12em}
.marca__sub{font-size:10px;letter-spacing:.34em;margin-top:.3rem;color:var(--tinta-2);text-transform:uppercase}
.marca--pie{color:#fff;margin-bottom:1.1rem;display:block}
.menu-boton{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:flex-end;gap:6px;padding:0}
.menu-boton span{display:block;height:1.5px;background:var(--tinta);width:22px;border-radius:2px}
.menu__lista{display:flex;align-items:center;gap:1.9rem}
.menu__lista a:not(.boton){text-decoration:none;font-size:14.5px;font-weight:400;color:var(--tinta-2)}
.menu__lista a:not(.boton):hover{color:var(--tinta)}
.menu__lista a[aria-current]{color:var(--tinta);font-weight:500}
.aviso-demo{background:var(--humo);text-align:center;font-size:13.5px;color:var(--tinta-2);padding:.6rem 1.25rem}

/* Portada */
.portada{position:relative;overflow:hidden;background:
  radial-gradient(90rem 48rem at 12% -12%, #FFFFFF 0%, rgba(255,255,255,0) 58%),
  radial-gradient(60rem 42rem at 88% 8%, #E7E9EE 0%, rgba(231,233,238,0) 62%),
  radial-gradient(52rem 40rem at 50% 118%, #DCDEE5 0%, rgba(220,222,229,0) 64%),
  linear-gradient(180deg,#F7F7F9 0%,#EFEFF2 100%)}
.portada--foto{background:var(--oscuro)}
.portada__fondo{position:absolute;inset:0}
.portada__fondo img{width:100%;height:100%;object-fit:cover}
.portada__fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.2) 42%,rgba(0,0,0,.65) 100%)}
.portada__contenido{position:relative;max-width:var(--ancho);margin:0 auto;padding:clamp(4.5rem,11vw,8.5rem) clamp(1.25rem,4vw,2rem) clamp(3rem,7vw,5rem);text-align:center;display:flex;flex-direction:column;align-items:center}
.portada--foto .portada__contenido{color:#fff}
.portada__titulo{max-width:16ch;margin-bottom:.5rem}
.portada__intro{font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--tinta-2);max-width:56ch;margin-bottom:2.2rem}
.portada--foto .portada__intro{color:rgba(255,255,255,.88)}
.portada__pie{position:absolute;left:50%;transform:translateX(-50%);bottom:1.1rem;margin:0;font-size:13px;color:rgba(255,255,255,.85)}

/* Buscador tipo píldora */
.buscador{display:flex;align-items:center;gap:.4rem;background:var(--vidrio);backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);border:1px solid var(--vidrio-borde);border-radius:var(--pill);padding:.4rem .4rem .4rem 1.1rem;box-shadow:var(--sombra-alta),var(--vidrio-luz);max-width:100%;flex-wrap:wrap;justify-content:center;transition:backdrop-filter .4s var(--curva),box-shadow .4s var(--curva)}
.portada--foto .buscador{background:rgba(255,255,255,.78)}
.buscador:hover{backdrop-filter:saturate(200%) blur(34px);-webkit-backdrop-filter:saturate(200%) blur(34px)}
.buscador label{display:flex;align-items:center;gap:.4rem}
.buscador label>span{display:none}
.buscador select{border:0;background-color:transparent;padding:.55rem 2rem .55rem .4rem;width:auto;min-width:118px;font-size:15px;font-weight:500;border-radius:var(--pill)}
.buscador select{transition:background-color .3s var(--curva)}
.buscador select:hover{background-color:rgba(255,255,255,.75)}
.buscador .boton{margin:0;padding:.65rem 1.5rem}
.buscador__div{width:1px;height:22px;background:var(--linea);flex:0 0 auto}

/* Secciones */
.seccion{padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,4vw,2rem)}
.seccion--corta{padding-top:2rem}
.encabezado-seccion{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.4rem 2rem;margin-bottom:2rem}
.encabezado-seccion h2{margin:0}
.encabezado-seccion p{margin:0;color:var(--tinta-2);font-size:15.5px}
.encabezado-seccion--claro p{color:rgba(255,255,255,.72)}
.encabezado-pagina{padding-top:clamp(2.5rem,6vw,4.5rem);padding-bottom:1.5rem;max-width:var(--ancho);margin:0 auto}
.encabezado-pagina p{color:var(--tinta-2);font-size:1.1rem}
.dos-columnas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem)}
.dos-columnas--form{align-items:start}
.banda-oscura{color:#fff;padding:clamp(3.5rem,7vw,6rem) 0;background:
  radial-gradient(56rem 36rem at 80% -10%, #2C2D33 0%, rgba(44,45,51,0) 62%),
  linear-gradient(180deg,#141416 0%,#0C0C0E 100%)}
.banda-oscura a:hover{color:rgba(255,255,255,.7)}
.mas{margin-top:1.6rem;font-size:15.5px}

/* Franja de mercado */
.franja-mercado{padding:clamp(3.5rem,7vw,6rem) 0;background:
  radial-gradient(60rem 36rem at 15% 0%, #FFFFFF 0%, rgba(255,255,255,0) 60%),
  radial-gradient(52rem 34rem at 92% 100%, #E9EBF0 0%, rgba(233,235,240,0) 62%),
  linear-gradient(180deg,#F4F4F7 0%,#EDEEF1 100%)}
.libro-cifras{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.libro-cifras li{background:var(--vidrio);backdrop-filter:saturate(180%) blur(22px);-webkit-backdrop-filter:saturate(180%) blur(22px);border:1px solid var(--vidrio-borde);border-radius:var(--rg);box-shadow:var(--sombra),var(--vidrio-luz);transition:transform .4s var(--curva),box-shadow .4s var(--curva)}
.libro-cifras li:hover{transform:translateY(-3px);box-shadow:var(--sombra-alta),var(--vidrio-luz)}
.libro-cifras li:active{transform:scale(.99)}
.libro-cifras a{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem 1.6rem;text-decoration:none}
.libro-cifras__zona{font-size:15px;color:var(--tinta-2)}

/* Tarjetas */
.rejilla-tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 1.8rem}
.tarjeta__enlace{text-decoration:none;display:block}
.tarjeta__foto{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--humo-2);border-radius:var(--rg);box-shadow:0 1px 2px rgba(0,0,0,.05),0 10px 26px rgba(0,0,0,.07),inset 0 0 0 1px var(--vidrio-borde);transition:box-shadow .45s var(--curva),transform .45s var(--curva)}
.tarjeta__foto img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--curva)}
.tarjeta__enlace:hover .tarjeta__foto img{transform:scale(1.04)}
.tarjeta__enlace:hover .tarjeta__foto{box-shadow:0 2px 4px rgba(0,0,0,.06),0 20px 44px rgba(0,0,0,.12),inset 0 0 0 1px var(--vidrio-borde);transform:translateY(-3px)}
.tarjeta__enlace:active .tarjeta__foto{transform:scale(.985)}
.tarjeta__marcas{position:absolute;top:.85rem;left:.85rem;margin:0;display:flex;gap:.4rem}
.marca-chip{background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz);font-size:12.5px;font-weight:500;padding:.3rem .7rem;border-radius:var(--pill);color:var(--tinta)}
.marca-chip--estatus{background:rgba(29,29,31,.9);color:#fff}
.tarjeta__texto{padding:1rem .2rem 0}
.tarjeta__precio{font-size:1.4rem;font-weight:600;letter-spacing:-.03em;line-height:1.1;margin:0 0 .3rem}
.tarjeta__precio small{font-weight:400;color:var(--tinta-3)}
.tarjeta__titulo{font-size:15.5px;font-weight:400;line-height:1.4;margin:0 0 .25rem;letter-spacing:-.01em}
.tarjeta__datos{font-size:14.5px;color:var(--tinta-3);margin:0}
.tarjeta__enlace:hover .tarjeta__titulo{color:var(--tinta-2)}
.sin-foto{width:100%;height:100%;display:flex;align-items:flex-end;padding:1.1rem;background:linear-gradient(145deg,#EDEDF0,#DEDEE3);color:var(--tinta-2);font-size:1.1rem;font-weight:500;border-radius:var(--rg)}
.sin-foto--miami{background:linear-gradient(145deg,#2A2A2E,#131316);color:rgba(255,255,255,.75)}
.tarjeta--no-disponible .tarjeta__foto img{filter:grayscale(1);opacity:.72}
.tarjeta--no-disponible .tarjeta__precio{color:var(--tinta-3);font-size:1.15rem}

/* Índices y listas */
.indice-zonas{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem 2.5rem}
.indice-zonas li{border-bottom:1px solid var(--linea-suave);padding:.95rem 0;display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.indice-zonas a{font-size:17px;font-weight:500;text-decoration:none}
.indice-zonas span{font-size:14px;color:var(--tinta-3)}
.lista-miami{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 3.5rem}
.lista-miami li{border-bottom:1px solid rgba(255,255,255,.14)}
.lista-miami a{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:1.15rem 0;text-decoration:none}
.lista-miami__nombre{font-size:1.15rem;font-weight:500;letter-spacing:-.02em}
.lista-miami a span:last-child{font-size:14px;color:rgba(255,255,255,.6);text-align:right}
.lista-simple{padding:0;list-style:none;margin:0}
.lista-simple li{padding:.75rem 0;border-bottom:1px solid var(--linea-suave);font-size:16px}
.lista-simple--claro li{border-color:rgba(255,255,255,.14)}

/* Filtros */
.filtros{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:0;background:transparent;border:0}
.filtros label{display:flex;align-items:center}
.filtros label>span{display:none}
.filtros select{width:auto;min-width:0;border-radius:var(--pill);background-color:var(--humo);border-color:transparent;padding:.55rem 2.1rem .55rem 1rem;font-size:14.5px;font-weight:500}
.filtros select,.filtros input{transition:background-color .3s var(--curva),box-shadow .3s var(--curva)}
.filtros select:hover{background-color:var(--humo-2)}
.filtros input{width:140px;border-radius:var(--pill);background-color:var(--humo);border-color:transparent;padding:.55rem 1rem;font-size:14.5px}
.filtros .boton{margin:0;padding:.58rem 1.3rem;font-size:14.5px}
.filtros__limpiar{font-size:14.5px;color:var(--tinta-2);text-decoration:none;padding:.58rem .6rem}
.paginacion{display:flex;gap:.4rem;justify-content:center;margin-top:3.5rem}
.paginacion a{min-width:42px;text-align:center;padding:.55rem;border-radius:var(--pill);text-decoration:none;font-size:15px;color:var(--tinta-2)}
.paginacion a:hover{background:var(--humo)}
.paginacion a[aria-current]{background:var(--tinta);color:#fff}
.vacio{padding:3.5rem 0;max-width:620px}
.vacio h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.vacio p{color:var(--tinta-2)}

/* Ficha */
.migas{font-size:14px;color:var(--tinta-3);margin-bottom:1.1rem}
.migas a{color:inherit;text-decoration:none}
.migas a:hover{color:var(--tinta)}
.migas--claro{color:rgba(255,255,255,.6)}
.ficha__cabeza{padding-top:2.2rem;max-width:var(--ancho);margin:0 auto}
.ficha__titulo{font-size:clamp(1.9rem,3.6vw,3rem);max-width:22ch}
.ficha__lugar{color:var(--tinta-2);font-size:1.05rem}
.galeria{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:.6rem;height:min(64vh,580px);margin-top:1.2rem;max-width:var(--ancho)}
.galeria__item{position:relative;overflow:hidden;background:var(--humo-2);display:block;border-radius:var(--r)}
.galeria__item--principal{grid-row:1/3;border-radius:var(--rg)}
.galeria__item--solo{grid-column:1/-1;grid-row:1/3;border-radius:var(--rg)}
.galeria--una{height:min(62vh,540px)}
.galeria__item img{width:100%;height:100%;object-fit:cover}
.galeria__mas{position:absolute;inset:auto .7rem .7rem auto;background:rgba(255,255,255,.72);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz);padding:.4rem .9rem;font-size:13.5px;font-weight:500;border-radius:var(--pill);color:var(--tinta)}
.ficha__cuerpo{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:clamp(2rem,5vw,4rem);padding-top:2.8rem;padding-bottom:2rem;max-width:var(--ancho);margin:0 auto}
.ficha__lateral .formulario{position:sticky;top:86px}
.ficha__precios{display:flex;flex-wrap:wrap;gap:1rem 3.5rem;padding-bottom:1.8rem;border-bottom:1px solid var(--linea-suave)}
.ficha__op{font-size:14px;color:var(--tinta-3);margin:0 0 .45rem}
.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem 1.5rem;margin:1.8rem 0 0}
.datos dt{font-size:13.5px;color:var(--tinta-3);margin-bottom:.15rem}
.datos dd{margin:0;font-weight:500;font-size:16px}
.bloque{padding-top:2.8rem;margin-top:2.8rem;border-top:1px solid var(--linea-suave)}
.bloque h2{font-size:clamp(1.4rem,2.3vw,1.85rem)}
.texto-largo{max-width:68ch;color:var(--tinta-2)}
.texto-largo.plegado{max-height:14em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 58%,transparent)}
.ver-mas{background:none;border:0;padding:0;font:500 15px var(--sans);text-decoration:underline;cursor:pointer;color:var(--tinta);margin-top:.7rem}

/* Precio en contexto */
.contexto{background:var(--humo);border-radius:var(--rg);padding:1.8rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.contexto__cifras{display:flex;flex-wrap:wrap;gap:1.4rem 3.5rem;margin-bottom:1.8rem}
.contexto__rotulo{font-size:14px;color:var(--tinta-3);margin:.45rem 0 0}
.barra{position:relative;height:30px;margin:0 0 1.1rem}
.barra::before{content:"";position:absolute;left:0;right:0;bottom:7px;height:3px;background:rgba(0,0,0,.08);border-radius:3px}
.barra__rango{position:absolute;bottom:4px;height:9px;background:#D8D8DC;border-radius:9px}
.barra__med{position:absolute;bottom:0;width:2px;height:17px;background:var(--tinta-3);border-radius:2px}
.barra__esta{position:absolute;bottom:0;width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:var(--bronce);border:2.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.contexto__nota{font-size:14px;color:var(--tinta-3);margin:0}

/* Amenidades */
.amenidades{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem 1.6rem}
.amenidades li{display:flex;gap:.6rem;align-items:center;font-size:15.5px}
.amenidades li.no{color:#B6B6BA}
.amenidades__marca{width:18px;height:18px;flex:0 0 18px;border-radius:50%;background:var(--tinta);color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;font-weight:600}
.amenidades li.no .amenidades__marca{background:var(--humo-2);color:#B6B6BA}
.amenidades__otras{margin-top:1.4rem;font-size:15px;color:var(--tinta-2)}

/* Guía de zona */
.guia{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}
.guia__col{background:var(--humo);border-radius:var(--rg);padding:1.4rem 1.5rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.guia h3{font-size:14px;font-weight:600;color:var(--tinta-2);margin-bottom:.9rem;letter-spacing:-.01em}
.guia ul{list-style:none;padding:0;margin:0}
.guia li{padding:.6rem 0;border-top:1px solid var(--linea-suave);display:flex;flex-direction:column;font-size:15.5px}
.guia li:first-child{border-top:0;padding-top:0}
.guia li span{font-size:13.5px;color:var(--tinta-3)}
.mapa{aspect-ratio:16/8;background:var(--humo);margin-bottom:1rem;border-radius:var(--rg);overflow:hidden}
.mapa iframe,.video iframe{width:100%;height:100%;border:0}
.video{aspect-ratio:16/9;margin-bottom:1rem;border-radius:var(--rg);overflow:hidden;background:var(--humo)}

/* Formulario */
.formulario{background:var(--humo);border-radius:var(--rg);padding:1.7rem;display:grid;gap:.95rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.formulario__titulo{font-size:1.4rem;margin:0}
.formulario input,.formulario textarea{background:var(--blanco);border-color:transparent}
.formulario .boton{margin:0;width:100%;padding:.85rem}
.formulario__alterno,.formulario__legal{font-size:13.5px;color:var(--tinta-3);margin:0}
.formulario__error{background:#FDECEA;color:#8A1C12;padding:.75rem .9rem;margin:0;font-size:14.5px;border-radius:12px}
.trampa{position:absolute;left:-5000px}

/* Zona */
.zona-portada{padding:clamp(2.8rem,6vw,4.5rem) 0;background:
  radial-gradient(56rem 32rem at 10% 0%, #FFFFFF 0%, rgba(255,255,255,0) 58%),
  linear-gradient(180deg,#F5F5F8 0%,#ECEDF1 100%)}
.zona-portada__rejilla{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem)}
.zona-portada__resumen{color:var(--tinta-2);font-size:1.12rem}
.zona-portada__cifra>p:not(.cifra){color:var(--tinta-2);max-width:36ch;margin-top:.9rem;font-size:15px}
.zona-portada__split{display:flex;gap:2.5rem;margin:1.4rem 0 0}
.zona-portada__split dt{font-size:13.5px;color:var(--tinta-3)}
.zona-portada__split dd{margin:.2rem 0 0;font-size:1.4rem;font-weight:600;letter-spacing:-.03em}
.zonas-tabla{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.zonas-tabla li{background:var(--humo);border-radius:var(--rg);transition:background .2s ease;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.zonas-tabla li{transition:background .4s var(--curva),transform .4s var(--curva),box-shadow .4s var(--curva)}
.zonas-tabla li:hover{background:#EDEEF1;transform:translateY(-2px);box-shadow:var(--sombra),var(--vidrio-luz)}
.zonas-tabla li:active{transform:scale(.995)}
.zonas-tabla a{display:grid;grid-template-columns:1fr 1.5fr auto;gap:2rem;padding:1.5rem 1.7rem;text-decoration:none;align-items:center}
.zonas-tabla__nombre{font-size:1.3rem;font-weight:600;letter-spacing:-.03em}
.zonas-tabla__resumen{color:var(--tinta-2);font-size:14.5px}
.zonas-tabla__dato{font-size:14px;color:var(--tinta-3);text-align:right}

/* Mercado */
.mercado{display:grid;gap:.6rem}
.mercado__fila{display:grid;grid-template-columns:1fr 1fr 2.2fr;gap:2rem;padding:1.7rem;background:var(--humo);border-radius:var(--rg);align-items:start;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.mercado__zona{font-size:1.3rem;margin:0}
.mercado__zona a{text-decoration:none}
.mercado__cifra p:last-child{font-size:13.5px;color:var(--tinta-3);margin:.45rem 0 0}
.mercado__datos{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem 1.5rem;margin:0}
.mercado__datos dt{font-size:13px;color:var(--tinta-3)}
.mercado__datos dd{margin:.15rem 0 0;font-weight:500;font-size:15.5px}

/* Vendedores */
.vend-portada{color:#fff;padding:clamp(3.5rem,8vw,6.5rem) 0;background:
  radial-gradient(60rem 40rem at 18% -14%, #31323A 0%, rgba(49,50,58,0) 60%),
  linear-gradient(180deg,#141416 0%,#0B0B0D 100%)}
.vend-portada__rejilla{display:grid;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:end;max-width:var(--ancho);margin:0 auto;padding:0 clamp(1.25rem,4vw,2rem)}
.vend-portada h1{max-width:13ch}
.vend-portada__intro{color:rgba(255,255,255,.75);font-size:1.15rem}
.vend-portada__dato .cifra{color:#fff}
.vend-portada__dato p:last-child{color:rgba(255,255,255,.7);margin-top:1rem;max-width:34ch;font-size:15.5px}
.vend-portada .boton--lleno{background:#fff;color:var(--tinta);border-color:#fff}
.vend-portada .boton--lleno:hover{background:rgba(255,255,255,.88)}
.pasos{list-style:none;counter-reset:paso;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pasos li{counter-increment:paso;background:var(--humo);border-radius:var(--rg);padding:1.6rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.pasos li::before{content:counter(paso);font-size:14px;font-weight:600;color:var(--tinta-3);display:block;margin-bottom:1.6rem}
.pasos h3{font-size:1.1rem}
.pasos p{font-size:15px;color:var(--tinta-2);margin:0}

/* Revista */
.carta{max-width:760px}
.carta__texto p{font-size:1.25rem;line-height:1.55;color:var(--tinta-2);letter-spacing:-.015em}
.carta__firma{font-size:1rem!important;font-weight:600;margin-top:2.2rem;color:var(--tinta)}
.carta__firma span{font-weight:400;color:var(--tinta-3)}
.ediciones{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem}
.ediciones img,.ediciones__portada{aspect-ratio:210/297;width:100%;object-fit:cover;margin-bottom:1rem;border-radius:var(--r)}
.ediciones__portada{background:linear-gradient(145deg,#2A2A2E,#131316);color:rgba(255,255,255,.8);display:flex;align-items:flex-end;padding:1.2rem}
.ediciones h3{margin:0 0 .2rem;font-size:1.05rem}
.ediciones p{color:var(--tinta-3);font-size:14.5px;margin:0 0 .7rem}

/* Miami */
.miami-portada{color:#fff;background:
  radial-gradient(58rem 36rem at 50% -16%, #32333B 0%, rgba(50,51,59,0) 62%),
  linear-gradient(180deg,#141416 0%,#0B0B0D 100%);padding:clamp(3.5rem,8vw,6rem) 0 clamp(2.5rem,5vw,3.5rem);text-align:center}
.miami-portada h1{margin-left:auto;margin-right:auto;max-width:14ch}
.miami-portada__intro{color:rgba(255,255,255,.75);font-size:1.12rem;margin:0 auto;max-width:58ch}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:0 0 2.2rem;justify-content:center}
.chips a{background:var(--humo);padding:.5rem 1.1rem;text-decoration:none;border-radius:var(--pill);font-size:14.5px;font-weight:500;color:var(--tinta-2)}
.chips a{transition:background .35s var(--curva),transform .35s var(--curva)}
.chips a:hover{background:var(--humo-2);color:var(--tinta)}
.chips a:active{transform:scale(.97)}
.chips a[aria-current]{background:var(--tinta);color:#fff}

/* Contacto y legales */
.contacto-directo p{display:flex;flex-direction:column;background:var(--humo);border-radius:var(--rg);padding:1.3rem 1.5rem;margin:0 0 .6rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.contacto-directo span{font-size:13.5px;color:var(--tinta-3);margin-bottom:.35rem}
.contacto-directo a{text-decoration:none}
.texto-legal{max-width:70ch}
.texto-legal h2{font-size:1.3rem;margin-top:2.2rem}
.texto-legal p{color:var(--tinta-2)}
.gracias{padding-bottom:5rem}

/* Aviso de estatus */
.aviso-estatus{display:flex;gap:1.3rem;align-items:flex-start;background:var(--humo);border-radius:var(--rg);padding:1.5rem 1.7rem;margin-bottom:1.8rem;border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz)}
.aviso-estatus__etiqueta{font-size:14px;font-weight:600;color:#fff;background:var(--tinta);padding:.3rem .8rem;border-radius:var(--pill);margin:.15rem 0 0;flex:0 0 auto}
.aviso-estatus p{margin:0 0 .6rem;font-size:15.5px;color:var(--tinta-2)}
.aviso-estatus p strong{color:var(--tinta)}
.aviso-estatus .boton{margin-top:.4rem}

/* Pie */
.pie{background:var(--humo);color:var(--tinta);padding:4rem 0 2rem;margin-top:4rem}
.pie__rejilla{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:2rem}
.pie__logo{height:28px;width:auto;margin-bottom:1.1rem}
.pie__titulo{font-size:13.5px;font-weight:600;margin-bottom:.9rem;color:var(--tinta)}
.pie p{font-size:14.5px;color:var(--tinta-2);line-height:1.9}
.pie a{text-decoration:none}
.pie a:hover{color:var(--tinta);text-decoration:underline}
.pie__lema{max-width:34ch;line-height:1.6}
.pie__legal{border-top:1px solid var(--linea-suave);margin-top:2.5rem;padding-top:1.4rem}
.pie__legal p{font-size:13px;color:var(--tinta-3)}
.pie .marca--pie{color:var(--tinta)}
.pie .marca__sub{color:var(--tinta-3)}
.flotante-wa{position:fixed;right:1.3rem;bottom:1.3rem;width:52px;height:52px;border-radius:50%;background:var(--tinta);color:#fff;display:flex;align-items:center;justify-content:center;z-index:28;box-shadow:var(--sombra-alta);transition:transform .4s var(--curva)}
.flotante-wa:hover{transform:scale(1.06);color:#fff}
.flotante-wa:active{transform:scale(.94)}
.barra-movil{display:none}

/* Visor de fotos */
.visor{position:fixed;inset:0;background:rgba(0,0,0,.94);z-index:50;display:flex;align-items:center;justify-content:center}
.visor img{max-width:92vw;max-height:84vh;object-fit:contain;border-radius:var(--r)}
.visor button{position:absolute;background:rgba(255,255,255,.12);border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.visor button:hover{background:rgba(255,255,255,.22)}
.visor__cerrar{top:1rem;right:1rem}.visor__ant{left:1rem}.visor__sig{right:1rem}
.visor__cuenta{position:absolute;bottom:1.2rem;left:0;right:0;text-align:center;color:rgba(255,255,255,.7);font-size:13.5px}

/* Responsivo */
@media (max-width:1080px){
  .menu-boton{display:flex}
  .menu__lista{display:none}
  .menu__lista.abierto{display:flex;flex-direction:column;align-items:flex-start;position:absolute;left:0;right:0;top:62px;background:rgba(255,255,255,.8);backdrop-filter:saturate(180%) blur(26px);-webkit-backdrop-filter:saturate(180%) blur(26px);padding:1.2rem clamp(1.25rem,4vw,2rem) 1.6rem;border-bottom:1px solid var(--vidrio-borde);gap:1.1rem;transform-origin:top center;animation:desplegar .45s var(--curva)}
@keyframes desplegar{from{opacity:0;transform:translateY(-10px) scaleY(.96)}to{opacity:1;transform:none}}
  .menu__lista.abierto a:not(.boton){font-size:19px;color:var(--tinta)}
  .ficha__cuerpo{grid-template-columns:1fr}
  .ficha__lateral .formulario{position:static}
  .pasos,.libro-cifras,.indice-zonas{grid-template-columns:repeat(2,1fr)}
  .mercado__fila{grid-template-columns:1fr 1fr}
  .mercado__datos{grid-column:1/-1}
  .ediciones{grid-template-columns:repeat(2,1fr)}
  .pie__rejilla{grid-template-columns:1fr 1fr}
}
@media (max-width:780px){
  body{font-size:16px}
  .marca__logo{height:30px}
  .zona-portada__rejilla,.vend-portada__rejilla,.dos-columnas{grid-template-columns:1fr}
  .buscador{flex-direction:column;align-items:stretch;border-radius:var(--rg);padding:1rem;gap:.6rem;width:100%}
  .buscador label{width:100%}
  .buscador select{width:100%;background-color:var(--humo);padding:.75rem 2.1rem .75rem 1rem}
  .buscador__div{display:none}
  .buscador .boton{width:100%}
  .libro-cifras,.lista-miami,.rejilla-tarjetas,.indice-zonas,.pasos,.ediciones,.pie__rejilla,.guia{grid-template-columns:1fr}
  .galeria{grid-template-columns:1fr;grid-template-rows:none;height:auto}
  .galeria__item{display:none}
  .galeria__item--principal,.galeria__item--solo{display:block;aspect-ratio:4/3;grid-row:auto}
  .datos,.amenidades,.mercado__datos{grid-template-columns:1fr 1fr}
  .mercado__fila{grid-template-columns:1fr}
  .zonas-tabla a{grid-template-columns:1fr;gap:.5rem}
  .zonas-tabla__dato{text-align:left}
  .aviso-estatus{flex-direction:column;gap:.9rem}
  .filtros input{width:100%}
  .filtros label,.filtros select{width:100%}
  .barra-movil{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;position:fixed;left:0;right:0;bottom:0;padding:.7rem calc(.7rem + env(safe-area-inset-left)) calc(.7rem + env(safe-area-inset-bottom));background:rgba(255,255,255,.7);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);border-top:1px solid var(--vidrio-borde);z-index:25}
  .barra-movil .boton{margin:0;text-align:center}
  body:has(.barra-movil) .flotante-wa{display:none}
  body:has(.barra-movil) .pie{padding-bottom:5.5rem}
}
@media (min-width:781px) and (max-width:1080px){.rejilla-tarjetas{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ---- Medios de fondo ---- */
.portada__fondo video{width:100%;height:100%;object-fit:cover;display:block}
.vend-portada--foto,.miami-portada--foto{position:relative;overflow:hidden}
.vend-portada__fondo,.miami-portada__fondo{position:absolute;inset:0}
.vend-portada__fondo img,.miami-portada__fondo img{width:100%;height:100%;object-fit:cover}
.vend-portada__fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,8,10,.88) 0%,rgba(8,8,10,.6) 46%,rgba(8,8,10,.26) 100%)}
.miami-portada__fondo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,10,.6) 0%,rgba(8,8,10,.42) 45%,rgba(8,8,10,.86) 100%)}
.vend-portada--foto .vend-portada__rejilla,.miami-portada--foto .contenedor{position:relative}
.vend-portada--foto{padding:clamp(5rem,12vw,9rem) 0}
.miami-portada--foto{padding:clamp(5rem,12vw,8.5rem) 0 clamp(3rem,6vw,4.5rem)}

/* ---- Equipo de producción ---- */
.equipo{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.equipo li{background:var(--humo);border:1px solid var(--vidrio-borde);box-shadow:var(--vidrio-luz);border-radius:var(--rg);padding:1.8rem 1.6rem 1.6rem;text-align:center}
.equipo img{width:100%;max-width:230px;height:170px;object-fit:contain;margin:0 auto 1.2rem;filter:drop-shadow(0 14px 26px rgba(0,0,0,.18))}
.equipo h3{font-size:1.05rem;margin-bottom:.35rem}
.equipo p{font-size:15px;color:var(--tinta-2);margin:0;max-width:34ch;margin-inline:auto}

/* ---- Pie más compacto y definido ---- */
.pie{background:var(--humo);border-top:1px solid var(--linea);padding:3.2rem 0 1.6rem;margin-top:4rem}
.pie__rejilla{grid-template-columns:1.8fr 1fr 1fr 1fr;gap:2.5rem}
.pie__logo{height:30px;margin-bottom:.9rem;opacity:.9}
.pie__titulo{font-size:12.5px;font-weight:600;letter-spacing:.02em;color:var(--tinta);margin-bottom:.6rem}
.pie p{font-size:14px;line-height:1.75;color:var(--tinta-2)}
.pie__lema{max-width:30ch;line-height:1.55;font-size:14px}
.pie__legal{margin-top:2rem;padding-top:1.1rem}
.pie__legal p{font-size:12.5px;line-height:1.5;margin:0}
@media (max-width:780px){
  .equipo{grid-template-columns:1fr}
  .equipo img{height:140px}
  .pie{padding-top:2.6rem}
  .pie__rejilla{gap:1.8rem}
}

/* ---- Blog ---- */
.articulo__fecha{font-size:13.5px;color:var(--tinta-3);margin:0 0 .3rem}
.articulo__titular{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0 0 .4rem}
.articulo__cabeza{padding-top:clamp(2.5rem,6vw,4rem);max-width:760px}
.articulo__cabeza h1{font-size:clamp(2rem,4vw,3.2rem)}
.articulo__entrada{font-size:1.2rem;color:var(--tinta-2);line-height:1.5}
.articulo__credito{font-size:14px;color:var(--tinta-3);margin:1.2rem 0 0}
.articulo__foto{margin:2.2rem auto 0;max-width:1000px}
.articulo__foto img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rg)}
.articulo__cuerpo{max-width:680px;margin:2.6rem auto 0;font-size:18px;line-height:1.65;color:var(--tinta-2)}
.articulo__cuerpo h2{font-size:clamp(1.35rem,2.2vw,1.75rem);color:var(--tinta);margin:2.4rem 0 .8rem}
.articulo__cuerpo p{margin:0 0 1.15em;max-width:none}
.articulo__cuerpo ul{padding-left:1.1rem;margin:0 0 1.15em}
.articulo__cuerpo li{margin-bottom:.45rem}
.articulo__cuerpo blockquote{margin:1.8rem 0;padding:1.3rem 1.6rem;background:var(--humo);border-radius:var(--rg);border:1px solid var(--vidrio-borde)}
.articulo__cuerpo blockquote p{margin:0;font-size:1.1rem;color:var(--tinta)}
.otras-notas{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.otras-notas li{background:var(--humo);border:1px solid var(--vidrio-borde);border-radius:var(--rg);transition:background .35s var(--curva)}
.otras-notas li:hover{background:var(--humo-2)}
.otras-notas a{display:flex;justify-content:space-between;align-items:baseline;gap:1.5rem;padding:1.1rem 1.4rem;text-decoration:none;font-weight:500}
.otras-notas .articulo__fecha{margin:0;flex:0 0 auto;font-weight:400}
@media (max-width:780px){.otras-notas a{flex-direction:column;gap:.3rem}}

/* ---- Tabla de plantas ---- */
.tabla-envoltura{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tabla{width:100%;border-collapse:collapse;font-size:15.5px;min-width:520px}
.tabla th{text-align:left;font-size:13px;font-weight:600;color:var(--tinta-3);padding:0 1rem .7rem 0;border-bottom:1px solid var(--linea)}
.tabla td{padding:.95rem 1rem .95rem 0;border-bottom:1px solid var(--linea-suave);vertical-align:top}
.tabla tr:last-child td{border-bottom:0}
.tabla td:last-child,.tabla th:last-child{text-align:right;padding-right:0;font-weight:500;white-space:nowrap}
.pasos--pago{grid-template-columns:repeat(3,1fr)}
@media (max-width:780px){.pasos--pago{grid-template-columns:1fr}}
