/* Ronda final: contenido compacto y controles explícitos. */
.torre-tabs{display:flex;gap:8px;margin:24px 0 0}.torre-tabs button{flex:1;min-height:48px;border:2px solid var(--terracota);border-radius:8px;background:var(--blanco);color:var(--terracota);font:inherit;cursor:pointer}.torre-tabs button[aria-pressed=true]{background:var(--terracota);color:var(--crema)}
@media(min-width:760px){.torre-tabs{display:none}}
@media(max-width:759px){.torres{margin-top:16px}.torres[data-activa=Norte] [data-torre=Sur],.torres[data-activa=Sur] [data-torre=Norte]{display:none}.torre h3{display:none}.galeria-grid{display:grid;height:62svh;max-height:560px;aspect-ratio:auto;isolation:isolate;overflow:hidden}.galeria-grid figure,.galeria-grid figure.vertical{grid-area:1/1;height:100%;width:100%;aspect-ratio:auto}.galeria-grid img{object-fit:cover}.galeria-grid figure:first-child img{object-fit:contain}.galeria{padding-bottom:28px}#arriba{display:flex;flex-direction:column-reverse;gap:16px;padding-top:24px;padding-bottom:24px}#arriba .alzados{height:48svh;width:100%;min-height:260px}#arriba .titulo{font-size:30px}#arriba .parrafo{font-size:14px;margin:8px 0}#arriba .rotulo{display:none}#arriba .ab-texto{margin:10px 0 0;font-size:14px}#arriba .ab{display:flex;margin-top:12px}#arriba .ab button{flex:1;min-height:44px}#plan{padding-top:24px;padding-bottom:24px}#plan .titulo{font-size:30px}#plan .parrafo{font-size:14px} }
#plan .pasos{display:grid;grid-template-columns:1fr;max-width:650px;margin:24px auto 0;min-height:260px;border:0}#plan .paso{grid-area:1/1;min-height:0;padding:0;border-radius:14px}#plan .paso-cuerpo{padding:24px;min-height:240px}#plan .paso-num{font-size:56px}#plan .paso h3{font-size:28px;margin:8px 0}#plan .paso-texto{font-size:16px;margin:12px 0;max-width:45ch}#plan .paso-cuando{margin:8px 0;font-size:11px}#plan .paso-llenado{display:none}
#avance{padding-top:40px;padding-bottom:40px}#avance .rotulo{display:none}#avance .titulo{font-size:28px}.proximamente{font-family:var(--serif);font-size:clamp(36px,6vw,70px);margin:12px 0;color:var(--terracota);animation:proximo 3s ease-in-out infinite alternate}@keyframes proximo{to{opacity:.5;letter-spacing:.025em}}
.pie-molins{width:140px;max-width:100%;height:auto;margin-top:14px}.pie-grid{gap:24px}.pie-firma{display:block}.pie-firma small{margin-top:6px}.pie-col a[href="#ubicacion"]{color:var(--crema);font-family:var(--serif);font-size:18px}.pie-abajo{padding-right:52px}
@media(max-width:640px){.pie-grid{grid-template-columns:1fr 1fr}.pie-col:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.pie-col:last-child h4{width:100%;margin:0}.pie-molins{width:120px;margin:0}.pie-firma{flex:1}.pie-logos{gap:16px}.pie-hacen{margin-top:20px}}
@media(prefers-reduced-motion:reduce){.proximamente{animation:none}#plan .pasos{display:flex;flex-direction:column;gap:12px}.galeria-grid{height:auto;display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.galeria-grid figure,.galeria-grid figure.vertical{flex:0 0 90%;height:55svh;scroll-snap-align:start}}

.pie-molins{width:64px;border-radius:6px}.pie-col:last-child .pie-firma{max-width:32ch}
@media(max-width:759px){#arriba .bloque-texto{padding:0}#arriba .alzados{height:44svh}}
html.sin-animaciones #plan .pasos{display:flex;flex-direction:column;gap:12px}

@media(max-width:759px){html.sin-animaciones .galeria-grid{height:auto;display:flex;overflow-x:auto}html.sin-animaciones .galeria-grid figure{flex:0 0 90%;height:55svh}}

/* Recorridos con scroll: cada estado entra entero en pantalla. */
.residencias.con-recorrido{height:calc(100svh - 80px);min-height:0;grid-template-rows:minmax(0,1fr)}
.con-recorrido .res-foto{min-height:0;height:100%;order:0}
.con-recorrido .res-panel{padding:32px var(--lado);gap:14px;min-height:0}
.con-recorrido .res-lista button{font-size:clamp(30px,4.2vw,54px)}
#plan{padding-top:36px;padding-bottom:36px}
#plan .titulo{font-size:clamp(30px,3.5vw,44px);margin:10px 0}
#plan .parrafo{font-size:15px;margin:10px auto 0}
#plan .pasos{max-width:600px;margin-top:32px;gap:0;min-height:250px}
#plan .paso-cuerpo{min-height:250px;padding:24px 28px}
#plan .paso h3,#plan .paso-texto,#plan .paso-cuando{mix-blend-mode:normal;color:var(--tinta)}
#plan .paso-num{font-size:48px}
.paso-logro{position:absolute;right:24px;top:24px;width:54px;height:54px;color:var(--terracota)}
.paso-logro svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.paso-logro circle,.paso-logro path{stroke-dasharray:1}
@media(max-width:899px){
 .residencias.con-recorrido{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}
 .con-recorrido .res-panel{padding:16px var(--lado);gap:8px}
 .con-recorrido .res-panel>.rotulo{display:none}
 .con-recorrido .res-lista{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:0}
 .con-recorrido .res-lista button{font-size:28px;padding:4px 0;min-height:44px}
 .con-recorrido .res-ficha{padding-top:8px}
 .con-recorrido .res-desc{font-size:14px;margin:0}
 .con-recorrido .res-amb,.con-recorrido .res-ubic{font-size:12px;margin:4px 0 0}
 .con-recorrido .res-palabra{font-size:36px;bottom:16px}
 #plan{padding:24px var(--lado)}
 #plan .paso-cuerpo{padding:20px;min-height:270px}
 #plan .paso-texto{font-size:15px}
}

/* Pie: dirección visible, navegación breve y firma agrupada. */
.pie .pie-grid{gap:24px 28px;align-items:start}
.pie .pie-marca{display:flex;align-items:center;gap:22px}
.pie .pie-torres{margin:0;display:flex;flex-direction:column;gap:2px}
.pie .pie-col h4{font-size:17px;margin:0 0 10px}
.pie .pie-col a{min-height:40px}
.pie .pie-ubicacion h4 a{display:flex;gap:16px;min-height:24px;font:inherit;color:var(--crema)}
.pie .pie-ubicacion p{font-size:13px;line-height:1.7;margin:0;max-width:23ch;text-wrap:pretty}
.pie .pie-col:last-child{display:grid;grid-template-columns:48px 1fr;gap:10px 14px;align-items:center}
.pie .pie-col:last-child h4{grid-column:1/-1;width:auto;margin:0 0 4px}
.pie .pie-col:last-child .pie-molins{grid-column:1;grid-row:2;width:48px;margin:0}
.pie .pie-col:last-child .pie-firma{grid-column:2;grid-row:2;padding:0}
.pie .pie-firma small{line-height:1.5}
@media(min-width:860px){.pie .pie-grid{grid-template-columns:1.1fr .8fr 1fr 1.3fr}.pie .pie-marca{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:640px){.pie{padding-top:30px}.pie .pie-grid{grid-template-columns:1fr 1fr;gap:22px 20px}.pie .pie-col:last-child{padding-top:18px;border-top:1px solid color-mix(in srgb,var(--crema) 18%,transparent)}.pie .pie-col a{font-size:13px}.pie .pie-col h4{font-size:16px}.pie .pie-firma span{font-size:14px}.pie .pie-firma small{font-size:12px}}

@media(max-width:640px){.form input,.form select,.form textarea{font-size:16px}.form-modos button{min-height:44px}.pie .pie-col a{min-height:44px}}

/* Pie compacto (11/9): una fila en escritorio; en el celular marca, quién vende y la línea legal */
.pie{padding:24px var(--lado) 18px}
.pie-fila{max-width:var(--ancho);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px 32px;padding-bottom:16px;border-bottom:1px solid color-mix(in srgb,var(--crema) 14%,transparent)}
.pie-logo{width:40px;flex:0 0 auto;color:var(--crema)}
.pie-links{display:flex;flex-wrap:wrap;gap:4px 24px}
.pie-links a{font-size:13px;color:rgba(245,243,222,.66);text-decoration:none;padding:6px 0;transition:color .2s}
.pie-links a:hover{color:var(--crema)}
.pie .pie-logos{display:flex;align-items:center;gap:18px}
.pie .pie-logos img{height:26px;width:auto;opacity:.7}
.pie .pie-abajo{max-width:var(--ancho);margin:0 auto;border:0;padding-top:12px;display:flex;flex-wrap:wrap;gap:4px 18px;justify-content:flex-start;font-size:11.5px;color:rgba(245,243,222,.5)}
.pie-vende{display:block;color:rgba(245,243,222,.78)}
.pie-vende img{display:inline-block;width:20px;height:20px;border-radius:4px;vertical-align:-5px;margin-right:8px}
.pie-aviso{margin-left:auto}
@media(max-width:859px){
  .pie{padding:18px var(--lado) 88px}
  .pie-links{display:none}
  .pie-logo{width:32px}
  .pie .pie-logos{gap:12px}.pie .pie-logos img{height:20px}
  .pie .pie-abajo{flex-direction:column;gap:4px;font-size:11px;line-height:1.45}
  .pie-aviso{margin-left:0}
  .pie-vende img{display:none}
}

/* 28/9: el Instagram de Fran (@franmolins.lpz) debajo del WhatsApp, pedido suyo. Área táctil de 44 px. */
.contacto-ig{display:flex;width:max-content;max-width:100%;align-items:center;gap:8px;min-height:44px;margin-top:8px;color:var(--crema);font-size:14px;text-decoration:none;opacity:.86;transition:opacity .2s}
.contacto-ig b{font-weight:500;text-decoration:underline;text-underline-offset:3px}
.contacto-ig:hover,.contacto-ig:focus-visible{opacity:1}
