/* ══════════════════════════════════════════════════════
   TEQUILA MURILLO — Rediseño premium nocturno
   Negro profundo + oro champagne
   Tipografía: Trajan Pro (display) + Gotham Light (texto)
   Fallbacks libres: Cinzel + Montserrat Light
   ══════════════════════════════════════════════════════ */

/* Fuentes comerciales vía local(): se usan si están instaladas
   (o al agregar los archivos licenciados); si no, cae al fallback */
@font-face{
  font-family:'Trajan Pro';
  src:local('Trajan Pro'),local('TrajanPro-Regular'),local('Trajan');
  font-weight:400;font-display:swap;
}
@font-face{
  font-family:'Trajan Pro';
  src:local('Trajan Pro Bold'),local('TrajanPro-Bold');
  font-weight:600;font-display:swap;
}
@font-face{
  font-family:'Gotham';
  src:local('Gotham Light'),local('Gotham-Light');
  font-weight:300;font-display:swap;
}
@font-face{
  font-family:'Gotham';
  src:local('Gotham Book'),local('Gotham-Book');
  font-weight:400;font-display:swap;
}
@font-face{
  font-family:'Gotham';
  src:local('Gotham Medium'),local('Gotham-Medium');
  font-weight:500;font-display:swap;
}

:root{
  --negro:#0A0806;
  --negro-2:#0F0C08;
  --carbon:#16120C;
  --oro:#C6A15B;
  --oro-claro:#E3C989;
  --oro-humo:#8A7346;
  --hueso:#EFE6D3;
  --humo:#A79C87;
  --linea:rgba(198,161,91,.22);
  --linea-suave:rgba(198,161,91,.12);
  --display:'Trajan Pro','Cinzel',serif;
  --serif:'Gotham','Montserrat',sans-serif;
  --sans:'Gotham','Montserrat',sans-serif;
  --max:1240px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--negro);
  color:var(--hueso);
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
::selection{background:var(--oro);color:var(--negro)}

h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.12;text-wrap:balance}
.gold{color:var(--oro)}
em{font-style:italic}
img,svg{display:block}
a{color:inherit;text-decoration:none}

/* ── Utilidades ── */
.eyebrow{
  font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.34em;text-transform:uppercase;color:var(--oro);
  margin-bottom:22px;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  padding:17px 34px;min-height:48px;
  border:1px solid var(--oro);cursor:pointer;
  transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease;
  text-align:center;
}
.btn-gold{background:var(--oro);color:var(--negro)}
.btn-gold:hover{background:var(--oro-claro);border-color:var(--oro-claro);transform:translateY(-2px)}
.btn-ghost{background:transparent;color:var(--oro);border-color:var(--linea)}
.btn-ghost:hover{border-color:var(--oro);color:var(--oro-claro)}
.btn-xl{padding:21px 44px;font-size:13px}

.agave-mark{width:34px;height:28px;color:var(--oro)}
.logo-img{height:44px;width:auto;display:block}
.footer .logo-img{height:52px}
.agegate .logo-img{height:78px;margin:0 auto}
.agave-mark.lg{width:52px;height:44px;margin-inline:auto}
.agave-mark.xl{width:76px;height:64px;color:var(--oro-humo)}

.rule-diamond{display:flex;align-items:center;gap:14px;justify-content:center;margin:26px 0}
.rule-diamond span{display:block;width:74px;height:1px;background:var(--linea)}
.rule-diamond i{display:block;width:7px;height:7px;background:var(--oro);transform:rotate(45deg)}

.ph-note{
  font-family:var(--sans);font-size:9px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(167,156,135,.5);text-align:center;margin-top:14px;
}

/* ── Reveal on scroll ── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s ease,transform .9s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.12s}
.reveal.d2{transition-delay:.24s}
.reveal.d3{transition-delay:.36s}
.reveal.d4{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ══════════ AGE GATE ══════════ */
.agegate{
  position:fixed;inset:0;z-index:200;
  background:radial-gradient(ellipse at 50% 30%,#171208 0%,var(--negro) 62%);
  display:flex;align-items:center;justify-content:center;
  padding:32px;text-align:center;
  transition:opacity .6s ease,visibility .6s ease;
}
.agegate.hidden{opacity:0;visibility:hidden;pointer-events:none}
.agegate-inner{max-width:480px}
.agegate-brand{
  font-family:var(--display);font-size:26px;letter-spacing:.32em;
  text-transform:uppercase;color:var(--hueso);margin-top:20px;
}
.agegate h2{font-size:clamp(26px,4vw,36px);font-weight:400;font-style:normal;font-family:var(--serif);font-style:italic;color:var(--oro-claro)}
.agegate-q{font-family:var(--sans);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--humo);margin:26px 0}
.agegate-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.agegate-legal{font-family:var(--sans);font-size:9px;letter-spacing:.22em;color:rgba(167,156,135,.55);margin-top:44px}

/* ══════════ NAV ══════════ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:border-color .4s ease;
  border-bottom:1px solid transparent;
}
/* El blur vive en un pseudo-elemento: backdrop-filter en .nav lo volvería
   containing block y rompería el overlay fixed del menú móvil */
.nav::before{
  content:'';position:absolute;inset:0;z-index:-1;
  background:transparent;transition:background .4s ease,backdrop-filter .4s ease;
}
.nav.scrolled{border-bottom-color:var(--linea-suave)}
.nav.scrolled::before{background:rgba(10,8,6,.92);backdrop-filter:blur(12px)}
.nav-inner{
  max-width:var(--max);margin:0 auto;padding:20px 32px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
}
.nav-brand{display:flex;align-items:center;gap:14px}
.nav-wordmark,.footer-wordmark{
  font-family:var(--display);font-size:19px;letter-spacing:.24em;text-transform:uppercase;
  display:flex;flex-direction:column;line-height:1.1;
}
.nav-wordmark em,.footer-wordmark em{
  font-family:var(--sans);font-style:normal;font-size:8.5px;font-weight:400;
  letter-spacing:.5em;color:var(--oro);margin-top:3px;
}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a:not(.nav-cta){
  font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;color:var(--humo);
  transition:color .3s ease;position:relative;padding:6px 0;
  white-space:nowrap;
}
.nav-cta{white-space:nowrap}
.nav-links a:not(.nav-cta)::after{
  content:'';position:absolute;left:0;bottom:0;width:0;height:1px;
  background:var(--oro);transition:width .35s ease;
}
.nav-links a:not(.nav-cta):hover{color:var(--oro-claro)}
.nav-links a:not(.nav-cta):hover::after{width:100%}
.nav-cta{padding:13px 26px;min-height:44px}
.nav-links a.nav-lang{
  border:1px solid var(--linea);padding:8px 13px;color:var(--oro);
}
.nav-links a.nav-lang::after{display:none}
.nav-burger{
  display:none;background:none;border:0;cursor:pointer;
  width:48px;height:48px;flex-direction:column;align-items:center;justify-content:center;gap:7px;
  position:relative;z-index:101;
}
.nav-burger span{display:block;width:26px;height:1.5px;background:var(--oro);transition:transform .35s ease}
.nav-burger[aria-expanded="true"] span:first-child{transform:translateY(4.25px) rotate(45deg)}
.nav-burger[aria-expanded="true"] span:last-child{transform:translateY(-4.25px) rotate(-45deg)}

/* ══════════ HERO ══════════ */
.hero{
  position:relative;min-height:100svh;
  display:flex;flex-direction:column;justify-content:center;
  background:
    radial-gradient(ellipse 900px 600px at 78% 18%,rgba(198,161,91,.09) 0%,transparent 60%),
    radial-gradient(ellipse 700px 900px at 15% 90%,rgba(198,161,91,.05) 0%,transparent 55%),
    var(--negro);
  overflow:hidden;
}
.hero-beam{
  position:absolute;top:-12%;right:6%;width:340px;height:130%;
  background:linear-gradient(180deg,rgba(233,214,168,.13),rgba(233,214,168,0) 78%);
  transform:rotate(22deg);filter:blur(34px);pointer-events:none;
}
.hero-grain,.hero::after{content:'';position:absolute;inset:0;pointer-events:none}
.hero-grain{
  background-image:radial-gradient(rgba(239,230,211,.045) 1px,transparent 1px);
  background-size:3px 3px;opacity:.5;mix-blend-mode:overlay;
}
.hero-inner{
  max-width:var(--max);margin:0 auto;padding:150px 32px 90px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center;
  position:relative;width:100%;
}
.hero-agave{margin-bottom:30px}
.hero h1{
  font-size:clamp(64px,9.5vw,148px);font-weight:500;
  letter-spacing:.045em;text-transform:uppercase;line-height:.98;
}
.hero-sub{
  max-width:480px;margin-top:32px;font-size:21px;color:var(--humo);
  font-weight:400;text-wrap:pretty;
}
.hero-actions{display:flex;gap:16px;margin-top:44px;flex-wrap:wrap}
.hero-medal{
  display:flex;align-items:center;gap:16px;margin-top:52px;
  padding-top:30px;border-top:1px solid var(--linea-suave);max-width:420px;
}
.hero-medal svg{width:42px;height:42px;color:var(--oro);flex-shrink:0}
.hero-medal p{display:flex;flex-direction:column;gap:2px}
.hero-medal strong{
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--oro-claro);
}
.hero-medal span{font-family:var(--sans);font-size:11px;font-weight:300;letter-spacing:.06em;color:var(--humo)}

.hero-bottle{display:flex;justify-content:center}
.bottle{position:relative;width:min(460px,76vw)}
.bottle svg{width:100%;height:auto;filter:drop-shadow(0 40px 60px rgba(0,0,0,.6))}
.bottle img{
  width:100%;height:auto;display:block;
  /* Foto real sobre fondo negro: se funde con el hero vía máscara */
  -webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 48%,#000 55%,transparent 82%);
  mask-image:radial-gradient(ellipse 78% 72% at 50% 48%,#000 55%,transparent 82%);
}
.bottle-name{font-family:var(--display);font-size:30px;letter-spacing:6px;fill:var(--oro-claro)}
.bottle-type{font-family:var(--sans);font-size:10.5px;letter-spacing:5px;fill:var(--oro)}
.bottle-fine{font-family:var(--sans);font-size:9px;letter-spacing:2.6px;fill:rgba(227,201,137,.75)}
.bottle-fine.dim{fill:rgba(227,201,137,.45)}

.hero-scroll{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);
  width:44px;height:64px;display:flex;justify-content:center;
}
.hero-scroll span{
  display:block;width:1px;height:52px;
  background:linear-gradient(180deg,var(--oro),transparent);
  animation:drip 2.4s ease-in-out infinite;
}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ══════════ PILARES ══════════ */
.pilares{border-block:1px solid var(--linea-suave);background:var(--negro-2)}
.pilares-grid{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(4,1fr);
}
.pilar{
  padding:56px 34px;text-align:center;
  border-left:1px solid var(--linea-suave);
}
.pilar:first-child{border-left:0}
.pilar svg{width:52px;height:52px;color:var(--oro);margin:0 auto 22px}
.pilar h3{
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:.26em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:12px;
}
.pilar p{font-size:16.5px;color:var(--humo);text-wrap:pretty}

/* ══════════ MANIFIESTO ══════════ */
.manifiesto{
  padding:150px 32px;
  background:
    radial-gradient(ellipse 800px 500px at 50% 0%,rgba(198,161,91,.07),transparent 65%),
    var(--negro);
  text-align:center;
}
.manifiesto-inner{max-width:920px;margin:0 auto}
.manifiesto h2{
  font-size:clamp(32px,5vw,58px);text-transform:uppercase;letter-spacing:.04em;
}
.manifiesto h2 em{
  display:block;font-family:var(--serif);font-size:.78em;text-transform:none;
  letter-spacing:.01em;color:var(--oro-claro);margin-top:18px;
}
.manifiesto-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:44px;
  margin-top:60px;text-align:left;
}
.manifiesto-cols p{font-size:20px;color:var(--humo);text-wrap:pretty}
.manifiesto-cols p::first-letter{color:var(--oro-claro)}
.manifiesto-firma{
  margin-top:70px;font-family:var(--serif);font-style:italic;
  font-size:26px;color:var(--hueso);
}

/* ══════════ RITUAL ══════════ */
.ritual{
  padding:130px 32px 120px;
  background:
    radial-gradient(rgba(239,230,211,.035) 1px,transparent 1px) 0 0/3px 3px,
    linear-gradient(180deg,var(--carbon),var(--negro-2));
  border-block:1px solid var(--linea-suave);
}
.ritual-head{text-align:center;max-width:640px;margin:0 auto 80px}
.ritual-head h2{font-size:clamp(34px,4.6vw,54px);text-transform:uppercase;letter-spacing:.06em}
.ritual-sub{
  margin-top:20px;font-family:var(--sans);font-size:11px;font-weight:300;
  letter-spacing:.3em;text-transform:uppercase;color:var(--humo);
}
/* Cards estilo features-2: decorador de grid + caja de icono */
.ritual-steps{
  list-style:none;max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:repeat(5,1fr);gap:16px;
}
.ritual-steps li{
  padding:26px 20px 36px;text-align:center;
  background:rgba(20,16,10,.55);
}
.step-deco{
  position:relative;width:132px;height:132px;margin:0 auto 4px;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);
  mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 70%,transparent 100%);
}
.step-deco::before{
  content:'';position:absolute;inset:0;opacity:.14;
  background:
    linear-gradient(to right,var(--oro) 1px,transparent 1px),
    linear-gradient(to bottom,var(--oro) 1px,transparent 1px);
  background-size:24px 24px;
}
.step-box{
  position:absolute;inset:0;margin:auto;width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  background:var(--negro);
  border-top:1px solid var(--oro);border-left:1px solid var(--oro);
  transition:transform .35s ease;
}
.ritual-steps li:hover .step-box{transform:scale(1.12)}
.step-box svg{width:30px;height:30px;color:var(--oro)}
.step-num{
  font-family:var(--sans);font-size:10px;font-weight:300;
  letter-spacing:.4em;color:var(--oro-humo);display:block;margin-bottom:16px;
}
.ritual-steps h3{
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:12px;
}
.ritual-steps p{font-size:16px;color:var(--humo);text-wrap:pretty}
.ritual-cierre{
  text-align:center;margin-top:90px;font-size:21px;color:var(--humo);
}
.ritual-cierre em{color:var(--oro-claro);font-size:24px}

/* ══════════ TEQUILAS ══════════ */
.tequilas{padding:140px 32px 36px;max-width:var(--max);margin:0 auto}
.tequilas-head{text-align:center;margin-bottom:100px}
.tequilas-head h2{font-size:clamp(32px,4.6vw,52px);text-transform:uppercase;letter-spacing:.06em}

.producto{
  display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center;
  padding:70px 0;border-top:1px solid var(--linea-suave);
}
.producto.invert{grid-template-columns:1.1fr .9fr}
.producto.invert .producto-visual{order:2}
.producto-visual{position:relative;display:flex;flex-direction:column;align-items:center}
.producto-visual svg{width:min(240px,55vw);height:auto;position:relative;z-index:1;filter:drop-shadow(0 30px 50px rgba(0,0,0,.55))}
.producto-halo{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(198,161,91,.12) 0%,transparent 68%);
  pointer-events:none;
}
.producto-tag{
  font-family:var(--sans);font-size:10.5px;font-weight:400;
  letter-spacing:.3em;text-transform:uppercase;color:var(--oro);margin-bottom:18px;
}
.producto-info h3{font-size:clamp(30px,3.6vw,44px);text-transform:uppercase;letter-spacing:.05em;margin-bottom:22px}
.producto-desc{font-size:20px;color:var(--humo);max-width:520px;text-wrap:pretty}

.notas{margin-top:38px;border-top:1px solid var(--linea-suave)}
.notas > div{
  display:grid;grid-template-columns:110px 1fr;gap:20px;align-items:baseline;
  padding:13px 0;border-bottom:1px solid var(--linea-suave);
}
.notas dt{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:.3em;text-transform:uppercase;color:var(--oro);
}
.notas dd{font-size:18px;color:var(--hueso)}

.producto-cta{display:flex;align-items:center;gap:34px;margin-top:40px;flex-wrap:wrap}
.precio{font-family:var(--display);font-size:44px;color:var(--hueso);line-height:1;display:flex;align-items:baseline;gap:6px}
.precio sup{font-size:.45em;color:var(--oro);top:-.7em;position:relative}
.precio span{font-family:var(--sans);font-size:11px;letter-spacing:.2em;color:var(--humo)}
.precio-antes{
  font-family:var(--sans);font-style:normal;font-size:14px;font-weight:300;
  color:var(--humo);text-decoration:line-through;margin-left:10px;
}

.combo{
  margin-top:70px;padding:52px 56px;
  border:1px solid var(--linea);
  background:linear-gradient(120deg,rgba(198,161,91,.08),rgba(198,161,91,.02) 60%);
  display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;
  position:relative;
}
.combo::before,.combo::after{
  content:'';position:absolute;width:9px;height:9px;background:var(--negro);
  border:1px solid var(--oro);transform:rotate(45deg);
}
.combo::before{top:-5px;left:50%;margin-left:-5px}
.combo::after{bottom:-5px;left:50%;margin-left:-5px}
.combo-copy .eyebrow{margin-bottom:12px}
.combo h3{font-size:34px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}
.combo p{color:var(--humo);font-size:19px}
.combo-cta{display:flex;align-items:center;gap:34px;flex-wrap:wrap}

/* ══════════ LA TIENDA (3 productos) ══════════ */
.tienda{padding:110px 32px;max-width:var(--max);margin:0 auto}
.tienda-head{text-align:center;margin-bottom:60px}
.tienda-head h2{font-size:clamp(28px,4.2vw,48px);text-transform:uppercase;letter-spacing:.05em}
.tienda-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tienda-card{
  position:relative;display:flex;flex-direction:column;
  border:1px solid var(--linea-suave);background:var(--carbon);
  transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;
}
.tienda-card:hover{
  border-color:var(--oro);transform:translateY(-6px);
  box-shadow:0 24px 60px rgba(0,0,0,.5);
}
.tienda-card figure{margin:0;overflow:hidden;aspect-ratio:4/5}
.tienda-card figure img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.tienda-card:hover figure img{transform:scale(1.05)}
.tienda-info{padding:26px 26px 30px;text-align:center;display:flex;flex-direction:column;gap:10px;flex:1}
.tienda-card h3{font-size:19px;text-transform:uppercase;letter-spacing:.08em}
.tienda-tag{
  font-family:var(--sans);font-size:10px;font-weight:300;
  letter-spacing:.22em;text-transform:uppercase;color:var(--humo);
}
.tienda-precio{
  font-family:var(--display);font-size:26px;color:var(--oro-claro);margin-top:auto;
}
.tienda-precio em{
  font-family:var(--sans);font-style:normal;font-size:12px;font-weight:300;
  color:var(--humo);text-decoration:line-through;margin-left:8px;
}
.tienda-card .btn{margin-top:14px}
.tienda-badge{
  position:absolute;top:14px;right:14px;z-index:2;
  background:var(--oro);color:var(--negro);
  font-family:var(--sans);font-size:9.5px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;padding:8px 13px;
}

/* ══════════ AVISO 2+ BOTELLAS ══════════ */
.mayoreo{
  max-width:var(--max);margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding:30px 40px;border:1px solid var(--linea);
  background:linear-gradient(120deg,rgba(198,161,91,.09),rgba(198,161,91,.02) 60%);
  flex-wrap:wrap;
}
.mayoreo p{
  font-family:var(--sans);font-size:14.5px;font-weight:300;
  color:var(--hueso);max-width:640px;
}
.mayoreo p strong{color:var(--oro-claro);font-weight:500}
.mayoreo .btn{flex-shrink:0}
.mayoreo-tienda{margin-top:26px}
aside.mayoreo:not(.mayoreo-tienda){margin:0 32px;max-width:calc(var(--max) - 64px)}
@media (min-width:1305px){
  aside.mayoreo:not(.mayoreo-tienda){margin:0 auto;max-width:var(--max)}
}

/* ══════════ REDES SOCIALES ══════════ */
.social{
  padding:100px 32px;text-align:center;
  background:var(--negro-2);border-block:1px solid var(--linea-suave);
}
.social h2{
  font-size:clamp(22px,3.6vw,40px);letter-spacing:.06em;
  text-transform:lowercase;margin:16px 0 34px;
}
.social-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.social-btns .btn{display:inline-flex;align-items:center;gap:10px}
.social-btns svg{width:17px;height:17px}
.social-row{display:flex;gap:12px;margin-top:20px}
.social-row a{
  width:42px;height:42px;border-radius:50%;
  border:1px solid var(--linea);color:var(--oro);
  display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,color .25s ease;
}
.social-row a:hover{background:var(--oro);color:var(--negro)}
.social-row svg{width:18px;height:18px}

/* ══════════ DÚO MURILLO ══════════ */
.duo{
  padding:100px 32px;background:var(--negro-2);
  border-block:1px solid var(--linea-suave);
}
.duo-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:1.12fr .88fr;gap:70px;align-items:center;
}
.duo-foto{position:relative;margin:0}
.duo-foto img{
  width:100%;height:auto;display:block;position:relative;z-index:1;
  border:1px solid var(--linea);
  box-shadow:0 44px 100px rgba(0,0,0,.65);
}
.duo-foto .combo-beam{z-index:2}
.duo-ahorro{
  position:absolute;top:18px;right:18px;z-index:3;
  background:var(--oro);color:var(--negro);
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;padding:11px 18px;
}
.duo-info h2{
  font-size:clamp(32px,4.4vw,52px);text-transform:uppercase;
  letter-spacing:.05em;margin:14px 0 24px;
}
.duo-desc{font-size:16.5px;color:var(--humo);margin-bottom:28px;text-wrap:pretty}

/* ══════════ MURILLO IA ══════════ */
.ia-fab{
  position:fixed;bottom:30px;right:98px;z-index:90;
  display:flex;align-items:center;gap:10px;
  padding:0 22px;height:50px;border-radius:25px;
  background:var(--oro);color:var(--negro);border:1px solid var(--oro);
  font-family:var(--sans);font-size:11px;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 10px 34px rgba(0,0,0,.5);
  transition:transform .3s ease,background .3s ease;
}
.ia-fab:hover{transform:translateY(-3px);background:var(--oro-claro)}
.ia-fab svg{width:18px;height:15px}
.ia-panel{
  position:fixed;bottom:96px;right:26px;z-index:120;
  width:min(384px,calc(100vw - 32px));
  height:min(560px,72vh);
  display:flex;flex-direction:column;
  background:var(--carbon);border:1px solid var(--linea);
  box-shadow:0 30px 90px rgba(0,0,0,.7);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .3s ease,transform .3s ease,visibility .3s ease;
}
.ia-panel.open{opacity:1;visibility:visible;transform:none}
.ia-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--linea-suave);
  background:var(--negro-2);
}
.ia-head svg{width:26px;height:22px;color:var(--oro);flex-shrink:0}
.ia-head-tit{flex:1}
.ia-head-tit strong{
  display:block;font-family:var(--display);font-size:15px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--hueso);font-weight:500;
}
.ia-head-tit span{
  font-family:var(--sans);font-size:9.5px;font-weight:300;
  letter-spacing:.16em;text-transform:uppercase;color:var(--oro);
}
.ia-close{
  background:none;border:0;color:var(--humo);cursor:pointer;
  width:34px;height:34px;font-size:17px;line-height:1;
  transition:color .25s ease;
}
.ia-close:hover{color:var(--oro-claro)}
.ia-msgs{
  flex:1;overflow-y:auto;padding:18px;
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;scrollbar-color:var(--oro-humo) transparent;
}
.ia-msg{
  max-width:86%;padding:12px 16px;
  font-family:var(--sans);font-size:13px;font-weight:300;
  line-height:1.65;letter-spacing:.02em;
}
.ia-msg.bot{
  align-self:flex-start;background:var(--negro-2);
  border:1px solid var(--linea-suave);color:var(--hueso);
}
.ia-msg.user{
  align-self:flex-end;background:var(--oro);color:var(--negro);font-weight:400;
}
.ia-msg a{color:var(--oro-claro);text-decoration:underline}
.ia-msg.user a{color:var(--negro)}
.ia-msg strong{color:var(--oro-claro);font-weight:500}
.ia-typing{display:inline-flex;gap:5px;padding:4px 0}
.ia-typing i{
  width:6px;height:6px;border-radius:50%;background:var(--oro);
  animation:ia-dot 1.2s ease-in-out infinite;
}
.ia-typing i:nth-child(2){animation-delay:.18s}
.ia-typing i:nth-child(3){animation-delay:.36s}
@keyframes ia-dot{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.ia-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.ia-chip{
  background:none;border:1px solid var(--linea);color:var(--oro);
  font-family:var(--sans);font-size:10.5px;font-weight:400;
  letter-spacing:.1em;padding:9px 14px;cursor:pointer;
  transition:background .25s ease,color .25s ease;
}
.ia-chip:hover{background:var(--oro);color:var(--negro)}
.ia-form{
  display:flex;gap:10px;padding:14px 18px;
  border-top:1px solid var(--linea-suave);background:var(--negro-2);
}
.ia-input{
  flex:1;background:var(--negro);border:1px solid var(--linea-suave);
  color:var(--hueso);font-family:var(--sans);font-size:13px;font-weight:300;
  padding:12px 14px;outline:none;min-height:44px;
}
.ia-input:focus{border-color:var(--oro)}
.ia-send{
  background:var(--oro);border:1px solid var(--oro);color:var(--negro);
  font-family:var(--sans);font-size:10.5px;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  padding:0 18px;cursor:pointer;min-height:44px;
  transition:background .25s ease;
}
.ia-send:hover{background:var(--oro-claro)}

/* ══════════ PREMIOS (category-list) ══════════ */
.premios{
  background:var(--negro-2);border-block:1px solid var(--linea-suave);
  padding:120px 32px;
}
.premios-head{text-align:center;margin-bottom:60px}
.premios-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:64px;height:64px;border-radius:50%;margin-bottom:26px;
  background:linear-gradient(135deg,var(--oro-claro),var(--oro-humo));
  color:var(--negro);
}
.premios-badge svg{width:32px;height:32px}
.premios-head h2{font-size:clamp(30px,4.4vw,50px);text-transform:uppercase;letter-spacing:.05em}
.premios-sub{
  font-family:var(--display);font-size:clamp(20px,3vw,34px);
  text-transform:uppercase;letter-spacing:.06em;color:var(--oro-humo);margin-top:8px;
}
.cat-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:14px}
.cat-row{
  position:relative;overflow:hidden;height:96px;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:0 42px;border:1px solid var(--linea-suave);background:var(--carbon);
  transition:height .3s ease,border-color .3s ease,background .3s ease,box-shadow .3s ease;
}
.cat-row.featured{height:112px}
.cat-row:hover{
  height:132px;border-color:var(--oro);
  background:rgba(198,161,91,.05);
  box-shadow:0 14px 44px rgba(198,161,91,.13);
}
.cat-row h3{
  font-size:21px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--hueso);transition:color .3s ease;
}
.cat-row.featured h3{font-size:26px}
.cat-row:hover h3{color:var(--oro-claro)}
.cat-row p{
  margin-top:8px;font-family:var(--sans);font-size:12px;font-weight:300;
  letter-spacing:.12em;text-transform:uppercase;color:var(--humo);
  transition:color .3s ease;
}
.cat-row:hover p{color:var(--hueso)}
.cat-ic{
  flex-shrink:0;width:36px;height:36px;color:var(--oro);
  opacity:0;transform:translateX(-10px);
  transition:opacity .3s ease,transform .3s ease;
}
.cat-row:hover .cat-ic{opacity:1;transform:none}
.cat-corner{position:absolute;width:16px;height:16px;opacity:0;transition:opacity .3s ease}
.cat-corner.tl{top:12px;left:12px;border-top:1.5px solid var(--oro);border-left:1.5px solid var(--oro)}
.cat-corner.br{bottom:12px;right:12px;border-bottom:1.5px solid var(--oro);border-right:1.5px solid var(--oro)}
.cat-row:hover .cat-corner{opacity:1}

/* ══════════ LEGADO ══════════ */
.legado{padding:150px 32px}
.legado-inner{
  max-width:var(--max);margin:0 auto;
  display:grid;grid-template-columns:.95fr 1.05fr;gap:80px;align-items:center;
}
.legado-frame{
  aspect-ratio:4/5;border:1px solid var(--linea);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;
  background:
    linear-gradient(160deg,rgba(198,161,91,.06),transparent 55%),
    var(--carbon);
  position:relative;
}
.legado-frame::before{
  content:'';position:absolute;inset:14px;border:1px solid var(--linea-suave);pointer-events:none;z-index:2;
}
.legado-frame img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.legado-ph{
  font-family:var(--sans);font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:rgba(167,156,135,.6);text-align:center;line-height:2;
}
.legado-copy h2{font-size:clamp(32px,4.4vw,52px);text-transform:uppercase;letter-spacing:.05em;margin-bottom:34px}
.legado-copy p{font-size:20px;color:var(--humo);text-wrap:pretty}
.legado-copy p + p{margin-top:22px}
.legado-copy strong{color:var(--oro-claro);font-weight:600}
.legado-quote{
  margin-top:44px;padding-left:28px;border-left:1px solid var(--oro);
  font-style:italic;font-size:25px;color:var(--hueso) !important;
}

/* ══════════ CERTS ══════════ */
.certs{border-block:1px solid var(--linea-suave);background:var(--negro-2)}
.certs-strip{
  list-style:none;max-width:var(--max);margin:0 auto;padding:34px 32px;
  display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap;
  font-family:var(--sans);font-size:10.5px;font-weight:400;
  letter-spacing:.28em;text-transform:uppercase;color:var(--humo);
}
.certs-strip li[aria-hidden]{color:var(--oro)}

/* ══════════ CIERRE ══════════ */
.cierre{
  position:relative;padding:170px 32px;text-align:center;overflow:hidden;
  background:radial-gradient(ellipse 800px 520px at 50% 110%,rgba(198,161,91,.12),transparent 65%),var(--negro);
}
.cierre-beam{
  position:absolute;top:-20%;left:12%;width:280px;height:140%;
  background:linear-gradient(180deg,rgba(233,214,168,.09),transparent 75%);
  transform:rotate(-24deg);filter:blur(32px);pointer-events:none;
}
.cierre-inner{max-width:840px;margin:0 auto;position:relative}
.cierre h2{
  font-size:clamp(34px,5.2vw,62px);text-transform:uppercase;
  letter-spacing:.05em;margin-top:34px;
}
.cierre-sub{margin-top:28px;font-size:21px;color:var(--humo);text-wrap:pretty}
.cierre-actions{display:flex;gap:18px;justify-content:center;margin-top:52px;flex-wrap:wrap}

/* ══════════ FOOTER ══════════ */
.footer{border-top:1px solid var(--linea-suave);background:var(--negro-2)}
.footer-inner{
  max-width:var(--max);margin:0 auto;padding:80px 32px 60px;
  display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:48px;
}
.footer-wordmark{margin-top:18px}
.footer-tag{margin-top:16px;font-style:italic;color:var(--humo);font-size:18px}
.footer-col h4{
  font-family:var(--sans);font-size:10px;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:var(--oro);margin-bottom:22px;
}
.footer-col a{
  display:block;font-family:var(--sans);font-size:13px;font-weight:300;
  letter-spacing:.06em;color:var(--humo);padding:7px 0;transition:color .3s ease;
}
.footer-col a:hover{color:var(--oro-claro)}
.footer-fine{font-family:var(--sans);font-size:12px;font-weight:300;color:var(--humo);padding:7px 0}
.footer-legal{
  border-top:1px solid var(--linea-suave);padding:28px 32px 120px;
  max-width:var(--max);margin:0 auto;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:var(--sans);font-size:10px;font-weight:300;
  letter-spacing:.14em;color:rgba(167,156,135,.6);
}
.footer-warning a{color:var(--oro);text-decoration:underline}

/* ══════════ WHATSAPP FAB ══════════ */
.wa-fab{
  position:fixed;bottom:26px;right:26px;z-index:90;
  width:58px;height:58px;border-radius:50%;
  background:var(--negro-2);border:1px solid var(--oro);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 34px rgba(0,0,0,.5);
  transition:background .3s ease,transform .3s ease;
}
.wa-fab svg{width:28px;height:28px;color:var(--oro)}
.wa-fab:hover{background:var(--oro);transform:translateY(-3px)}
.wa-fab:hover svg{color:var(--negro)}

/* ══════════════════════════════════════════════════════
   COMPONENTES 21st.dev (portados a vanilla)
   Spotlight · Particles · Marquee · Tilt 3D · Text Reveal
   Border Beam · Number Ticker · Shimmer · Shiny Text
   ══════════════════════════════════════════════════════ */

/* ── Spotlight (sigue el mouse) ── */
.spotlight{
  position:absolute;inset:0;pointer-events:none;z-index:1;
  background:radial-gradient(560px circle at var(--mx,72%) var(--my,30%),rgba(227,201,137,.10),transparent 62%);
  transition:background .12s linear;
}

/* ── Particles (brasas doradas) ── */
.particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.hero-inner,.cierre-inner{z-index:2}

/* ── Shiny text (destello que recorre el texto) ── */
.shiny{
  background:linear-gradient(110deg,var(--oro) 42%,#F6E7BE 50%,var(--oro) 58%);
  background-size:220% 100%;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:shine 4.5s linear infinite;
}
@keyframes shine{to{background-position:-220% 0}}

/* ── Shimmer en botones dorados ── */
.btn-gold{position:relative;overflow:hidden}
.btn-gold::after{
  content:'';position:absolute;top:0;bottom:0;left:-80%;width:45%;
  background:linear-gradient(105deg,transparent,rgba(255,248,228,.55),transparent);
  transform:skewX(-20deg);
  animation:shimmer 3.4s ease-in-out infinite;
}
@keyframes shimmer{0%{left:-80%}55%{left:130%}100%{left:130%}}

/* ── Marquee infinito ── */
.marquee{
  overflow:hidden;border-block:1px solid var(--linea-suave);
  background:var(--negro-2);padding:26px 0;
}
.marquee-track{display:flex;width:max-content;animation:marquee 28s linear infinite}
.marquee-track.rev{animation-direction:reverse}
.marquee-track span{
  font-family:var(--display);font-size:30px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--oro);white-space:nowrap;flex-shrink:0;
}
.marquee-track i{font-style:normal;color:var(--oro-humo);margin:0 26px;font-size:.62em;vertical-align:middle}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes marquee{to{transform:translateX(-50%)}}
.marquee-outline{background:var(--negro);padding:34px 0}
.marquee-outline .marquee-track span{
  font-size:52px;color:transparent;
  -webkit-text-stroke:1px rgba(198,161,91,.55);
}
.marquee-outline .marquee-track i{-webkit-text-stroke:0;color:var(--oro)}

/* ── Cifras (number ticker) ── */
.cifras{border-block:1px solid var(--linea-suave);background:var(--carbon)}
.cifras-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.cifra{padding:58px 30px;text-align:center;border-left:1px solid var(--linea-suave)}
.cifra:first-child{border-left:0}
.cifra-num{font-family:var(--display);font-size:64px;line-height:1;color:var(--oro-claro)}
.cifra-label{
  margin-top:14px;font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.26em;text-transform:uppercase;color:var(--humo);
}

/* ── Tilt 3D con glare ── */
.producto-visual{perspective:1000px}
.tilt{
  position:relative;transform-style:preserve-3d;
  transition:transform .18s ease-out;will-change:transform;
}
.tilt svg{position:relative;z-index:1}
.producto-img{
  position:relative;z-index:1;width:min(380px,80vw);height:auto;display:block;
  border:1px solid var(--linea);
  box-shadow:0 34px 80px rgba(0,0,0,.6);
}
.tilt .producto-halo{z-index:0}
.tilt-glare{
  position:absolute;inset:6%;z-index:2;pointer-events:none;border-radius:40%;
  background:radial-gradient(280px circle at var(--gx,50%) var(--gy,35%),rgba(246,231,190,.13),transparent 55%);
  opacity:0;transition:opacity .3s ease;
}
.tilt.active .tilt-glare{opacity:1}

/* ── Text reveal (palabra por palabra) ── */
[data-text-reveal] .tr-word{opacity:.13;transition:opacity .35s ease}
[data-text-reveal] .tr-word.lit{opacity:1}

/* ── Border beam (combo) ── */
@property --beam{syntax:'<angle>';initial-value:0deg;inherits:false}
.combo-beam{
  position:absolute;inset:-1px;pointer-events:none;padding:1.5px;
  background:conic-gradient(from var(--beam),transparent 0deg,transparent 288deg,rgba(246,231,190,.95) 326deg,transparent 360deg);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:beam 7s linear infinite;
}
@keyframes beam{to{--beam:360deg}}

/* ── Shared Element Gallery (port de shared-element-gallery) ── */
.galeria{padding:130px 32px;max-width:var(--max);margin:0 auto}
.galeria-head{text-align:center;margin-bottom:64px}
.galeria-head h2{font-size:clamp(28px,4.2vw,50px);text-transform:uppercase;letter-spacing:.05em}
.galeria-sub{
  margin-top:22px;font-family:var(--sans);font-size:11px;font-weight:300;
  letter-spacing:.28em;text-transform:uppercase;color:var(--humo);
}
.galeria-grid{columns:4;column-gap:18px}
.g-item{
  display:block;width:100%;margin:0 0 18px;padding:0;
  border:1px solid rgba(198,161,91,.25);background:none;
  cursor:zoom-in;break-inside:avoid;overflow:hidden;position:relative;
}
.g-item img{
  width:100%;height:auto;display:block;
  filter:saturate(.85) brightness(.92);
  transition:transform .4s ease,filter .4s ease;
}
.g-item:hover img,.g-item:focus-visible img{transform:scale(1.045);filter:none}
.g-item:focus-visible{outline:1px solid var(--oro);outline-offset:3px}
.g-item.hidden-thumb img{visibility:hidden}

/* Lightbox — shared element + drag-to-dismiss */
.lightbox{position:fixed;inset:0;z-index:150}
.lightbox-backdrop{
  position:absolute;inset:0;cursor:zoom-out;
  background:rgba(6,5,3,.85);backdrop-filter:blur(20px);
  opacity:0;transition:opacity .35s ease;
}
.lightbox.open .lightbox-backdrop{opacity:1}
.lightbox-close{
  position:absolute;top:22px;right:22px;z-index:5;
  width:48px;height:48px;border-radius:50%;
  border:1px solid var(--linea);background:rgba(20,16,10,.55);
  backdrop-filter:blur(8px);color:var(--oro);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(-14px);
  transition:opacity .3s ease .1s,transform .3s ease .1s,background .25s ease;
}
.lightbox.open .lightbox-close{opacity:1;transform:none}
.lightbox-close:hover{background:rgba(198,161,91,.25)}
.lightbox-close svg{width:20px;height:20px}
.lightbox-img{
  position:absolute;top:0;left:0;margin:0;z-index:2;
  transform-origin:top left;will-change:transform;
  cursor:zoom-out;touch-action:none;user-select:none;-webkit-user-drag:none;
  border:1px solid rgba(198,161,91,.3);
  box-shadow:0 40px 120px rgba(0,0,0,.7);
}

/* ── Float de botella hero ── */
.hero-bottle .bottle{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}

@media (max-width:1080px){
  .galeria-grid{columns:3}
  .duo-inner{grid-template-columns:1fr;gap:50px}
  .tienda-grid{grid-template-columns:1fr;max-width:440px;margin:0 auto;gap:26px}
}
@media (max-width:760px){
  .galeria{padding:90px 22px}
  .galeria-grid{columns:2;column-gap:12px}
  .g-item{margin-bottom:12px}
  .lightbox-close{top:14px;right:14px}
  .duo{padding:90px 22px}
  .tienda{padding:80px 22px}
  .tienda-tag{font-size:9px;letter-spacing:.14em}
  .tienda-head{margin-bottom:36px}
  .duo-ahorro{font-size:9.5px;padding:8px 12px;top:12px;right:12px}
  .mayoreo{padding:26px 22px;justify-content:center;text-align:center}
  aside.mayoreo:not(.mayoreo-tienda){margin:0 22px;max-width:none}
  .social{padding:70px 22px}
  .social-btns .btn{width:100%;max-width:320px}
  .social-row{justify-content:flex-start}
  .ia-fab{right:88px;bottom:24px;padding:0 16px}
  .ia-fab span{display:none}
  .ia-fab{width:50px;justify-content:center;padding:0}
  .ia-panel{bottom:86px;right:16px}
}

@media (prefers-reduced-motion:reduce){
  .spotlight,.particles{display:none}
  .shiny{animation:none;-webkit-text-fill-color:var(--oro);color:var(--oro)}
  .btn-gold::after{animation:none;display:none}
  .marquee-track{animation-duration:120s}
  .hero-bottle .bottle{animation:none}
  .combo-beam{animation:none;display:none}
  [data-text-reveal] .tr-word{opacity:1}
}

/* ══════════ PÁGINA DE PRODUCTO ══════════ */
.pp-hero{
  max-width:var(--max);margin:0 auto;padding:150px 32px 90px;
  display:grid;grid-template-columns:.92fr 1.08fr;gap:70px;align-items:center;
}
.pp-foto{position:relative}
.pp-foto img{
  width:100%;height:auto;display:block;
  border:1px solid var(--linea);
  box-shadow:0 44px 100px rgba(0,0,0,.65);
}
.pp-badge{
  position:absolute;top:18px;left:18px;
  display:inline-flex;align-items:center;gap:10px;padding:10px 18px;
  background:rgba(10,8,6,.72);backdrop-filter:blur(8px);
  border:1px solid var(--linea);
  font-family:var(--sans);font-size:10px;font-weight:400;
  letter-spacing:.24em;text-transform:uppercase;color:var(--oro-claro);
}
.pp-badge svg{width:20px;height:20px;color:var(--oro)}
.pp-info h1{
  font-size:clamp(34px,4.6vw,56px);text-transform:uppercase;
  letter-spacing:.05em;margin:14px 0 24px;
}
.pp-meta{
  list-style:none;display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 0;
}
.pp-meta li{
  font-family:var(--sans);font-size:10.5px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;color:var(--humo);
  border:1px solid var(--linea-suave);padding:9px 16px;
}
.pp-desc{font-size:16.5px;color:var(--humo);max-width:540px;margin-top:26px}
.pp-cta{display:flex;align-items:center;gap:30px;margin-top:40px;flex-wrap:wrap}
.pp-secc{padding:100px 32px;border-top:1px solid var(--linea-suave)}
.pp-secc.oscura{background:var(--negro-2)}
.pp-secc-inner{max-width:var(--max);margin:0 auto}
.pp-secc .eyebrow{text-align:center}
.pp-secc h2{
  text-align:center;font-size:clamp(26px,3.8vw,44px);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:56px;
}
.pp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.pp-grid2 h3{
  font-family:var(--sans);font-size:12px;font-weight:500;
  letter-spacing:.28em;text-transform:uppercase;color:var(--oro-claro);margin-bottom:20px;
}
.pp-grid2 p{font-size:16px;color:var(--humo)}
.pp-grid2 p + p{margin-top:16px}
.pp-lista{list-style:none;margin-top:6px}
.pp-lista li{
  font-size:16px;color:var(--humo);padding:12px 0 12px 26px;
  border-bottom:1px solid var(--linea-suave);position:relative;
}
.pp-lista li::before{
  content:'';position:absolute;left:2px;top:22px;
  width:7px;height:7px;background:var(--oro);transform:rotate(45deg);
}
/* Pasos del pedido */
.pasos{max-width:800px;margin:0 auto;list-style:none;counter-reset:paso}
.paso{
  display:grid;grid-template-columns:60px 1fr;gap:28px;align-items:start;
  padding:30px 0;border-bottom:1px solid var(--linea-suave);
}
.paso:last-child{border-bottom:0}
.paso-num{
  width:54px;height:54px;border:1px solid var(--oro);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--display);font-size:18px;color:var(--oro);
}
.paso h3{
  font-family:var(--sans);font-size:13px;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--oro-claro);
  margin:6px 0 10px;
}
.paso p{font-size:15.5px;color:var(--humo);max-width:600px}
.paso p strong{color:var(--hueso);font-weight:500}
/* Cross-sell */
.pp-cross{
  max-width:var(--max);margin:0 auto;padding:80px 32px 110px;
  display:grid;grid-template-columns:1fr 1fr;gap:22px;
}
.pp-cross a{
  border:1px solid var(--linea-suave);padding:44px 40px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  transition:border-color .3s ease,background .3s ease;
}
.pp-cross a:hover{border-color:var(--oro);background:rgba(198,161,91,.05)}
.pp-cross .eyebrow{margin-bottom:10px}
.pp-cross h3{font-size:22px;text-transform:uppercase;letter-spacing:.06em}
.pp-cross .flecha{font-family:var(--display);font-size:26px;color:var(--oro)}

@media (max-width:1080px){
  .pp-hero{grid-template-columns:1fr;gap:50px;padding-top:130px}
  .pp-foto{max-width:520px;margin:0 auto;width:100%}
  .pp-grid2{grid-template-columns:1fr;gap:48px}
  .pp-cross{grid-template-columns:1fr}
}
@media (max-width:760px){
  .pp-hero{padding:110px 22px 70px}
  .pp-secc{padding:80px 22px}
  .paso{grid-template-columns:48px 1fr;gap:18px}
  .paso-num{width:44px;height:44px;font-size:15px}
  .pp-cta .btn{width:auto;flex:1;min-width:200px}
  .pp-cross{padding:60px 22px 90px}
}

/* ══════════════════════════════════════════════════════
   AJUSTE DE ESCALA — Trajan Pro + Gotham Light
   (Gotham rinde más grande que la serif original)
   ══════════════════════════════════════════════════════ */
.agegate h2{font-size:clamp(20px,3vw,26px);letter-spacing:.04em}
.hero-sub{font-size:17px;line-height:1.9}
.manifiesto h2 em{font-size:.6em;letter-spacing:.06em;font-weight:300}
.manifiesto-cols p{font-size:16px}
.manifiesto-firma{font-size:19px;letter-spacing:.04em}
.ritual-cierre{font-size:16px}
.ritual-cierre em{font-size:17.5px;letter-spacing:.04em}
.pilar p{font-size:13.5px}
.ritual-steps p{font-size:13.5px}
.producto-desc{font-size:15.5px}
.notas dd{font-size:14px;letter-spacing:.02em}
.combo p{font-size:15px}
.premio p{font-size:14px}
.legado-copy p{font-size:15.5px}
.legado-quote{font-size:17.5px;letter-spacing:.03em}
.cierre-sub{font-size:16px}
.footer-tag{font-size:13.5px}
.agegate-brand{letter-spacing:.28em}

/* ══════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════ */
@media (max-width:1080px){
  .cifras-grid{grid-template-columns:1fr 1fr}
  .cifra:nth-child(3){border-left:0}
  .cifra{border-top:1px solid var(--linea-suave)}
  .cifra:nth-child(-n+2){border-top:0}
  .marquee-outline .marquee-track span{font-size:40px}
  .hero-inner{grid-template-columns:1fr;gap:70px;padding-top:130px;text-align:center}
  .hero-copy{display:flex;flex-direction:column;align-items:center}
  .hero-sub{margin-inline:auto}
  .hero-actions{justify-content:center}
  .hero-medal{justify-content:center;text-align:left}
  .pilares-grid{grid-template-columns:1fr 1fr}
  .pilar:nth-child(3){border-left:0}
  .pilar{border-top:1px solid var(--linea-suave)}
  .pilar:nth-child(-n+2){border-top:0}
  .ritual-steps{grid-template-columns:repeat(3,1fr)}
  .cat-row{padding:0 28px}
  .legado-inner{grid-template-columns:1fr;gap:60px}
  .legado-visual{max-width:440px;margin:0 auto;width:100%}
  .footer-inner{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  body{font-size:15px}
  .hero-sub,.manifiesto-cols p{font-size:15px}
  .notas dd{font-size:13.5px}
  .marquee{padding:18px 0}
  .marquee-track span{font-size:21px}
  .marquee-outline .marquee-track span{font-size:30px}
  .cifras-grid{grid-template-columns:1fr 1fr}
  .cifra{padding:38px 18px}
  .cifra-num{font-size:44px}
  .cifra-label{font-size:9.5px;letter-spacing:.2em}
  .nav-inner{padding:14px 20px}
  .nav-links{
    position:fixed;inset:0;top:0;z-index:-1;
    background:rgba(10,8,6,.98);backdrop-filter:blur(16px);
    flex-direction:column;justify-content:center;gap:10px;
    opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s ease;
  }
  .nav-links.open{opacity:1;visibility:visible;z-index:99}
  .nav-links a:not(.nav-cta){font-size:15px;padding:16px;letter-spacing:.3em}
  .nav-cta{margin-top:20px}
  .nav-burger{display:flex}
  .hero h1{letter-spacing:.03em}
  .hero-sub{font-size:18.5px}
  .hero-beam{width:180px;right:-8%}
  .btn{width:100%;max-width:340px}
  .hero-actions,.cierre-actions{flex-direction:column;align-items:center;width:100%}
  .pilares-grid{grid-template-columns:1fr}
  .pilar{border-left:0 !important;border-top:1px solid var(--linea-suave);padding:44px 28px}
  .pilar:first-child{border-top:0}
  .manifiesto{padding:100px 22px}
  .manifiesto-cols{grid-template-columns:1fr;gap:24px}
  .ritual{padding:90px 22px}
  .ritual-steps{grid-template-columns:1fr;gap:12px}
  .ritual-steps li{padding:24px 20px 32px}
  .premios{padding:90px 22px}
  .cat-row,.cat-row.featured{height:auto;min-height:92px;padding:20px 22px}
  .cat-row:hover{height:auto}
  .cat-row h3,.cat-row.featured h3{font-size:17px}
  .cat-row p{font-size:10.5px;letter-spacing:.08em}
  .cat-ic{display:none}
  .tequilas{padding:100px 22px}
  .tequilas-head{margin-bottom:60px}
  .producto,.producto.invert{grid-template-columns:1fr;gap:44px;padding:56px 0}
  .producto.invert .producto-visual{order:0}
  .producto-cta{gap:22px}
  .producto-cta .btn{width:auto;flex:1;min-width:200px}
  .notas > div{grid-template-columns:86px 1fr;gap:14px}
  .notas dd{font-size:16.5px}
  .combo{padding:40px 26px;justify-content:center;text-align:center}
  .combo-cta{justify-content:center}
  .legado{padding:100px 22px}
  .cierre{padding:120px 22px}
  .footer-inner{grid-template-columns:1fr;gap:40px;padding:60px 22px 40px}
  .footer-legal{flex-direction:column;padding:24px 22px 130px;text-align:center}
  .wa-fab{bottom:20px;right:20px}
  .agegate-actions .btn{width:100%}
}
