:root {
  --charcoal: #121212;
  --charcoal-soft: #1a1a1a;
  --agave: #3f5b43;
  --agave-dark: #24362a;
  --sand: #d6c3a3;
  --gold: #c9a227;
  --wood: #6e4b2a;
  --ivory: #f8f5f0;
  --white: #ffffff;
  --muted: #b9b5ae;
}

html { scroll-behavior: smooth; }
body { font-family: 'Montserrat', sans-serif; background: var(--charcoal); color: var(--charcoal); overflow-x: hidden; }
h1,h2,h3,h4,.brand-name { font-family: 'Cormorant Garamond', serif; }
a { text-decoration: none; }

.skip-link { position: fixed; left: 1rem; top: -60px; z-index: 9999; background: var(--gold); color: #111; padding: .75rem 1rem; border-radius: .4rem; transition: top .2s ease; }
.skip-link:focus { top: 1rem; }

#mainNavbar { transition: background .35s ease, padding .35s ease, box-shadow .35s ease; }
#mainNavbar.scrolled { background: rgba(18,18,18,.96); padding-top: .65rem!important; padding-bottom: .65rem!important; box-shadow: 0 12px 30px rgba(0,0,0,.2); backdrop-filter: blur(12px); }
.brand-mark { display: flex; flex-direction: column; line-height: 1; }
.brand-name { letter-spacing: .15em; font-weight: 700; }
.brand-tagline { font-size: .58rem; letter-spacing: .28em; color: var(--sand); }
.nav-link { color: rgba(255,255,255,.82)!important; font-size: .9rem; }
.nav-link:hover,.nav-link.active { color: var(--gold)!important; }
.mobile-link { color: #fff; font-size: 1.15rem; padding: 1rem 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.language-switcher { display:inline-flex; gap:.35rem; align-items:center; }
.language-btn {
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(0,0,0,.24);
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  padding: .3rem .55rem;
  font-size: .78rem;
  border-radius: 999px;
  line-height: 1;
  transition: .2s ease;
}
.language-btn:hover { border-color: rgba(201,162,39,.75); color: var(--gold); }
.language-btn-active { background: rgba(201,162,39,.14); border-color: var(--gold); color: var(--gold); }
.language-flag { font-size: .95rem; }

.btn { border-radius: 0; font-weight: 600; letter-spacing: .03em; padding: .8rem 1.3rem; }
.btn-gold { background: var(--gold); border-color: var(--gold); color: #121212; }
.btn-gold:hover { background: #dfbd45; border-color: #dfbd45; color: #121212; transform: translateY(-2px); }
.btn-outline-light:hover { color: #111; }

.hero-section { position: relative; min-height: 100vh; overflow: hidden; background:
 linear-gradient(90deg, rgba(10,10,10,.94) 0%, rgba(10,10,10,.82) 40%, rgba(10,10,10,.2) 100%),
 radial-gradient(circle at 70% 30%, rgba(201,162,39,.18), transparent 35%),
 linear-gradient(160deg, #172219 0%, #4b3523 55%, #120f0c 100%);
}
.hero-section::after { content:''; position:absolute; inset:0; opacity:.22; background-image: repeating-linear-gradient(120deg, transparent 0 20px, rgba(255,255,255,.02) 20px 21px); }
.hero-overlay { position:absolute; inset:0; background: radial-gradient(circle at 65% 60%, transparent 0, rgba(0,0,0,.35) 65%); }
.hero-glow { position:absolute; width: 520px; height: 520px; right: 8%; top: 18%; background: radial-gradient(circle, rgba(201,162,39,.28), transparent 65%); filter: blur(10px); }
.eyebrow,.section-kicker { font-size: .74rem; letter-spacing: .28em; font-weight: 700; color: var(--agave); }
.hero-section .eyebrow { color: var(--sand); }
.hero-title { color: white; font-size: clamp(4.6rem, 11vw, 9rem); line-height: .82; letter-spacing: .04em; margin-bottom: 0; }
.hero-tagline { color: var(--gold); letter-spacing: .5em; font-size: clamp(.75rem, 1.4vw, 1rem); }
.hero-copy { max-width: 700px; color: rgba(255,255,255,.8); font-size: 1.06rem; line-height: 1.9; }
.scroll-indicator { position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); color:#fff; display:flex; flex-direction:column; align-items:center; gap:.35rem; z-index:3; font-size:.65rem; letter-spacing:.25em; }
.scroll-indicator i { animation:bounce 1.8s infinite; color:var(--gold); }
@keyframes bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(8px)} }

.hero-bottle-card { position:relative; height:620px; display:flex; align-items:center; justify-content:center; }
.hero-bottle-image {
  position: relative;
  z-index: 2;
  width: min(100%, 420px);
  max-height: 590px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 28px 32px rgba(0,0,0,.55));
}
.bottle { position:relative; z-index:2; filter: drop-shadow(0 28px 32px rgba(0,0,0,.55)); }
.bottle-cap { width:72px; height:56px; margin:auto; background:linear-gradient(90deg,#3a2b1c,#b68b3c,#4b351d); border-radius:8px 8px 2px 2px; }
.bottle-neck { width:66px; height:90px; margin:auto; background:linear-gradient(90deg,rgba(70,100,72,.8),rgba(180,210,180,.45),rgba(45,70,48,.9)); border-left:1px solid rgba(255,255,255,.25); border-right:1px solid rgba(255,255,255,.1); }
.bottle-body { width:230px; height:420px; border-radius:58px 58px 36px 36px; background:linear-gradient(90deg,rgba(28,58,34,.95),rgba(95,135,90,.55) 38%,rgba(24,48,29,.98)); border:1px solid rgba(255,255,255,.16); display:flex; align-items:center; justify-content:center; }
.bottle-label { width:160px; height:220px; border:1px solid rgba(201,162,39,.7); background:#efe4cf; color:#1a1a1a; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; box-shadow: inset 0 0 0 5px rgba(255,255,255,.25); }
.bottle-label span { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700; letter-spacing:.08em; }
.bottle-label small { font-size:.48rem; letter-spacing:.18em; }
.bottle-label em { font-style:normal; margin-top:1.5rem; font-size:.72rem; letter-spacing:.3em; color:var(--wood); }
.bottle-shadow { position:absolute; bottom:40px; width:290px; height:60px; border-radius:50%; background:rgba(0,0,0,.45); filter:blur(16px); }

.section-padding { padding: 7rem 0; }
.bg-ivory { background: var(--ivory); }
.section-title { font-size: clamp(2.8rem, 5vw, 4.8rem); line-height: .98; margin: 1rem 0 1.5rem; }
.lead-text { font-size: 1.2rem; line-height: 1.8; color: #3a3a3a; }
.section-intro { max-width: 720px; color: var(--muted); line-height: 1.8; }
.signature-line { font-family:'Cormorant Garamond',serif; font-size:1.6rem; color:var(--wood); }
.text-gold { color: var(--gold)!important; }

.image-panel { min-height:560px; position:relative; overflow:hidden; border-radius: 2px; box-shadow:0 30px 60px rgba(20,20,20,.16); background:linear-gradient(#d4a65f 0 35%, #9b6f43 36% 50%, #4f5b3a 51%); }
.agave-panel { background:none; }
.history-image {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
  object-position: center;
  display: block;
}
.sun-disc { position:absolute; width:130px; height:130px; border-radius:50%; background:#f3d18b; right:16%; top:12%; box-shadow:0 0 50px rgba(243,209,139,.45); }
.mountains { position:absolute; left:-5%; right:-5%; bottom:28%; height:210px; background:linear-gradient(135deg,transparent 0 18%,#6e4b2a 18% 42%,transparent 42% 48%,#85613f 48% 72%,transparent 72%); opacity:.8; }
.agave { position:absolute; bottom:-20px; width:170px; height:180px; left:50%; transform:translateX(-50%); }
.agave::before,.agave::after { content:''; position:absolute; left:50%; bottom:0; width:28px; height:170px; transform-origin:bottom; background:linear-gradient(#6d8a68,#263c2d); clip-path:polygon(50% 0,100% 100%,0 100%); }
.agave::after{transform:rotate(55deg)} .agave::before{transform:rotate(-55deg)}
.agave-one{left:25%; transform:scale(.8)} .agave-two{left:53%; transform:scale(1.15)} .agave-three{left:80%; transform:scale(.65)}

.process-section { background: radial-gradient(circle at 20% 0, rgba(63,91,67,.35), transparent 35%), #111; }
.process-timeline { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.12); border-left:1px solid rgba(255,255,255,.12); }
.process-item { position:relative; padding:2rem; min-height:300px; border-right:1px solid rgba(255,255,255,.12); border-bottom:1px solid rgba(255,255,255,.12); transition:.3s ease; }
.process-item:hover { background:rgba(255,255,255,.035); transform:translateY(-5px); }
.process-icon { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(201,162,39,.5); color:var(--gold); font-size:1.3rem; }
.process-number { display:block; margin:1.4rem 0 .5rem; color:var(--gold); font-size:.75rem; letter-spacing:.2em; }
.process-item h3 { color:white; font-size:2rem; }
.process-item p { color:#aaa; font-size:.92rem; line-height:1.7; }

.bacanora-story { background:#e9dfd0; }
.sonora-card { min-height:430px; background:linear-gradient(145deg,#1b251d,#3f5b43); color:white; display:flex; flex-direction:column; justify-content:center; align-items:center; box-shadow:0 30px 60px rgba(0,0,0,.2); position:relative; overflow:hidden; }
.sonora-image {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center;
  display: block;
}
.sonora-outline { font-family:'Cormorant Garamond',serif; font-size:4.6rem; letter-spacing:.08em; color:rgba(255,255,255,.12); transform:rotate(-8deg); }
.sonora-card span { position:absolute; bottom:2rem; letter-spacing:.2em; font-size:.65rem; color:var(--sand); }
.sonora-dot { width:12px; height:12px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 12px rgba(201,162,39,.12); }

.collection-section { background:linear-gradient(180deg,#141414,#0b0b0b); }
.product-card { background:#1a1a1a; border:1px solid rgba(255,255,255,.08); color:#fff; overflow:hidden; transition:.35s ease; }
.product-card:hover { transform:translateY(-8px); border-color:rgba(201,162,39,.45); box-shadow:0 24px 45px rgba(0,0,0,.35); }
.product-visual { min-height:210px; display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:2.4rem; letter-spacing:.16em; color:rgba(255,255,255,.78); position:relative; overflow:hidden; }
.product-visual::after { content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.24),transparent 45%); }
.product-original{background:linear-gradient(145deg,#324b37,#0d1810)}
.product-image-original {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 440px);
  max-height: 500px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-image-original-small {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 190px);
  max-height: 195px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-coffee{background:linear-gradient(145deg,#5c3922,#1b100b)}
.product-image-coffee {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 190px);
  max-height: 195px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-coconut{background:linear-gradient(145deg,#e7dcc7,#8f7658); color:#3a2a1d}
.product-pineapple{background:linear-gradient(145deg,#d7a52e,#5f641b)}
.product-image-pineapple {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 190px);
  max-height: 195px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-tamarind{background:linear-gradient(145deg,#8f3f2c,#3c1711)}
.product-image-tamarind {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 190px);
  max-height: 195px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-reposado{background:linear-gradient(145deg,#7f6137,#2b1f12)}
.product-image-reposado {
  position: relative;
  z-index: 1;
  display: block;
  width: min(78%, 190px);
  max-height: 195px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}
.product-tropical{background:linear-gradient(145deg,#496d4c,#d78d3a)}
.product-content { padding:1.7rem; }
.product-content h3 { font-size:2rem; }
.product-content p { color:#aaa; line-height:1.7; }
.product-type { font-size:.65rem; letter-spacing:.22em; color:var(--gold); }
.product-notes { display:flex; gap:.75rem; flex-wrap:wrap; list-style:none; padding:0; }
.product-notes li { border:1px solid rgba(255,255,255,.12); padding:.35rem .7rem; font-size:.72rem; color:#ccc; }
.text-link { color:var(--gold); font-weight:600; font-size:.9rem; }
.product-featured .product-visual { min-height:390px; }
.product-featured .featured-product-image {
  width: min(100%, 610px);
  max-height: 700px;
}
.product-wide { display:grid; grid-template-columns:1fr 1.2fr; }
.product-selector { cursor:pointer; }
.product-selector.product-selector-active {
  border-color: rgba(201,162,39,.9);
  box-shadow: 0 0 0 1px rgba(201,162,39,.35), 0 24px 45px rgba(0,0,0,.35);
}

.value-card { height:100%; background:#fff; padding:2rem; border-bottom:3px solid transparent; transition:.3s ease; }
.value-card:hover { transform:translateY(-7px); border-bottom-color:var(--gold); box-shadow:0 18px 35px rgba(0,0,0,.1); }
.value-card i { font-size:2rem; color:var(--agave); }
.value-card h3 { font-size:1.8rem; margin-top:1.4rem; }
.value-card p { color:#666; line-height:1.7; }

.experience-section { background:linear-gradient(120deg,rgba(15,15,15,.95),rgba(20,20,20,.68)), linear-gradient(135deg,#4a2d1f,#253c2a); }
.display-title { font-size:clamp(3.5rem,7vw,6.5rem); line-height:.9; }
.experience-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.experience-tile { aspect-ratio:1.2; display:flex; align-items:flex-end; padding:1.2rem; font-family:'Cormorant Garamond',serif; font-size:1.7rem; position:relative; overflow:hidden; }
.experience-open { border:0; text-align:left; color:inherit; width:100%; cursor:pointer; background-color:transparent; }
.experience-tile::before { content:''; position:absolute; inset:0; background:linear-gradient(transparent,rgba(0,0,0,.75)); }
.experience-tile span { position:relative; z-index:1; }
.tile-sunset{background-image:url('../assets/images/paisaje_1.jpg'); background-size:cover; background-position:center;} .tile-fire{background-image:url('../assets/images/desierto.jpeg'); background-size:cover; background-position:center;} .tile-table{background-image:url('../assets/images/gastronomia.jpg'); background-size:cover; background-position:center;} .tile-friends{background-image:url('../assets/images/turismo.jpg'); background-size:cover; background-position:center;}

.accordion-item { background:transparent; border-bottom:1px solid #d3c7b5; }
.accordion-button { background:transparent; font-family:'Cormorant Garamond',serif; font-size:1.55rem; padding:1.4rem 0; }
.accordion-button:not(.collapsed) { background:transparent; color:var(--agave); box-shadow:none; }
.accordion-button:focus { box-shadow:none; }
.accordion-body { padding-left:0; color:#666; }

.contact-section { background:radial-gradient(circle at 85% 15%,rgba(201,162,39,.13),transparent 30%), #121212; }
.contact-list p { color:#ccc; }
.contact-list i { color:var(--gold); margin-right:.6rem; }
.contact-form { background:#1a1a1a; border:1px solid rgba(255,255,255,.1); padding:2rem; }
.form-control,.form-select { background:#111; border:1px solid #383838; color:white; border-radius:0; min-height:50px; }
.form-control:focus,.form-select:focus { background:#111; color:white; border-color:var(--gold); box-shadow:0 0 0 .2rem rgba(201,162,39,.12); }
.form-select option { color:#111; }
.form-message { min-height:1.5rem; color:#9bd49f; }

.site-footer { background:#080808; color:#aaa; }
.site-footer h3 { color:#fff; font-size:1.35rem; }
.site-footer a { display:block; color:#999; margin:.55rem 0; }
.site-footer a:hover { color:var(--gold); }
.footer-bottom { color:#777; }

.whatsapp-float,.back-to-top { position:fixed; right:1.25rem; width:50px; height:50px; border-radius:50%; display:grid; place-items:center; z-index:10; border:none; }
.whatsapp-float { bottom:1.25rem; background:#25d366; color:white; font-size:1.4rem; }
.back-to-top { bottom:5rem; background:var(--gold); color:#111; opacity:0; pointer-events:none; transition:.3s ease; }
.back-to-top.visible { opacity:1; pointer-events:auto; }

@media (max-width: 991.98px) {
  .section-padding { padding:5rem 0; }
  .process-timeline { grid-template-columns:repeat(2,1fr); }
  .hero-title { font-size:5.5rem; }
  .product-featured .product-visual { min-height:300px; }
}
@media (max-width: 767.98px) {
  .hero-section { background:linear-gradient(rgba(10,10,10,.78),rgba(10,10,10,.88)), linear-gradient(150deg,#344b37,#6e4b2a); }
  .hero-title { font-size:4.2rem; }
  .hero-tagline { letter-spacing:.28em; }
  .process-timeline { grid-template-columns:1fr; }
  .process-item { min-height:auto; }
  .image-panel { min-height:420px; }
  .history-image { min-height:420px; }
  .product-wide { grid-template-columns:1fr; }
  .experience-grid { grid-template-columns:1fr 1fr; }
  .contact-form { padding:1.35rem; }
}
@media (max-width: 480px) {
  .hero-title { font-size:3.7rem; }
  .hero-copy { font-size:.95rem; }
  .experience-grid { grid-template-columns:1fr; }
  .experience-tile { aspect-ratio:1.6; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; scroll-behavior:auto!important; transition-duration:.01ms!important; }
}
