/* All motion is expressed in CSS. JS supplies only fallback scroll coordinates. */
.division-track { transform:translate3d(calc(var(--collection-x,0) * 1px),0,0); transition:transform 220ms cubic-bezier(.22,1,.36,1); }
.horizontal-panel .division-bg-image { transform:translate3d(calc(var(--panel-depth,0) * 42px),0,0) scale(1.065); transition:transform 320ms cubic-bezier(.22,1,.36,1); }
#collection .division-copy { transform:translate3d(calc(var(--panel-depth,0) * -20px),0,0); transition:transform 320ms cubic-bezier(.22,1,.36,1); }
/* Original typography, color values, footer artwork and icon silhouettes. */
.site-header { background:transparent; }
.site-header,.site-footer { font-family:var(--font-sans,Inter),Arial,sans-serif; }
.site-header a,.site-footer a,.product-next a { text-decoration:none; }
.product-next a { color:inherit; }
body[data-page^="tequila-"] { background:radial-gradient(circle at 50% 0%,rgba(25,25,112,.2),transparent 34rem),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 34%,rgba(0,0,0,.34)),var(--original-product-background); background-size:140% 140%,auto,auto; color:var(--ink); }
body[data-page="tequila-blanco.html"] { --original-product-background:#01040a; }
body[data-page="tequila-reposado.html"] { --original-product-background:#250000; }
body[data-page="tequila-anejo.html"] { --original-product-background:#010c21; }
body[data-page="tequila-extra-anejo.html"] { --original-product-background:#000; }
body[data-page="404.html"] { background:#030303; color:#fff; }
.site-header.is-scrolled,.nav-open .site-header { background:rgba(5,6,8,.92); border-color:rgba(242,234,220,.1); }
.site-nav a,.site-nav summary { color:rgba(242,234,220,.82); }
.tequila-menu summary::after { content:none; }
.tequila-submenu { background:rgba(5,6,8,.92); border-color:rgba(242,234,220,.1); }
.menu-toggle { background:rgba(0,0,0,.48); color:#f2eadc; border-color:rgba(242,234,220,.28); }
.menu-icon { width:24px; height:24px; border:1px solid currentColor; border-color:rgba(242,234,220,.35); border-radius:50%; display:grid; place-items:center; }
.menu-icon::after { content:none; }
.menu-line { position:absolute; width:14px; height:1px; background:currentColor; transition:transform 500ms cubic-bezier(.22,1,.36,1),opacity 350ms ease; }
.menu-line-top { transform:translateY(-4px); }
.menu-line-middle { width:8px; opacity:.7; }
.menu-line-bottom { transform:translateY(4px); }
.nav-open .menu-toggle { background:#d9ae55; border-color:#d9ae55; color:#050608; }
.nav-open .menu-icon { border-color:rgba(5,6,8,.35); }
.nav-open .menu-line-top { transform:rotate(45deg); }
.nav-open .menu-line-middle { opacity:0; }
.nav-open .menu-line-bottom { transform:rotate(-45deg); }
.age-dialog { background:rgba(0,0,0,.58); color:#fff; border-color:rgba(255,255,255,.14); }
.age-dialog::backdrop { background:rgba(0,0,0,.5); backdrop-filter:blur(12px); }
.age-dialog .eyebrow { color:#c5a15f; }
.age-actions [data-age=yes] { background:#fff; border-color:#fff; color:#000; }
.age-actions [data-age=no] { color:rgba(255,255,255,.72); border-color:rgba(255,255,255,.24); background:rgba(255,255,255,.03); }
.expression-title { color:#fff; font-weight:400; }
.expression-description { font-family:Raleway,sans-serif; font-style:italic; color:rgba(242,234,220,.66); }
.experience-button { background:#000; color:#fff; border-color:rgba(255,255,255,.72); }
.experience-button:hover { background:#fff; color:#000; }
.site-footer { background:#030303; color:#fff; border-color:rgba(255,255,255,.1); }
.site-footer::before { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(circle at 50% 0%,rgba(25,25,112,.12),transparent 34rem),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,0) 34%,rgba(0,0,0,.34)); }
.footer-top,.footer-bottom { position:relative; z-index:1; }
.footer-signature { display:flex; flex-direction:column; align-items:flex-end; gap:20px; min-width:0; }
.footer-taste { width:min(100%,335px); height:auto; opacity:.95; }
.footer-signature .footer-marks { justify-content:flex-end; padding:0; border:0; grid-column:auto; }
.newsletter-controls input { border:2px solid rgba(255,255,255,.7); background:rgba(255,255,255,.035); color:#fff; text-transform:uppercase; font-size:10px; letter-spacing:.22em; }
.newsletter-controls input:focus { border-color:#d7bd7a; background:rgba(255,255,255,.055); }
.newsletter-controls button { background:#fff; color:#000; border:2px solid #fff; letter-spacing:.2em; }
.newsletter-controls button:hover { background:transparent; color:#fff; border-color:#d7bd7a; }
.footer-socials a { border-color:rgba(255,255,255,.6); }
.footer-socials img { display:block; max-width:14px; max-height:14px; width:auto; height:auto; filter:invert(1); opacity:.85; }
.footer-socials a:hover { background:#fff; border-color:#fff; }
.footer-socials a:hover img { filter:none; }
/* Footer legal/social row: match the homepage regardless of page CSS resets. */
footer.site-footer .footer-bottom {
  font-family:var(--font-sans,Inter),Arial,sans-serif;
  font-size:9px;
  font-weight:400;
  font-style:normal;
  line-height:1.5;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f2eadcaa;
}
footer.site-footer .footer-bottom p {
  margin:0;
  padding:0;
  font:inherit;
  letter-spacing:inherit;
  color:inherit;
}
footer.site-footer .footer-bottom a,
footer.site-footer .footer-bottom a:visited,
footer.site-footer .footer-bottom a:hover {
  margin:0;
  padding:0;
  font:inherit;
  letter-spacing:inherit;
  color:inherit;
  text-decoration:none;
}
footer.site-footer .footer-bottom .footer-socials a { letter-spacing:normal; }
@media(max-width:639px) {
  footer.site-footer .footer-bottom { line-height:1.8; }
}
.gallery-dialog { background:rgba(0,0,0,.86); border-color:rgba(255,255,255,.12); color:#fff; }
.gallery-prev,.gallery-next { font-size:10px; padding:10px; letter-spacing:.08em; text-transform:uppercase; }
@keyframes dialogEnter { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes dialogExit { from { opacity:1; transform:none; } to { opacity:0; transform:translateY(8px) scale(.99); } }
.age-dialog[open],.gallery-dialog[open] { animation:dialogEnter 420ms cubic-bezier(.22,1,.36,1) both; }
.age-dialog.is-closing,.gallery-dialog.is-closing { animation:dialogExit 220ms ease both; }
@keyframes productEntrance { from { transform:translateY(10px) scale(.99); } to { transform:none; } }
.product-main .product-intro .brand-logo,.product-main .product-intro .blanco-title,.product-main .product-intro .middle-icon { animation:productEntrance 850ms cubic-bezier(.22,1,.36,1) both; }
.product-main .product-intro .blanco-title { animation-delay:100ms; }
.product-main .product-intro .middle-icon { animation-delay:180ms; }
@keyframes heroSkyDepth { from { transform:translateY(0) scale(1.05); } to { transform:translateY(22svh) scale(1.12); } }
@keyframes heroMountainDepth { from { transform:translateY(-6svh) scale(1.02); } to { transform:translateY(4svh) scale(1.06); } }
@keyframes heroAgaveDepth { from { transform:translateY(12svh) scale(1.01); } to { transform:translateY(18svh) scale(1.05); } }
@keyframes heroCloudDepth { from { transform:translateY(0); } to { transform:translateY(28svh); } }
@keyframes heroLogoDepth { from { transform:translate(-50%,0); } to { transform:translate(-50%,10svh); } }
@keyframes heroTitleDepth { from { transform:translateY(0); } to { transform:translateY(8svh); } }
@keyframes sceneDepth { from { transform:translateY(-5svh) scale(1.12); } to { transform:translateY(5svh) scale(1.12); } }
@keyframes foregroundDepth { from { transform:translate(-50%,24px) scale(1.01); } to { transform:translate(-50%,-24px) scale(1.06); } }
@keyframes architectureDepth { from { transform:translate(-50%,14px) scale(1.01); } to { transform:translate(-50%,-14px) scale(1.03); } }
@keyframes treeDepth { from { transform:translate(-50%,28px) scale(1.03); } to { transform:translate(-50%,-28px) scale(1.08); } }
@keyframes cloudSceneDepth { from { transform:translateY(28px); } to { transform:translateY(-28px); } }
@keyframes mobileSceneDepth { from { transform:translateY(-22px) scale(1.09); } to { transform:translateY(22px) scale(1.09); } }
.home-hero .hero-sky-mountain,.home-hero .hero-mountain-foreground,.home-hero .hero-agave,.hero-cloud-scroll-low,.hero-brand-watermark,.hero-title-position,.tequila-background-image,.jalisco-building,.blanco-bottle,.legacy-bg { will-change:transform; }
@supports (animation-timeline:view()) {
  .native-parallax .home-hero { view-timeline:--hero-depth block; }
  .native-parallax .home-hero .hero-sky-mountain { animation:heroSkyDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .home-hero .hero-mountain-foreground { animation:heroMountainDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .home-hero .hero-agave { animation:heroAgaveDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .hero-cloud-scroll-low { animation:heroCloudDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .hero-brand-watermark { animation:heroLogoDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .hero-title-position { animation:heroTitleDepth linear both; animation-timeline:--hero-depth; animation-range:exit 0% exit 100%; }
  .native-parallax .tequila-background-section { view-timeline:--product-depth block; }
  .native-parallax .tequila-background-image { animation:sceneDepth linear both; animation-timeline:--product-depth; animation-range:entry 0% exit 100%; }
  .native-parallax .blanco-bottle { animation:foregroundDepth linear both; animation-timeline:--product-depth; animation-range:entry 0% exit 100%; }
  .native-parallax .jalisco-building { animation:architectureDepth linear both; animation-timeline:--product-depth; animation-range:entry 0% exit 100%; }
  .native-parallax .jalisco-trees { animation:treeDepth linear both; animation-timeline:--product-depth; animation-range:entry 0% exit 100%; }
  .native-parallax .jalisco-clouds { animation:cloudSceneDepth linear both; animation-timeline:--product-depth; animation-range:entry 0% exit 100%; }
  .native-parallax .legacy-stage { view-timeline:--legacy-depth block; }
  .native-parallax .legacy-bg { animation:sceneDepth linear both; animation-timeline:--legacy-depth; animation-range:entry 0% exit 100%; }
}
.fallback-parallax .hero-sky-mountain { transform:translateY(calc(var(--hero-progress,0)*22svh)) scale(1.05); transition:transform 160ms linear; }
.fallback-parallax .hero-mountain-foreground { transform:translateY(calc(-6svh + var(--hero-progress,0)*10svh)) scale(1.02); transition:transform 160ms linear; }
.fallback-parallax .hero-agave { transform:translateY(calc(12svh + var(--hero-progress,0)*6svh)) scale(1.01); transition:transform 160ms linear; }
.fallback-parallax .hero-cloud-scroll-low { transform:translateY(calc(var(--hero-progress,0)*28svh)); transition:transform 160ms linear; }
.fallback-parallax .hero-brand-watermark { transform:translate(-50%,calc(var(--hero-progress,0)*10svh)); transition:transform 160ms linear; }
.fallback-parallax .hero-title-position { transform:translateY(calc(var(--hero-progress,0)*8svh)); transition:transform 160ms linear; }
.fallback-parallax .tequila-background-image,.fallback-parallax .legacy-bg { transform:translateY(calc(-5svh + var(--scene-progress,0)*10svh)) scale(1.12); transition:transform 180ms linear; }
.fallback-parallax .blanco-bottle { transform:translate(-50%,calc(24px - var(--scene-progress,0)*48px)) scale(1.04); transition:transform 180ms linear; }
.fallback-parallax .jalisco-building { transform:translate(-50%,calc(14px - var(--scene-progress,0)*28px)) scale(1.02); transition:transform 180ms linear; }
.fallback-parallax .jalisco-trees { transform:translate(-50%,calc(28px - var(--scene-progress,0)*56px)) scale(1.06); transition:transform 180ms linear; }
.fallback-parallax .jalisco-clouds { transform:translateY(calc(28px - var(--scene-progress,0)*56px)); transition:transform 180ms linear; }
@media (max-width:1199px) {
  .footer-signature { grid-column:1/-1; flex-direction:row; align-items:center; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.12); }
  .footer-taste { width:min(45%,300px); }
}
@media (max-width:899px) {
  .site-nav { background:rgba(1,1,1,.84); border-color:rgba(217,174,85,.28); transition:transform 680ms cubic-bezier(.22,1,.36,1),visibility 680ms; backdrop-filter:blur(22px); }
  .division-content { background:#050608; }
  #collection .division-copy { transform:none; }
  .fallback-parallax .horizontal-panel .division-bg-image { transform:translateY(calc(-22px + var(--mobile-depth,0)*44px)) scale(1.09); }
  @supports (animation-timeline:view()) {
    .native-parallax .horizontal-panel { view-timeline:--mobile-panel block; }
    .native-parallax .horizontal-panel .division-bg-image { animation:mobileSceneDepth linear both; animation-timeline:--mobile-panel; animation-range:entry 0% exit 100%; }
  }
}
@media (max-width:639px) {
  .footer-signature { flex-direction:column; align-items:flex-start; }
  .footer-taste { width:min(100%,300px); }
  .footer-signature .footer-marks { justify-content:flex-start; }
}
@media (prefers-reduced-motion:reduce) {
  .hero-sky-mountain { transform:scale(1.05)!important; }
  .hero-mountain-foreground { transform:translateY(-6svh)!important; }
  .hero-agave { transform:translateY(12svh)!important; }
  .hero-brand-watermark { transform:translateX(-50%)!important; }
  .hero-cloud-scroll-low,.hero-title-position { transform:none!important; }
  .tequila-background-image,.legacy-bg { transform:none!important; }
  .jalisco-building,.blanco-bottle,.jalisco-trees { transform:translateX(-50%)!important; }
  .horizontal-panel .division-bg-image { transform:none!important; }
  #collection .division-copy { transform:none!important; }
}

/* Keep native details semantics, with CSS motion on both opening and closing. */
.tequila-menu.is-enhanced .tequila-submenu {
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:opacity 220ms ease,transform 280ms cubic-bezier(.22,1,.36,1);
}
.tequila-menu.is-enhanced.is-expanded .tequila-submenu {
  opacity:1;
  transform:none;
  pointer-events:auto;
}
@media(max-width:899px) {
  .tequila-menu.is-enhanced .tequila-submenu {
    height:0;
    padding-top:0;
    padding-bottom:0;
    overflow:hidden;
    transform:none;
    transition:height 320ms cubic-bezier(.22,1,.36,1),padding 320ms cubic-bezier(.22,1,.36,1),opacity 220ms ease;
  }
  .tequila-menu.is-enhanced.is-expanded .tequila-submenu {
    height:var(--submenu-height,0px);
    padding-top:6px;
    padding-bottom:14px;
  }
  .tequila-menu.is-enhanced.is-measuring .tequila-submenu {
    height:auto;
    padding-top:6px;
    padding-bottom:14px;
    transition:none;
  }
}
@media(prefers-reduced-motion:reduce) {
  .tequila-menu.is-enhanced .tequila-submenu { transition:none; }
}
