/* ============================================================
   יקב חשמונאים — Homepage styles
   Palette: deep burgundy + gold + warm cream
   ============================================================ */

:root{
  --burgundy:      #3a0a1c;
  --burgundy-2:    #4d1228;
  --burgundy-deep: #2a0613;
  --burgundy-soft: #561a30;
  --gold:          #c9a24a;
  --gold-2:        #d9b765;
  --gold-deep:     #a07c2c;
  --gold-light:    #ead7a0;
  --cream:         #f5f2ea;
  --cream-2:       #efe9dc;
  --ink:           #2b1a1f;
  --ink-dim:       #6a574f;
  --ink-mute:      #9c8a80;
  --line-dark:     rgba(201,162,74,.22);
  --line-light:    rgba(58,10,28,.14);

  --serif:    "Frank Ruhl Libre", "David Libre", serif;
  --script:   "Gveret Levin AlefAlefAlef", "Frank Ruhl Libre", cursive;
  --en:       "Cormorant Garamond", serif;
  --sans:     "Assistant", "Heebo", system-ui, sans-serif;

  --maxw: 1320px;
}

*{ box-sizing:border-box; margin:0; padding:0; hyphens:none; -webkit-hyphens:none; }
html{ scroll-behavior:smooth; scroll-padding-top:110px; }
body{
  font-family:var(--sans);
  background:var(--cream);
  color:var(--ink);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 40px; }
@media (max-width:760px){ .wrap{ padding:0 22px; } }

/* reveal-on-scroll */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; }
.reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; }

/* eyebrow w/ rule */
.eyebrow{
  display:inline-flex; align-items:center; gap:14px;
  font-size:12px; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold-deep);
}
.eyebrow.on-dark{ color:var(--gold); }
.eyebrow::before, .eyebrow.both::after{
  content:""; width:34px; height:1px; background:currentColor; opacity:.6;
}

.script-gold{ font-family:var(--script); color:var(--gold); font-weight:400; }
.italic-gold{ font-family:var(--en); font-style:italic; color:var(--gold); font-weight:500; }

/* ============================================================
   HEADER
   ============================================================ */
.site-header{ position:sticky; top:0; z-index:200; transition:background .35s ease; }
.site-header .topbar{ background:var(--burgundy-deep); }

.topbar{
  background:transparent;
  border-bottom:none;
}
.topbar .row{
  max-width:1480px; margin:0 auto; padding:16px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{ display:flex; flex-direction:column; align-items:flex-end; gap:2px; }
.brand-logo{ height:52px; width:auto; display:block; }
.brand .mark{
  font-family:var(--serif); font-weight:900; font-size:30px;
  color:var(--gold); letter-spacing:.02em; line-height:1;
}
.brand .sub{ font-size:10px; letter-spacing:.34em; color:var(--gold-deep); }

.mainnav{ display:flex; align-items:center; gap:38px; }
.mainnav .nav-search{ width:34px; height:34px; }
.mainnav .nav-search svg{ width:15px; height:15px; }
.mainnav a{
  font-size:15px; color:#e8dccb; letter-spacing:.02em; position:relative; padding:4px 0;
  transition:color .25s ease;
}
.mainnav a::after{
  content:""; position:absolute; right:0; left:0; bottom:-2px; height:1px;
  background:var(--gold); transform:scaleX(0); transition:transform .3s ease;
}
.mainnav a:hover{ color:var(--gold-2); }
.mainnav a:hover::after{ transform:scaleX(1); }

.topbar .actions{ display:flex; align-items:center; gap:16px; }
.icon-btn{
  width:38px; height:38px; border:1px solid var(--line-dark); border-radius:50%;
  display:grid; place-items:center; color:var(--gold); transition:.25s ease;
}
.icon-btn:hover{ background:var(--gold); color:var(--burgundy-deep); }
.icon-btn svg{ width:16px; height:16px; }
.login-btn{
  border:1px solid var(--gold); color:var(--gold); border-radius:999px;
  padding:9px 20px; font-size:13px; letter-spacing:.04em; transition:.25s ease;
  white-space:nowrap;
}
.login-btn:hover{ background:var(--gold); color:var(--burgundy-deep); }

/* gold ticker strip */
.goldstrip{
  background:linear-gradient(90deg,var(--gold-deep),var(--gold) 40%,var(--gold-2) 60%,var(--gold-deep));
  color:var(--burgundy-deep);
}
.goldstrip .row{
  max-width:1480px; margin:0 auto; padding:9px 40px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  font-size:13px; font-weight:600; letter-spacing:.03em;
}
.goldstrip .estate{ font-family:var(--serif); font-weight:700; font-size:16px; }
.goldstrip ul{ display:flex; align-items:center; gap:26px; }
.goldstrip li{ display:flex; align-items:center; gap:26px; white-space:nowrap; }
.goldstrip li::before{ content:"✦"; font-size:10px; opacity:.6; }

.hamburger{ display:none; flex-direction:column; gap:5px; cursor:pointer; padding:6px; }
.hamburger span{ width:26px; height:2px; background:var(--gold); transition:.3s; }

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;
  background:
    radial-gradient(120% 90% at 20% 22%, #0d0407 0%, #000000 55%);
  color:var(--cream);
  overflow:hidden;
  padding:74px 0 0;
}
.hero .wrap{ max-width:1480px; }
.hero-grid{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:44px; align-items:center;
  min-height:660px;
}
.hero-side{
  position:absolute; left:18px; top:50%; transform:translateY(-50%);
  display:flex; flex-direction:column; align-items:center; gap:18px;
  writing-mode:vertical-rl; text-orientation:mixed;
  font-size:11px; letter-spacing:.42em; color:var(--gold-deep); text-transform:uppercase;
}
.hero-side .line{ width:1px; height:80px; background:linear-gradient(var(--gold-deep),transparent); }

/* cave / vineyard visual */
.hero-visual{ position:relative; display:grid; place-items:center; padding:24px 0 44px; }
.cave{
  position:relative; width:100%; max-width:640px; aspect-ratio:4/5;
  margin-inline:auto; overflow:hidden;
  -webkit-mask:radial-gradient(ellipse 86% 84% at 50% 46%, #000 56%, transparent 100%);
  mask:radial-gradient(ellipse 86% 84% at 50% 46%, #000 56%, transparent 100%);
  animation:floaty 7s ease-in-out infinite;
}
@keyframes floaty{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-12px); } }
.cave img{ width:100%; height:100%; object-fit:cover; }
.cave::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(78% 70% at 50% 44%, transparent 34%, rgba(5,2,3,.55) 82%, rgba(5,2,3,.92) 100%);
}
.hero-glow{
  position:absolute; z-index:-1; width:74%; height:74%; left:50%; top:50%; transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center, rgba(201,162,74,.22), transparent 68%);
  filter:blur(30px);
}

/* hero copy */
.hero-copy{ text-align:right; padding-inline-start:3.5vw; }
.hero-copy h1{
  font-family:var(--serif); font-weight:400; letter-spacing:-.01em;
  font-size:clamp(64px,8.4vw,132px); line-height:.9; margin:22px 0 26px;
}
.hero-copy h1 .sc{ display:block; font-family:var(--serif); font-style:italic; font-weight:400; color:#bc9640; font-size:1.02em; line-height:.9; margin:0 0 -.24em; }
.hero-copy h1 .sc2{ display:block; margin-top:.18em; }
.hero-copy p{ color:#d8c4bd; font-size:22px; line-height:1.85; max-width:42ch; margin-right:0; }

/* hero meta row */
.hero-meta{
  border-top:1px solid var(--line-dark);
  margin-top:46px;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.hero-meta div{ padding:24px 26px; border-left:1px solid var(--line-dark); }
.hero-meta div:first-child{ border-left:none; }
.hero-meta .k{ font-size:11px; letter-spacing:.28em; color:var(--gold-deep); text-transform:uppercase; }
.hero-meta .v{ font-family:var(--serif); font-size:18px; color:var(--cream); margin-top:7px; }

/* ============================================================
   QUOTE BAND
   ============================================================ */
.quoteband{
  background:linear-gradient(180deg, #000000 0%, #14050a 34%, #360a1b 100%);
  color:var(--cream); text-align:center; padding:120px 0 130px;
  position:relative;
}
.quoteband .qmark{
  font-family:var(--en); font-size:120px; line-height:.4; color:var(--gold);
  opacity:.55; display:block; height:60px;
}
.quoteband blockquote{
  font-family:var(--serif); font-weight:300; font-size:clamp(30px,3.6vw,48px);
  line-height:1.5; max-width:none; margin:44px auto 52px;
}
.quoteband blockquote em{ font-style:normal; color:var(--gold-2); }
.quoteband cite{
  font-style:normal; font-size:12px; letter-spacing:.28em; color:var(--gold-deep);
  display:inline-flex; align-items:center; gap:16px;
}
.quoteband cite::before, .quoteband cite::after{
  content:""; width:52px; height:1px; background:var(--gold-deep); opacity:.6;
}

/* ============================================================
   WINES
   ============================================================ */
.wines{ background:#F6F4F1; padding:120px 0 0; }
.wines .wrap{ max-width:1440px; padding:0 40px; }
.sec-head{
  display:flex; justify-content:space-between; align-items:flex-end; gap:50px;
  margin-bottom:64px;
}
.sec-head .lead-wrap{ flex:0 1 auto; }
.sec-head .title{ text-align:right; }
.sec-head h2{
  font-family:var(--serif); font-weight:400; font-size:clamp(40px,5vw,68px);
  color:var(--burgundy); line-height:1;
}
.sec-head h2 .it{ font-family:var(--serif); font-style:italic; color:var(--gold); font-weight:400; }
.sec-head .lead{ color:var(--ink-dim); font-size:16px; line-height:1.85; max-width:44ch; padding-bottom:8px; }
.sec-head .num{ font-size:12px; letter-spacing:.3em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:14px; }

.wine-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; align-items:center; }
.wine-card{
  position:relative; background:none; border:none; box-shadow:none; padding:0;
  display:flex; flex-direction:row; align-items:center; text-align:right; gap:36px;
  transition:transform .45s cubic-bezier(.2,.7,.2,1);
}
.wine-card:hover{ transform:translateY(-6px); box-shadow:none; }
.wine-info{ flex:1 1 56%; min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; text-align:right; }
.wine-shot{
  flex:0 0 44%; align-self:stretch; min-height:452px; display:grid; place-items:center; margin:0;
}
.wine-shot img{ height:560px; max-height:100%; width:auto; object-fit:contain; transition:transform .45s ease; filter:drop-shadow(0 22px 30px rgba(58,10,28,.3)); }
.wine-card:hover .wine-shot img{ transform:scale(1.04); }
.wine-eyebrow{ font-family:var(--en); font-style:italic; font-size:14px; color:var(--gold-deep); letter-spacing:.04em; }
.wine-card h3{ font-family:var(--serif); font-weight:400; font-size:56px; color:var(--burgundy); margin:6px 0 3px; line-height:1.05; }
.wine-vintage{ font-family:var(--en); font-style:italic; color:var(--gold); font-size:16px; margin-bottom:16px; }
.wine-desc{ font-size:13.5px; color:var(--ink-dim); line-height:1.75; max-width:30ch; }
.wine-specs{
  display:flex; justify-content:flex-start; gap:22px;
  margin:18px 0 20px; padding:16px 0; width:100%;
  border-top:1px solid var(--line-light); border-bottom:1px solid var(--line-light);
}
.wine-specs > div{ text-align:right; }
.wine-specs span{ display:block; font-size:10px; letter-spacing:.14em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:4px; }
.wine-specs b{ font-size:13px; color:var(--ink); font-weight:500; }
.wine-foot{ display:flex; align-items:center; justify-content:flex-start; gap:16px; width:100%; }
.add-btn{
  background:var(--burgundy); color:var(--cream);
  padding:12px 20px; font-size:13px; letter-spacing:.04em; font-weight:600;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  transition:.3s ease; border:1px solid var(--burgundy);
}
.add-btn:hover{ background:var(--burgundy-soft); }
.add-btn .arr{ font-family:var(--sans); font-weight:400; }
.price{ font-family:var(--serif); font-size:30px; font-weight:700; color:var(--burgundy); white-space:nowrap; }
.price small{ font-size:17px; }

/* wave drip cream -> burgundy */
.swipe-hint{ display:none; }

/* ============================================================
   CONTACT MODAL
   ============================================================ */
.cm-overlay{
  position:fixed;inset:0;z-index:2000;
  background:rgba(5,1,3,.75);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;
}
.cm-overlay.open{opacity:1;visibility:visible;}
.cm-card{
  position:relative;width:min(900px,100%);
  display:grid;grid-template-columns:1fr 1.25fr;
  max-height:calc(100vh - 40px);overflow-y:auto;
  background:var(--cream-2);
  transform:translateY(24px);transition:transform .38s cubic-bezier(.2,.8,.2,1);
}
.cm-overlay.open .cm-card{transform:translateY(0);}
.cm-close{
  position:absolute;top:18px;left:20px;z-index:10;
  background:none;border:none;font-size:24px;cursor:pointer;
  color:var(--gold);line-height:1;padding:4px;
}
/* Left cream panel */
.cm-left{
  background:var(--cream-2);
  display:flex;flex-direction:column;justify-content:space-between;
  overflow:hidden; align-items:center;
}
.cm-left-inner{
  padding:40px 36px 24px;text-align:right;direction:rtl; width:100%;
}
.cm-eyebrow{
  font-size:11px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:22px;
}
.cm-heading{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(52px,6vw,80px);line-height:.95;
  color:var(--burgundy);margin-bottom:20px;
}
.cm-heading em{font-style:italic;color:var(--gold);font-weight:500;}
.cm-divider{width:52px;height:2px;background:var(--gold);margin:0 0 24px auto;}
.cm-sub{font-size:15px;line-height:1.75;color:var(--ink-dim);margin-bottom:32px;}
.cm-details{list-style:none;display:flex;flex-direction:column;gap:14px;}
.cm-details li{display:flex;gap:14px;align-items:baseline;direction:rtl;font-size:14px;color:var(--ink);}
.cm-dt-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-deep);min-width:52px;flex-shrink:0;}
.cm-grapes{width:90%;max-width:367px;height:229px;object-fit:contain;display:block;margin:auto auto 16px;}
/* Right burgundy panel */
.cm-right{
  background:var(--burgundy-deep);
  padding:40px 40px 36px 36px;
  display:flex;flex-direction:column;justify-content:center;
}
.cm-right-title{
  font-family:var(--serif);font-style:italic;font-size:22px;
  color:var(--gold);margin-bottom:28px;text-align:right;direction:rtl;
}
.cm-form{display:flex;flex-direction:column;gap:16px;direction:rtl;}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.cm-f{display:flex;flex-direction:column;gap:6px;}
.cm-f label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,162,74,.8);}
.cm-f input,.cm-f textarea{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(201,162,74,.4);border-radius:6px;
  padding:13px 16px;color:var(--cream);font-family:var(--sans);
  font-size:14px;text-align:right;width:100%;transition:border-color .2s;
}
.cm-f input:focus,.cm-f textarea:focus{outline:none;border-color:var(--gold);}
.cm-f input::placeholder,.cm-f textarea::placeholder{color:rgba(248,243,234,.35);}
.cm-f textarea{resize:none;min-height:96px;}
.cm-btn{
  background:var(--gold);color:var(--burgundy-deep);border:none;
  border-radius:6px;padding:15px;font-family:var(--sans);
  font-weight:700;font-size:16px;cursor:pointer;
  transition:filter .2s;margin-top:4px;
}
.cm-btn:hover{filter:brightness(1.08);}
.cm-privacy{font-size:12px;color:rgba(248,243,234,.45);text-align:center;direction:rtl;}
@media(max-width:680px){
  .cm-card{grid-template-columns:1fr;max-height:92vh;overflow-y:auto;}
  .cm-left{order:2;}
  .cm-right{order:1;padding:40px 24px 32px;}
  .cm-left-inner{padding:32px 24px 20px;text-align:center;align-items:center;direction:rtl;}
  .cm-left-inner .cm-eyebrow,.cm-left-inner .cm-heading,.cm-left-inner .cm-sub{text-align:center;}
  .cm-divider{margin:0 auto 22px;}
  .cm-contacts{align-items:center;}
  .cm-contacts li{justify-content:center;direction:ltr;text-align:center;flex-direction:column;align-items:center;gap:4px;}
  .cm-dt-label{min-width:auto;}
  .cm-grapes{display:none;}
  .cm-row{grid-template-columns:1fr;}
  .cm-right-title,.cm-privacy{text-align:center;}
}
}

/* ============================================================
   TASTING EXPERIENCE
   ============================================================ */
.tasting{
  background:#35081a;
  color:var(--cream);
  margin-top:0;
}
.tasting-wave-bg{ display:none; }
.tasting-wave-wrap{
  position:relative;
  display:grid;
  overflow:hidden;
}
.tasting-wave-wrap .tasting-wave-bg{
  display:block; width:100%; height:auto;
  grid-area:1/1;
}
.tasting-head-wrap{
  grid-area:1/1;
  align-self:end;
  position:relative; z-index:2;
  padding-bottom:48px;
}
.tasting .wrap{ padding-bottom:60px; }
.tasting-head{
  display:grid; grid-template-columns:auto 1fr; gap:162px; align-items:center; padding:0 0 24px; text-align:right;
}
.tasting-head .label{ font-size:12px; letter-spacing:.34em; color:var(--gold); text-transform:uppercase; display:inline-flex; align-items:center; gap:12px; }
.tasting-head .label::after{ content:""; width:44px; height:1px; background:var(--gold); opacity:.55; }
.tasting-head h2{ font-family:var(--en); font-weight:500; font-size:clamp(40px,6vw,86px); margin:16px 0 0; letter-spacing:.01em; white-space:normal; line-height:1.05; }
.tasting-head h2 em{ font-style:italic; color:var(--gold); }
.tasting-head p{ color:#dcc6c0; font-size:16px; line-height:1.95; max-width:56ch; }
@media (max-width:880px){ .tasting-head{ grid-template-columns:1fr; gap:22px; padding:54px 0 42px; } .tasting-head h2{ white-space:normal; } }
.tasting-photo{
  width:100%; height:min(64vw,720px);
  background:url("assets/grapes-bottles.jpg") center 20% / cover no-repeat fixed;
}

/* ============================================================
   GOLD BAND
   ============================================================ */
.goldband{
  background:linear-gradient(168deg,#a9761d 0%,#d8b358 26%,#c89536 58%,#b07d24 100%);
  color:var(--cream); text-align:center; padding:110px 0 140px;
}
.goldband h2{
  font-family:var(--serif); font-weight:400; font-size:clamp(44px,6.4vw,88px);
  line-height:1.16; letter-spacing:.005em; color:var(--cream);
}
.goldband h2 .sc{ font-family:var(--serif); font-style:italic; font-weight:400; color:var(--burgundy-deep); }
.goldband-cite{
  margin-top:42px; display:flex; align-items:center; justify-content:center; gap:16px;
  font-size:13px; letter-spacing:.24em; color:var(--burgundy-deep); opacity:.72;
}
.goldband-cite::before,.goldband-cite::after{ content:""; width:52px; height:1px; background:var(--burgundy-deep); opacity:.5; }

/* ============================================================
   GIFT SET STRIP  (dramatic burgundy offer band)
   ============================================================ */
.giftset{
  background:
    radial-gradient(110% 120% at 78% 30%, #4d1228 0%, #2a0613 58%, #1a040d 100%);
  color:var(--cream); overflow:hidden; position:relative;
}
.giftset::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:repeating-linear-gradient(90deg, rgba(201,162,74,.05) 0 1px, transparent 1px 12.5%);
}
.giftset .wrap{ position:relative; z-index:2; }
.gift-grid{
  display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:60px;
  min-height:560px; padding:70px 0;
}
.gift-photo{ position:relative; display:grid; place-items:center; }
.gift-photo .glow{
  position:absolute; width:78%; height:70%; left:50%; top:50%; transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center, rgba(201,162,74,.30), transparent 68%); filter:blur(26px);
}
.gift-photo img{
  position:relative; z-index:2; width:100%; max-width:440px; height:auto; object-fit:contain;
  filter:drop-shadow(0 40px 60px rgba(0,0,0,.6));
  animation:giftFloat 7s ease-in-out infinite;
}
@keyframes giftFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-14px); } }

.gift-copy{ text-align:right; }
.gift-copy .ribbon{
  display:inline-flex; align-items:center; gap:10px; background:var(--gold); color:var(--burgundy-deep);
  font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
  padding:8px 16px; border-radius:999px; margin-bottom:22px;
}
.gift-copy h2{
  font-family:var(--serif); font-weight:400; font-size:clamp(40px,5vw,76px); line-height:.98;
  letter-spacing:-.01em; margin-bottom:10px;
}
.gift-copy h2 .sc{ font-family:var(--script); font-weight:400; color:var(--gold); }
.gift-copy .en{ font-family:var(--en); font-style:italic; font-size:19px; color:var(--gold-2); letter-spacing:.04em; }
.gift-copy .lead{ color:#e7d3cd; font-size:17px; line-height:1.85; max-width:44ch; margin:20px 0 26px; }
.gift-incl{ display:flex; flex-direction:column; gap:12px; margin-bottom:32px; }
.gift-incl li{ display:flex; align-items:center; gap:12px; font-size:16px; color:#f0e2dc; }
.gift-incl li svg{ width:18px; height:18px; color:var(--gold); flex:none; }
.gift-foot{ display:flex; align-items:center; gap:26px; flex-wrap:wrap; }
.gift-price{ font-family:var(--serif); font-weight:900; font-size:46px; color:var(--gold); line-height:1; }
.gift-price small{ font-size:26px; }
.gift-price .old{ display:block; font-family:var(--sans); font-weight:500; font-size:16px;
  color:var(--ink-mute); text-decoration:line-through; margin-bottom:3px; }
.gift-cta{
  display:inline-flex; align-items:center; gap:14px; background:var(--gold); color:var(--burgundy-deep);
  border-radius:16px; padding:18px 30px; font-size:16px; font-weight:700; letter-spacing:.02em;
  transition:transform .3s ease, background .3s ease;
}
.gift-cta:hover{ background:var(--gold-2); transform:translateY(-2px); }
.gift-cta svg{ width:20px; height:20px; }

/* ============================================================
   STORY
   ============================================================ */
.story{ background:var(--cream); padding:120px 0 90px; overflow:hidden; }
.story-head{ display:grid; grid-template-columns:.82fr 1.18fr; gap:60px; align-items:start; }
.story-title{ text-align:right; }
.story-title .num{ font-size:12px; letter-spacing:.3em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:16px; display:inline-flex; align-items:center; gap:12px; }
.story-title .num::after{ content:""; width:40px; height:1px; background:var(--gold); opacity:.6; }
.story-title h2{ font-family:var(--serif); font-weight:400; font-size:clamp(40px,4.8vw,68px); color:var(--burgundy); line-height:1.05; }
.story-title h2 .sc{ font-family:var(--serif); font-style:italic; color:var(--gold); font-weight:400; }
.story-text{ text-align:right; }
.story-text p{ color:var(--ink-dim); font-size:16px; line-height:1.95; margin-bottom:18px; }
.story-pots{ margin-top:-150px; display:flex; justify-content:flex-start; }
.story-pots img{ display:block; width:min(1200px,100%); height:auto; transform:scaleX(-1); }

/* ============================================================
   TRADITION
   ============================================================ */
.tradition{ background:linear-gradient(180deg,#3a0a1c,#2a0613); color:var(--cream); padding:150px 0; }
.tradition-grid{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.tradition h2{ font-family:var(--serif); font-weight:400; font-size:clamp(34px,4.4vw,58px); line-height:1.12; text-align:right; }
.tradition h2 em{ font-family:var(--serif); font-style:italic; color:var(--gold); }
.tradition .num{ display:inline-flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.3em; color:var(--gold); text-transform:uppercase; margin-bottom:18px; }
.tradition .num::after{ content:""; width:36px; height:1px; background:var(--gold); opacity:.55; }
.tradition p{ color:#e4d3cd; font-size:16px; line-height:1.95; font-weight:400; }

/* ============================================================
   FLAVOR WHEEL  (grape cluster)
   ============================================================ */
.flavor{ background:var(--cream); padding:110px 0 120px; text-align:center; }
.flavor h2{ font-family:var(--serif); font-weight:400; font-size:clamp(38px,5vw,64px); color:var(--burgundy); }
.flavor h2 em{ font-family:var(--serif); font-style:italic; color:var(--gold); font-weight:400; }
.flavor-head{ text-align:right; max-width:none; margin:0 0 -10px; }
.flavor-head .num{ display:inline-flex; align-items:center; gap:12px; font-size:12px; letter-spacing:.3em; color:var(--gold-deep); text-transform:uppercase; margin-bottom:14px; }
.flavor-head .num::after{ content:""; width:36px; height:1px; background:var(--gold); opacity:.55; }
.flavor .sub{ font-family:var(--en); font-style:italic; color:var(--gold-deep); font-size:20px; letter-spacing:.02em; margin-top:8px; }
.cluster{
  position:relative; width:min(520px,90vw); margin:44px auto 46px; aspect-ratio:920/1280;
}
.berry{
  position:absolute; border-radius:50%; display:grid; place-items:center; aspect-ratio:1;
  font-family:var(--serif); text-align:center; transform:translate(-50%,-50%);
  transition:transform .35s ease, box-shadow .35s ease, filter .35s ease;
  box-shadow:0 12px 26px rgba(40,8,18,.28);
  cursor:default;
}
.berry[data-title]{ cursor:pointer; }
.berry[data-title]:hover{ transform:translate(-50%,-50%) scale(1.06); box-shadow:0 20px 40px rgba(58,10,28,.34); z-index:6; }
.berry b{ display:block; font-weight:700; line-height:1.05; font-size:clamp(15px,2vw,23px); }
.berry small{ display:block; font-family:var(--en); font-style:italic; font-weight:400; opacity:.9; font-size:.66em; margin-top:2px; }
.berry.b-burg{
  background-image:linear-gradient(rgba(60,2,27,.42),rgba(0,0,0,.28)), url("assets/grape-texture.png");
  background-size:cover; background-position:center;
  box-shadow:inset 0 12px 22px rgba(255,255,255,.04), inset 0 -18px 28px rgba(0,0,0,.35), 0 18px 30px rgba(0,0,0,.18);
  color:#fff;
}
.berry.b-burg small{ color:#e0b24d; opacity:1; }
.berry.b-gold{
  background:radial-gradient(circle at 40% 35%, #E7BB6C 0%, #B8842F 100%);
  color:#fff;
}
.berry.b-gold small{ color:#5a1f12; opacity:1; }
.berry.big b{ font-size:clamp(17px,2.3vw,26px); }
.berry b{ color:#fff; }
.berry.deco{ pointer-events:none; }
.berry.deco.b-gold{ box-shadow:0 8px 18px rgba(40,8,18,.2); }
.berry.deco.b-burg{ box-shadow:0 8px 18px rgba(40,8,18,.24); }

/* hover popup */
.berry-pop{
  position:absolute; z-index:20; width:250px; left:0; top:0;
  background:#fff; border:1px solid rgba(201,162,74,.4); border-radius:14px; overflow:hidden;
  box-shadow:0 24px 60px rgba(40,8,18,.3);
  opacity:0; visibility:hidden; transform:translate(-50%,-8px) scale(.96);
  transition:opacity .28s ease, transform .28s ease, visibility .28s;
  pointer-events:none; text-align:right;
}
.berry-pop.show{ opacity:1; visibility:visible; transform:translate(-50%,-14px) scale(1); }
.berry-pop-img{ height:130px; background:#f0ebe1; overflow:hidden; }
.berry-pop-img img{ width:100%; height:100%; object-fit:cover; }
.berry-pop-body{ padding:16px 18px 18px; }
.berry-pop-body h4{ font-family:var(--serif); color:var(--burgundy); font-size:22px; font-weight:700; display:flex; align-items:baseline; gap:9px; margin-bottom:8px; }
.berry-pop-body h4 .en{ font-family:var(--en); font-style:italic; font-weight:400; font-size:15px; color:var(--gold-deep); }
.berry-pop-body p{ font-size:13.5px; line-height:1.7; color:var(--ink-dim); }

.flavor .cta{
  display:inline-flex; align-items:center; gap:12px;
  border:1px solid var(--burgundy); color:var(--burgundy);
  padding:16px 34px; font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  transition:.3s ease;
}
.flavor .cta:hover{ background:var(--burgundy); color:var(--cream); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer{ background:var(--burgundy-deep); color:#cab3ac; padding:80px 0 30px; border-top:1px solid var(--line-dark); }
.footer-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:50px; }
.footer .brand{ align-items:flex-start; }
.footer .brand-logo{ height:56px; }
.footer-about{ font-size:14px; line-height:1.85; max-width:300px; margin-top:18px; color:#9c857e; }
.footer-col h4{ color:var(--gold); font-size:13px; letter-spacing:.2em; text-transform:uppercase; margin-bottom:20px; }
.footer-col li{ margin-bottom:12px; }
.footer-col a{ font-size:14px; transition:color .25s ease; }
.footer-col a:hover{ color:var(--gold-2); }
.footer-bottom{
  margin-top:60px; padding-top:26px; border-top:1px solid var(--line-dark);
  display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
  font-size:12px; letter-spacing:.04em; color:#86706a;
}
.socials{ display:flex; gap:12px; }
.socials a{
  width:38px; height:38px; border:1px solid var(--line-dark); border-radius:50%;
  display:grid; place-items:center; color:var(--gold); transition:.25s ease;
}
.socials a:hover{ background:var(--gold); color:var(--burgundy-deep); }
.socials svg{ width:16px; height:16px; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1080px){
  .mainnav{ gap:24px; }
  .goldstrip li{ gap:16px; }
}
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; gap:10px; }
  .hero-visual{ order:2; }
  .hero-copy{ order:1; text-align:center; }
  .hero-copy p{ margin:0 auto; }
  .hero-copy .eyebrow{ justify-content:center; }
  .hero-side{ display:none; }
  .story-head, .tradition-grid{ grid-template-columns:1fr; gap:40px; }
  .gift-grid{ grid-template-columns:1fr; gap:30px; min-height:0; padding:64px 0; text-align:center; }
  .gift-copy{ text-align:center; }
  .gift-copy .gift-incl{ align-items:center; }
  .gift-copy .gift-foot{ justify-content:center; }
  .gift-photo{ order:-1; }
  .gift-photo img{ max-width:300px; }
  .tradition h2, .story-text{ text-align:right; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:36px; }
}
@media (max-width:760px){
  .mainnav, .topbar .actions .login-btn{ display:none; }
  .hamburger{ display:flex; }
  .topbar .row{ padding:14px 22px; }
  .goldstrip .row{ padding:8px 22px; font-size:11px; }
  .goldstrip ul li:nth-child(n+3){ display:none; }
  .sec-head{ grid-template-columns:1fr; gap:18px; }

  /* ---- wines swipe ---- */
  .wine-grid{
    grid-template-columns:none;
    display:flex; flex-wrap:nowrap; gap:16px;
    overflow-x:auto; scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
    padding:6px 22px 14px; margin:0 -22px;
    scrollbar-width:none;
  }
  .wine-grid::-webkit-scrollbar{ display:none; }
  .wine-card{
    flex:0 0 84%; scroll-snap-align:center;
    flex-direction:column; align-items:center; text-align:center; gap:0;
    background:radial-gradient(120% 78% at 50% 26%, #4d1228 0%, #2a0613 62%, #1a040d 100%);
    border:1px solid rgba(201,162,74,.20);
    border-radius:20px; overflow:hidden;
    padding:30px 24px 26px;
    box-shadow:0 22px 50px rgba(0,0,0,.3);
  }
  .wine-card:hover{ transform:none; box-shadow:0 22px 50px rgba(0,0,0,.3); }
  .wine-card .wine-eyebrow,
  .wine-card .wine-desc,
  .wine-card .wine-specs{ display:none; }
  .wine-shot{
    height:340px; width:100%; margin-bottom:20px; padding:0;
    background:none; border:none; display:grid; place-items:center;
    min-height:340px;
  }
  .wine-shot img{
    height:340px; max-height:340px;
    filter:drop-shadow(0 26px 30px rgba(0,0,0,.55)) drop-shadow(0 0 44px rgba(201,162,74,.22));
  }
  .wine-info{ align-items:center; text-align:center; padding:0; width:100%; }
  .wine-card h3{ color:var(--gold); font-size:40px; margin:0 0 5px; }
  .wine-vintage{ color:#dcc6c0; font-size:14px; margin-bottom:22px; }
  .wine-foot{ flex-direction:column-reverse; align-items:stretch; gap:14px; width:100%; }
  .price{ color:var(--gold); font-size:22px; text-align:center; }
  .price small{ color:var(--gold); }
  .add-btn{
    width:100%; border:1px solid rgba(201,162,74,.45);
    background:rgba(255,255,255,.04); color:var(--cream);
    border-radius:999px; white-space:nowrap;
    display:flex; align-items:center; justify-content:space-between;
    padding-block:7px; padding-inline:22px 7px; font-size:14px; letter-spacing:.03em;
  }
  .add-btn .arr{
    width:38px; height:38px; flex:none; border-radius:50%;
    background:var(--gold); color:var(--burgundy-deep);
    display:grid; place-items:center; font-size:19px;
  }
  .swipe-hint{
    display:block; text-align:center; margin-top:8px;
    font-size:12px; letter-spacing:.12em; color:var(--ink-mute);
  }

  /* ---- hero ---- */
  .hero{ padding-top:60px; }
  .hero h1{ font-size:clamp(64px,18vw,100px); }
  .hero-meta{ grid-template-columns:1fr 1fr; }
  .hero-meta div{ border-top:1px solid var(--line-dark); }
  .hero-meta div:nth-child(1), .hero-meta div:nth-child(2){ border-top:none; }
  .hero-meta div:nth-child(odd){ border-left:none; }
  .hero-meta div:nth-child(even){ border-left:1px solid var(--line-dark); }

  /* ---- quote band ---- */
  .quoteband{ padding:72px 24px; }
  .quoteband blockquote{ font-size:clamp(26px,7vw,42px); }

  .tasting{ padding-top:0; }
  .tasting-wave-wrap{ overflow:hidden; }
  .tasting-head{ grid-template-columns:1fr; gap:24px; padding:32px 22px 48px; }
  .tasting{ overflow:hidden; background:#35081a; }
  .tasting-wave-bg{ display:none !important; }
  .tasting-wave-wrap{ overflow:hidden; display:block; background: url('assets/wave-tasting.png') top center / 100% auto no-repeat, #35081a; }
  .tasting-head-wrap{ padding:calc(40vw) 22px 32px; }
  .tasting-head h2{ white-space:normal; font-size:clamp(36px,11vw,60px); }
  .tasting-photo{ height:60vw; background-attachment:scroll; }

  /* ---- gold band ---- */
  .goldband{ padding:72px 24px 90px; }
  .goldband h2{ font-size:clamp(36px,10vw,60px); }

  /* ---- story ---- */
  .story{ padding:72px 0 0; }
  .story-head{ grid-template-columns:1fr; gap:28px; }
  .story-title h2{ font-size:clamp(38px,10vw,58px); }
  .story-pots img{ width:100%; transform:scaleX(-1); }
  .story-pots{ margin-top:40px; }

  /* ---- tradition ---- */
  .tradition{ padding:72px 0; }
  .tradition h2{ font-size:clamp(34px,9vw,52px); }

  /* ---- gift / maaroz ---- */
  .gift-grid{ grid-template-columns:1fr; gap:30px; min-height:0; padding:64px 24px; text-align:center; }
  .gift-copy{ text-align:center; }
  .gift-copy .gift-incl{ align-items:center; }
  .gift-copy .gift-foot{ justify-content:center; }
  .gift-photo{ order:-1; }
  .gift-photo img{ max-width:260px; margin:0 auto; }

  /* ---- flavor / cluster ---- */
  .flavor{ padding:40px 0 0; overflow:hidden; }
  .flavor-head{ margin-bottom:24px; padding:0 22px; }
  .flavor h2{ font-size:clamp(32px,9vw,52px); }
  .wine-desktop-wrapper{ width:100%; overflow:hidden; position:relative; }
  .wine-desktop{ transform-origin:top left; position:absolute; top:0; left:0; margin:0 !important; }

  /* ---- footer ---- */
  .footer-grid{ grid-template-columns:1fr; gap:30px; }
  .footer-bottom{ flex-direction:column; text-align:center; }
  .wines{ padding-top:80px; }
  .story, .tradition, .flavor{ padding:72px 0; }

  /* ---- wrap padding ---- */
  .wrap{ padding-inline:22px; }

  /* ---- contact modal ---- */
  .cm-card{ grid-template-columns:1fr; max-height:92vh; overflow-y:auto; background:var(--cream-2); }
  .cm-left{ order:2; }
  .cm-right{ order:1; padding:40px 24px 32px; }
  .cm-left-inner{ padding:32px 24px 20px; }
  .cm-grapes{ display:none; }
  .cm-row{ grid-template-columns:1fr; }
}

/* mobile drawer */
.drawer{
  position:fixed; inset:0; z-index:300; background:var(--burgundy-deep);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  transform:translateY(-100%); transition:transform .4s cubic-bezier(.2,.7,.2,1); visibility:hidden;
}
.drawer.open{ transform:none; visibility:visible; }
.drawer a{ font-family:var(--serif); font-size:26px; color:var(--gold-light); padding:12px; }
.drawer .close{ position:absolute; top:22px; left:22px; font-size:34px; color:var(--gold); line-height:1; }

/* ---- wine mobile cluster ---- */
.wine-mobile-section { display: none; padding: 0; }
@media (max-width: 767px) {
  #openContactModal2.add-btn{
    width:auto !important; background:transparent !important; color:var(--burgundy) !important;
    border:1.5px solid var(--gold) !important; padding:12px 28px !important;
  }
  .wine-mobile-section .add-btn-wrap { display: block !important; }
  .flavor #openContactModal2 { display: none !important; }
}
.blob-transition { background: var(--cream, #f5efe7); line-height: 0; margin-top: -1px; }
.blob-transition svg { display: block; width: 100%; }
@media (max-width: 767px) {
  .wine-desktop-wrapper { display: none !important; }
  .wine-mobile-section { display: block; }
}
.wine-mobile { position:relative; width:920px; height:1280px; direction:rtl; overflow:visible; transform:scale(.38); transform-origin:top center; margin:auto; }
.wm-grape, .wm-dot { position:absolute; border-radius:50%; display:flex; justify-content:center; align-items:center; flex-direction:column; text-align:center; box-shadow:0 18px 30px rgba(0,0,0,.18); }
.wm-grape { cursor:pointer; transition:.2s ease; }
.wm-grape:active { transform:scale(.96); }
.wm-burgundy { background: linear-gradient(rgba(60,2,27,.42),rgba(0,0,0,.28)), url("https://hashmonaimwine.com/wp-content/uploads/2026/05/ChatGPT-Image-May-13-2026-12_02_59-PM.png"); background-size:900px 900px; background-position:center; background-repeat:repeat; box-shadow:inset 0 12px 22px rgba(255,255,255,.04),inset 0 -18px 28px rgba(0,0,0,.35),0 18px 30px rgba(0,0,0,.18); color:#fff; overflow:hidden; }
.wm-gold { background:radial-gradient(circle at 40% 35%, #E7BB6C 0%, #B8842F 100%); color:#fff; }
.wm-grape b { font-family:'Inter',sans-serif; font-size:35px; line-height:1.1; font-weight:700; }
.wm-grape i { margin-top:10px; font-family:'Adobe Hebrew',serif; font-size:35px; font-style:italic; color:#e0b24d; line-height:1; }
.wm-gold i { color:#5a1f12; }
.wm-soil{width:277px;height:277px;top:110px;left:0;}.wm-aroma{width:303px;height:303px;top:78px;left:299px;}.wm-root{width:277px;height:277px;top:160px;left:634px;}.wm-wine{width:303px;height:303px;top:363px;left:138px;}.wm-vineyard{width:272px;height:272px;top:400px;left:459px;}.wm-cluster{width:268px;height:268px;top:653px;left:332px;}.wm-time{width:222px;height:222px;top:882px;left:173px;}
.wm-top-dot{width:120px;height:120px;top:0;left:187px;}.wm-top-gold{width:170px;height:170px;top:0;left:570px;}.wm-left-dot{width:69px;height:64px;top:405px;left:51px;}.wm-bottom-left{width:187px;height:180px;top:690px;left:132px;}.wm-right-dot{width:69px;height:69px;top:695px;left:610px;}.wm-bottom-right{width:161px;height:156px;top:940px;left:430px;}.wm-last-dot{width:108px;height:108px;top:1120px;left:345px;}
.wm-info-card { display:none; background:#3C021B; box-shadow:0 12px 25px rgba(0,0,0,.25); overflow:hidden; }
.wm-info-card img { width:100%; height:220px; object-fit:cover; display:block; }
.wm-info-content { padding:28px 24px 30px; color:white; text-align:center; }
.wm-info-content h3 { margin:0 0 18px; font-family:'Inter',sans-serif; font-size:34px; line-height:1; color:white; }
.wm-info-content h3 span { font-family:'Adobe Hebrew',serif; font-style:italic; color:#E7BB6C; margin-right:10px; }
.wm-info-content p { margin:0; font-size:20px; line-height:1.45; }
.wm-info-card.is-open { display:block; position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; width:90vw !important; max-width:340px !important; z-index:999999 !important; }
