@font-face{font-family:Anton;src:url(fonts/Anton-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:Gloock;src:url(fonts/Gloock-Regular.ttf) format("truetype");font-display:swap}
@font-face{font-family:Inter;src:url(fonts/Inter.ttf) format("truetype");font-weight:100 900;font-display:swap}
:root{
  --sugar:#f3eee6;--paper:#fbf8f2;--nar:#de873e;--nar2:#dd8856;--terra:#b15e3a;
  --olive:#5b653b;--beige:#dfcfa9;--ink:#2a1d15;--gar:#b71928;--gar2:#e8293b;--lab1:#ec6842;
  --wrap:1200px;--r:28px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
section[id],#naranjo,#garnacha{scroll-margin-top:72px}
body{background:var(--sugar);color:var(--ink);font:400 17px/1.55 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 15px/1 Inter;letter-spacing:.02em;padding:16px 26px;border-radius:999px;text-decoration:none;border:2px solid var(--ink);cursor:pointer;transition:transform .15s,background .15s,color .15s}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--ink);color:var(--sugar)}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--ink);color:var(--sugar)}
.btn-cream{background:var(--sugar);color:var(--olive);border-color:var(--sugar)}
.btn-sm{padding:11px 18px;font-size:13px}

/* age gate */
.gate{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--sugar) url(assets/blobs_nar.webp) center/cover;transition:opacity .4s}
.gate.out{opacity:0}
.gate-card{background:var(--paper);border:3px solid var(--ink);border-radius:var(--r);padding:40px 30px 28px;max-width:440px;width:100%;text-align:center;box-shadow:10px 10px 0 var(--ink)}
.gate-wm{width:78%;margin:0 auto 18px}
.gate-q{font:400 34px/1.1 Gloock,serif;color:var(--terra);margin-bottom:22px}
.gate-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.gate-no-msg{margin-top:16px;color:var(--olive);font-weight:600}
.gate-small{margin-top:22px;font-size:12px;color:#6e6255}

/* nav */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 22px;background:rgba(243,238,230,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.nav-logo img{height:26px;width:auto}
.nav-links{display:none;gap:30px}
.nav-links a{text-decoration:none;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.nav-links a:hover{color:var(--terra)}
.nav-end{display:flex;align-items:center;gap:14px;flex-shrink:0}
.nav-ig{font-weight:700;font-size:12px;letter-spacing:.08em;text-decoration:none;text-transform:lowercase}
.nav-ig:hover{color:var(--terra)}

/* hero */
.hero{position:relative;overflow:hidden;border-bottom:2px solid var(--ink)}
.hero-bg{position:absolute;inset:0;background:url(assets/blobs_nar.webp) center/cover;opacity:.95}
.hero-inner{position:relative;max-width:var(--wrap);margin:0 auto;padding:36px 22px 0;display:grid;gap:10px}
.hero-copy{background:var(--paper);border:2px solid var(--ink);border-radius:var(--r);padding:26px 24px 28px;box-shadow:8px 8px 0 var(--ink)}
.kicker{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:12px}
h1{font:400 clamp(64px,17vw,138px)/.9 Anton,Impact,sans-serif;text-transform:uppercase;color:var(--nar);letter-spacing:.005em}
.outline{color:transparent;-webkit-text-stroke:2px var(--nar)}
.hero-sub{font:400 clamp(34px,8vw,60px)/1 Gloock,serif;color:var(--terra);margin:10px 0 22px}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap}
.hero-bottles{display:flex;justify-content:center;align-items:flex-end;gap:4%;padding-top:24px;margin-bottom:-8%}
.hero-bottles .bottle{--w:min(38vw,210px)}
.hero-bottles .b-gar{transform:translateY(6%) rotate(4deg)}
.hero-bottles .b-nar{transform:rotate(-3deg)}

/* bottle */
.bottle{--w:200px;width:var(--w);aspect-ratio:200/700;position:relative;background:url(assets/bottle_nar.svg) center/contain no-repeat;filter:drop-shadow(10px 14px 0 rgba(42,29,21,.9))}
.b-gar,.wine-gar .bottle{background-image:url(assets/bottle_gar.svg)}
.bottle img{position:absolute;left:7%;width:86%;top:47%;border-radius:3px}
.bottle::after{content:"";position:absolute;left:7%;width:86%;top:47%;aspect-ratio:680/880;background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(255,255,255,.12) 25%,rgba(255,255,255,0) 45%,rgba(0,0,0,.25));border-radius:3px;pointer-events:none}

/* marquee */
.marquee{background:var(--ink);color:var(--sugar);overflow:hidden;white-space:nowrap;border-bottom:2px solid var(--ink)}
.marquee-track{display:inline-flex;gap:26px;padding:14px 0;animation:mq 28s linear infinite;font:400 26px/1 Anton,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.marquee i{font-style:normal;color:var(--nar)}
@keyframes mq{to{transform:translateX(-50%)}}

/* gesture */
.wrap.gesture{padding-top:80px;padding-bottom:30px}
.big-quote{font:400 clamp(30px,6vw,58px)/1.08 Gloock,serif;color:var(--terra);max-width:900px}
.big-quote em{color:var(--olive);font-style:normal;display:block}
.steps{list-style:none;display:grid;gap:14px;margin-top:34px}
.steps li{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:baseline;border-top:2px solid var(--ink);padding-top:14px}
.steps b{font:400 34px/1 Anton;color:transparent;-webkit-text-stroke:1.5px var(--nar);grid-row:span 2}
.steps span{font:400 28px/1.1 Anton;text-transform:uppercase}
.steps small{font-size:15px;color:#5d5045}

/* section titles */
.h2{font:400 clamp(44px,9vw,92px)/.95 Anton,sans-serif;text-transform:uppercase;color:var(--nar);margin-bottom:14px}
.h2 .n{color:transparent;-webkit-text-stroke:2px var(--nar);margin-right:.18em}
.h2.light .n{-webkit-text-stroke-color:var(--nar2)}
.h2.light{color:var(--sugar)}
.lead{font-size:19px;max-width:620px;color:#4a3c31}

/* wines */
.wines{padding:60px 0 30px}
.wine{margin:34px 14px 0;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;background:var(--paper);display:grid;box-shadow:8px 8px 0 var(--ink)}
.wine-art{display:grid;place-items:center;padding:34px 0 30px;background:url(assets/blobs_nar.webp) center/cover;border-bottom:2px solid var(--ink)}
.wine-gar .wine-art{background-image:url(assets/blobs_gar.webp)}
.wine-art .bottle{--w:min(34vw,150px)}
.wine-info{padding:26px 22px 30px}
.wine-type{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--terra)}
.wine h3{font:400 clamp(60px,14vw,110px)/.92 Anton;text-transform:uppercase;color:var(--nar);margin-top:4px}
.wine-gar h3,.wine-gar .wine-type,.wine-gar .limited{color:var(--gar)}
.wine-var{font:400 26px/1.2 Gloock,serif;color:var(--terra);margin:6px 0 4px}
.wine-gar .wine-var{color:#8d1420}
.wine-claim{font-weight:600;color:var(--olive);font-size:18px;margin-bottom:20px}
.specs{display:grid;grid-template-columns:1fr 1fr;border-top:2px solid var(--ink);margin-bottom:18px}
.specs div{padding:12px 10px 12px 0;border-bottom:1px solid rgba(42,29,21,.25)}
.specs div:nth-child(odd){padding-right:12px}
.specs dt{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7a6a5c}
.specs dd{font-size:15px;font-weight:500;line-height:1.35;margin-top:2px}
.limited{font-weight:700;color:var(--terra);margin-bottom:20px;font-size:15px}

/* about */
.about{background:var(--olive);color:var(--sugar);padding:70px 0;margin-top:60px;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.about-grid{display:grid;gap:40px}
.about-big{font:400 clamp(28px,5vw,44px)/1.12 Gloock,serif;margin:6px 0 20px;color:var(--beige)}
.about-copy p+p{margin-top:12px}
.about-copy p{max-width:560px;font-size:18px}
.about-copy p.about-big{font-size:clamp(28px,5vw,44px);max-width:640px}
.sign{font:400 24px/1.2 Gloock,serif!important;color:var(--nar2);margin-top:26px!important}
.about-art{position:relative}
.dog{width:64%;max-width:280px;margin:0 auto 16px;filter:invert(93%) sepia(9%) saturate(400%) hue-rotate(345deg)}
.about-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.about-photos img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:18px;border:2px solid var(--beige)}

/* trade */
.trade{padding:80px 0 40px}
.trade-grid{display:grid;gap:30px;align-items:center}
.ticks{list-style:none;margin-top:22px}
.ticks li{padding:12px 0 12px 34px;border-bottom:1px solid rgba(42,29,21,.2);position:relative;font-weight:500}
.ticks li::before{content:"✺";position:absolute;left:0;color:var(--nar);font-size:20px;top:9px}
.trade-card{background:var(--nar) url(assets/blobs_band.webp) center/cover;border:2px solid var(--ink);border-radius:var(--r);padding:34px 26px;box-shadow:8px 8px 0 var(--ink);color:var(--ink)}
.trade-card>*{background:var(--paper);display:block}
.trade-card{display:grid;gap:0}
.trade-card .trade-q{font:400 46px/1 Gloock,serif;color:var(--terra);padding:24px 22px 8px;border-radius:18px 18px 0 0}
.trade-card p:not(.trade-q){padding:0 22px 20px;font-size:17px}
.trade-card .btn{border-radius:0 0 18px 18px;background:var(--olive);color:var(--sugar);border:0;padding:20px;font-size:17px}

/* where */
.where{padding:60px 0 90px}
.where-grid{display:grid;gap:16px;margin-top:24px}
.where-card{border:2px solid var(--ink);border-radius:22px;padding:24px;background:var(--paper)}
.where-card h4{font:400 30px/1 Anton;text-transform:uppercase;margin-bottom:10px;color:var(--terra)}
.where-card p{margin-bottom:16px}
.where-card.ph{background:repeating-linear-gradient(45deg,var(--paper) 0 14px,#f6efe2 14px 28px);border-style:dashed}
.where-card.ph b{color:var(--gar)}

/* footer */
.foot{position:relative;background:var(--nar);color:var(--sugar);overflow:hidden;border-top:2px solid var(--ink)}
.foot-bg{position:absolute;inset:0;background:url(assets/blobs_band.webp) center/cover;opacity:.35;mix-blend-mode:multiply}
.wrap.foot-inner{position:relative;padding-top:70px;padding-bottom:30px;text-align:center}
.foot-tag{font:400 clamp(28px,5vw,48px)/1.08 Gloock,serif;color:var(--ink);margin-bottom:34px}
.foot-wm{width:min(92%,900px);margin:0 auto 34px;height:auto;display:block}
.foot-row{display:flex;flex-direction:column;gap:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:14px;color:var(--ink)}
.foot-row a{text-decoration:none}
.foot-row a:hover{text-decoration:underline}
.legal{margin-top:28px;font-size:12px;color:var(--ink);opacity:.8}



/* lifestyle / IG medium cards (native portrait, not full-width) */
.life{padding:10px 0 20px}
.life-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:720px;margin:0 auto}
.life-cards figure{margin:0;border:2px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--ink);box-shadow:6px 6px 0 var(--ink)}
.life-cards img{width:100%;height:auto;display:block}
.life-cap{font:600 13px/1.4 Inter;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:16px 0 0;color:var(--ink)}

.shop-head{display:grid;gap:18px;align-items:end;margin-bottom:8px}
.shop-tote{justify-self:start;max-width:240px;width:100%}
.shop-tote img{width:100%;height:auto;border-radius:20px;border:2px solid var(--ink);display:block}

/* instagram */
.ig{padding:50px 0 20px}
.ig .lead a{font-weight:700;color:var(--terra)}
.ig-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:22px 0 22px}
.ig-grid a{display:block;overflow:hidden;border:2px solid var(--ink);border-radius:14px;aspect-ratio:1;background:var(--ink)}
.ig-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.ig-grid a:hover img{transform:scale(1.04)}

/* shop */
.shop{padding:70px 0 50px;border-top:2px solid var(--ink)}
.tier-block{margin:28px 0 32px}
.tier-title{font:400 clamp(28px,5vw,44px)/1 Anton,sans-serif;text-transform:uppercase;color:var(--terra);margin-bottom:6px}
.tier-intro{margin-bottom:16px;color:#4a3c31}
.tiers{display:grid;gap:12px}
.tier{border:2px solid var(--ink);border-radius:22px;padding:18px 18px 16px;background:var(--paper)}
.tier-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.tier-price{font:400 34px/1 Anton,sans-serif;margin-top:6px}
.tier-price span{font:600 14px/1 Inter;letter-spacing:0;text-transform:none}
.tier-save{margin-top:6px;font-size:14px;font-weight:600;color:var(--olive)}
.tier.is-on{background:var(--ink);color:var(--sugar);box-shadow:6px 6px 0 var(--nar)}
.tier.is-on .tier-label,.tier.is-on .tier-save{color:var(--beige)}

.shop-grid{display:grid;gap:16px;align-items:start}
.shop-products{display:grid;gap:16px}
.shop-item{border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;background:var(--paper);box-shadow:8px 8px 0 var(--ink);display:grid}
.shop-art{display:grid;place-items:center;padding:28px 0 22px;background:url(assets/blobs_nar.webp) center/cover;border-bottom:2px solid var(--ink)}
.shop-gar .shop-art{background-image:url(assets/blobs_gar.webp)}
.shop-art .bottle{--w:min(28vw,130px)}
.shop-body{padding:22px 22px 24px}
.shop-item h3{font:400 clamp(44px,10vw,64px)/.92 Anton;text-transform:uppercase;color:var(--nar);margin-top:4px}
.shop-gar h3,.shop-gar .wine-type{color:var(--gar)}
.shop-gar .wine-var{color:#8d1420}
.shop-meta{font-size:13px;color:#5d5045;margin:-6px 0 16px;line-height:1.4}
.vintage{border:0;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.vintage legend{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#7a6a5c;padding:0;margin-right:8px;width:100%}
.vintage label{font-size:14px;font-weight:600;display:inline-flex;gap:6px;align-items:center;cursor:pointer}
.qty{display:inline-flex;align-items:center;gap:0;border:2px solid var(--ink);border-radius:999px;overflow:hidden;margin-bottom:12px;background:var(--sugar)}
.qty-btn{width:46px;height:44px;border:0;background:transparent;color:var(--ink);font:400 26px/1 Anton;cursor:pointer}
.qty-btn:hover{background:var(--ink);color:var(--sugar)}
.qty-val{width:42px;text-align:center;border:0;background:transparent;font:700 18px/1 Inter;color:var(--ink);pointer-events:none}
.caja-btns{display:flex;flex-wrap:wrap;gap:8px}
.caja-btns .btn{padding:10px 14px}

.cart{border:2px solid var(--ink);border-radius:var(--r);padding:24px 22px 22px;background:var(--paper);box-shadow:8px 8px 0 var(--ink)}
.cart h3{font:400 36px/1 Anton;text-transform:uppercase;color:var(--terra);margin-bottom:14px}
.cart-lines{list-style:none;margin:0 0 12px;min-height:48px}
.cart-lines li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(42,29,21,.2);font-weight:500}
.cart-empty{color:#6e6255;font-weight:500}
.cart-hint{font-size:14px;font-weight:600;color:var(--olive);margin-bottom:12px}
.cart-unit{font-size:14px;font-weight:600;color:#4a3c31}
.cart-save{font-weight:700;color:var(--olive);margin-top:4px}
.cart-total{font:400 34px/1 Anton;text-transform:uppercase;margin:12px 0 16px;color:var(--ink)}
.ship-note{font-size:13px;color:#5d5045;margin-bottom:16px}
.cart-actions{display:grid;gap:8px}
.cart-cta{width:100%}
.cart-cta[aria-disabled="true"]{opacity:.45;pointer-events:none;transform:none}
.btn-mp{background:var(--olive);color:var(--sugar);border-color:var(--olive)}
.btn-mp:hover{background:var(--ink);border-color:var(--ink);color:var(--sugar)}
.mp-note,.pay-other{font-size:13px;margin-top:12px;line-height:1.4}
.mp-note{font-weight:600;color:var(--olive)}
.pay-other{color:#5d5045}

.paga-directo{margin-top:36px;padding-top:8px}
.paga-directo p{max-width:720px;margin:0 0 16px;color:#4a3c31}
.paga-grid{display:grid;gap:12px}
.paga-card{display:flex;flex-direction:column;gap:4px;border:2px solid var(--ink);border-radius:22px;padding:18px 18px 16px;background:var(--paper);text-decoration:none;box-shadow:6px 6px 0 var(--ink);transition:transform .15s,background .15s}
.paga-card:hover{transform:translateY(-2px);background:var(--sugar)}
.paga-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra)}
.paga-price{font:400 34px/1 Anton,sans-serif}
.paga-cta{margin-top:8px;font-size:13px;font-weight:700;color:var(--olive)}

body.shot-tienda .nav,
body.shot-tienda .hero,
body.shot-tienda .marquee,
body.shot-tienda .gesture,
body.shot-tienda .life,
body.shot-tienda .wines,
body.shot-tienda .about,
body.shot-tienda .trade,
body.shot-tienda .ig,
body.shot-tienda .faq,
body.shot-tienda .foot,
body.shot-tienda .cart-fab{display:none!important}
body.shot-ig .nav,
body.shot-ig .hero,
body.shot-ig .marquee,
body.shot-ig .gesture,
body.shot-ig .life,
body.shot-ig .wines,
body.shot-ig .shop,
body.shot-ig .about,
body.shot-ig .trade,
body.shot-ig .faq,
body.shot-ig .foot,
body.shot-ig .cart-fab{display:none!important}
body.shot-ig{padding:20px 0 40px;background:var(--sugar)}
body.shot-tienda{padding:20px 0 40px;background:var(--sugar)}
body.shot-tienda .shop{border-top:0;padding-top:0}

/* faq */
.faq{padding:40px 0 100px}
.faq-list{display:grid;gap:12px;margin-top:22px;max-width:820px}
.faq-list details{border:2px solid var(--ink);border-radius:18px;background:var(--paper);padding:4px 18px}
.faq-list summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";font:400 28px/1 Anton;color:var(--nar)}
.faq-list details[open] summary::after{content:"–"}
.faq-list details p{padding:0 0 16px;color:#4a3c31}

/* sticky cart (mobile) */
.cart-fab{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:12px;background:var(--ink);color:var(--sugar);text-decoration:none;border-radius:999px;padding:14px 18px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--nar);font-weight:700}
.cart-fab[hidden]{display:none!important}
.fab-count{background:var(--nar);color:var(--ink);min-width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:13px}
.fab-label{flex:1}
.fab-total{letter-spacing:.02em}
body.has-fab{padding-bottom:84px}

/* ---------- tablet / desktop ---------- */
@media (min-width:760px){
  .wrap{padding:0 40px}
  .nav{padding:14px 40px}
  .nav-logo img{height:30px}
  .nav-links{display:flex}
  .nav-ig{display:none}
  .hero-inner{grid-template-columns:1.05fr .95fr;align-items:center;padding:60px 40px 0;min-height:720px}
  .hero-copy{padding:42px 40px 44px;align-self:center;margin-bottom:60px}
  .hero-bottles{padding-top:40px;margin-bottom:-60px;align-self:end}
  .hero-bottles .bottle{--w:min(17vw,230px)}
  .steps{grid-template-columns:repeat(3,1fr);gap:30px}
  .wine{margin:44px 40px 0;grid-template-columns:.85fr 1.15fr}
  .wine-art{border-bottom:0;border-right:2px solid var(--ink);padding:50px 0}
  .wine-gar{grid-template-columns:1.15fr .85fr}
  .wine-gar .wine-art{order:2;border-right:0;border-left:2px solid var(--ink)}
  .wine-art .bottle{--w:min(16vw,210px)}
  .wine-info{padding:46px 48px;align-self:center}
  .specs{grid-template-columns:repeat(3,1fr)}
  .about-grid{grid-template-columns:1.2fr .8fr;align-items:center}
  .shop-head{grid-template-columns:1fr 240px;align-items:end;gap:30px}
  .shop-tote{max-width:240px;justify-self:end}
  .ig-grid{grid-template-columns:repeat(3,1fr);gap:12px}
  .life-cards{gap:16px;max-width:760px}
  .trade-grid{grid-template-columns:1.1fr .9fr}
  .where-grid{grid-template-columns:repeat(3,1fr)}
  .foot-row{flex-direction:row;justify-content:center;gap:40px}
  .tiers{grid-template-columns:repeat(3,1fr);gap:16px}
  .shop-item{grid-template-columns:160px 1fr}
  .shop-art{border-bottom:0;border-right:2px solid var(--ink);padding:24px 16px}
  .shop-art .bottle{--w:110px}
  .shop-products,.shop-grid{gap:18px}
  .faq{padding-bottom:80px}
  .cart-fab{display:none!important}
  body.has-fab{padding-bottom:0}
  .paga-grid{grid-template-columns:repeat(3,1fr);gap:16px}
}
@media (min-width:980px){
  .shop-grid{grid-template-columns:1fr 360px;align-items:start}
  .cart{position:sticky;top:86px}
}
@media (min-width:1280px){
  .wine{max-width:1200px;margin-left:auto;margin-right:auto}
}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none}html{scroll-behavior:auto}}
