:root{
  --crema:#f8f2e4; --crema2:#efe6d0; --salvia:#a9b79a; --salvia-c:#dfe6d3; --oliva:#5d6b3b; --oliva-o:#2e3a22;
  --terra:#d99c7d; --terra-o:#b8704f; --texto:#2b3322; --suave:#667058;
  --serif:'DM Serif Display',Georgia,serif; --sans:'Outfit',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:var(--sans);font-weight:400;color:var(--texto);background:var(--crema);line-height:1.65;overflow-x:hidden;-webkit-text-size-adjust:100%}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2{font-family:var(--serif);font-weight:400;line-height:1.1;color:var(--oliva-o)}
h2{font-size:clamp(1.9rem,5vw,3rem);margin-bottom:1rem}
.sobre{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terra-o);font-weight:500;margin-bottom:.6rem}
.deco{position:absolute;width:220px;height:60px;color:var(--oliva);opacity:.55;pointer-events:none}

.aviso{background:var(--oliva-o);color:var(--crema);text-align:center;font-size:.78rem;letter-spacing:.08em;padding:.4rem 1rem;position:relative;z-index:30}

.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.25rem;background:rgba(248,242,228,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--salvia-c)}
.marca{display:flex;align-items:center;gap:.5rem;text-decoration:none;font-family:var(--serif);font-size:1.4rem;color:var(--oliva-o)}
.marca-hoja{width:26px;height:26px;color:var(--oliva)}
.menu{display:flex;gap:1.5rem;font-size:.95rem}
.menu a{text-decoration:none;color:var(--suave)}.menu a:hover{color:var(--terra-o)}
.idioma{font:500 .8rem var(--sans);letter-spacing:.1em;border:1px solid var(--oliva);background:transparent;color:var(--oliva);border-radius:99px;padding:.35rem .9rem;cursor:pointer}
.idioma:hover{background:var(--oliva);color:var(--crema)}

.btn{display:inline-block;text-decoration:none;font-weight:500;padding:.85rem 1.5rem;border-radius:99px;border:1.5px solid transparent;text-align:center;transition:.2s}
.btn-principal{background:var(--terra-o);color:#fff}.btn-principal:hover{background:#9e5a3c}
.btn-sec{border-color:var(--oliva);color:var(--oliva-o)}.btn-sec:hover{background:var(--oliva);color:var(--crema)}
.botones{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}

/* Portada */
.portada{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--salvia-c);overflow:hidden}
.portada-foto{min-height:560px}
.portada-foto img{width:100%;height:100%;object-fit:cover}
.portada-texto{position:relative;padding:4rem 3rem 5rem;display:flex;flex-direction:column;justify-content:center}
.portada h1{font-size:clamp(3.4rem,8vw,6rem);margin-bottom:.5rem}
.frase{font-size:1.2rem;color:var(--suave);max-width:28ch}
.deco-1{top:1.5rem;right:1rem}
.franja{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);background:var(--oliva-o);color:var(--crema)}
.franja>div{padding:1rem 1.5rem;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.12)}
.franja>div:last-child{border:0}
.f-t{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--salvia)}

.seccion{position:relative;padding:5rem 1.5rem;max-width:1180px;margin:0 auto}

/* Lugar */
.lugar{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.lugar p{margin-bottom:1rem;color:var(--suave)}
.puntos{list-style:none;margin-top:1.2rem}
.puntos li{padding-left:1.6rem;margin:.4rem 0;position:relative}
.puntos li::before{content:"";position:absolute;left:0;top:.55rem;width:.8rem;height:.8rem;border:1.5px solid var(--oliva);border-radius:0 90% 0 90%}
.lugar-fotos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.lugar-fotos img{width:100%;height:100%;min-height:300px;object-fit:cover;border-radius:200px 200px 14px 14px}
.lugar-fotos img:last-child{margin-top:2.5rem;border-radius:14px 14px 200px 200px}

/* Destacados */
.destacados{max-width:none;background:var(--crema2)}
.destacados>*:not(.deco){max-width:1180px;margin-left:auto;margin-right:auto}
.deco-2{top:1.5rem;left:1.5rem}
.grid-dest{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2rem}
.plato{background:var(--crema);border-radius:14px;overflow:hidden;border:1px solid var(--salvia-c)}
.plato img{width:100%;aspect-ratio:4/3;object-fit:cover}
.plato div{padding:1rem 1.2rem 1.3rem}
.plato h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--oliva-o)}
.plato p{font-size:.95rem;color:var(--suave)}
.etiqueta{display:inline-block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;background:var(--salvia-c);color:var(--oliva-o);padding:.15rem .6rem;border-radius:99px;margin-bottom:.4rem}

/* Carta */
.tabs{display:flex;gap:.6rem;overflow-x:auto;padding:.4rem 0 1rem;margin-top:1.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.tab{flex:0 0 auto;font:500 .95rem var(--sans);padding:.6rem 1.2rem;border-radius:99px;border:1.5px solid var(--salvia);background:transparent;color:var(--oliva-o);cursor:pointer;white-space:nowrap}
.tab[aria-selected="true"]{background:var(--oliva);border-color:var(--oliva);color:#fff}
.panel{background:#fffaf0;border:1px solid var(--salvia-c);border-radius:16px;padding:1.2rem 1.6rem}
.item{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px dashed var(--salvia)}
.item:last-child{border:0}
.item h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;color:var(--oliva-o)}
.item p{font-size:.93rem;color:var(--suave)}
.precio{white-space:nowrap;font-size:.8rem;color:var(--suave);font-weight:400;font-style:italic;align-self:flex-start;padding-top:.3rem}
.nota-carta{font-size:.85rem;color:var(--suave);margin-top:1rem;text-align:center}

/* Reseñas */
.resenas{max-width:none;background:var(--salvia-c)}
.resenas>*:not(.deco){max-width:1180px;margin-left:auto;margin-right:auto}
.grid-res{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.res{background:var(--crema);border-radius:14px;padding:1.5rem;border-top:4px solid var(--terra)}
.estrellas{color:var(--terra-o);letter-spacing:.15em;margin-bottom:.5rem}
.res blockquote{font-family:var(--serif);font-size:1.15rem;line-height:1.4;color:var(--oliva-o);margin-bottom:1rem}
.res cite{font-style:normal;font-size:.85rem;color:var(--suave)}

/* Visítanos */
.visitanos{display:grid;grid-template-columns:1fr 1.2fr;gap:2.5rem;align-items:stretch}
dl{margin-top:1rem}
dt{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-o);margin-top:1rem}
dd{font-size:1.05rem}
.redes{font-size:.9rem;color:var(--suave);margin-top:1.2rem}
.mapa{min-height:380px;border-radius:16px;overflow:hidden;border:1px solid var(--salvia)}
.mapa iframe{width:100%;height:100%;min-height:380px;border:0}

.pie{position:relative;background:var(--oliva-o);color:var(--crema);text-align:center;padding:3.5rem 1.5rem 6rem;overflow:hidden}
.pie .deco{color:var(--salvia);left:50%;transform:translateX(-50%);top:.8rem}
.pie-marca{font-family:var(--serif);font-size:2rem;margin-top:1rem}
.pie-aviso{margin-top:1rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--salvia)}

.wa-flotante{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;align-items:center;gap:.5rem;background:#25a25a;color:#fff;text-decoration:none;font-weight:500;padding:.8rem 1.2rem;border-radius:99px;box-shadow:0 6px 18px rgba(0,0,0,.25)}

@media(max-width:860px){
  .menu{display:none}
  .portada{grid-template-columns:1fr}
  .portada-foto{min-height:300px;max-height:340px}
  .portada-texto{padding:2.5rem 1.5rem 2.5rem}
  .franja{grid-template-columns:1fr}
  .franja>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:.8rem 1.5rem}
  .lugar,.visitanos{grid-template-columns:1fr;gap:2rem}
  .grid-dest,.grid-res{grid-template-columns:1fr}
  .seccion{padding:3.5rem 1.25rem}
  .deco{width:150px;height:42px}
  .deco-1{top:auto;bottom:.4rem;right:.5rem}
  .lugar-fotos img{min-height:220px}
  .item{flex-direction:column;gap:.2rem}
  .wa-flotante span{display:none}
  .wa-flotante{padding:.9rem}
  html{scroll-padding-top:70px}
}
