/* Rediseño editorial premium — conserva la arquitectura y funcionalidad existente. */
:root {
  --gold: #c9a14a;
  --gold-light: #e2c27c;
  --black: #070706;
  --dark: #0d0d0b;
  --dark-2: #14130f;
  --white: #f1eadc;
  --text: #c9c0ae;
}

html, body { max-width: 100%; overflow-x: hidden; }
body { background: #070706; }

#navbar {
  height: 82px;
  padding-inline: clamp(1.4rem, 4vw, 4.5rem);
  background: rgba(7,7,6,.84);
  border-bottom: 1px solid rgba(201,161,74,.16);
  backdrop-filter: blur(16px);
}

.nav-logo { font-family: var(--font-serif); letter-spacing: .08em; }
.nav-link-item { font-size: .62rem; letter-spacing: .09em; }
.nav-links > li:nth-child(4),
.nav-links > li:nth-child(5),
.nav-links > li:nth-child(6),
.nav-links > li:nth-child(9) { display: none; }
.nav-links > li:last-child .nav-link-item {
  border: 1px solid rgba(201,161,74,.7);
  padding: .75rem 1.15rem;
  color: var(--gold-light);
}

#hero {
  min-height: 92svh;
  display: grid;
  align-items: end;
  isolation: isolate;
  border-bottom: 1px solid rgba(201,161,74,.3);
}

#hero .hero-bg {
  background-image: url('../img/catas/pared-botellas.webp');
  background-size: cover;
  background-position: center;
  filter: saturate(.72) contrast(1.06) brightness(.7);
  transform: none;
}

#hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(90deg, rgba(5,5,4,.98) 0%, rgba(5,5,4,.9) 38%, rgba(5,5,4,.25) 72%, rgba(5,5,4,.08) 100%),
    linear-gradient(0deg, rgba(5,5,4,.82) 0%, transparent 48%);
}

#hero .hero-lines { display: none; }
#hero .hero-content {
  position: relative;
  z-index: 2;
  width: min(760px, 62vw);
  text-align: left;
  padding: 0 0 clamp(4rem, 9vh, 7rem) clamp(1.4rem, 7vw, 8rem);
  margin: 0;
}

#hero .hero-eyebrow {
  justify-content: flex-start;
  color: var(--gold-light);
  letter-spacing: .18em;
  font-size: .66rem;
}

#hero .hero-title {
  font-size: clamp(3.35rem, 6.2vw, 6.7rem);
  line-height: .94;
  max-width: 820px;
  letter-spacing: -.035em;
  text-wrap: balance;
}

#hero .hero-title em { color: var(--gold-light); }
#hero .hero-subtitle {
  max-width: 570px;
  margin: 1.7rem 0 2.2rem;
  color: rgba(241,234,220,.72);
  font-size: .92rem;
  line-height: 1.8;
  letter-spacing: .015em;
}

.hero-actions { display: flex; align-items: center; gap: 1.7rem; flex-wrap: wrap; }
.hero-link {
  color: var(--white);
  font-size: .68rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(201,161,74,.65);
  padding-block: .7rem;
}
.hero-link:hover { color: var(--gold-light); }
#hero .scroll-indicator { left: auto; right: 2.5rem; transform: rotate(90deg); }

#historia {
  max-width: 1500px;
  padding: clamp(6rem, 10vw, 10rem) clamp(1.4rem, 6vw, 6rem);
  display: block;
}

.boutique-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  gap: clamp(3rem, 8vw, 9rem);
  align-items: end;
  margin-bottom: clamp(3rem, 6vw, 6rem);
}
.boutique-intro .section-title { max-width: 760px; font-size: clamp(3rem, 5vw, 5.6rem); margin-bottom: 0; }
.boutique-story { padding-left: 2rem; border-left: 1px solid rgba(201,161,74,.45); }
.boutique-story p { color: rgba(212,201,176,.7); font-size: .86rem; line-height: 1.9; margin-bottom: 1rem; }
.boutique-story .boutique-lead { color: var(--gold-light); font-family: var(--font-serif); font-size: 1.55rem; line-height: 1.25; }

.boutique-gallery {
  min-height: 650px;
  display: grid;
  grid-template-columns: .72fr 1.55fr .72fr;
  gap: 1rem;
  align-items: center;
}
.boutique-photo { overflow: hidden; border: 1px solid rgba(201,161,74,.18); background: var(--dark-2); }
.boutique-photo--portrait { height: 72%; }
.boutique-photo--wide { height: 100%; }
.boutique-photo img { width: 100%; height: 100%; object-fit: cover; display: block; filter: saturate(.72) contrast(1.04) brightness(.78); transition: transform 1s ease, filter .8s ease; }
.boutique-photo:hover img { transform: scale(1.025); filter: saturate(.9) contrast(1.03) brightness(.9); }
.boutique-photo:first-child img { object-position: center 35%; }
.boutique-photo:last-child img { object-position: center 30%; }

.boutique-journey {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2.2rem;
  border-top: 1px solid rgba(201,161,74,.34);
}
.boutique-journey > div { text-align: center; padding: 1.8rem 1rem 1rem; position: relative; }
.boutique-journey > div:not(:last-child) { border-right: 1px solid rgba(201,161,74,.15); }
.boutique-journey span { display: grid; place-items: center; width: 2rem; height: 2rem; margin: -2.85rem auto 1.1rem; border: 1px solid var(--gold); border-radius: 50%; background: var(--black); color: var(--gold-light); font-family: var(--font-serif); }
.boutique-journey h3 { font-family: var(--font-serif); font-size: 1.65rem; font-weight: 400; color: var(--gold-light); }
.boutique-journey p { font-size: .7rem; color: rgba(212,201,176,.58); margin-top: .45rem; }
.boutique-cta { margin-top: 2.2rem; padding-top: 2rem; display: flex; justify-content: space-between; align-items: center; gap: 2rem; border-top: 1px solid rgba(201,161,74,.12); }
.boutique-cta p { font-size: .65rem; letter-spacing: .08em; color: rgba(212,201,176,.6); }

/* Secciones editoriales de descubrimiento y SEO local. */
.editorial-section,
.world-section { max-width: 1500px; padding: clamp(6rem, 10vw, 10rem) clamp(1.4rem, 6vw, 6rem); }
.editorial-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 5rem; align-items: end; margin-bottom: 3.5rem; }
.editorial-heading .section-title { margin-bottom: 0; max-width: 720px; }
.editorial-heading > p:last-child { color: rgba(212,201,176,.68); line-height: 1.9; font-size: .86rem; max-width: 520px; }
.activity-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; grid-template-rows: repeat(2, 320px); gap: .8rem; }
.activity-card { position: relative; overflow: hidden; border: 1px solid rgba(201,161,74,.16); min-height: 280px; isolation: isolate; }
.activity-card--large { grid-row: 1 / 3; }
.activity-card:nth-child(4) { grid-column: 2 / 4; }
.activity-card::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(0deg,rgba(5,5,4,.96),rgba(5,5,4,.08) 72%); }
.activity-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:saturate(.75) brightness(.8); transition:transform .8s ease,filter .8s ease; }
.activity-card:hover img { transform:scale(1.025); filter:saturate(.95) brightness(.9); }
.activity-card > div { position:absolute; inset:auto 0 0; padding:2rem; }
.activity-card span { color:var(--gold); font-family:var(--font-serif); font-size:.9rem; }
.activity-card h3 { color:var(--white); font-family:var(--font-serif); font-size:clamp(1.6rem,2.5vw,2.3rem); font-weight:400; margin:.35rem 0; }
.activity-card p { color:rgba(241,234,220,.68); font-size:.75rem; line-height:1.7; max-width:440px; }

.world-section { display:grid; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); gap:clamp(3rem,8vw,8rem); align-items:center; }
.world-media { min-height:700px; position:relative; }
.world-media img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; filter:saturate(.72) brightness(.82); border:1px solid rgba(201,161,74,.18); }
.world-stat { position:absolute; right:-2rem; bottom:2rem; background:var(--gold); color:var(--black); padding:1.6rem 2rem; display:flex; flex-direction:column; }
.world-stat strong { font-family:var(--font-serif); font-size:2.7rem; line-height:.9; }
.world-stat span { font-size:.55rem; letter-spacing:.1em; text-transform:uppercase; margin-top:.5rem; }
.world-copy > p:not(.section-label) { color:rgba(212,201,176,.7); font-size:.86rem; line-height:1.95; max-width:650px; }
.world-topics { list-style:none; margin:2.5rem 0; border-top:1px solid rgba(201,161,74,.18); }
.world-topics li { display:flex; align-items:center; gap:1.2rem; padding:1.2rem 0; border-bottom:1px solid rgba(201,161,74,.12); color:var(--white); font-family:var(--font-serif); font-size:1.25rem; }
.world-topics span { color:var(--gold); font-family:var(--font-sans); font-size:.58rem; }
.world-actions { display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap; }

.monthly-photo-band { display:grid; grid-template-columns:.75fr 1.5fr .75fr; gap:.7rem; height:520px; margin:0 0 4rem; }
.monthly-photo-band img { width:100%; height:100%; object-fit:cover; filter:saturate(.72) brightness(.82); border:1px solid rgba(201,161,74,.16); }
.monthly-photo-band img:nth-child(2) { object-position:center; }

/* Carta: los paneles inactivos no ocupan ancho ni interceptan clics. */
#menu .menu-tabs { overflow-x:auto; scrollbar-width:thin; scrollbar-color:rgba(201,161,74,.45) transparent; margin-bottom:2.5rem; }
#menu .menu-tab { white-space:nowrap; flex:0 0 auto; }
#menu .menu-panel { display:none; position:relative; width:100%; opacity:1; pointer-events:auto; transform:none; }
#menu .menu-panel.active { display:block; }
#menu .menu-panel > div[style*="grid-template-columns"] { width:100%; }
#menu { overflow:hidden; }

@media (max-width: 900px) {
  #fab-column { right: 1rem !important; bottom: 1rem !important; }
  #fab-column > a:not([href*="wa.me"]) { display: none !important; }
  #hero { min-height: 88svh; }
  #hero::after { background: linear-gradient(90deg, rgba(5,5,4,.96), rgba(5,5,4,.42)), linear-gradient(0deg, rgba(5,5,4,.9), transparent 55%); }
  #hero .hero-content { width: 100%; padding: 0 1.4rem 4.5rem; }
  #hero .hero-title { font-size: clamp(3rem, 11.5vw, 5rem); }
  .boutique-intro { grid-template-columns: 1fr; gap: 2.5rem; }
  .boutique-story { padding-left: 1.4rem; }
  .boutique-gallery { min-height: 470px; grid-template-columns: .7fr 1.4fr; }
  .boutique-photo--portrait { height: 80%; }
  .boutique-photo:last-child { display: none; }
  .boutique-journey { grid-template-columns: 1fr; gap: 1rem; border-top: 0; }
  .boutique-journey > div { border-top: 1px solid rgba(201,161,74,.3); }
  .boutique-journey > div:not(:last-child) { border-right: 0; }
  .boutique-journey span { margin-top: -2.85rem; }
  .boutique-cta { align-items: flex-start; flex-direction: column; }
  .editorial-heading { grid-template-columns:1fr; gap:1.8rem; }
  .activity-grid { grid-template-columns:1fr 1fr; grid-template-rows:480px 300px 300px; }
  .activity-card--large { grid-column:1 / 3; grid-row:auto; }
  .activity-card:nth-child(4) { grid-column:auto; }
  .world-section { grid-template-columns:1fr; }
  .world-media { min-height:560px; }
  .world-stat { right:1rem; }
  .monthly-photo-band { height:420px; grid-template-columns:1fr 1.4fr; }
  .monthly-photo-band img:last-child { display:none; }
}

@media (max-width: 560px) {
  #fab-column { right: 1rem !important; bottom: 1rem !important; }
  #fab-column > a:not([href*="wa.me"]) { display: none !important; }
  #hero .hero-bg { background-position: 58% center; }
  #hero .hero-title { line-height: .98; }
  #hero .hero-subtitle { font-size: .82rem; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .boutique-gallery { min-height: auto; display: grid; grid-template-columns: 1fr; gap: .7rem; }
  .boutique-photo--portrait, .boutique-photo--wide { height: 390px; }
  .boutique-photo:first-child { display: none; }
  .boutique-photo:last-child { display: block; height: 320px; }
  .boutique-intro .section-title { font-size: clamp(2.7rem, 13vw, 4rem); }
  .activity-grid { display:grid; grid-template-columns:1fr; grid-template-rows:none; }
  .activity-card, .activity-card--large, .activity-card:nth-child(4) { grid-column:auto; grid-row:auto; height:390px; }
  .world-media { min-height:470px; }
  .world-stat { left:1rem; right:auto; bottom:1rem; }
  .monthly-photo-band { grid-template-columns:1fr; height:auto; }
  .monthly-photo-band img { height:360px; }
  .monthly-photo-band img:first-child, .monthly-photo-band img:last-child { display:none; }
  #menu .menu-tabs { margin-inline:-1.4rem; padding-inline:1.4rem !important; }
}

@media (prefers-reduced-motion: reduce) {
  .boutique-photo img { transition: none; }
}
