/* CASA LUNA · v3 (prototipo 11-sep-2026) — más simple, plegable, más fina.
   Paleta verdes-tierra (v2) · display condensado LIGERO en caja alta + cuerpo serif. */
:root{
  --hueso:#F3F1E8; --hoja:#FBFAF6; --arena:#D9D3BE; --tinta:#1B261D; --tinta-2:#5C6A5E;
  --musgo:#4A6350; --bosque:#1E2B21; --tierra:#8A6642; --linea:rgba(27,38,29,.16);
  --display:"Barlow Condensed","Roboto Condensed","Arial Narrow",sans-serif;
  --serif:"Cormorant Garamond","Iowan Old Style",Palatino,Georgia,serif;
  --ancho:1180px; --gutter:clamp(18px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--hueso);color:var(--tinta);font-family:var(--serif);font-size:clamp(1.1rem,.5vw+1rem,1.3rem);line-height:1.6;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.oculto{display:none!important}
.wrap{max-width:var(--ancho);margin:0 auto;padding-inline:var(--gutter)}

.d{font-family:var(--display);font-weight:300;text-transform:uppercase;letter-spacing:.14em;line-height:1}
.marca{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0;text-transform:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--display);font-weight:400;font-size:.98rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;padding:1rem 1.7rem;border:1px solid currentColor;border-radius:2px;transition:background .2s,color .2s}
.btn--lleno{background:var(--bosque);color:var(--hueso);border-color:var(--bosque)}
.btn--lleno:hover{background:var(--musgo);border-color:var(--musgo)}
.btn--claro{color:var(--hueso)}
.btn--claro:hover{background:var(--hueso);color:var(--bosque)}
:focus-visible{outline:2px solid var(--tierra);outline-offset:3px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:1.1rem var(--gutter);color:var(--hueso);transition:background .3s,color .3s,box-shadow .3s}
.nav.solida{background:rgba(243,241,232,.92);backdrop-filter:blur(10px);color:var(--tinta);box-shadow:0 1px 0 var(--linea)}
.nav__marca{font-size:1.55rem;text-decoration:none}
.nav__links{display:flex;gap:1.6rem;align-items:center}
.nav__links a{text-decoration:none;font-size:.9rem}
.nav__links .btn{padding:.6rem 1.1rem;font-size:.82rem}
@media (max-width:640px){.nav__links a:not(.btn){display:none}}

/* portada */
.portada{position:relative;min-height:88svh;display:grid;align-items:end;color:var(--hueso);isolation:isolate}
.portada__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.portada::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(20,30,22,.28) 0%,rgba(20,30,22,0) 30%,rgba(20,30,22,.06) 55%,rgba(20,30,22,.62) 100%)}
.portada__cuerpo{width:100%;display:grid;grid-template-columns:1fr auto;gap:2rem 3rem;align-items:end;padding-block:2.4rem 2.6rem}
.portada__lugar{font-size:.9rem;opacity:.9;margin-bottom:1rem}
.portada__nombre{font-size:clamp(3.4rem,8.5vw,7.6rem);line-height:.95;letter-spacing:-.01em}
.portada__linea{font-size:clamp(1.25rem,1.3vw+.9rem,1.7rem);max-width:30ch;margin-top:1.1rem;line-height:1.35;text-wrap:balance}
.portada__precio{text-align:right;display:grid;gap:1rem;justify-items:end}
.portada__precio .desde{font-size:1.05rem;opacity:.92}
.portada__precio .desde b{font-weight:500;font-size:1.5rem;font-variant-numeric:tabular-nums;display:block}
@media (max-width:760px){.portada__cuerpo{grid-template-columns:1fr}.portada__precio{text-align:left;justify-items:start}}

/* cifras */
.cifras{border-bottom:1px solid var(--linea)}
.cifras ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;padding-block:1.7rem}
.cifras li{font-size:1.05rem;color:var(--tinta-2)}
.cifras li b{font-family:var(--display);font-weight:400;font-size:1.3rem;letter-spacing:.06em;color:var(--tinta);margin-right:.4rem;font-variant-numeric:tabular-nums}

/* galería */
.galeria{padding-block:3.6rem 1.2rem}
.galeria__riel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--gutter) 1rem;scrollbar-width:none;cursor:grab}
.galeria__riel::-webkit-scrollbar{display:none}
.galeria__riel figure{flex:0 0 min(78vw,560px);aspect-ratio:5/4;scroll-snap-align:start;overflow:hidden;background:var(--arena)}
.galeria__riel img{width:100%;height:100%;object-fit:cover}
.galeria__pie{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;color:var(--tinta-2);font-size:1rem;font-style:italic}
.galeria__pie .d{font-style:normal;font-size:.8rem;color:var(--tinta)}

/* acordeones */
.pliegos{margin-top:1.5rem;border-top:1px solid var(--linea)}
.pliego{border-bottom:1px solid var(--linea)}
.pliego summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 0;cursor:pointer}
.pliego summary::-webkit-details-marker{display:none}
.pliego summary h2{font-size:clamp(1.5rem,2.4vw,2.2rem);display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem}
.h2-sub{font-family:var(--serif);font-style:italic;font-weight:400;text-transform:none;letter-spacing:0;font-size:.55em;color:var(--tinta-2)}
.pliego summary .mas{width:2rem;height:2rem;border:1px solid var(--linea);border-radius:50%;display:grid;place-items:center;flex:none;transition:transform .3s,background .2s}
.pliego summary .mas::before{content:"+";font-family:var(--display);font-size:1.4rem;font-weight:300;line-height:1;transform:translateY(-1px)}
.pliego[open] summary .mas{transform:rotate(45deg);background:var(--bosque);color:var(--hueso);border-color:var(--bosque)}
.pliego__in{padding:0 0 2.4rem;display:grid;gap:1.6rem;max-width:72ch}
.pliego__in p{color:var(--tinta-2)}
.pliego__in p.lead{color:var(--tinta);font-size:1.15em;line-height:1.5}
@media (prefers-reduced-motion:no-preference){.pliego[open] .pliego__in{animation:abre .35s ease}}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

.espacios{list-style:none;display:grid;gap:1.4rem}
.espacios li{display:grid;grid-template-columns:132px 1fr;gap:1.2rem;align-items:center}
.espacios img{aspect-ratio:1;object-fit:cover;width:132px}
.espacios h3{font-size:1.25rem;margin-bottom:.15rem;font-weight:500}
.espacios p{font-size:1rem;line-height:1.5}
@media (max-width:520px){.espacios li{grid-template-columns:96px 1fr}.espacios img{width:96px}}
.amen{list-style:none;columns:2;column-gap:2.4rem;font-size:1.02rem;color:var(--tinta-2)}
.amen li{break-inside:avoid;padding:.3rem 0;border-bottom:1px solid var(--linea)}
@media (max-width:520px){.amen{columns:1}}
.h3d{font-size:.82rem;color:var(--tierra);margin-bottom:.6rem}
.carta{list-style:none;display:grid;gap:1.1rem}
.carta li{display:grid;grid-template-columns:1fr auto;gap:.2rem 1.4rem;border-bottom:1px solid var(--linea);padding-bottom:1rem}
.carta h3{font-size:1.2rem;font-weight:500}
.carta .precio{font-family:var(--display);font-weight:400;font-size:1.15rem;letter-spacing:.04em;font-variant-numeric:tabular-nums;text-align:right}
.carta .unidad{grid-column:2;text-align:right;font-size:.92rem;color:var(--tinta-2);font-style:italic}
.carta p{grid-column:1/-1;font-size:1rem;line-height:1.5}
.lista{list-style:none;display:grid;gap:.55rem}
.lista li{padding-left:1.1rem;position:relative;color:var(--tinta-2)}
.lista li::before{content:"";position:absolute;left:0;top:.75em;width:.4rem;height:1px;background:var(--tierra)}
.faq{list-style:none;display:grid;gap:1.1rem}
.faq h3{font-size:1.15rem;font-weight:500}
.faq p{font-size:1rem;line-height:1.5}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
@media (max-width:640px){.dos{grid-template-columns:1fr}}

/* reservar */
.reservar{padding-block:4rem 3.6rem;border-bottom:1px solid var(--linea)}
.reservar__rej{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
@media (max-width:820px){.reservar__rej{grid-template-columns:1fr}}
.reservar h2{font-size:clamp(2rem,3.4vw,3rem);margin-bottom:.9rem}
.reservar .nota{color:var(--tinta-2);max-width:40ch}
.form{display:grid;gap:1.2rem}
.form .fila{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.campo{display:grid;gap:.4rem}
.campo label{font-family:var(--display);font-weight:400;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2)}
.campo input,.campo select{font:inherit;font-size:1.05rem;padding:.75rem .2rem;border:0;border-bottom:1px solid var(--tinta);background:transparent;color:var(--tinta);border-radius:0;width:100%}
.cotiza{display:grid;gap:.35rem;padding:1.2rem 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea);font-variant-numeric:tabular-nums}
.cotiza div{display:flex;justify-content:space-between;gap:1rem;color:var(--tinta-2)}
.cotiza .total{color:var(--tinta);font-size:1.25rem}
.cotiza .total b{font-weight:500}

/* cierre + pie */
.cierre{position:relative;min-height:62svh;display:grid;place-items:center;text-align:center;color:var(--hueso);isolation:isolate;padding:4rem var(--gutter)}
.cierre img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cierre::after{content:"";position:absolute;inset:0;z-index:-1;background:rgba(20,30,22,.46)}
.cierre h2{font-size:clamp(2rem,4vw,3.6rem);max-width:16ch;margin:0 auto 1.6rem;text-wrap:balance}
.pie{padding-block:2.4rem 6rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;color:var(--tinta-2);font-size:.98rem}
.pie .marca{font-size:1.5rem;color:var(--tinta)}
.pie nav{display:flex;gap:1.4rem;flex-wrap:wrap}
.pie a{text-decoration:none}

/* barra fija */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(27,38,29,.94);backdrop-filter:blur(10px);color:var(--hueso);display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem var(--gutter);transform:translateY(110%);transition:transform .35s}
.barra.ver{transform:none}
.barra .desde{font-size:1rem;font-variant-numeric:tabular-nums}
.barra .desde b{font-weight:500;font-size:1.2rem}
.barra .btn{padding:.7rem 1.2rem;font-size:.82rem}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

/* ── Calendario y cotización (misma lógica que v2, vestida en v3) ─────── */
.pendiente{font-style:italic;color:var(--tierra)}
.paso{font-family:var(--display);font-weight:400;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-2);display:block;margin-bottom:.5rem}
.cal{border:1px solid var(--linea);background:var(--hoja)}
.cal__cabeza{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--linea)}
.cal__mes{font-family:var(--display);font-weight:400;font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase}
.cal__nav{width:2rem;height:2rem;border:1px solid var(--linea);border-radius:50%;font-size:1.2rem;line-height:1;display:grid;place-items:center}
.cal__nav:hover:not([disabled]){background:var(--bosque);color:var(--hueso);border-color:var(--bosque)}
.cal__nav[disabled]{opacity:.25;cursor:not-allowed}
.cal__rejilla{display:grid;grid-template-columns:repeat(7,1fr)}
.cal__dow{text-align:center;padding:.55rem 0;font-family:var(--display);font-size:.72rem;letter-spacing:.12em;color:var(--tinta-2);border-bottom:1px solid var(--linea)}
.cal__dia{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;border-bottom:1px solid var(--linea);border-right:1px solid var(--linea);font-family:var(--serif);font-size:1rem;color:var(--tinta);transition:background .15s}
.cal__dia:nth-child(7n+7){border-right:0}
.cal__dia--vacio{cursor:default}
.cal__dia[disabled]{color:var(--tinta-2);opacity:.45;cursor:not-allowed;background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(27,38,29,.06) 6px 7px)}
.cal__dia:not([disabled]):hover{background:rgba(74,99,80,.12)}
.cal__tarifa{font-family:var(--display);font-style:normal;font-size:.62rem;letter-spacing:.04em;color:var(--tinta-2)}
.cal__dia--entra,.cal__dia--sale{background:var(--bosque)!important;color:var(--hueso)}
.cal__dia--entra .cal__tarifa,.cal__dia--sale .cal__tarifa{color:var(--arena)}
.cal__dia--rango{background:rgba(74,99,80,.18)}
.cal__leyenda{display:flex;gap:1.2rem;flex-wrap:wrap;padding:.7rem 1rem;font-size:.85rem;color:var(--tinta-2);font-style:italic}
.cal__leyenda i{display:inline-block;width:10px;height:10px;margin-right:.4rem;border:1px solid var(--linea);vertical-align:middle}
.cal__leyenda .l-ocupado{background:repeating-linear-gradient(-45deg,transparent 0 3px,rgba(27,38,29,.35) 3px 4px)}
.cal__leyenda .l-tuya{background:var(--bosque);border-color:var(--bosque)}
.resumen-fechas{margin:.9rem 0 .4rem;font-style:italic;color:var(--tinta-2)}
.cotiza{border-top:1px solid var(--linea);font-variant-numeric:tabular-nums}
.cotiza__fila{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--linea);color:var(--tinta-2);font-size:1rem}
.cotiza__fila em{font-style:italic}
.cotiza__fila--desc{color:var(--musgo)}
.cotiza__fila--total{color:var(--tinta);font-size:1.7rem;font-weight:600;border-bottom:0;border-top:2px solid var(--tinta);margin-top:.35rem;padding-top:.85rem;align-items:baseline}
.cotiza__fila--total small{display:block;font-size:.85rem;font-weight:400;color:var(--tinta-2);margin-top:.15rem}
.cotiza__nota{padding:.6rem 0 0;font-size:.92rem;color:var(--tinta-2);font-style:italic}
.cotiza__nota--borrador{color:var(--tierra)}
.nota-aviso{margin-top:.8rem;font-size:.95rem;color:var(--tierra);font-style:italic}

/* ── Formulario ─────────────────────────────────────────────────────────── */
.campo textarea{font:inherit;font-size:1.05rem;padding:.75rem .2rem;border:0;border-bottom:1px solid var(--tinta);background:transparent;color:var(--tinta);border-radius:0;width:100%;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-bottom-color:var(--tierra)}
.consentimiento{display:flex;gap:.7rem;align-items:flex-start;font-size:.95rem;color:var(--tinta-2);line-height:1.45}
.consentimiento input{margin-top:.35rem;accent-color:var(--bosque)}
.trampa{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.estado{min-height:1.4em;font-style:italic;color:var(--tinta-2)}
.estado--ok{color:var(--musgo)}
.estado--err{color:var(--tierra)}
.pagos-nota{font-size:.95rem;color:var(--tinta-2);line-height:1.5}
.pagos-nota b{font-weight:500;color:var(--tinta)}
.btn--bloque{width:100%}

/* ── Reseñas ────────────────────────────────────────────────────────────── */
.resenas{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.6rem 2.4rem}
.resena{margin:0}
.resena__estrellas{color:var(--tierra);letter-spacing:.14em;font-size:.95rem;margin-bottom:.4rem}
.resena blockquote{font-size:1.05rem;line-height:1.5;margin-bottom:.6rem}
.resena figcaption{font-family:var(--display);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2)}
.resenas__vacio{color:var(--tinta-2);font-style:italic}
.estrellas-input{display:flex;gap:.2rem}
.estrellas-input button{font-size:1.6rem;color:var(--linea);line-height:1;padding:.1rem}
.estrellas-input button.on{color:var(--tierra)}

/* ── Visor ──────────────────────────────────────────────────────────────── */
.visor{position:fixed;inset:0;z-index:100;background:rgba(20,30,22,.94);display:none;align-items:center;justify-content:center;padding:3rem 1rem 2.6rem}
.visor.abierto{display:flex}
.visor img{max-width:100%;max-height:84vh;object-fit:contain}
.visor__cerrar{position:absolute;top:1rem;right:1.2rem;color:var(--hueso);font-family:var(--display);font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem}
.visor__nav{position:absolute;inset:auto 0 0 0;display:flex;justify-content:center;align-items:center;gap:1.4rem;padding:.6rem;color:var(--hueso)}
.visor__nav button{width:2.4rem;height:2.4rem;border:1px solid rgba(243,241,232,.5);border-radius:50%;color:var(--hueso);font-size:1.3rem;line-height:1;display:grid;place-items:center}
.visor__pie{font-size:.95rem;font-style:italic;color:var(--hueso);opacity:.85;max-width:60ch;text-align:center}
.galeria__riel figure{cursor:pointer}

/* ── Marca de borrador (solo mientras meta.modoBorrador) ────────────────── */
.pill{font-family:var(--display);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;padding:.3rem .6rem;border:1px solid currentColor;border-radius:999px;opacity:.85}

/* ═══════════════════════════════════════════════════════════════════════
   v3.1 · capa de lujo y movimiento (12-sep)
   ═══════════════════════════════════════════════════════════════════════ */
.mono{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.04em;line-height:1}
.nav__marca{text-decoration:none;font-size:1.55rem}
.mono--pie{font-size:2.6rem;color:var(--tierra);margin-bottom:.4rem}
.mono--claro{font-size:3.4rem;color:var(--hueso);opacity:.7;margin:0 0 .6rem}

/* grano fino sobre las fotos grandes */
.grano{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* portada cinematográfica */
.portada{min-height:100svh;overflow:hidden}
.portada__capas{position:absolute;inset:0;z-index:-2}
.portada__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .9s ease}
.portada__img.activa{opacity:1;animation:kb 4.5s ease-out forwards}
@keyframes kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.portada::after{background:linear-gradient(180deg,rgba(20,30,22,.62) 0%,rgba(20,30,22,.28) 14%,rgba(20,30,22,0) 34%,rgba(20,30,22,.1) 58%,rgba(20,30,22,.74) 100%)}
.nav:not(.solida){text-shadow:0 1px 14px rgba(20,30,22,.55)}
.nav:not(.solida) .btn{text-shadow:none;box-shadow:0 0 0 1px rgba(20,30,22,.12)}
.portada__cuerpo{padding-block:2.4rem 4.2rem;position:relative;z-index:1}
.portada__nombre{display:block}
.portada__nombre .w{display:inline-block;opacity:0;transform:translateY(.4em) rotate(2deg);animation:sube 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.portada__nombre .w:nth-child(2){animation-delay:.18s}
@keyframes sube{to{opacity:1;transform:none}}
.portada .rv{opacity:0;transform:translateY(14px);animation:sube .9s ease forwards}
.portada__lugar.rv{animation-delay:.05s}.portada__linea.rv{animation-delay:.55s}.portada__precio.rv{animation-delay:.8s}
.cue{position:absolute;left:50%;bottom:1.4rem;transform:translateX(-50%);width:1px;height:56px;background:rgba(243,241,232,.35);overflow:hidden;z-index:1}
.cue span{position:absolute;left:0;top:-100%;width:100%;height:100%;background:var(--hueso);animation:cae 2.2s ease-in-out infinite}
@keyframes cae{0%{top:-100%}60%{top:100%}100%{top:100%}}
@media (max-width:760px){.portada{min-height:92svh}.cue{display:none}}

/* cinta de amenidades */
.cinta{overflow:hidden;border-bottom:1px solid var(--linea);padding:.9rem 0;background:var(--hoja)}
.cinta__riel{display:flex;gap:2.6rem;width:max-content;animation:corre 60s linear infinite;font-family:var(--display);font-weight:300;font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tinta-2);white-space:nowrap}
.cinta__riel span::before{content:"☾";color:var(--tierra);margin-right:2.6rem;font-family:var(--serif);font-style:normal}
.cinta:hover .cinta__riel{animation-play-state:paused}
@keyframes corre{to{transform:translateX(-50%)}}

/* revelado al hacer scroll */
/* :where() deja la especificidad en cero: la regla .visto siempre gana */
html.js .rv:where(:not(.portada *)):where(:not(.visto)){opacity:0;transform:translateY(22px)}
html.js .rv:where(:not(.portada *)){transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
html.js .rv.visto{opacity:1;transform:none}
.pliego.rv{transition-delay:calc(var(--i,0)*70ms)}

/* cifras: números que suben */
.cifras li b{display:inline-block;min-width:1.6ch}

/* galería: hover con zoom lento y marco fino */
.galeria__riel figure{position:relative;transition:transform .5s ease}
.galeria__riel img{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.galeria__riel figure:hover img{transform:scale(1.04)}
.galeria__riel figure::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(243,241,232,.18);pointer-events:none}
.galeria__riel figure:nth-child(3n+1){flex-basis:min(86vw,680px)}

/* editorial: tres momentos de la casa */
.editorial{display:grid;gap:clamp(3rem,8vh,7rem);padding-block:clamp(3rem,8vh,7rem) 1rem}
.ed{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.6rem,4vw,4rem);align-items:center;max-width:var(--ancho);margin-inline:auto;padding-inline:var(--gutter)}
.ed:nth-child(even){grid-template-columns:.85fr 1.15fr}
.ed:nth-child(even) .ed__foto{order:2}
.ed__foto{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--arena)}
.ed__foto img{width:100%;height:118%;object-fit:cover;will-change:transform;transition:transform .2s linear}
.ed__foto::after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px rgba(27,38,29,.08)}
.ed__texto{max-width:34ch}
.ed__n{font-family:var(--serif);font-style:italic;font-size:1rem;color:var(--tierra);margin-bottom:1rem}
.ed h2{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(2rem,3.6vw,3.2rem);line-height:1.08;margin-bottom:1rem;text-wrap:balance}
.ed p{color:var(--tinta-2);font-size:1.1em;line-height:1.55}
.ed a{display:inline-block;margin-top:1.2rem;font-family:var(--display);font-weight:400;letter-spacing:.16em;text-transform:uppercase;font-size:.85rem;text-decoration:none;position:relative;padding-bottom:.3rem}
.ed a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--tinta);transform-origin:left;transition:transform .4s ease}
.ed a:hover::after{transform:scaleX(.35)}
@media (max-width:760px){.ed,.ed:nth-child(even){grid-template-columns:1fr}.ed:nth-child(even) .ed__foto{order:0}}

/* pliegos más finos */
.pliego summary{transition:padding .35s ease}
.pliego[open] summary{padding-top:2rem}
.pliego summary .mas{transition:transform .45s cubic-bezier(.2,.7,.2,1),background .25s,color .25s}
.pliego summary:hover .mas{transform:rotate(90deg)}
.pliego[open] summary:hover .mas{transform:rotate(135deg)}

/* botones: relleno que sube */
.btn{position:relative;overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;background:currentColor;transform:translateY(101%);transition:transform .45s cubic-bezier(.2,.7,.2,1);z-index:-1;opacity:.12}
.btn:hover::before{transform:none}

/* reservar: lienzo con degradado sutil */
.reservar{background:linear-gradient(180deg,var(--hueso),var(--hoja) 40%,var(--hueso))}
.cal__dia:not([disabled]){transition:background .15s,transform .15s}
.cal__dia:not([disabled]):hover{transform:scale(1.06)}

/* cierre con parallax */
.cierre{min-height:78svh;overflow:hidden}
.cierre img{height:130%;top:-15%;will-change:transform}
.cierre .rv{position:relative;z-index:1}

@media (prefers-reduced-motion:reduce){.portada__img.activa,.portada__nombre .w,.portada .rv,.cinta__riel,.cue span{animation:none!important;opacity:1;transform:none}.rv{opacity:1;transform:none}.ed__foto img,.cierre img{transform:none!important}}

/* ── Menú móvil ─────────────────────────────────────────────────────────── */
.nav__menu{display:none;font-family:var(--display);font-weight:400;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;padding:.55rem .2rem;border-bottom:1px solid currentColor}
@media (max-width:640px){.nav__menu{display:inline-block}.nav__links{gap:1rem}}
.menu[hidden]{display:none}
.menu:not(.abierto){pointer-events:none}
.menu{position:fixed;inset:0;z-index:60;background:var(--bosque);color:var(--hueso);display:grid;grid-template-rows:auto 1fr auto;padding:1.2rem var(--gutter) 2rem;opacity:0;transform:translateY(-2%);transition:opacity .35s ease,transform .45s cubic-bezier(.2,.7,.2,1)}
.menu.abierto{opacity:1;transform:none}
.menu__cerrar{justify-self:end;font-family:var(--display);font-weight:400;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;padding:.5rem 0;border-bottom:1px solid currentColor}
.menu__mono{font-size:3rem;opacity:.5;margin:.6rem 0 0}
.menu ul{list-style:none;align-self:center;display:grid;gap:.2rem}
.menu li a{display:block;text-decoration:none;font-family:var(--serif);font-style:italic;font-size:clamp(2.2rem,9vw,3.4rem);line-height:1.15;color:var(--hueso);opacity:0;transform:translateY(12px);transition:opacity .5s ease,transform .5s ease}
.menu.abierto li a{opacity:1;transform:none}
.menu.abierto li:nth-child(1) a{transition-delay:.05s}.menu.abierto li:nth-child(2) a{transition-delay:.1s}.menu.abierto li:nth-child(3) a{transition-delay:.15s}.menu.abierto li:nth-child(4) a{transition-delay:.2s}.menu.abierto li:nth-child(5) a{transition-delay:.25s}.menu.abierto li:nth-child(6) a{transition-delay:.3s}.menu.abierto li:nth-child(7) a{transition-delay:.35s}
.menu li a.menu__cta{font-style:normal;font-family:var(--display);font-weight:300;font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(243,241,232,.25)}
.menu__wa{color:var(--hueso);text-decoration:none;font-size:.85rem;opacity:.85}

/* ── Fotos por espacio (dentro de «La casa») ────────────────────────────── */
.pliego__in--ancho{max-width:none}
.pliego__in--ancho>.lead,.pliego__in--ancho>.espacios,.pliego__in--ancho>div:not(.por-espacio){max-width:72ch}
.por-espacio{display:grid;gap:2rem;padding-top:.6rem;border-top:1px solid var(--linea)}
.por-espacio h3{font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.5rem;margin:1.2rem 0 .7rem;display:flex;align-items:baseline;gap:.8rem}
.por-espacio h3 small{font-family:var(--display);font-style:normal;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--tinta-2)}
.por-espacio .rej{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.por-espacio .rej figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--arena);cursor:pointer}
.por-espacio .rej img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.por-espacio .rej figure:hover img{transform:scale(1.05)}

/* ── Galería: pestañas por espacio + pie en cada foto ───────────────────── */
.galeria__tabs{display:flex;gap:.4rem;overflow-x:auto;scrollbar-width:none;padding-bottom:1.2rem;margin-bottom:.4rem}
.galeria__tabs::-webkit-scrollbar{display:none}
/* Con mouse la tira no se podía deslizar (barra oculta, sin gesto): en computadora
   las pestañas bajan de línea y se ven todas. En el teléfono siguen deslizándose. */
@media (hover:hover) and (pointer:fine){.galeria__tabs{flex-wrap:wrap;overflow-x:visible}}
.galeria__tabs button{flex:none;font-family:var(--display);font-weight:400;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;padding:.5rem .9rem;border:1px solid var(--linea);border-radius:999px;color:var(--tinta-2);transition:background .2s,color .2s,border-color .2s}
.galeria__tabs button small{font-size:.7em;opacity:.7;margin-left:.2rem}
.galeria__tabs button.on{background:var(--bosque);color:var(--hueso);border-color:var(--bosque)}
.galeria__riel figure{position:relative}
.galeria__riel figcaption{position:absolute;left:0;bottom:0;padding:.55rem .8rem;font-family:var(--display);font-weight:400;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--hueso);background:linear-gradient(90deg,rgba(20,30,22,.55),rgba(20,30,22,0));width:100%;pointer-events:none}
