:root{
    --ink:#150c0e;
    --ink-2:#1d1114;
    --ink-3:#271619;
    --ink-4:#0e0809;
    --wine:#7c1f2e;
    --wine-bright:#c23349;
    --wine-deep:#3d0f16;
    --gold:#b6924f;
    --gold-soft:#ddc48a;
    --bone:#f3ead6;
    --bone-2:#e6d9ba;
    --text-dark-bg:#efe4d1;
    --text-dark-bg-muted:#b5a48d;
    --text-light-bg:#241519;
    --text-light-bg-muted:#6b564a;
    --rule:#4a2c2f;
    --var-tempranillo:#7c1f2e;
    --var-garnacha:#b6924f;
    --var-mazuelo:#8c5e67;
    --var-sauvignon:#5c8266;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--ink);
    color:var(--text-dark-bg);
    font-family:"Source Serif 4", Georgia, "Times New Roman", serif;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
    overflow-x:hidden;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  button{font:inherit;}

  .eyebrow{
    font-family:"Archivo", sans-serif;
    font-weight:600;
    font-size:.72rem;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold-soft);
  }
  .on-light .eyebrow{color:var(--wine);}

  h1,h2,h3,h4{
    font-family:"Fraunces", Georgia, serif;
    font-weight:600;
    margin:0;
    text-wrap:balance;
  }

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 clamp(20px,5vw,64px);
  }

  .section-head{
    text-align:center;
    max-width:660px;
    margin:0 auto clamp(50px,7vw,84px);
  }
  .section-head h2{
    font-size:clamp(2rem,4vw,2.9rem);
    margin:14px 0 16px;
  }
  .section-head p{
    color:var(--text-dark-bg-muted);
    font-size:1.02rem;
    line-height:1.6;
    margin:0;
  }
  .section-head .eyebrow{display:block; margin-bottom:2px;}

  /* ---------- reveal-on-scroll ---------- */
  @media (prefers-reduced-motion: no-preference){
    .reveal{
      opacity:0;
      transform:translateY(26px);
      transition:opacity .8s cubic-bezier(.16,.7,.3,1), transform .8s cubic-bezier(.16,.7,.3,1);
    }
    .reveal.in-view{opacity:1; transform:translateY(0);}
    .reveal-stagger.in-view > *{transition-delay:calc(var(--i, 0) * 90ms);}
  }

  /* ---------- NAV ---------- */
  .nav{
    position:sticky;
    top:0;
    z-index:50;
    background:rgba(21,12,14,.82);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(182,146,79,.18);
  }
  .nav-inner{
    max-width:1180px;
    margin:0 auto;
    padding:16px clamp(20px,5vw,64px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
  }
  .nav-word{
    font-family:"Fraunces", serif;
    font-weight:600;
    font-size:1.15rem;
    letter-spacing:.12em;
    color:var(--text-dark-bg);
    text-decoration:none;
  }
  .nav-links{
    display:flex;
    align-items:center;
    gap:clamp(14px,2.6vw,30px);
    font-family:"Archivo", sans-serif;
    font-size:.76rem;
    letter-spacing:.13em;
    text-transform:uppercase;
  }
  .nav-links a{
    text-decoration:none;
    color:var(--text-dark-bg-muted);
    padding-bottom:3px;
    border-bottom:1px solid transparent;
    transition:color .2s ease, border-color .2s ease;
  }
  .nav-links a:not(.nav-cta):hover{color:var(--gold-soft); border-color:var(--gold);}
  .nav-cta{
    background:var(--wine);
    color:var(--text-dark-bg) !important;
    padding:9px 18px;
    border-radius:2px;
    border:1px solid var(--wine-bright);
    position:relative;
    overflow:hidden;
  }
  .nav-cta::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(115deg, transparent 20%, rgba(255,255,255,.25) 40%, transparent 60%);
    transform:translateX(-120%);
    transition:transform .6s ease;
  }
  .nav-cta:hover::after{transform:translateX(120%);}
  .nav-cta:hover{background:var(--wine-bright); color:var(--bone) !important;}

  /* ---------- HERO ---------- */
  .hero{
    position:relative;
    padding-top:clamp(56px,10vw,104px);
    overflow:hidden;
    background:
      radial-gradient(ellipse 900px 480px at 50% 0%, rgba(124,31,46,.22), transparent 60%),
      var(--ink);
  }
  .hero-inner{
    position:relative;
    z-index:2;
    text-align:center;
    padding-bottom:clamp(30px,6vw,46px);
  }
  .hero-mark{
    font-size:clamp(3.4rem,11vw,7.4rem);
    letter-spacing:.05em;
    line-height:1;
    color:var(--text-dark-bg);
    font-weight:600;
  }
  .hero-mark-inner{position:relative; display:inline-block;}
  .hero-ring{
    position:absolute;
    width:1.55em;
    height:1.55em;
    left:89%;
    top:50%;
    transform:translate(-50%,-50%);
    z-index:-1;
    opacity:.95;
    pointer-events:none;
    filter:drop-shadow(0 0 26px rgba(124,31,46,.28));
  }
  .hero-tagline{
    margin:22px auto 0;
    max-width:36ch;
    font-family:"Fraunces", serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(1.05rem,2vw,1.35rem);
    color:var(--gold-soft);
  }
  .hero-sub{
    margin:14px auto 0;
    max-width:52ch;
    font-size:.98rem;
    line-height:1.65;
    color:var(--text-dark-bg-muted);
  }
  .hero-rule{
    width:64px;
    height:1px;
    background:var(--gold);
    margin:28px auto 0;
  }
  .hero-scene{
    position:relative;
    width:100%;
    height:clamp(220px,42vw,460px);
  }
  .hero-scene .parallax{
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:min(1400px,150%);
    max-width:none;
    filter:brightness(.86) saturate(1.05);
    will-change:transform;
  }
  .hero-scene::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, var(--ink) 0%, rgba(21,12,14,0) 30%, rgba(21,12,14,0) 78%, var(--ink) 100%);
  }
  .hero-badge-strip{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:center;
    gap:clamp(20px,5vw,56px);
    flex-wrap:wrap;
    padding:26px 0 44px;
    font-family:"Archivo", sans-serif;
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--text-dark-bg-muted);
  }
  .hero-badge-strip span{color:var(--gold-soft);}

  @media (prefers-reduced-motion: no-preference){
    @keyframes fadeRise{from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);}}
    @keyframes ringIn{from{opacity:0; transform:translate(-50%,-50%) scale(.72);} to{opacity:.95; transform:translate(-50%,-50%) scale(1);}}
    .hero-inner .eyebrow{animation:fadeRise .8s cubic-bezier(.16,.7,.3,1) .05s both;}
    .hero-mark{animation:fadeRise .9s cubic-bezier(.16,.7,.3,1) .18s both;}
    .hero-ring{animation:ringIn 1.3s cubic-bezier(.16,.7,.3,1) .55s both;}
    .hero-tagline{animation:fadeRise .9s cubic-bezier(.16,.7,.3,1) .4s both;}
    .hero-sub{animation:fadeRise .9s cubic-bezier(.16,.7,.3,1) .52s both;}
    .hero-rule{animation:fadeRise .9s cubic-bezier(.16,.7,.3,1) .64s both;}
  }

  /* ---------- HISTORIA ---------- */
  .historia{
    position:relative;
    padding:clamp(84px,12vw,148px) 0;
    border-top:1px solid var(--rule);
    background-size:cover;
    background-position:center;
    isolation:isolate;
  }
  .historia::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(158deg, rgba(21,12,14,.95), rgba(21,12,14,.9) 42%, rgba(61,15,22,.86));
    z-index:-1;
  }
  .historia-copy{max-width:680px; margin:0 auto;}
  .historia-copy h2{font-size:clamp(1.95rem,3.6vw,2.7rem); margin:14px 0 22px; max-width:16ch;}
  .historia-copy p{font-size:1.05rem; line-height:1.8; color:var(--text-dark-bg); margin:0 0 18px;}
  .historia-copy p:first-of-type::first-letter{
    font-family:"Fraunces", serif;
    font-weight:600;
    font-size:3.4em;
    float:left;
    line-height:.82;
    padding:.05em .09em 0 0;
    color:var(--gold-soft);
  }

  .timeline{
    margin-top:clamp(50px,7vw,72px);
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:28px;
    counter-reset:step;
  }
  .timeline li{
    list-style:none;
    position:relative;
    padding-top:52px;
  }
  .timeline li::before{
    counter-increment:step;
    content:counter(step);
    position:absolute;
    top:0; left:0;
    width:38px; height:38px;
    border:1px solid var(--gold);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-family:"Fraunces", serif;
    font-weight:600;
    font-size:.95rem;
    color:var(--gold-soft);
    background:var(--ink);
  }
  .timeline li::after{
    content:"";
    position:absolute;
    top:19px; left:38px;
    width:calc(100% - 38px);
    height:1px;
    background:linear-gradient(90deg, var(--gold), transparent);
  }
  .timeline li:last-child::after{display:none;}
  .timeline .t-year{
    display:block;
    font-family:"Archivo", sans-serif;
    font-size:.72rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gold-soft);
    margin-bottom:6px;
  }
  .timeline .t-body{
    font-size:.92rem;
    line-height:1.55;
    color:var(--text-dark-bg-muted);
  }

  .quote-card{
    max-width:680px;
    margin:clamp(50px,7vw,72px) auto 0;
    border-top:1px solid var(--gold);
    border-bottom:1px solid var(--gold);
    padding:34px 0;
    text-align:left;
  }
  .quote-card .line1{
    font-family:"Fraunces", serif;
    font-weight:500;
    font-size:clamp(1.5rem,3vw,2rem);
    color:var(--text-dark-bg);
  }
  .quote-card .line2{
    font-family:"Fraunces", serif;
    font-style:italic;
    font-weight:400;
    font-size:clamp(1.5rem,3vw,2rem);
    color:var(--gold-soft);
    margin-top:6px;
  }
  .quote-card .note{
    margin-top:22px;
    font-family:"Archivo", sans-serif;
    font-size:.78rem;
    letter-spacing:.06em;
    color:var(--text-dark-bg-muted);
    line-height:1.6;
  }

  /* ---------- TRUST CHIPS ---------- */
  .trust{padding:clamp(60px,9vw,96px) 0; border-top:1px solid var(--rule);}
  .trust-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:clamp(24px,4vw,36px);
  }
  .trust-item{padding-top:20px; border-top:1px solid var(--gold);}
  .trust-item h4{font-size:1.12rem; margin-bottom:9px; color:var(--text-dark-bg);}
  .trust-item p{margin:0; font-size:.9rem; line-height:1.6; color:var(--text-dark-bg-muted);}

  /* ---------- VINOS ---------- */
  .vinos{padding:clamp(68px,9vw,112px) 0 clamp(20px,6vw,40px); border-top:1px solid var(--rule);}

  .wine-row{
    display:grid;
    grid-template-columns:.85fr 1.15fr;
    gap:0;
    margin-bottom:clamp(28px,4vw,40px);
    border-radius:4px;
    overflow:hidden;
  }
  .wine-row.reverse{grid-template-columns:1.15fr .85fr;}
  .wine-row.reverse .wine-figure{order:2;}
  .wine-row.reverse .wine-content{order:1;}

  .wine-figure{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:clamp(30px,5vw,50px) 20px;
    min-height:340px;
    overflow:hidden;
  }
  .wine-figure::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    border-radius:50%;
    filter:blur(10px);
  }
  .wine-figure img{
    position:relative;
    z-index:1;
    height:clamp(260px,32vw,400px);
    width:auto;
    filter:drop-shadow(0 24px 30px rgba(0,0,0,.45));
    transition:transform .5s cubic-bezier(.16,.7,.3,1), filter .5s ease;
  }
  .wine-row:hover .wine-figure img{transform:translateY(-8px) scale(1.035);}

  .wine-content{
    padding:clamp(34px,5vw,58px);
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:15px;
  }
  .wine-content .eyebrow{margin-bottom:2px;}
  .wine-name{font-size:clamp(1.7rem,3vw,2.3rem); line-height:1.12;}
  .wine-type{
    display:block;
    font-family:"Fraunces", serif;
    font-style:italic;
    font-weight:400;
    font-size:.62em;
    margin-top:4px;
  }
  .wine-desc{font-size:1rem; line-height:1.7; max-width:48ch;}

  .meta-row{display:flex; flex-wrap:wrap; gap:24px 34px;}
  .meta-label{
    display:block;
    font-family:"Archivo", sans-serif;
    font-size:.68rem;
    letter-spacing:.12em;
    text-transform:uppercase;
    opacity:.68;
    margin-bottom:4px;
  }
  .meta-value{font-family:"Fraunces", serif; font-style:italic; font-size:.98rem;}
  .meta-value a{color:inherit; text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; transition:color .2s ease;}
  .meta-value a:hover{color:var(--wine-bright);}
  .on-dark .meta-value a:hover,.on-wine .meta-value a:hover{color:var(--gold-soft);}

  .varietal{margin-top:2px;}
  .varietal-bar{display:flex; width:100%; height:7px; border-radius:4px; overflow:hidden;}
  .varietal-bar span{display:block; height:100%;}
  .varietal-legend{
    display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:10px;
    font-family:"Archivo", sans-serif; font-size:.74rem; letter-spacing:.05em; text-transform:uppercase;
  }
  .varietal-legend li{list-style:none; display:flex; align-items:center; gap:7px;}
  .varietal-legend i{width:9px;height:9px;border-radius:50%;display:inline-block;}

  .aging{margin-top:2px;}
  .aging-label{
    font-family:"Archivo", sans-serif; font-size:.72rem; letter-spacing:.14em;
    text-transform:uppercase; margin-bottom:9px; display:block;
  }
  .aging-track{display:flex; width:100%; height:5px; border-radius:3px; overflow:hidden; background:rgba(255,255,255,.08);}
  .aging-track span{display:block; height:100%;}
  .aging-keys{display:flex; justify-content:space-between; margin-top:8px; font-family:"Archivo", sans-serif; font-size:.72rem; letter-spacing:.03em;}

  .awards{display:flex; flex-wrap:wrap; gap:22px; margin-top:4px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12);}
  .on-light .awards{border-top:1px solid rgba(36,21,25,.14);}
  .award{display:flex; align-items:center; gap:11px;}
  .award img{width:38px;height:38px;border-radius:50%;flex:none; transition:transform .3s ease;}
  .award:hover img{transform:rotate(-8deg) scale(1.08);}
  .award .score{font-family:"Fraunces", serif; font-weight:600; font-size:1.05rem; line-height:1.05;}
  .award .source{font-family:"Archivo", sans-serif; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; opacity:.72;}

  .on-light{background:var(--bone); color:var(--text-light-bg);}
  .on-light .wine-name,.on-light h2,.on-light h3{color:var(--text-light-bg);}
  .on-light .wine-desc{color:#3c2e28;}
  .on-light .wine-type{color:var(--wine);}
  .on-light .award .source{color:var(--text-light-bg-muted);}
  .on-light .aging-keys,.on-light .varietal-legend,.on-light .meta-label{color:var(--text-light-bg-muted);}
  .on-light .wine-figure::before{background:radial-gradient(circle, rgba(124,31,46,.14), transparent 70%);}

  .on-dark{background:linear-gradient(155deg, var(--ink-2), var(--ink-3));}
  .on-dark .wine-desc{color:var(--text-dark-bg);}
  .on-dark .aging-keys,.on-dark .varietal-legend{color:var(--text-dark-bg-muted);}
  .on-dark .wine-figure::before{background:radial-gradient(circle, rgba(182,146,79,.16), transparent 70%);}

  .on-wine{background:radial-gradient(140% 120% at 15% 0%, var(--wine-deep) 0%, var(--ink-2) 55%, var(--ink-3) 100%);}
  .on-wine .wine-desc{color:var(--text-dark-bg);}
  .on-wine .aging-keys,.on-wine .varietal-legend{color:var(--text-dark-bg-muted);}
  .on-wine .wine-figure::before{background:radial-gradient(circle, rgba(194,51,73,.22), transparent 70%);}

  /* ---------- ESTUCHE (gift box) ---------- */
  .estuche{padding:clamp(70px,10vw,112px) 0; border-top:1px solid var(--rule); background:var(--ink-4);}
  .estuche-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,80px); align-items:center;}
  .estuche-copy h2{font-size:clamp(1.95rem,3.6vw,2.6rem); margin:14px 0 18px; max-width:15ch;}
  .estuche-copy p{font-size:1.03rem; line-height:1.75; color:var(--text-dark-bg-muted); max-width:48ch; margin:0 0 22px;}
  .estuche-tags{display:flex; flex-wrap:wrap; gap:10px 14px; margin:0 0 28px;}
  .estuche-tags span{
    font-family:"Archivo", sans-serif; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--gold-soft); border:1px solid rgba(182,146,79,.4); border-radius:20px; padding:7px 14px;
  }
  .estuche-cta{
    display:inline-block; padding:15px 24px; background:var(--wine); border:1px solid var(--wine-bright);
    color:var(--text-dark-bg); text-decoration:none; font-family:"Archivo", sans-serif; font-size:.8rem;
    letter-spacing:.12em; text-transform:uppercase; border-radius:2px; transition:background .2s ease, transform .2s ease;
  }
  .estuche-cta:hover{background:var(--wine-bright); transform:translateY(-2px);}

  .giftbox-scene{position:relative; display:flex; justify-content:center; padding:30px 10px 0;}
  .giftbox-photo{width:min(440px,100%);}
  .giftbox-stack{position:relative; transform:rotate(-1.1deg); filter:drop-shadow(0 34px 46px rgba(0,0,0,.5));}

  /* open lid, seen from the front — brand printed inside the flap */
  .gb-lid{
    position:relative;
    height:clamp(96px,15vw,124px);
    border-radius:9px 9px 3px 3px;
    background:linear-gradient(152deg, #271619 0%, #130b0c 60%, #0a0506 100%);
    border:1px solid rgba(182,146,79,.32);
    border-bottom:none;
    box-shadow:inset 0 -22px 30px -12px rgba(0,0,0,.55), inset 0 10px 18px -6px rgba(255,255,255,.03);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  }
  .gb-lid img{width:clamp(24px,4.5vw,32px); height:auto; opacity:.92;}
  .gb-lid-word{
    font-family:"Fraunces", serif; font-weight:600; letter-spacing:.22em;
    font-size:clamp(.72rem,2vw,.92rem); color:rgba(239,228,209,.55);
  }
  .gb-lid-tag{
    font-family:"Fraunces", serif; font-style:italic; font-size:.68rem;
    color:rgba(182,146,79,.55); letter-spacing:.02em;
  }
  .gb-hinge{height:5px; background:linear-gradient(180deg, rgba(0,0,0,.6), transparent);}

  /* base tray holding the three bottles, with a branded front band */
  .gb-base{
    position:relative;
    border-radius:3px 3px 10px 10px;
    background:radial-gradient(130% 160% at 22% -15%, #2a1a1d 0%, #140b0c 55%, #0a0505 100%);
    border:1px solid rgba(182,146,79,.4);
    border-top:none;
    padding:clamp(20px,4vw,30px) 18px clamp(46px,8vw,54px);
    min-height:clamp(190px,26vw,250px);
    display:flex; align-items:flex-end; justify-content:center;
  }
  .gb-base::before{
    content:"";
    position:absolute; left:0; right:0; top:8%; bottom:clamp(46px,8vw,54px);
    background-image:linear-gradient(90deg,
      transparent calc(33.33% - 1px), rgba(0,0,0,.4) calc(33.33% - 1px), rgba(0,0,0,.4) calc(33.33% + 1px), transparent calc(33.33% + 1px),
      transparent calc(66.66% - 1px), rgba(0,0,0,.4) calc(66.66% - 1px), rgba(0,0,0,.4) calc(66.66% + 1px), transparent calc(66.66% + 1px));
    opacity:.7;
    pointer-events:none;
  }
  .gb-band{
    position:absolute; left:0; right:0; bottom:0; height:clamp(38px,7vw,48px);
    background:#0a0506; border-top:1px solid rgba(182,146,79,.35);
    border-radius:0 0 9px 9px;
    display:flex; align-items:center; justify-content:center;
    font-family:"Fraunces", serif; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
    font-size:clamp(.66rem,2.1vw,.86rem); color:var(--bone);
  }
  .giftbox-bottles{
    position:relative; z-index:2;
    display:flex; align-items:flex-end; justify-content:center;
    width:100%;
  }
  .giftbox-bottles img{
    height:clamp(128px,19vw,196px);
    width:auto;
    filter:drop-shadow(0 16px 16px rgba(0,0,0,.55));
    margin:0 -14px;
    transition:transform .4s cubic-bezier(.16,.7,.3,1);
  }
  .giftbox-bottles img:nth-child(2){height:clamp(144px,21vw,220px); z-index:2;}
  .giftbox-scene:hover .giftbox-bottles img{transform:translateY(-6px);}
  .giftbox-scene:hover .giftbox-bottles img:nth-child(2){transform:translateY(-10px);}
  .giftbox-shadow{
    position:relative; z-index:0;
    width:70%; height:20px; margin:6px auto 0; border-radius:50%;
    background:radial-gradient(closest-side, rgba(0,0,0,.5), transparent 75%);
    filter:blur(2px);
  }

  /* ---------- RECONOCIMIENTOS ---------- */
  .reconocimientos{
    position:relative; padding:clamp(76px,11vw,120px) 0; border-top:1px solid var(--rule);
    background-size:cover; background-position:center; isolation:isolate;
  }
  .reconocimientos::before{
    content:""; position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(21,12,14,.95), rgba(21,12,14,.9) 45%, rgba(61,15,22,.86));
    z-index:-1;
  }
  .reconocimientos-copy{max-width:640px; margin:0 auto; text-align:center;}
  .reconocimientos-copy p{font-size:1.03rem; line-height:1.75; color:var(--text-dark-bg-muted); margin:0;}
  .critics-row{
    margin-top:clamp(46px,7vw,64px);
    display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,4vw,36px);
  }
  .critic-card{text-align:center; padding:clamp(24px,3vw,32px) 18px; border:1px solid rgba(182,146,79,.22); border-radius:6px; background:rgba(20,12,14,.4);}
  .critic-card img{width:64px; height:64px; border-radius:50%; margin:0 auto 16px;}
  .critic-card h4{font-size:1.02rem; margin-bottom:6px; color:var(--text-dark-bg);}
  .critic-card p{margin:0; font-size:.84rem; line-height:1.55; color:var(--text-dark-bg-muted);}

  /* ---------- TIENDA ---------- */
  .tienda{padding:clamp(66px,9vw,100px) 0; border-top:1px solid var(--rule); background:var(--ink-4);}
  .tienda-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,3vw,24px);}
  .shop-card{
    background:linear-gradient(160deg, var(--ink-2), var(--ink-3));
    border:1px solid rgba(182,146,79,.18); border-radius:6px;
    padding:26px 18px 24px; text-align:center;
    display:flex; flex-direction:column; align-items:center;
    transition:transform .35s cubic-bezier(.16,.7,.3,1), border-color .35s ease;
  }
  .shop-card:hover{transform:translateY(-6px); border-color:rgba(182,146,79,.5);}
  .shop-figure{height:168px; display:flex; align-items:flex-end; justify-content:center; margin-bottom:16px;}
  .shop-figure img{height:100%; width:auto; filter:drop-shadow(0 14px 16px rgba(0,0,0,.5));}
  .shop-name{font-family:"Fraunces", serif; font-weight:600; font-size:1.02rem; color:var(--text-dark-bg); margin-bottom:3px; line-height:1.2;}
  .shop-type{font-family:"Fraunces", serif; font-style:italic; font-size:.8rem; color:var(--text-dark-bg-muted); margin-bottom:14px;}
  .shop-price{
    display:inline-block; font-family:"Archivo", sans-serif; font-size:.66rem; letter-spacing:.13em; text-transform:uppercase;
    color:var(--gold-soft); border:1px solid rgba(182,146,79,.4); border-radius:20px; padding:6px 14px; margin-bottom:16px;
  }
  .shop-cta{
    font-family:"Archivo", sans-serif; font-size:.72rem; letter-spacing:.1em; text-transform:uppercase;
    color:var(--text-dark-bg); text-decoration:none; border-bottom:1px solid var(--gold); padding-bottom:2px;
    transition:color .2s ease, border-color .2s ease;
  }
  .shop-cta:hover{color:var(--gold-soft); border-color:var(--gold-soft);}
  .shop-figure--box{align-items:stretch;}
  .mini-box{
    width:100%; height:100%; border-radius:6px;
    background:radial-gradient(120% 150% at 25% -10%, #2a1a1d 0%, #120a0b 55%, #0a0505 100%);
    border:1px solid rgba(182,146,79,.4);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
    box-shadow:0 14px 20px rgba(0,0,0,.45);
  }
  .mini-box-ring{width:32%; height:auto; opacity:.92; filter:drop-shadow(0 0 10px rgba(124,31,46,.35));}
  .mini-box-word{font-family:"Fraunces", serif; font-weight:600; letter-spacing:.16em; font-size:.8rem; color:var(--text-dark-bg);}

  /* ---------- COMO TRABAJAMOS ---------- */
  .proceso{padding:clamp(66px,9vw,100px) 0; border-top:1px solid var(--rule);}
  .proceso-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(28px,4vw,40px); counter-reset:proc;}
  .proceso-item{position:relative; padding-left:56px;}
  .proceso-item::before{
    counter-increment:proc; content:"0" counter(proc);
    position:absolute; left:0; top:-4px;
    font-family:"Fraunces", serif; font-weight:600; font-size:1.7rem; color:var(--gold);
    opacity:.85;
  }
  .proceso-item h4{font-size:1.12rem; margin-bottom:8px;}
  .proceso-item p{margin:0; font-size:.92rem; line-height:1.6; color:var(--text-dark-bg-muted);}

  /* ---------- CONTACTO ---------- */
  .contacto{padding:clamp(80px,10vw,136px) 0; border-top:1px solid var(--rule);}
  .contacto-grid{display:grid; grid-template-columns:1fr 1fr; gap:clamp(40px,6vw,90px); align-items:center;}
  .contacto h2{font-size:clamp(2rem,4vw,2.8rem); margin:14px 0 18px; max-width:12ch;}
  .contacto p{font-size:1.03rem; line-height:1.7; color:var(--text-dark-bg-muted); max-width:44ch; margin:0 0 10px;}
  .contact-card{background:var(--ink-2); border:1px solid rgba(182,146,79,.22); border-radius:4px; padding:clamp(30px,4vw,44px);}
  .contact-row{display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.09);}
  .contact-row:first-child{padding-top:0;}
  .contact-row:last-of-type{border-bottom:none;}
  .contact-row dt{font-family:"Archivo", sans-serif; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-dark-bg-muted); margin:0;}
  .contact-row dd{margin:0; text-align:right; font-family:"Fraunces", serif; font-size:1.02rem; color:var(--text-dark-bg);}
  .contact-row a{text-decoration:none;}
  .contact-row a:hover{color:var(--gold-soft);}
  .cta-row{display:flex; flex-direction:column; gap:12px; margin-top:26px;}
  .wa-btn,.ghost-btn{
    display:block; text-align:center; padding:15px 20px;
    text-decoration:none; font-family:"Archivo", sans-serif; font-size:.82rem;
    letter-spacing:.12em; text-transform:uppercase; border-radius:2px; transition:background .2s ease, color .2s ease;
  }
  .wa-btn{background:var(--wine); border:1px solid var(--wine-bright); color:var(--text-dark-bg);}
  .wa-btn:hover{background:var(--wine-bright);}
  .ghost-btn{background:transparent; border:1px solid rgba(182,146,79,.5); color:var(--gold-soft);}
  .ghost-btn:hover{background:rgba(182,146,79,.12); color:var(--bone);}

  /* ---------- FOOTER ---------- */
  footer{border-top:1px solid var(--rule); padding:clamp(36px,6vw,54px) 0;}
  .footer-inner{display:flex; align-items:flex-start; justify-content:space-between; gap:24px; flex-wrap:wrap;}
  .footer-word{font-family:"Fraunces", serif; font-weight:600; letter-spacing:.1em; font-size:1.05rem;}
  .footer-tag{font-family:"Archivo", sans-serif; font-size:.72rem; letter-spacing:.06em; color:var(--text-dark-bg-muted); line-height:1.7;}
  .footer-legal{display:flex; gap:18px; flex-wrap:wrap; margin-top:14px;}
  .footer-legal button{
    background:none; border:none; padding:0; cursor:pointer;
    font-family:"Archivo", sans-serif; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase;
    color:var(--text-dark-bg-muted); text-decoration:underline; text-underline-offset:3px;
  }
  .footer-legal button:hover{color:var(--gold-soft);}
  .footer-right{text-align:right;}

  /* ---------- COOKIE BANNER ---------- */
  .cookie-banner{
    position:fixed; left:16px; right:16px; bottom:16px; z-index:80;
    max-width:640px; margin:0 auto;
    background:var(--ink-2); border:1px solid rgba(182,146,79,.35); border-radius:6px;
    padding:20px 22px; box-shadow:0 20px 50px rgba(0,0,0,.5);
    display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px;
  }
  .cookie-banner[hidden]{display:none;}
  .cookie-banner p{margin:0; font-size:.86rem; line-height:1.55; color:var(--text-dark-bg-muted); flex:1 1 260px;}
  .cookie-banner a{color:var(--gold-soft); text-decoration:underline; text-underline-offset:2px; cursor:pointer;}
  .cookie-actions{display:flex; gap:10px; flex:0 0 auto;}
  .cookie-btn{
    padding:10px 16px; border-radius:2px; font-family:"Archivo", sans-serif; font-size:.72rem;
    letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border:1px solid transparent;
  }
  .cookie-btn.primary{background:var(--wine); border-color:var(--wine-bright); color:var(--text-dark-bg);}
  .cookie-btn.primary:hover{background:var(--wine-bright);}
  .cookie-btn.ghost{background:transparent; border-color:rgba(182,146,79,.4); color:var(--text-dark-bg-muted);}
  .cookie-btn.ghost:hover{color:var(--gold-soft);}

  /* ---------- MODAL ---------- */
  .modal-overlay{
    position:fixed; inset:0; z-index:90; background:rgba(10,5,6,.72);
    display:flex; align-items:center; justify-content:center; padding:24px;
    backdrop-filter:blur(3px);
  }
  .modal-overlay[hidden]{display:none;}
  .modal-card{
    position:relative; max-width:600px; width:100%; max-height:82vh; overflow-y:auto;
    background:var(--ink-2); border:1px solid rgba(182,146,79,.3); border-radius:6px;
    padding:clamp(28px,4vw,42px);
  }
  .modal-card h3{font-size:1.5rem; margin-bottom:18px; padding-right:30px;}
  .modal-body p{font-size:.92rem; line-height:1.75; color:var(--text-dark-bg-muted); margin:0 0 16px;}
  .modal-body p:last-child{margin-bottom:0;}
  .modal-body a{color:var(--gold-soft);}
  .modal-close{
    position:absolute; top:18px; right:18px; width:32px; height:32px; border-radius:50%;
    border:1px solid rgba(182,146,79,.4); background:transparent; color:var(--text-dark-bg);
    font-size:1.1rem; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .modal-close:hover{background:rgba(182,146,79,.15);}

  @media (max-width: 860px){
    .estuche-grid,.contacto-grid{grid-template-columns:1fr;}
    .wine-row,.wine-row.reverse{grid-template-columns:1fr;}
    .wine-row.reverse .wine-figure{order:1;}
    .wine-row.reverse .wine-content{order:2;}
    .nav-links{display:none;}
    .timeline{grid-template-columns:1fr 1fr;}
    .trust-grid{grid-template-columns:1fr 1fr;}
    .critics-row{grid-template-columns:1fr;}
    .proceso-grid{grid-template-columns:1fr;}
    .footer-inner{flex-direction:column; align-items:flex-start; text-align:left;}
    .footer-right{text-align:left;}
  }
  @media (max-width:560px){
    .timeline{grid-template-columns:1fr;}
    .timeline li::after{display:none;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
  }

  /* Correcciones de compatibilidad, texto y responsive */
  html, body { width:100%; max-width:100%; }
  body { overflow-wrap:break-word; }
  h1,h2,h3,h4,p,dd,dt,a,span { word-break:normal; overflow-wrap:break-word; }
  .wine-row, .estuche-grid, .contacto-grid, .tienda-grid, .trust-grid, .timeline, .critics-row, .proceso-grid { min-width:0; }
  .wine-content, .wine-figure, .contact-card, .estuche-copy { min-width:0; }
  @media (max-width:860px){
    .tienda-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .wrap{padding-left:clamp(18px,5vw,32px);padding-right:clamp(18px,5vw,32px);}
    .contact-row{align-items:flex-start;}
    .contact-row dd{max-width:65%; overflow-wrap:anywhere;}
  }
  @media (max-width:560px){
    .tienda-grid,.trust-grid{grid-template-columns:1fr;}
    .hero-mark{font-size:clamp(2.7rem,18vw,4.6rem);}
    .wine-content{padding:30px 22px;}
    .wine-figure{min-height:280px;}
    .contact-row{flex-direction:column;gap:6px;}
    .contact-row dd{max-width:100%;text-align:left;}
    .cookie-banner{left:10px;right:10px;bottom:10px;padding:16px;}
    .cookie-actions{width:100%;}
    .cookie-btn{flex:1;}
  }


  .awards > a{
    color:inherit;
    text-decoration:none;
    display:inline-block;
  }
  .awards > a .award{height:100%;}
  .critics-row > a{
    color:inherit;
    text-decoration:none;
    display:block;
  }
  .critics-row > a .critic-card{height:100%;}
  .awards > a:focus-visible,
  .critics-row > a:focus-visible{
    outline:2px solid var(--gold-soft);
    outline-offset:4px;
  }

/* --- Portada: armonización de las dos imágenes --- */
.hero-scene{
  overflow:hidden;
  isolation:isolate;
}
.hero-scene img{
  object-fit:cover;
  object-position:center;
}

/* Suaviza la unión visual de las imágenes sin modificar el contenido */
.hero-scene::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(21,12,14,.10) 0%,
      transparent 18%,
      transparent 43%,
      rgba(21,12,14,.16) 50%,
      transparent 57%,
      transparent 82%,
      rgba(21,12,14,.10) 100%);
}

/* Ambas imágenes reciben exactamente el mismo tratamiento */
.hero-scene img,
.hero-scene .parallax{
  filter:brightness(.84) saturate(.96) contrast(1.03);
}

/* Mantiene la transición superior/inferior ya existente por encima */
.hero-scene::after{
  z-index:2;
}

/* --- Historia: SOLO encuadre, sin modificar el texto --- */
#historia .historia-copy{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}

#historia .historia-copy .historia-title-fixed{
  max-width:19ch;
  margin:14px 0 22px;
  line-height:1.12;
  text-wrap:balance;
}

#historia .historia-copy p{
  max-width:680px;
}

#historia .timeline{
  padding-left:0;
  margin-left:0;
  margin-right:0;
  width:100%;
}

@media (max-width:860px){
  #historia .historia-copy .historia-title-fixed{
    max-width:18ch;
  }
}

@media (max-width:560px){
  #historia .historia-copy .historia-title-fixed{
    max-width:100%;
  }
}

/* --- Estuche: imagen sin fondo blanco + miniatura real en tienda --- */
.giftbox-scene > img{
  background:transparent !important;
  width:min(520px,100%);
  height:auto;
  object-fit:contain;
}
.shop-figure--box{
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.shop-figure--box .estuche-shop-img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:none;
}
.shop-type em{
  display:block;
  margin-top:3px;
  font-style:italic;
}


/* ---- next original style block ---- */


.exact-estuche{background:transparent!important;padding:0!important;box-shadow:none!important;overflow:visible!important;display:flex!important;flex-direction:column;align-items:center;width:100%;}
.ebox-lid{width:88%;aspect-ratio:1.75/1;background:#090909;border:1px solid #2b2b2b;border-radius:7px 7px 2px 2px;position:relative;box-shadow:inset 0 0 0 10px #111;display:flex;align-items:center;justify-content:center;}
.exact-mota{width:108px;height:108px;border:8px solid #b51f3c;border-radius:50%;position:relative;opacity:.98;filter:saturate(1.25)}
.exact-mota:after{content:'';position:absolute;width:15px;height:15px;background:#b51f3c;border-radius:50%;right:-13px;top:-12px;box-shadow:12px 18px 0 -4px #b51f3c}
.ebox-base{width:94%;height:360px;background:#080808;border:1px solid #292929;border-radius:2px 2px 8px 8px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:18px 18px 62px;position:relative;box-shadow:inset 0 0 0 10px #111;}
.bslot{background:#0c0c0c;border-left:3px solid #1b1b1b;border-right:3px solid #1b1b1b;display:flex;align-items:center;justify-content:center;overflow:hidden}
.bslot img{height:100%;max-height:290px;width:auto!important;max-width:92%;object-fit:contain!important;filter:none!important;transform:none!important}
.ebox-brand{position:absolute;left:0;right:0;bottom:0;height:55px;background:#080808;border-top:1px solid #222;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:30px;letter-spacing:.22em}
@media(max-width:700px){.ebox-base{height:280px;padding:12px 12px 50px;gap:6px}.bslot img{max-height:220px}.ebox-brand{height:44px;font-size:22px}.exact-mota{width:76px;height:76px;border-width:6px}}


/* --- Selección de tres botellas (sin caja) --- */
.three-bottle-scene{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:clamp(10px,2vw,22px);
  width:100%;
  padding:6px 0;
  background:transparent !important;
}
.three-bottle-scene .bottle-slot{
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.three-bottle-scene .bottle-slot img{
  display:block;
  width:auto;
  height:clamp(280px,38vw,460px);
  max-width:100%;
  object-fit:contain;
  filter:none !important;
}
.three-bottle-scene .bottle-slot.nube img{height:clamp(276px,37vw,452px);}
.three-bottle-scene .bottle-slot.valde img{height:clamp(286px,38vw,462px);}
.three-bottle-scene .bottle-slot.reserva{
  overflow:hidden;
}
.three-bottle-scene .bottle-slot.reserva img{
  height:clamp(288px,39vw,468px);
  max-width:none;
  width:260%;
  margin-left:-80%;
}

.shop-figure--trio{
  height:178px;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
}
.shop-figure--trio .three-bottle-mini{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  width:100%;
  height:100%;
}
.shop-figure--trio .mini-slot{
  flex:1 1 0;
  min-width:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
}
.shop-figure--trio .mini-slot img{
  display:block;
  width:auto;
  height:100%;
  max-width:100%;
  object-fit:contain;
  filter:none !important;
}
.shop-figure--trio .mini-slot.reserva img{
  max-width:none;
  width:260%;
  height:auto;
  max-height:100%;
  margin-left:-80%;
}


/* ---- next original style block ---- */


/* Ajuste final: las tres botellas originales, recortadas por su transparencia y sin deformación */
.three-bottle-scene{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:clamp(20px,3vw,34px) !important;
  width:100% !important;
  padding:10px 0 2px !important;
  background:transparent !important;
  overflow:visible !important;
}
.three-bottle-scene .bottle-slot{
  flex:0 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:visible !important;
}
.three-bottle-scene .bottle-slot img,
.three-bottle-scene .bottle-slot.reserva img,
.three-bottle-scene .bottle-slot.nube img,
.three-bottle-scene .bottle-slot.valde img{
  display:block !important;
  height:clamp(330px,42vw,500px) !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  transform:none !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 20px rgba(0,0,0,.28)) !important;
}

.shop-figure--trio{
  height:180px !important;
  width:100% !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:visible !important;
}
.shop-figure--trio .three-bottle-mini{
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  gap:8px !important;
  width:100% !important;
  height:100% !important;
}
.shop-figure--trio .mini-slot,
.shop-figure--trio .mini-slot.reserva{
  flex:0 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:visible !important;
}
.shop-figure--trio .mini-slot img,
.shop-figure--trio .mini-slot.reserva img{
  display:block !important;
  height:168px !important;
  width:auto !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  transform:none !important;
  object-fit:contain !important;
  filter:drop-shadow(0 10px 12px rgba(0,0,0,.28)) !important;
}
@media(max-width:860px){
  .three-bottle-scene{gap:14px !important;}
  .three-bottle-scene .bottle-slot img,
  .three-bottle-scene .bottle-slot.reserva img,
  .three-bottle-scene .bottle-slot.nube img,
  .three-bottle-scene .bottle-slot.valde img{height:clamp(250px,55vw,390px) !important;}
}
@media(max-width:560px){
  .three-bottle-scene{gap:8px !important;}
  .three-bottle-scene .bottle-slot img,
  .three-bottle-scene .bottle-slot.reserva img,
  .three-bottle-scene .bottle-slot.nube img,
  .three-bottle-scene .bottle-slot.valde img{height:clamp(210px,58vw,310px) !important;}
  .shop-figure--trio .mini-slot img,
  .shop-figure--trio .mini-slot.reserva img{height:150px !important;}
}


/* ---- next original style block ---- */


#estuche .three-bottle-scene{
  gap:clamp(16px,2.4vw,28px) !important;
  padding:8px 0 0 !important;
  max-width:460px;
  margin:0 auto;
}
#estuche .three-bottle-scene .bottle-slot,
#estuche .three-bottle-scene .bottle-slot.reserva{
  overflow:visible !important;
}
#estuche .three-bottle-scene .bottle-slot img,
#estuche .three-bottle-scene .bottle-slot.nube img,
#estuche .three-bottle-scene .bottle-slot.reserva img,
#estuche .three-bottle-scene .bottle-slot.valde img{
  height:clamp(235px,31vw,360px) !important;
  width:auto !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:contain !important;
}
@media (max-width: 860px){
  #estuche .three-bottle-scene{
    max-width:360px;
    gap:12px !important;
  }
  #estuche .three-bottle-scene .bottle-slot img,
  #estuche .three-bottle-scene .bottle-slot.nube img,
  #estuche .three-bottle-scene .bottle-slot.reserva img,
  #estuche .three-bottle-scene .bottle-slot.valde img{
    height:clamp(190px,45vw,280px) !important;
  }
}
