/* Torre Potosí 2026. Tokens de marca y componentes. */
:root{
  --crema:#FBF8F3; --crema-2:#F3EEE5; --ciruela:#843169; --ciruela-dk:#6A2755; --ciruela-band:#5A2247;
  --verde:#306D39; --verde-dk:#25552C; --menta:#9EC6B6; --dorado:#BF9658; --negro:#191D1E; --gris:#A1A9AD; --gris-2:#5F676B;
  --display:'Jost','Century Gothic','Futura',sans-serif; --cuerpo:'Poppins',system-ui,sans-serif;
  --radio:6px; --sombra:0 18px 50px -20px rgba(25,29,30,.35); --ancho:1200px; --gutter:20px;
  --t:.25s ease;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--cuerpo);font-weight:300;font-size:16px;line-height:1.65;color:var(--negro);background:var(--crema);-webkit-font-smoothing:antialiased}
img,svg,iframe{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button,input,select{font:inherit;color:inherit}
strong{font-weight:500}
h1,h2,h3,.h3{font-family:var(--display);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--negro)}
h1{font-size:clamp(38px,5.4vw,64px);font-weight:400}
h2{font-size:clamp(30px,3.6vw,40px)}
h3,.h3{font-size:24px}
.lead{font-size:clamp(17px,1.5vw,20px);font-weight:300;line-height:1.6}
p+p{margin-top:1em}
.contenedor{max-width:var(--ancho);margin:0 auto;padding:0 var(--gutter)}
.contenedor--angosto{max-width:860px}
.visualmente-oculto,.saltar{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.saltar:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:var(--negro);color:#fff;padding:8px 14px;z-index:99}

/* eyebrow: sin mayúsculas sostenidas, con una franja doble delante */
.eyebrow{display:inline-flex;align-items:flex-start;gap:12px;line-height:1.5;font-family:var(--display);font-weight:500;font-size:15px;color:var(--ciruela);margin-bottom:14px}
.eyebrow::before{content:"";width:22px;height:2px;margin-top:.7em;background:linear-gradient(90deg,var(--verde) 0 50%,var(--ciruela) 50% 100%);flex:none}
.eyebrow--claro{color:var(--crema)}
.eyebrow--claro::before{background:linear-gradient(90deg,var(--menta) 0 50%,var(--dorado) 50% 100%)}
.eyebrow--dorado{color:var(--dorado)}
.eyebrow--dorado::before{background:linear-gradient(90deg,var(--menta) 0 50%,var(--dorado) 50% 100%)}

/* franjas: el dispositivo propio, líneas verticales como las de la fachada y el logo */
.franjas{display:inline-block;width:38px;height:60px;background:
  linear-gradient(var(--verde),var(--verde)) 0 0/4px 100% no-repeat,
  linear-gradient(var(--menta),var(--menta)) 10px 8px/4px 80% no-repeat,
  linear-gradient(var(--ciruela),var(--ciruela)) 20px 16px/4px 70% no-repeat,
  linear-gradient(var(--dorado),var(--dorado)) 30px 4px/4px 90% no-repeat}
.franjas--hero{position:absolute;right:max(20px,calc((100vw - var(--ancho))/2 + 20px));top:120px;height:180px;width:46px;opacity:.9;z-index:2}
.franjas--pie{height:34px;width:34px;background-size:3px 100%,3px 80%,3px 70%,3px 90%;background-position:0 0,9px 4px,18px 8px,27px 2px}

/* botones */
.boton{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--display);font-weight:500;font-size:16px;letter-spacing:.02em;padding:13px 24px;border-radius:var(--radio);border:1px solid transparent;cursor:pointer;transition:transform var(--t),background var(--t),color var(--t),border-color var(--t);white-space:nowrap}
.boton:hover{transform:translateY(-2px)}
.boton--primario{background:var(--ciruela);color:#fff}
.boton--primario:hover{background:var(--ciruela-dk)}
.boton--secundario{background:transparent;color:var(--ciruela);border-color:var(--ciruela)}
.boton--secundario:hover{background:rgba(132,49,105,.08)}
.boton--wa{background:var(--verde);color:#fff}
.boton--wa:hover{background:var(--verde-dk)}
.boton--chico{padding:10px 18px;font-size:15px}
.enlace{font-family:var(--display);font-weight:500;color:var(--ciruela);border-bottom:1px solid transparent;transition:border-color var(--t)}
.enlace:hover{border-color:var(--ciruela)}
.acciones{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}

/* cabecera */
.cabecera{position:sticky;top:0;z-index:50;background:var(--crema);border-bottom:1px solid rgba(25,29,30,.08);transition:background var(--t),color var(--t),box-shadow var(--t)}
.cabecera__fila{display:flex;align-items:center;justify-content:space-between;gap:24px;height:76px}
.logo{display:block;width:184px;color:var(--negro)}
.logo svg{width:100%;height:auto}
.logo__mono{display:none}
.cabecera--sobre-hero:not(.compacta):not(.menu-abierto) .logo__color{display:none}
.cabecera--sobre-hero:not(.compacta):not(.menu-abierto) .logo__mono{display:block}
.logo--pie{color:rgba(251,248,243,.85)}
/* variantes de color del logo mono: se aplican con una clase en <body> (body.logo-ciruela / body.logo-verde) o en el propio .logo */
.logo--ciruela,body.logo-ciruela .cabecera.compacta .logo,body.logo-ciruela .cabecera:not(.cabecera--sobre-hero) .logo{color:var(--ciruela)}
.logo--verde,body.logo-verde .cabecera.compacta .logo,body.logo-verde .cabecera:not(.cabecera--sobre-hero) .logo{color:var(--verde)}
body.logo-ciruela .cabecera.compacta .logo__color,body.logo-ciruela .cabecera:not(.cabecera--sobre-hero) .logo__color,body.logo-verde .cabecera.compacta .logo__color,body.logo-verde .cabecera:not(.cabecera--sobre-hero) .logo__color{display:none}
body.logo-ciruela .cabecera.compacta .logo__mono,body.logo-ciruela .cabecera:not(.cabecera--sobre-hero) .logo__mono,body.logo-verde .cabecera.compacta .logo__mono,body.logo-verde .cabecera:not(.cabecera--sobre-hero) .logo__mono{display:block}
.cabecera--sobre-hero{position:fixed;left:0;right:0;background:transparent;border-color:transparent;color:#fff}
.cabecera--sobre-hero .logo{color:#fff}
.cabecera--sobre-hero.compacta{background:rgba(251,248,243,.96);color:var(--negro);border-color:rgba(25,29,30,.08);box-shadow:0 8px 30px -20px rgba(0,0,0,.3);backdrop-filter:blur(8px)}
.cabecera--sobre-hero.compacta .logo{color:var(--negro)}
.nav ul{display:flex;gap:28px;font-family:var(--display);font-weight:500;font-size:16px}
.nav a{position:relative;padding:6px 0}
.nav ul a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--t)}
.nav ul a:hover::after,.nav ul a.activo::after{transform:scaleX(1)}
.nav__idiomas{display:none}
.cabecera__acciones{display:flex;align-items:center;gap:14px}
.cabecera--sobre-hero:not(.compacta) .boton--primario{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.hamburguesa{display:none;width:44px;height:44px;background:none;border:0;cursor:pointer;position:relative}
.hamburguesa__lineas,.hamburguesa__lineas::before,.hamburguesa__lineas::after{content:"";position:absolute;left:10px;width:24px;height:2px;background:currentColor;transition:transform var(--t),opacity var(--t)}
.hamburguesa__lineas{top:21px}
.hamburguesa__lineas::before{top:-7px;left:0}
.hamburguesa__lineas::after{top:7px;left:0}
.hamburguesa[aria-expanded="true"] .hamburguesa__lineas{background:transparent}
.hamburguesa[aria-expanded="true"] .hamburguesa__lineas::before{transform:translateY(7px) rotate(45deg)}
.hamburguesa[aria-expanded="true"] .hamburguesa__lineas::after{transform:translateY(-7px) rotate(-45deg)}

/* hero */
.hero{position:relative;min-height:min(92vh,900px);display:flex;flex-direction:column;justify-content:flex-end;color:#fff;overflow:hidden;isolation:isolate}
.hero__fotos{position:absolute;inset:0;z-index:-2}
.hero__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero__foto.activa{opacity:1;transform:scale(1);transition:opacity 1.6s ease,transform 9s linear}
.hero__velo{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(25,29,30,.45) 0%,rgba(25,29,30,.15) 35%,rgba(25,29,30,.6) 70%,rgba(25,29,30,.85) 100%),linear-gradient(90deg,rgba(25,29,30,.45) 0%,rgba(25,29,30,0) 60%)}
.hero--landing .hero__velo{background:linear-gradient(180deg,rgba(25,29,30,.55) 0%,rgba(25,29,30,.35) 40%,rgba(25,29,30,.75) 100%),linear-gradient(90deg,rgba(25,29,30,.7) 0%,rgba(25,29,30,.35) 50%,rgba(25,29,30,0) 85%)}
.hero--landing .hero__bajada{font-weight:400;color:#fff}
.hero--landing .hero__claim{color:var(--crema)}
.hero__texto h1,.hero__claim,.hero__bajada,.hero .eyebrow{text-shadow:0 2px 18px rgba(25,29,30,.45)}
.hero__texto{padding-top:150px;padding-bottom:36px;max-width:calc(var(--ancho));width:100%}
.hero__texto h1{color:#fff;max-width:14ch;text-wrap:balance;display:flex;flex-direction:column}
.hero__clave{font-family:var(--display);font-weight:500;font-size:clamp(14px,1.2vw,17px);letter-spacing:.02em;color:var(--menta);margin-bottom:12px;max-width:none;text-shadow:0 1px 8px rgba(25,29,30,.6)}
.hero__claim-grande{display:block}
.hero__bajada{margin-top:18px;max-width:52ch;font-size:clamp(16px,1.4vw,19px);color:rgba(251,248,243,.92)}
.hero__reserva{width:100%;position:relative;z-index:3;margin-bottom:-56px}

/* barra de reserva */
.reserva{background:#fff;color:var(--negro);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px 22px 16px}
.reserva__titulo{font-family:var(--display);font-weight:500;font-size:18px;margin-bottom:12px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}
.reserva__dir{font-family:var(--cuerpo);font-weight:300;font-size:13px;color:var(--gris-2)}
.acciones--hero{margin-top:22px}
.acciones--hero .boton{padding:10px 16px;font-size:15px}
.reserva__campos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px;align-items:end}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:13px;color:var(--gris-2)}
.campo input,.campo select{height:46px;border:1px solid #D9D5CD;border-radius:var(--radio);padding:0 12px;background:var(--crema);font-size:15px;font-weight:400;width:100%;min-width:0}
.campo input[type=date]{-webkit-appearance:none;appearance:none;display:block;line-height:44px;text-align:left;color:var(--negro);padding:0 8px 0 10px;font-size:14px;font-variant-numeric:tabular-nums}
.campo input[type=date]::-webkit-date-and-time-value{text-align:left;line-height:44px;min-height:1.2em}
.campo input[type=date]::-webkit-calendar-picker-indicator{opacity:.6}
.campo select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%235F676B' stroke-width='1.6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:30px}
.campo input:focus,.campo select:focus{outline:2px solid var(--ciruela);outline-offset:1px;border-color:var(--ciruela)}
.reserva .boton{height:46px}
.reserva__nota{font-size:13px;color:var(--gris-2);margin-top:10px}
.reserva-fija{position:fixed;left:0;right:0;top:76px;z-index:40;background:rgba(251,248,243,.97);border-bottom:1px solid rgba(25,29,30,.08);box-shadow:0 10px 30px -22px rgba(0,0,0,.4);transform:translateY(calc(-100% - 90px));visibility:hidden;transition:transform .35s ease,visibility 0s .35s;backdrop-filter:blur(8px)}
.reserva-fija.visible{transform:translateY(0);visibility:visible;transition:transform .35s ease,visibility 0s}
.reserva--fija{box-shadow:none;background:transparent;padding:10px 0}
.reserva--fija .reserva__campos{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr) auto}
.reserva--fija .campo span{display:none}
.reserva--fija .campo input,.reserva--fija .campo select,.reserva--fija .boton{height:42px}

/* secciones */
.seccion{padding:96px 0}
.seccion--primera{padding-top:64px}
.seccion--primera h1{font-size:clamp(30px,3.6vw,42px);font-weight:500}
.seccion__cabeza{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:44px}
.seccion__cabeza--centrada{flex-direction:column;align-items:center;text-align:center}
.seccion__cabeza h2{max-width:22ch;text-wrap:balance}
.seccion__cabeza .lead{margin-top:14px;max-width:60ch}
.seccion__pie{margin-top:32px;text-align:center}

/* departamentos */
.departamentos{padding-top:150px}
.tarjetas{display:grid;gap:26px}
.tarjetas--3{grid-template-columns:repeat(3,1fr)}
.tarjeta{background:#fff;border-radius:var(--radio);overflow:hidden;box-shadow:0 1px 0 rgba(25,29,30,.06),0 20px 40px -30px rgba(25,29,30,.35);display:flex;flex-direction:column;transition:transform var(--t),box-shadow var(--t)}
.tarjeta:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(25,29,30,.06),0 30px 50px -30px rgba(25,29,30,.45)}
.tarjeta__foto{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--crema-2)}
.tarjeta__foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.tarjeta:hover .tarjeta__foto img{transform:scale(1.04)}
.tarjeta__cuerpo{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.tarjeta__para{color:var(--gris-2);font-size:15px;min-height:3.2em}
.tarjeta__datos{display:flex;gap:16px;font-size:13px;font-weight:400;color:var(--gris-2)}
.tarjeta__datos span::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--menta);margin-right:8px;vertical-align:middle}
.precio{margin-top:auto;padding-top:14px;border-top:1px solid rgba(25,29,30,.08);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px}
.precio__desde{font-size:13px;color:var(--gris-2);width:100%}
.precio__monto{font-family:var(--display);font-weight:600;font-size:30px;color:var(--ciruela);letter-spacing:-.02em}
.precio__detalle{font-size:13px;color:var(--gris-2)}
.etiqueta{display:inline-block;font-family:var(--display);font-weight:500;font-size:12px;color:var(--verde);background:rgba(158,198,182,.35);padding:3px 8px;border-radius:999px;align-self:center}
.tarjeta__acciones{display:flex;gap:10px;margin-top:6px}
.tarjeta__acciones .boton{flex:1;padding-left:12px;padding-right:12px;font-size:15px}

/* intro */
.intro{background:#fff}
.intro__grilla{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.intro__foto{position:relative;padding-right:60px;padding-bottom:60px}
.intro__foto>img:first-child{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radio)}
.intro__foto-chica{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;object-fit:cover;border-radius:var(--radio);box-shadow:var(--sombra);border:6px solid #fff}
.intro__texto h2{margin-bottom:22px}
.intro__texto p{margin-bottom:1em}
.intro__texto .lead{color:var(--negro)}
.intro__texto p:not(.lead){color:var(--gris-2)}

/* perfiles */
.perfiles{background:var(--ciruela-band);color:var(--crema)}
.perfiles h2{color:var(--crema)}
.perfiles__grilla{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.perfil{position:relative;aspect-ratio:3/4;border-radius:var(--radio);overflow:hidden;display:flex;align-items:flex-end;isolation:isolate}
.perfil img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .9s ease}
.perfil:hover img{transform:scale(1.05)}
.perfil::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(25,29,30,.08) 0%,rgba(25,29,30,.3) 45%,rgba(25,29,30,.9) 100%);pointer-events:none}
.perfil h3,.perfil p{text-shadow:0 1px 10px rgba(25,29,30,.6)}
.perfil__texto{padding:24px 22px;position:relative;z-index:2}
.perfil h3{color:#fff;margin-bottom:8px}
.perfil p{font-size:14px;color:rgba(251,248,243,.85);line-height:1.5}
.perfil__ver{display:inline-block;margin-top:12px;font-family:var(--display);font-weight:500;color:var(--dorado)}

/* reseñas */
.carrusel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px var(--gutter) 14px;margin:0 calc(-1*var(--gutter))}
.carrusel::-webkit-scrollbar{display:none}
.resena{flex:0 0 min(360px,86vw);scroll-snap-align:start;background:#fff;border-radius:var(--radio);padding:26px;box-shadow:0 1px 0 rgba(25,29,30,.06);display:flex;flex-direction:column;gap:12px}
.resena__estrellas{color:var(--dorado);letter-spacing:2px;font-size:15px}
.resena__texto{font-size:15px;color:var(--negro)}
.resena footer{margin-top:auto;font-size:13px;color:var(--gris-2)}
.carrusel__controles{display:flex;gap:8px}
.carrusel__btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--ciruela);background:transparent;color:var(--ciruela);cursor:pointer;transition:background var(--t),color var(--t)}
.carrusel__btn:hover{background:var(--ciruela);color:#fff}

/* video */
.video{background:#fff}
.video__marco{position:relative;aspect-ratio:16/9;border-radius:var(--radio);overflow:hidden;background:var(--negro);box-shadow:var(--sombra)}
.video__marco img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video__marco iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video__play{position:absolute;inset:0;margin:auto;width:84px;height:84px;border-radius:50%;border:0;background:var(--ciruela);color:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 10px 30px rgba(0,0,0,.35);transition:transform var(--t),background var(--t)}
.video__play svg{width:38px;height:38px;fill:currentColor;margin-left:4px}
.video__play:hover{transform:scale(1.06);background:var(--ciruela-dk)}

/* ubicación */
.ubicacion__grilla{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.ubicacion__texto h2{margin-bottom:18px}
.distancias{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.distancias li{display:flex;flex-direction:column;padding:12px 0 12px 16px;border-left:3px solid var(--menta)}
.distancias strong{font-family:var(--display);font-weight:600;font-size:22px;color:var(--verde);line-height:1.1}
.distancias span{font-size:14px;color:var(--gris-2)}
.ubicacion__mapa{aspect-ratio:4/3;border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);background:var(--crema-2)}
.ubicacion__mapa iframe{width:100%;height:100%;border:0;filter:saturate(.85)}

/* pie */
.pie{background:var(--negro);color:rgba(251,248,243,.8);padding:72px 0 0;font-size:14px}
.pie__grilla{display:grid;grid-template-columns:1.4fr 1fr .8fr .8fr;gap:40px}
.logo--pie{color:var(--crema);width:170px}
.pie__claim{font-family:var(--display);font-size:18px;color:var(--crema);margin-top:18px}
.pie__legal{margin-top:12px;font-size:13px;max-width:36ch}
.pie__social{display:flex;gap:12px;margin-top:22px}
.pie__social a{width:40px;height:40px;border:1px solid rgba(251,248,243,.25);border-radius:50%;display:grid;place-items:center;transition:border-color var(--t),background var(--t)}
.pie__social a:hover{border-color:var(--dorado);background:rgba(191,150,88,.15)}
.pie__social svg{width:18px;height:18px;fill:currentColor}
.pie__titulo{font-family:var(--display);font-size:17px;font-weight:500;color:var(--dorado);margin-bottom:16px}
.pie__contacto{font-style:normal}
.pie__contacto p{margin:0 0 6px}
.pie__contacto a:hover,.pie__lista a:hover{color:#fff}
.pie__horario{margin-top:14px !important;font-size:13px;color:rgba(251,248,243,.6)}
.pie__lista li{margin-bottom:8px}
.pie__idiomas{display:flex;gap:10px;margin-top:22px;font-family:var(--display);font-weight:500}
.pie__idiomas a{opacity:.6}
.pie__idiomas a.activo,.pie__idiomas a:hover{opacity:1;color:var(--dorado)}
.pie__final{display:flex;justify-content:space-between;align-items:center;margin-top:56px;padding-top:20px;padding-bottom:22px;border-top:1px solid rgba(251,248,243,.12);font-size:13px}

/* whatsapp flotante */
.wa-flotante{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;box-shadow:0 12px 30px -8px rgba(48,109,57,.7);z-index:45;transition:transform var(--t)}
.wa-flotante:hover{transform:scale(1.06)}
.wa-flotante svg{width:30px;height:30px;fill:currentColor}

/* landings: hero, bandas, ventajas, servicios, cierre */
.hero--landing{min-height:min(78vh,760px)}
.hero__claim{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.2vw,28px);color:var(--crema);margin-top:14px}
.hero--landing .acciones{margin-top:26px}
.boton--claro{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.6);backdrop-filter:blur(6px)}
.boton--claro:hover{background:rgba(255,255,255,.22)}
.banda--ciruela{background:var(--ciruela-band);color:var(--crema)}
.banda--ciruela h2,.banda--ciruela h3{color:var(--crema)}
.ventajas{display:grid;grid-template-columns:repeat(2,1fr);border:1px solid rgba(191,150,88,.35)}
.ventaja{padding:38px 40px;border-bottom:1px solid rgba(191,150,88,.35);transition:background var(--t)}
.ventaja:nth-child(odd){border-right:1px solid rgba(191,150,88,.35)}
.ventaja:nth-last-child(-n+2){border-bottom:0}
.ventaja:hover{background:rgba(191,150,88,.08)}
.ventaja__num{font-family:var(--display);font-weight:500;color:var(--dorado);font-size:15px;letter-spacing:.1em}
.ventaja h3{color:var(--dorado);margin:12px 0 10px;font-size:22px}
.ventaja p{color:rgba(251,248,243,.85);font-size:15px}
.banda__nota{text-align:center;margin-top:28px;font-size:13px;color:rgba(251,248,243,.6)}
.cita{font-family:var(--display);font-weight:300;font-size:clamp(20px,2vw,26px);line-height:1.35;color:var(--ciruela);border-left:3px solid var(--menta);padding-left:20px;margin-top:26px}
.servicios{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.servicio{background:#fff;border-radius:var(--radio);padding:28px 26px;border:1px solid rgba(25,29,30,.06);transition:transform var(--t),box-shadow var(--t)}
.servicio:hover{transform:translateY(-4px);box-shadow:0 24px 40px -30px rgba(48,109,57,.45)}
.servicio__marca{display:block;width:34px;height:3px;background:linear-gradient(90deg,var(--verde) 0 50%,var(--menta) 50% 100%);margin-bottom:18px}
.servicio h3{font-size:20px;margin-bottom:8px}
.servicio p{font-size:15px;color:var(--gris-2)}
.cierre{background:var(--negro);color:var(--crema)}
.cierre h2{color:var(--crema)}
.cierre__grilla{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:center}
.cierre .lead{color:rgba(251,248,243,.85);margin-top:8px}
.cierre__claim{font-family:var(--display);font-size:20px;color:var(--dorado);margin-top:18px}
.cierre__datos{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cierre__datos li{border-left:3px solid var(--dorado);padding:8px 0 8px 16px;display:flex;flex-direction:column}
.cierre__datos strong{font-family:var(--display);font-weight:600;font-size:28px;color:var(--crema);line-height:1.1}
.cierre__datos span{font-size:14px;color:rgba(251,248,243,.7)}

/* preguntas frecuentes */
.faq-grupo{padding:0 0 48px}
.faq-grupo__titulo{font-size:22px;margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--menta);display:inline-block}
.faq{border-bottom:1px solid rgba(25,29,30,.1)}
.faq summary{cursor:pointer;list-style:none;padding:18px 44px 18px 0;font-family:var(--display);font-weight:500;font-size:18px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:2px solid var(--ciruela);border-bottom:2px solid var(--ciruela);transform:translateY(-70%) rotate(45deg);transition:transform var(--t)}
.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{color:var(--ciruela)}
.faq__respuesta{padding:0 0 20px;color:var(--gris-2);max-width:66ch}
.faq-home{background:#fff}
.faq-home__grilla{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:start}
.faq-home h2{margin-bottom:14px}
.faq-home .lead{margin-bottom:22px;color:var(--gris-2)}

/* ficha de departamento */
.migas{font-size:13px;color:var(--gris-2);padding:18px 0 14px}
.migas a:hover{color:var(--ciruela)}
.ficha__fotos{display:grid;grid-template-columns:3fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:min(60vh,560px)}
.ficha__foto{display:block;overflow:hidden;border-radius:var(--radio);background:var(--crema-2)}
.ficha__foto img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.ficha__foto:hover img{transform:scale(1.04)}
.ficha__foto--principal{grid-row:1/3}
.ficha__foto:nth-child(n+6){display:none}
.ficha__cuerpo{padding-top:48px}
.ficha__grilla{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
.ficha__texto h1{margin-bottom:12px}
.ficha__texto .h3{margin:32px 0 12px}
.ficha__datos{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0 22px;padding:18px 0;border-top:1px solid rgba(25,29,30,.08);border-bottom:1px solid rgba(25,29,30,.08)}
.ficha__datos li{display:flex;flex-direction:column;gap:4px}
.ficha__datos span{font-size:13px;color:var(--gris-2)}
.ficha__datos strong{font-family:var(--display);font-weight:500;font-size:16px}
.equipamiento{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:8px}
.equipamiento li{padding-left:20px;position:relative;font-size:15px}
.equipamiento li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--menta)}
.equipamiento__extra{font-weight:500}
.equipamiento__extra::before{background:var(--ciruela) !important}
.equipamiento--2col{margin:18px 0 22px}
.ficha__mensual{margin-top:18px;padding:14px 16px;background:var(--crema-2);border-radius:var(--radio);font-size:15px}
.ficha__reserva{position:sticky;top:96px}
.caja-precio{background:#fff;border-radius:var(--radio);box-shadow:var(--sombra);padding:24px}
.caja-precio__titulo{font-family:var(--display);font-weight:500;font-size:18px;margin-bottom:12px}
.caja-precio .precio{margin:0 0 16px;padding-top:0;border-top:0}
.reserva--ficha{box-shadow:none;padding:0;border-radius:0}
.reserva--ficha .reserva__campos{grid-template-columns:1fr 1fr;gap:10px}
.reserva--ficha .campo:nth-child(3){grid-column:1/-1}
.reserva--ficha .boton{width:100%;margin-top:12px}
.caja-precio__total{margin-top:14px;font-size:15px}
.caja-precio__total strong{font-family:var(--display);font-size:22px;color:var(--ciruela)}
.caja-precio__total small{color:var(--gris-2);display:block}
.caja-precio__nota{margin-top:12px;font-size:13px;color:var(--gris-2)}
.boton--ancho{width:100%;margin-top:12px}
.seccion--gris{background:#fff}

/* galería */
.filtros{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.filtro{font-family:var(--display);font-weight:500;font-size:15px;padding:9px 16px;border-radius:999px;border:1px solid rgba(25,29,30,.15);background:transparent;cursor:pointer;transition:background var(--t),color var(--t),border-color var(--t)}
.filtro span{opacity:.55;font-size:13px;margin-left:4px}
.filtro:hover{border-color:var(--ciruela);color:var(--ciruela)}
.filtro.activo{background:var(--ciruela);border-color:var(--ciruela);color:#fff}
.filtro.activo span{opacity:.8}
.mosaico{columns:3;column-gap:14px}
.mosaico__item{display:block;position:relative;break-inside:avoid;margin-bottom:14px;border-radius:var(--radio);overflow:hidden;background:var(--crema-2)}
.mosaico__item img{width:100%;transition:transform .8s ease}
.mosaico__item:hover img{transform:scale(1.03)}
.mosaico__item.oculto{display:none}
.mosaico__pie{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 10px;font-family:var(--display);font-weight:500;font-size:14px;color:#fff;background:linear-gradient(180deg,rgba(25,29,30,0),rgba(25,29,30,.7))}
.visor{position:fixed;inset:0;z-index:100;background:rgba(25,29,30,.96);display:none;align-items:center;justify-content:center;padding:20px}
.visor.abierto{display:flex}
.visor img{max-width:100%;max-height:calc(100vh - 100px);object-fit:contain;border-radius:var(--radio)}
.visor__pie{position:absolute;left:20px;bottom:18px;color:rgba(251,248,243,.8);font-size:14px}
.visor__btn{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);color:#fff;font-size:22px;cursor:pointer;display:grid;place-items:center}
.visor__btn:hover{background:rgba(255,255,255,.2)}
.visor__cerrar{top:18px;right:18px}
.visor__prev{left:18px;top:50%;transform:translateY(-50%)}
.visor__next{right:18px;top:50%;transform:translateY(-50%)}

/* mapa y lugares */
.mapa__grilla{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;align-items:start;margin-top:10px}
.mapa{height:min(70vh,640px);border-radius:var(--radio);overflow:hidden;box-shadow:var(--sombra);background:var(--crema-2);z-index:0}
.mapa .leaflet-tile-pane{filter:saturate(.7) contrast(.95)}
.mapa__lista{max-height:min(70vh,640px);overflow:auto;padding-right:6px}
.mapa__lista .h3{margin-bottom:12px}
.lugares{margin-bottom:16px}
.lugares__cat{font-family:var(--display);font-weight:500;font-size:14px;color:var(--gris-2);padding-left:16px;position:relative;margin-bottom:6px}
.lugares__cat::before{content:"";position:absolute;left:0;top:.35em;width:10px;height:10px;border-radius:50%;background:var(--gris)}
.lugares__cat--transporte::before,.cerca__item--transporte{--c:#306D39}
.lugares__cat--eventos::before,.cerca__item--eventos{--c:#843169}
.lugares__cat--salud::before,.cerca__item--salud{--c:#BF9658}
.lugares__cat--estudio::before,.cerca__item--estudio{--c:#25552C}
.lugares__cat--paseo::before,.cerca__item--paseo{--c:#9EC6B6}
.lugares__cat--compras::before,.cerca__item--compras{--c:#5F676B}
.lugares__cat::before{background:var(--c,var(--gris))}
.lugar{display:flex;justify-content:space-between;gap:12px;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid rgba(25,29,30,.08);padding:9px 4px;cursor:pointer;font-size:15px;transition:background var(--t)}
.lugar:hover,.lugar.activo{background:var(--crema-2)}
.lugar small{color:var(--gris-2);white-space:nowrap;font-size:13px}
.marcador{width:14px;height:14px;border-radius:50%;background:var(--c,#843169);border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.marcador--torre{width:40px;height:40px;border-radius:50%;background:var(--ciruela);border:3px solid #fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.marcador--torre svg{width:22px;height:22px;fill:#fff}
.leaflet-popup-content-wrapper{border-radius:var(--radio);font-family:var(--cuerpo);font-size:14px}
.leaflet-container{font-family:var(--cuerpo)}
.columnas-2{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:20px}
.columnas-2 .h3{margin:18px 0 8px;font-size:20px}
.cerca{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cerca__item{display:flex;flex-direction:column;padding:14px 16px;background:#fff;border-radius:var(--radio);border-left:4px solid var(--c,var(--menta))}
.cerca__item strong{font-family:var(--display);font-weight:600;font-size:22px;color:var(--negro)}
.cerca__item span{font-size:15px}
.cerca__item small{font-size:13px;color:var(--gris-2)}

/* servicios, quiénes somos, landings, contacto */
.hero--corto{min-height:min(60vh,560px)}
.servicios--4{grid-template-columns:repeat(4,1fr)}
.normas{margin:24px 0 8px}
.normas li{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid rgba(25,29,30,.08)}
.normas strong{font-family:var(--display);font-weight:500}
.cifras{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.cifras strong{display:block;font-family:var(--display);font-weight:600;font-size:clamp(36px,4vw,52px);color:var(--ciruela);line-height:1.1}
.cifras span{font-size:15px;color:var(--gris-2)}
.ventajas--3{grid-template-columns:repeat(3,1fr)}
.ventajas--3 .ventaja:nth-child(odd){border-right:0}
.ventajas--3 .ventaja{border-right:1px solid rgba(191,150,88,.35);border-bottom:0}
.ventajas--3 .ventaja:last-child{border-right:0}
.perfiles__grilla--3{grid-template-columns:repeat(3,1fr)}
.perfil--info{aspect-ratio:auto;min-height:420px}
.perfil--info p{font-size:15px}
.pasos{counter-reset:paso;margin:22px 0 10px}
.pasos li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid rgba(25,29,30,.08);counter-increment:paso}
.pasos li::before{content:counter(paso);font-family:var(--display);font-weight:600;font-size:22px;color:var(--dorado);grid-row:1/3}
.pasos strong{font-family:var(--display);font-weight:500;font-size:17px;display:block}
.pasos span{color:var(--gris-2);font-size:15px;grid-column:2}
.contacto__grilla{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.contacto__lista{margin:26px 0 6px}
.contacto__lista li{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(25,29,30,.08)}
.contacto__lista span{font-size:13px;color:var(--gris-2);padding-top:3px}
.contacto__lista a:hover{color:var(--ciruela)}
.contacto__nota{margin-top:22px;font-size:15px}
.resenas__grilla{columns:3;column-gap:22px}
.resenas__grilla .resena{break-inside:avoid;margin-bottom:22px;display:block}
.resenas__grilla .resena footer{margin-top:12px}

/* guía del huésped */
.cabecera--minima .nav ul{display:none}
.cabecera--minima .cabecera__acciones .boton{display:none}
.cabecera--minima .nav__idiomas{display:flex;gap:10px;font-family:var(--display);font-weight:500;font-size:14px}
.cabecera--minima .nav__idiomas a{opacity:.5}
.cabecera--minima .nav__idiomas a.activo{opacity:1;color:var(--ciruela)}
.cabecera--minima .hamburguesa{display:none}
.guia{padding-bottom:60px}
.guia__hero{background:var(--ciruela-band);color:var(--crema);padding:44px 0 90px}
.guia__hero h1{color:#fff;font-size:clamp(30px,5vw,44px);margin-bottom:12px}
.guia__hero p{max-width:60ch;color:rgba(251,248,243,.88)}
.guia__cabeza{background:var(--ciruela-band);color:var(--crema);padding:22px 0 76px}
.guia__cabeza h1{color:#fff;font-size:clamp(28px,5vw,40px)}
.guia__volver{display:inline-block;font-family:var(--display);font-weight:500;color:var(--menta);margin-bottom:10px}
.guia__urgente{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:-56px;position:relative;z-index:2}
.guia__boton{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:var(--radio);color:#fff;box-shadow:var(--sombra);transition:transform var(--t)}
.guia__boton:hover{transform:translateY(-2px)}
.guia__boton--wa{background:var(--verde)}
.guia__boton--tel{background:var(--negro)}
.guia__boton svg{width:26px;height:26px;flex:none}
.guia__boton span{display:flex;flex-direction:column;font-family:var(--display);font-weight:500;font-size:16px;line-height:1.2}
.guia__boton small{font-family:var(--cuerpo);font-weight:300;font-size:12px;opacity:.8;margin-top:3px}
.guia__numero{font-family:var(--display);font-weight:600;font-size:22px;letter-spacing:.02em;margin-top:4px;font-variant-numeric:tabular-nums}
.guia__grupo{margin-top:30px}
.guia__grupo h2{font-size:20px;color:var(--gris-2);font-weight:500;margin-bottom:12px}
.guia__grilla{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.wifi{display:flex;gap:24px;align-items:center;background:#fff;border-radius:var(--radio);padding:22px;flex-wrap:wrap}
.wifi__qr{width:190px;height:190px;flex:none;display:grid;place-items:center;background:var(--crema-2);border-radius:var(--radio)}
.wifi__qr svg{width:100%;height:100%}
.wifi__datos dt{font-size:13px;color:var(--gris-2);margin-top:10px}
.wifi__datos dd{font-family:var(--display);font-weight:500;font-size:22px}
.wifi__datos code{font-family:ui-monospace,Menlo,monospace;font-size:20px;background:var(--crema-2);padding:2px 8px;border-radius:4px}
.wifi__copiar{font-family:var(--display);font-weight:500;font-size:13px;padding:5px 12px;border-radius:999px;border:1px solid var(--ciruela);background:transparent;color:var(--ciruela);cursor:pointer;margin-left:6px}
.guia__tarjeta{display:flex;flex-direction:column;gap:6px;background:#fff;border-radius:var(--radio);padding:20px 18px;border:1px solid rgba(25,29,30,.06);box-shadow:0 14px 30px -26px rgba(25,29,30,.4);transition:transform var(--t),box-shadow var(--t)}
.guia__tarjeta:hover{transform:translateY(-3px);box-shadow:0 20px 34px -24px rgba(25,29,30,.5)}
.guia__tarjeta strong{font-family:var(--display);font-weight:500;font-size:18px;color:var(--negro)}
.guia__tarjeta span:last-child{font-size:14px;color:var(--gris-2)}
.guia__icono{width:44px;height:44px;border-radius:12px;background:rgba(158,198,182,.28);color:var(--verde);display:grid;place-items:center;margin-bottom:6px}
.guia__icono svg{width:24px;height:24px}
.guia__bloque{margin-top:32px}
.guia__bloque h2{font-size:24px;margin:28px 0 12px}
.guia__bloque .lead{margin-bottom:18px}
.guia__bloque .boton{margin-top:18px}
.guia__tels{display:grid;gap:8px}
.guia__tels li{display:flex;justify-content:space-between;align-items:center;gap:14px;background:#fff;border:1px solid rgba(25,29,30,.06);border-radius:var(--radio);padding:12px 16px}
.guia__tels li span{display:flex;flex-direction:column;font-size:15px}
.guia__tels li small{font-size:12px;color:var(--gris-2)}
.guia__tels li a,.guia__tels li strong{font-family:var(--display);font-weight:500;color:var(--ciruela);white-space:nowrap}
.guia__tels li a{padding:6px 12px;border:1px solid var(--ciruela);border-radius:999px;font-size:14px}
.guia__opciones{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.guia__opciones article{background:#fff;border-radius:var(--radio);padding:18px;border-top:3px solid var(--menta)}
.guia__opciones h3{font-size:19px;margin-bottom:6px}
.guia__opciones p{font-size:14px;color:var(--gris-2)}
.guia__lista{display:grid;gap:10px}
.guia__lista li{background:#fff;border-radius:var(--radio);padding:12px 16px 12px 40px;position:relative;font-size:15px}
.guia__lista li::before{content:"";position:absolute;left:16px;top:18px;width:10px;height:10px;border-radius:50%;background:var(--menta)}
.guia__lista--check li::before{width:8px;height:14px;border-radius:0;background:none;border-right:2px solid var(--verde);border-bottom:2px solid var(--verde);transform:rotate(45deg);top:13px;left:17px}
.guia__buscar{width:100%;height:46px;border:1px solid #D9D5CD;border-radius:var(--radio);padding:0 14px;background:#fff;font:inherit;font-weight:400;margin-bottom:6px}
.inventario{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radio);overflow:hidden;font-size:15px;margin-bottom:8px}
.inventario td{padding:10px 14px;border-bottom:1px solid rgba(25,29,30,.06)}
.inventario td:last-child{text-align:right;font-family:var(--display);font-weight:500;white-space:nowrap}
.inventario tr.oculto{display:none}
.nota{font-size:13px;color:var(--gris-2);margin-top:14px}
.guia__otras{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;padding-top:24px;border-top:1px solid rgba(25,29,30,.08)}
.guia__otras a{font-family:var(--display);font-weight:500;font-size:14px;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid rgba(25,29,30,.1)}
.guia__otras a:hover{border-color:var(--ciruela);color:var(--ciruela)}

.mosaico-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.mosaico-3 a{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radio)}
.mosaico-3 img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.mosaico-3 a:hover img{transform:scale(1.04)}

/* responsive */
@media (max-width:1100px){
  .reserva__campos{grid-template-columns:repeat(4,minmax(0,1fr))}
  .reserva__campos .boton{grid-column:1/-1}
  .perfiles__grilla{grid-template-columns:repeat(2,1fr)}
  .servicios,.servicios--4{grid-template-columns:repeat(2,1fr)}
  .resenas__grilla{columns:2}
  .pie__grilla{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .cabecera__fila{height:66px}
  .logo{width:140px}
  .hamburguesa{display:block}
  .cabecera,.cabecera--sobre-hero.compacta{backdrop-filter:none}
  .nav{position:fixed;top:66px;left:0;right:0;height:calc(100vh - 66px);background:var(--crema);color:var(--negro);padding:28px var(--gutter);transform:translateX(100%);transition:transform .3s ease;overflow:auto;z-index:60}
  .nav.abierto{transform:none}
  .nav ul{flex-direction:column;gap:6px;font-size:22px}
  .nav ul a{display:block;padding:12px 0;border-bottom:1px solid rgba(25,29,30,.08)}
  .nav ul a::after{display:none}
  .nav__idiomas{display:flex;gap:16px;margin-top:28px;font-family:var(--display);font-weight:500;font-size:16px}
  .nav__idiomas a{opacity:.5;padding:8px 0}
  .nav__idiomas a.activo{opacity:1;color:var(--ciruela);border-bottom:2px solid var(--ciruela)}
  .cabecera.menu-abierto{background:var(--crema);color:var(--negro)}
  .cabecera.menu-abierto .logo{color:var(--negro)}
  .cabecera--sobre-hero.menu-abierto .boton--primario{background:var(--ciruela);border-color:transparent;color:#fff;backdrop-filter:none}
  .franjas--hero{display:none}
  .hero{min-height:0}
  .hero__texto{padding-top:120px;padding-bottom:28px}
  .hero__reserva{margin-bottom:-24px}
  .reserva{padding:16px}
  .reserva__campos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .campo--depto{grid-column:1/-1}
  .reserva-fija{top:auto;bottom:0;border-top:1px solid rgba(25,29,30,.08);border-bottom:0;transform:translateY(calc(100% + 20px));padding-bottom:env(safe-area-inset-bottom)}
  .reserva--fija .reserva__campos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reserva--fija .campo--depto,.reserva--fija .campo:nth-child(3){display:none}
  .reserva--fija .boton{grid-column:auto}
  .wa-flotante{bottom:16px;right:16px;width:52px;height:52px;transition:bottom .35s ease,transform var(--t)}
  body.con-barra .wa-flotante{bottom:84px}
  .seccion{padding:64px 0}
  .departamentos{padding-top:96px}
  .seccion__cabeza{flex-direction:column;align-items:flex-start;margin-bottom:28px}
  .seccion__cabeza--centrada{align-items:center}
  .tarjetas--3{grid-template-columns:1fr}
  .guia__grilla{grid-template-columns:repeat(2,1fr)}
  .intro__grilla,.ubicacion__grilla,.cierre__grilla,.faq-home__grilla,.ficha__grilla,.mapa__grilla,.columnas-2,.contacto__grilla{grid-template-columns:1fr;gap:36px}
  .mosaico-3{grid-template-columns:1fr 1fr}
  .mosaico-3 a:last-child{grid-column:1/-1}
  .ficha__fotos{grid-template-columns:1fr 1fr;grid-template-rows:auto;height:auto}
  .ficha__foto{aspect-ratio:4/3}
  .ficha__foto--principal{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}
  .ficha__foto:nth-child(n+4){display:none}
  .ficha__reserva{position:static}
  .ficha__datos{grid-template-columns:1fr}
  .reserva--ficha .reserva__campos{grid-template-columns:1fr}
  .caja-precio{padding:18px}
  .mosaico{columns:2}
  .mapa{height:60vh}
  .mapa__lista{max-height:none}
  .servicios--4{grid-template-columns:1fr}
  .cifras{grid-template-columns:1fr 1fr}
  .ventajas--3{grid-template-columns:1fr}
  .ventajas--3 .ventaja{border-right:0;border-bottom:1px solid rgba(191,150,88,.35)}
  .perfiles__grilla--3{grid-template-columns:1fr}
  .perfil--info{min-height:0;aspect-ratio:4/3}
  .cerca{grid-template-columns:1fr}
  .normas li{grid-template-columns:1fr;gap:4px}
  .resenas__grilla{columns:1}
  .ventajas{grid-template-columns:1fr}
  .ventaja{padding:26px 22px}
  .ventaja:nth-child(odd){border-right:0}
  .ventaja:nth-last-child(-n+2){border-bottom:1px solid rgba(191,150,88,.35)}
  .ventaja:last-child{border-bottom:0}
  .servicios{grid-template-columns:1fr}
  .intro .intro__foto{order:-1}
  .distancias{grid-template-columns:1fr 1fr}
  .pie__grilla{grid-template-columns:1fr;gap:32px}
}
@media (max-width:560px){
  .perfiles__grilla{grid-template-columns:1fr}
  .perfil{aspect-ratio:4/3}
  .guia__urgente{grid-template-columns:1fr}
  .guia__opciones{grid-template-columns:1fr}
  .guia__tarjeta{padding:16px 14px}
  .reserva--fija .campo{display:none}
  .reserva--fija .reserva__campos{grid-template-columns:1fr}
  .reserva--fija .reserva__campos .boton{grid-column:auto}
  .tarjeta__acciones{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important;scroll-behavior:auto}
  .hero__foto.activa{transform:none}
}
