/* ═══════════════════════════════════════════════════════════
   Barón de Chirvân — Premium Wine of Azerbaijan
   ═══════════════════════════════════════════════════════════ */

/* ── Tokens ───────────────────────────────────────────────── */
:root{
  /* surface */
  --ink:        #0B0705;
  --ink-2:      #120C09;
  --ink-3:      #19100C;
  --wine:       #4A0F16;
  --wine-deep:  #2C0910;

  /* metal */
  --gold:       #C6A15B;
  --gold-lt:    #E8CE8E;
  --gold-dk:    #8A6C33;

  /* type */
  --cream:      #EFE7DA;
  --cream-dim:  #C3B7A5;
  --muted:      #8E8272;

  /* channel values, so translucent layers can follow the theme */
  --ink-rgb:    11,7,5;
  --ink3-rgb:   25,16,12;
  --wine-rgb:   74,15,22;
  --gold-rgb:   198,161,91;
  --cream-rgb:  239,231,218;

  /* lines */
  --hair:       rgba(var(--gold-rgb),.22);
  --hair-soft:  rgba(var(--cream-rgb),.10);

  --shadow-deep: rgba(0,0,0,.9);

  --serif: "Cormorant Garamond", "Times New Roman", serif;
  --sans:  "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --wrap:  1220px;
  --gut:   clamp(1.25rem, 4vw, 3.5rem);

  --ease:  cubic-bezier(.22,.61,.36,1);
  --slow:  .9s var(--ease);
}

/* ── Light theme ──────────────────────────────────────────────
   The palette inverts, but sections that sit on photography keep
   their dark ground further down — white type on a lit veil is
   unreadable, and the cellar imagery is dark by nature. */
:root[data-theme="light"]{
  --ink:        #FBFAF6;
  --ink-2:      #F4F2EC;
  --ink-3:      #EBE8E0;
  --wine:       #6B1620;
  --wine-deep:  #4A0F16;

  /* gold reads as metal on dark; on milk white it has to be darkened to stay legible */
  --gold:       #8A6524;
  --gold-lt:    #A87F2A;
  --gold-dk:    #5E4518;

  --cream:      #1B1310;
  --cream-dim:  #4A3B31;
  --muted:      #7A6A5C;

  --ink-rgb:    251,250,246;
  --ink3-rgb:   235,232,224;
  --wine-rgb:   107,22,32;
  --gold-rgb:   138,101,36;
  --cream-rgb:  27,19,16;

  --hair:       rgba(var(--gold-rgb),.30);
  --hair-soft:  rgba(var(--cream-rgb),.14);

  --shadow-deep: rgba(60,42,28,.28);
  color-scheme: light;
}

/* The card body overlaps the photo; in light mode the fade has to land on
   the card's own milk white, otherwise the wine name sits on a dark band. */
:root[data-theme="light"] .wine-card__media::after,
:root[data-theme="light"] .post-card__media::after{
  background:linear-gradient(to bottom,transparent 58%,rgba(11,7,5,.45) 78%,#FBFAF6 100%);
}

/* Inline links and the gold hover need the darker end of the ramp on milk white */
:root[data-theme="light"] .link-gold{color:var(--gold-dk)}
:root[data-theme="light"] .link-gold:hover{color:var(--wine);border-color:var(--wine)}
:root[data-theme="light"] .btn--ghost:hover{color:var(--gold-dk)}
:root[data-theme="light"] .btn--gold{color:#FFF9EC}
:root[data-theme="light"] .btn--gold:hover{
  background:linear-gradient(100deg,var(--gold-dk),var(--gold) 55%,var(--gold-lt) 100%);
}
:root[data-theme="light"] ::selection{background:var(--gold);color:#FFF9EC}
/* the error red is tuned for a dark ground; on cream it needs depth */
:root[data-theme="light"] .field__err,
:root[data-theme="light"] .enquiry__status.is-err{color:#9B2C2C}

/* Photography-backed sections keep their dark ground in both themes.
   `color` is restated because an inherited colour is resolved on the
   ancestor — redefining --cream alone would not repaint the text. */
:root[data-theme="light"] .hero,
:root[data-theme="light"] .page-head,
:root[data-theme="light"] .heritage__hero,
:root[data-theme="light"] .article__hero,
:root[data-theme="light"] .manifesto,
:root[data-theme="light"] .wines__banner,
:root[data-theme="light"] .wine-card__media,
:root[data-theme="light"] .post-card__media,
:root[data-theme="light"] .chapter__media,
:root[data-theme="light"] .age-gate,
:root[data-theme="light"] .site-header:not(.is-stuck){
  --ink-rgb:   11,7,5;
  --ink3-rgb:  25,16,12;
  --wine-rgb:  74,15,22;
  --gold-rgb:  198,161,91;
  --cream-rgb: 239,231,218;
  --ink:       #0B0705;
  --cream:     #EFE7DA;
  --cream-dim: #C3B7A5;
  --muted:     #A2957F;
  --gold:      #C6A15B;
  --gold-lt:   #E8CE8E;
  --gold-dk:   #8A6C33;
  --hair:      rgba(198,161,91,.22);
  --hair-soft: rgba(239,231,218,.10);
  color:       var(--cream);
}

/* ── Reset ────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--ink);
  color:var(--cream);
  font-family:var(--sans);
  font-weight:300;
  font-size:clamp(1rem,.96rem + .2vw,1.075rem);
  line-height:1.75;
  letter-spacing:.012em;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.12;margin:0;letter-spacing:.005em}
p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}
::selection{background:var(--gold);color:var(--ink)}

:focus-visible{outline:2px solid var(--gold-lt);outline-offset:3px;border-radius:2px}

.wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.wrap--narrow{max-width:760px}
.center{text-align:center}
.section{padding-block:clamp(5rem,11vw,9.5rem)}

.skip-link{
  position:fixed;top:-100px;left:1rem;z-index:120;
  background:var(--gold);color:var(--ink);padding:.7rem 1.2rem;border-radius:2px;
}
.skip-link:focus{top:1rem}

/* Film grain — keeps the rendered imagery reading as photography, not output */
body::after{
  content:"";position:fixed;inset:-50%;z-index:95;pointer-events:none;
  opacity:.042;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite;
}
@keyframes grain{
  0%,100%{transform:translate(0,0)}
  16%{transform:translate(-3%,-2%)}
  33%{transform:translate(2%,-4%)}
  50%{transform:translate(-2%,3%)}
  66%{transform:translate(3%,2%)}
  83%{transform:translate(-1%,-3%)}
}

/* ── Shared type ──────────────────────────────────────────── */
.eyebrow{
  font-family:var(--sans);
  font-size:.688rem;font-weight:400;
  letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);
  margin:0 0 1.35rem;
}
.section-title{
  font-size:clamp(2rem,1.4rem + 2.8vw,3.5rem);
  margin-bottom:1.1rem;
}
.section-lede{
  color:var(--cream-dim);
  font-size:clamp(1.02rem,.98rem + .3vw,1.19rem);
  max-width:62ch;
}
.section-head{margin-bottom:clamp(2.75rem,6vw,4.5rem);max-width:820px}
.section-head.center{margin-inline:auto}
.section-head.center .section-lede{margin-inline:auto}

.link-gold{
  color:var(--gold-lt);
  border-bottom:1px solid var(--hair);
  padding-bottom:1px;
  transition:border-color .3s var(--ease),color .3s var(--ease);
}
.link-gold:hover{border-color:var(--gold-lt);color:#fff}

/* ── Buttons ──────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.95rem 2.1rem;
  font-family:var(--sans);font-size:.72rem;font-weight:400;
  letter-spacing:.22em;text-transform:uppercase;
  border:1px solid transparent;border-radius:2px;
  position:relative;overflow:hidden;
  transition:color .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease);
}
.btn--gold{
  color:var(--ink);
  background:linear-gradient(100deg,var(--gold-dk),var(--gold-lt) 45%,var(--gold) 100%);
  font-weight:500;
}
.btn--gold:hover{background:linear-gradient(100deg,var(--gold),var(--gold-lt) 55%,#F6E4B4 100%)}
.btn--ghost{color:var(--cream);border-color:var(--hair)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lt)}
.btn--full{width:100%}

/* ── Age gate ─────────────────────────────────────────────── */
.age-gate{
  position:fixed;inset:0;z-index:200;
  display:grid;place-items:center;
  padding:var(--gut);
  background:
    radial-gradient(ellipse at 50% 30%,rgba(var(--wine-rgb),.55),transparent 62%),
    var(--ink);
  text-align:center;
}
.age-gate[hidden]{display:none}
.age-gate__inner{max-width:520px;animation:rise .9s var(--ease) both}
.age-gate__crest{margin:0 auto 1.6rem;width:96px;height:auto;opacity:.95}
.age-gate__brand{
  font-family:var(--serif);font-size:1.35rem;letter-spacing:.16em;
  color:var(--gold);margin-bottom:1.9rem;text-transform:uppercase;
}
.age-gate__title{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.35rem);margin-bottom:1rem}
.age-gate__text{color:var(--cream-dim);margin-bottom:2.2rem}
.age-gate__actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.age-gate__note{
  margin-top:2.4rem;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);
}
.age-gate__denied{max-width:420px;color:var(--cream-dim);animation:rise .6s var(--ease) both}
.age-gate__denied[hidden]{display:none}

@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ── Header ───────────────────────────────────────────────── */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:90;
  transition:background .5s var(--ease),border-color .5s var(--ease),backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
.site-header.is-stuck{
  background:rgba(var(--ink-rgb),.86);
  backdrop-filter:blur(14px) saturate(140%);
  -webkit-backdrop-filter:blur(14px) saturate(140%);
  border-bottom-color:var(--hair);
}
.site-header__bar{
  max-width:var(--wrap);margin-inline:auto;
  padding:1.1rem var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  transition:padding .5s var(--ease);
}
.site-header.is-stuck .site-header__bar{padding-block:.75rem}

.brand{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.brand__crest{width:40px;height:40px;object-fit:contain;transition:width .5s var(--ease),height .5s var(--ease)}
.brand__mark{width:auto;height:22px;object-fit:contain;transition:height .5s var(--ease)}
.site-header.is-stuck .brand__crest{width:32px;height:32px}
.site-header.is-stuck .brand__mark{height:18px}

.nav{display:flex;align-items:center;gap:2.4rem}
.nav__list{display:flex;gap:2.1rem;list-style:none;margin:0;padding:0}
.nav__link{
  font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cream);position:relative;padding-block:.35rem;
  transition:color .35s var(--ease);
}
.nav__link::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;
  transition:transform .45s var(--ease);
}
.nav__link:hover,.nav__link.is-current{color:var(--gold-lt)}
.nav__link:hover::after,.nav__link.is-current::after{transform:scaleX(1);transform-origin:left}

.nav__lang{display:flex;gap:.15rem;align-items:center}
.lang-btn{
  font-size:.66rem;letter-spacing:.14em;color:var(--muted);
  padding:.35rem .5rem;transition:color .3s var(--ease);
}
.lang-btn:hover{color:var(--cream)}
.lang-btn.is-active{color:var(--gold)}
.nav__lang .lang-btn+.lang-btn{border-left:1px solid var(--hair-soft)}

.header-tools{display:flex;align-items:center;gap:.35rem;flex-shrink:0}
.theme-toggle{
  display:grid;place-items:center;
  width:34px;height:34px;flex-shrink:0;
  color:var(--muted);
  border:1px solid var(--hair-soft);border-radius:50%;
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.theme-toggle:hover{color:var(--gold);border-color:var(--hair)}
.theme-toggle svg{grid-area:1/1;transition:opacity .35s var(--ease),transform .5s var(--ease)}
/* dark theme shows the sun (the thing you can switch to); light shows the moon */
.theme-toggle__moon{opacity:0;transform:rotate(-40deg) scale(.7)}
.theme-toggle__sun{opacity:1;transform:none}
:root[data-theme="light"] .theme-toggle__moon{opacity:1;transform:none}
:root[data-theme="light"] .theme-toggle__sun{opacity:0;transform:rotate(40deg) scale(.7)}

.burger{display:none;width:40px;height:40px;position:relative;flex-shrink:0}
.burger span{
  position:absolute;left:9px;right:9px;height:1px;background:var(--cream);
  transition:transform .4s var(--ease),opacity .3s;
}
.burger span:nth-child(1){top:16px}
.burger span:nth-child(2){top:23px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}

/* ── Hero ─────────────────────────────────────────────────── */
.hero{
  position:relative;
  min-height:100svh;
  display:flex;align-items:center;
  padding:clamp(7rem,14vh,10rem) 0 clamp(6rem,12vh,8rem);
  overflow:hidden;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img{
  width:100%;height:100%;object-fit:cover;object-position:center 42%;
  transform:scale(1.06);
  animation:heroDrift 24s var(--ease) forwards;
}
@keyframes heroDrift{to{transform:scale(1)}}
.hero__veil{
  position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(to right,rgba(var(--ink-rgb),.94) 0%,rgba(var(--ink-rgb),.76) 42%,rgba(var(--ink-rgb),.34) 72%,rgba(var(--ink-rgb),.6) 100%),
    linear-gradient(to bottom,rgba(var(--ink-rgb),.85) 0%,transparent 26%,transparent 58%,var(--ink) 100%);
}
.hero__content{position:relative;z-index:2;width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.hero .eyebrow{animation:rise 1s var(--ease) .15s both}
.hero__title{
  font-size:clamp(2.6rem,1.5rem + 5.6vw,6rem);
  line-height:1.02;margin-bottom:1.6rem;
}
.hero__title .line{display:block;animation:rise 1.1s var(--ease) both}
.hero__title .line:nth-child(1){animation-delay:.28s}
.hero__title .line:nth-child(2){animation-delay:.42s}
.line--accent{
  font-style:italic;font-weight:300;
  background:linear-gradient(96deg,var(--gold-dk),var(--gold-lt) 38%,#F7E7BC 62%,var(--gold) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.hero__lede{
  max-width:47ch;color:var(--cream-dim);
  font-size:clamp(1.02rem,.97rem + .34vw,1.2rem);
  margin-bottom:2.5rem;
  animation:rise 1.1s var(--ease) .56s both;
}
.hero__actions{display:flex;gap:.85rem;flex-wrap:wrap;animation:rise 1.1s var(--ease) .7s both}

.scroll-cue{
  position:absolute;left:50%;bottom:2.2rem;z-index:3;
  transform:translateX(-50%);
  display:flex;flex-direction:column;align-items:center;gap:.75rem;
  color:var(--muted);animation:rise 1s var(--ease) 1.1s both;
}
.scroll-cue__line{
  width:1px;height:52px;overflow:hidden;position:relative;
  background:var(--hair-soft);
}
.scroll-cue__line::after{
  content:"";position:absolute;inset-inline:0;height:22px;top:-22px;
  background:linear-gradient(to bottom,transparent,var(--gold));
  animation:cue 2.4s var(--ease) infinite;
}
@keyframes cue{0%{top:-22px}60%,100%{top:52px}}
.scroll-cue__text{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase}

/* ── Manifesto ────────────────────────────────────────────── */
.manifesto{
  position:relative;isolation:isolate;
  padding-block:clamp(5.5rem,12vw,10rem);
  background:var(--ink);
  border-bottom:1px solid var(--hair-soft);
  overflow:hidden;
}
.manifesto__bg{position:absolute;inset:0;z-index:-1}
.manifesto__bg img{width:100%;height:100%;object-fit:cover;object-position:center 60%}
.manifesto__bg::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse 62% 78% at 50% 50%,rgba(var(--ink-rgb),.62),rgba(var(--ink-rgb),.93) 72%),
    linear-gradient(to bottom,var(--ink),transparent 18%,transparent 80%,var(--ink));
}
.manifesto__crest{width:78px;height:auto;margin:0 auto 2.2rem;opacity:.8}
.manifesto__text{
  font-family:var(--serif);
  font-size:clamp(1.4rem,1.05rem + 1.6vw,2.3rem);
  line-height:1.42;color:var(--cream);
  font-style:italic;font-weight:300;
  margin-bottom:2rem;
}
.manifesto__sign{
  font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);
}

/* ── Wines ────────────────────────────────────────────────── */
.wines{background:linear-gradient(to bottom,var(--ink),var(--ink-2))}

.wines__banner{
  margin:0 0 clamp(2.5rem,5vw,4rem);
  position:relative;overflow:hidden;border-radius:3px;
  border:1px solid var(--hair-soft);
  aspect-ratio:21/8;
}
.wines__banner img{width:100%;height:100%;object-fit:cover;object-position:center 46%}
.wines__banner::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(var(--ink-rgb),.35),transparent 30%,transparent 62%,rgba(var(--ink-rgb),.75)),
    linear-gradient(to right,rgba(var(--ink-rgb),.55),transparent 22%,transparent 78%,rgba(var(--ink-rgb),.55));
}

.filters{display:flex;gap:.4rem;margin-bottom:clamp(2rem,4vw,3rem);flex-wrap:wrap}
.filter{
  padding:.55rem 1.4rem;border:1px solid var(--hair-soft);border-radius:100px;
  font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);
  transition:color .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);
}
.filter:hover{color:var(--cream);border-color:var(--hair)}
.filter.is-active{color:var(--ink);background:var(--gold);border-color:var(--gold);font-weight:500}

.wine-grid{
  list-style:none;margin:0;padding:0;
  display:grid;gap:clamp(1rem,2vw,1.6rem);
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
}
.wine-card{
  position:relative;
  border:1px solid var(--hair-soft);border-radius:3px;
  background:linear-gradient(to bottom,rgba(var(--ink3-rgb),.9),rgba(var(--ink-rgb),.9));
  overflow:hidden;cursor:pointer;
  text-align:left;width:100%;display:block;
  transition:transform .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease);
}
.wine-card:hover{
  transform:translateY(-6px);
  border-color:var(--hair);
  box-shadow:0 26px 60px -28px var(--shadow-deep),0 0 0 1px rgba(var(--gold-rgb),.08);
}
.wine-card__media{position:relative;aspect-ratio:704/1120;overflow:hidden;background:var(--ink-3)}
.wine-card__media img{
  width:100%;height:100%;object-fit:cover;
  filter:contrast(1.06) saturate(.96) brightness(.97);
  transition:transform 1.1s var(--ease);
}
.wine-card:hover .wine-card__media img{transform:scale(1.055)}
.wine-card__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,transparent 58%,rgba(var(--ink-rgb),.5) 82%,var(--ink) 100%);
}
.wine-card__tag{
  position:absolute;top:.9rem;left:.9rem;z-index:2;
  padding:.3rem .7rem;border-radius:100px;
  font-size:.56rem;letter-spacing:.2em;text-transform:uppercase;
  background:rgba(var(--ink-rgb),.72);backdrop-filter:blur(6px);
  border:1px solid var(--hair);color:var(--gold-lt);
}
.wine-card__body{padding:1.35rem 1.4rem 1.6rem;position:relative;z-index:2;margin-top:-1.9rem}
.wine-card__no{
  position:absolute;top:1.4rem;right:1.4rem;
  font-family:var(--serif);font-size:.85rem;letter-spacing:.1em;
  color:var(--muted);opacity:.7;
}
.wine-card__name{
  font-family:var(--serif);font-size:1.42rem;line-height:1.15;
  margin-bottom:.35rem;color:var(--cream);
}
.wine-card__style{
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  margin-bottom:.9rem;
}
.wine-card__notes{
  font-size:.85rem;line-height:1.6;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  margin-bottom:1rem;
}
.wine-card__more{
  font-size:.63rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);
  display:inline-flex;align-items:center;gap:.5rem;
}
.wine-card__more::after{
  content:"";width:16px;height:1px;background:var(--gold);
  transition:width .45s var(--ease);
}
.wine-card:hover .wine-card__more::after{width:30px}
.wine-card.is-hidden{display:none}

/* ── Showcase ─────────────────────────────────────────────── */
.showcase{
  padding-block:clamp(4.5rem,10vw,8rem);
  background:linear-gradient(to bottom,var(--ink-2),var(--ink));
  border-block:1px solid var(--hair-soft);
}
.showcase__inner{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:clamp(2.5rem,6vw,5.5rem);align-items:center;
}
.showcase__media{position:relative}
.showcase__media img{border-radius:3px;border:1px solid var(--hair-soft)}
.showcase__media::after{
  content:"";position:absolute;inset:0;border-radius:3px;pointer-events:none;
  box-shadow:inset 0 -90px 90px -40px var(--ink);
}
.showcase__body p{color:var(--cream-dim)}

.specs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.3rem 2rem;margin:2.4rem 0 0;
  padding-top:2rem;border-top:1px solid var(--hair-soft);
}
.specs dt{
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.4rem;
}
.specs dd{margin:0;font-family:var(--serif);font-size:1.22rem;color:var(--gold-lt)}

/* ── Heritage ─────────────────────────────────────────────── */
.heritage{
  background:
    radial-gradient(ellipse 90% 60% at 50% 0%,rgba(var(--wine-rgb),.34),transparent 65%),
    var(--ink);
}
.heritage__hero{
  margin:0 0 clamp(3rem,7vw,5.5rem);
  position:relative;overflow:hidden;
  max-height:70vh;
}
.heritage__hero img{width:100%;object-fit:cover}
.heritage__hero::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom,var(--ink) 0%,transparent 22%,transparent 62%,rgba(var(--ink-rgb),.92) 100%),
    linear-gradient(to right,rgba(var(--ink-rgb),.5),transparent 30%,transparent 70%,rgba(var(--ink-rgb),.5));
}

.chapters{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
  gap:clamp(2rem,4vw,3.4rem);
}
.chapter{position:relative;padding-top:2.4rem;border-top:1px solid var(--hair-soft)}
.chapter__num{
  position:absolute;top:1.4rem;right:0;
  font-family:var(--serif);font-size:3.6rem;line-height:1;
  color:rgba(var(--gold-rgb),.13);pointer-events:none;
}
.chapter__title{font-size:1.65rem;margin-bottom:.9rem;color:var(--cream)}
.chapter p{color:var(--cream-dim);font-size:.98rem}

.terroir{
  margin-top:clamp(4rem,8vw,6.5rem);
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(2rem,5vw,4rem);align-items:center;
}
.terroir__media{margin:0;position:relative;border-radius:3px;overflow:hidden;border:1px solid var(--hair-soft)}
.terroir__quote{margin:0;position:relative;padding-left:clamp(1.4rem,3vw,2.4rem)}
.terroir__quote::before{
  content:"";position:absolute;left:0;top:.4rem;bottom:.4rem;width:1px;
  background:linear-gradient(to bottom,transparent,var(--gold),transparent);
}
.terroir__quote p{
  font-family:var(--serif);font-style:italic;font-weight:300;
  font-size:clamp(1.25rem,1rem + 1.1vw,1.75rem);
  line-height:1.5;color:var(--cream);
}

/* ── Find us ──────────────────────────────────────────────── */
.find{background:linear-gradient(to bottom,var(--ink),var(--ink-2))}
.find__grid{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
  gap:clamp(2.5rem,5vw,4.5rem);align-items:start;
}
.channels{display:grid;gap:.9rem}
.channel{
  padding:1.9rem 2rem;border:1px solid var(--hair-soft);border-radius:3px;
  background:linear-gradient(120deg,rgba(var(--ink3-rgb),.75),rgba(var(--ink-rgb),.4));
  transition:border-color .5s var(--ease),transform .5s var(--ease);
}
.channel:hover{border-color:var(--hair);transform:translateX(5px)}
.channel h3{
  font-size:1.35rem;margin-bottom:.55rem;color:var(--gold-lt);
}
.channel p{color:var(--cream-dim);font-size:.95rem;margin:0}

.contact-card{
  padding:clamp(1.8rem,3.5vw,2.6rem);
  border:1px solid var(--hair);border-radius:3px;
  background:linear-gradient(160deg,rgba(var(--wine-rgb),.3),rgba(var(--ink-rgb),.9));
}
.contact-card__title{
  font-size:.7rem;letter-spacing:.28em;text-transform:uppercase;
  color:var(--gold);font-family:var(--sans);font-weight:400;margin-bottom:1.4rem;
}
.contact-card__body{font-style:normal;color:var(--cream-dim);font-size:.95rem;line-height:1.85}
.contact-card__company{
  font-family:var(--serif);font-size:1.35rem;color:var(--cream);margin-bottom:.5rem;
}

.enquiry{margin-top:2.2rem;padding-top:2rem;border-top:1px solid var(--hair-soft)}
.enquiry__title{
  font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.3rem;
}
.field{margin-bottom:1.05rem}
.field label{
  display:block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.5rem;
}
.field input,.field textarea{
  width:100%;padding:.8rem .9rem;
  background:rgba(var(--ink-rgb),.6);
  border:1px solid var(--hair-soft);border-radius:2px;
  color:var(--cream);font-family:var(--sans);font-size:.95rem;font-weight:300;
  transition:border-color .35s var(--ease),background .35s var(--ease);
}
.field textarea{resize:vertical;min-height:88px}
.field input:focus,.field textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(var(--ink-rgb),.9);
}
.field input:user-invalid,.field textarea:user-invalid{border-color:#8B3A3A}
.enquiry__status{
  margin-top:.9rem;font-size:.82rem;color:var(--gold-lt);min-height:1.2em;
}

/* ── Footer ───────────────────────────────────────────────── */
.site-footer{
  background:var(--ink);
  border-top:1px solid var(--hair-soft);
  padding-top:clamp(3rem,6vw,4.5rem);
}
.site-footer__inner{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:2.5rem;flex-wrap:wrap;padding-bottom:2.8rem;
}
.site-footer__brand img{height:30px;width:auto;margin-bottom:1rem;opacity:.9}
.site-footer__brand p{
  font-family:var(--serif);font-style:italic;color:var(--muted);font-size:1.05rem;margin:0;
}
.site-footer__nav{display:flex;flex-direction:column;gap:.7rem;text-align:right}
.site-footer__nav a{
  font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-dim);
  transition:color .35s var(--ease);
}
.site-footer__nav a:hover{color:var(--gold-lt)}
.site-footer__base{
  border-top:1px solid var(--hair-soft);
  padding-block:1.6rem 2.2rem;
  display:flex;justify-content:space-between;gap:1.2rem;flex-wrap:wrap;
  font-size:.72rem;color:var(--muted);letter-spacing:.05em;
}
.site-footer__base p{margin:0}
.site-footer__warn{max-width:52ch}

/* ── Wine sheet (dialog) ──────────────────────────────────── */
.sheet{
  width:min(980px,calc(100vw - 2rem));
  max-height:min(90svh,900px);
  padding:0;border:1px solid var(--hair);border-radius:4px;
  background:linear-gradient(150deg,var(--ink-3),var(--ink));
  color:var(--cream);overflow:hidden;
}
.sheet::backdrop{background:rgba(4,2,1,.86);backdrop-filter:blur(6px)}
.sheet[open]{animation:sheetIn .5s var(--ease)}
@keyframes sheetIn{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}
.sheet__close{
  position:absolute;top:.5rem;right:.9rem;z-index:5;
  font-size:2rem;line-height:1;color:var(--cream-dim);
  width:44px;height:44px;transition:color .3s var(--ease);
}
.sheet__close:hover{color:var(--gold-lt)}
.sheet__grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);max-height:inherit}
.sheet__media{position:relative;background:var(--ink-3);overflow:hidden}
.sheet__media img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.sheet__media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to right,transparent 60%,rgba(var(--ink-rgb),.6));
}
.sheet__body{padding:clamp(1.8rem,4vw,3rem);overflow-y:auto}
.sheet__title{font-size:clamp(1.9rem,1.4rem + 1.8vw,2.9rem);margin-bottom:1rem}
.sheet__note{color:var(--cream-dim);margin-bottom:1.8rem}
.sheet__specs{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.5rem;
  margin:0 0 1.8rem;padding-block:1.6rem;
  border-block:1px solid var(--hair-soft);
}
.sheet__specs dt{
  font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem;
}
.sheet__specs dd{margin:0;font-family:var(--serif);font-size:1.15rem;color:var(--gold-lt)}
.sheet__pairlabel{
  font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem;
}
.sheet__pairing{color:var(--cream-dim);margin-bottom:2rem}

/* ── Reveal on scroll ─────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ── Responsive ───────────────────────────────────────────── */
@media (max-width:1000px){
  .showcase__inner,.find__grid,.terroir{grid-template-columns:1fr}
  .showcase__media{max-width:440px;margin-inline:auto}
  .terroir__quote{padding-left:0;padding-top:1.6rem}
  .terroir__quote::before{left:0;right:auto;top:0;bottom:auto;width:60px;height:1px;
    background:linear-gradient(to right,var(--gold),transparent)}
  .sheet__grid{grid-template-columns:1fr;overflow-y:auto}
  .sheet__media{max-height:38svh}
  .sheet__media::after{background:linear-gradient(to bottom,transparent 55%,var(--ink-3))}
}

@media (max-width:820px){
  .burger{display:block}
  .nav{
    position:fixed;inset:0;z-index:-1;
    flex-direction:column;justify-content:center;gap:3rem;
    background:rgba(var(--ink-rgb),.97);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    opacity:0;visibility:hidden;
    transition:opacity .5s var(--ease),visibility .5s;
  }
  .nav.is-open{opacity:1;visibility:visible;z-index:80}
  .nav__list{flex-direction:column;gap:1.9rem;text-align:center}
  .nav__link{font-size:1.05rem;letter-spacing:.16em}
  .site-header__bar{position:relative;z-index:85}
  .hero{min-height:92svh}
  .hero__veil{
    background:
      linear-gradient(to bottom,rgba(var(--ink-rgb),.92) 0%,rgba(var(--ink-rgb),.74) 28%,rgba(var(--ink-rgb),.88) 66%,var(--ink) 100%);
  }
  .scroll-cue{display:none}
  .wine-grid{grid-template-columns:repeat(auto-fill,minmax(215px,1fr))}
  .site-footer__nav{text-align:left}
  .specs{gap:1.1rem 1.4rem}
}

@media (max-width:520px){
  .hero__actions .btn,.age-gate__actions .btn{flex:1 1 100%}
  .wine-grid{grid-template-columns:1fr 1fr;gap:.75rem}
  .wine-card__body{padding:1rem 1rem 1.25rem;margin-top:-1.8rem}
  .wine-card__name{font-size:1.15rem}
  .wine-card__notes{display:none}
  .specs{grid-template-columns:1fr 1fr}
  .site-footer__base{flex-direction:column;gap:.7rem}
}

/* ── Motion / print ───────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
  .reveal{opacity:1;transform:none}
  .hero__media img{transform:none}
}

@media print{
  .site-header,.age-gate,.scroll-cue,.sheet,.enquiry{display:none!important}
  body{background:#fff;color:#000}
}

/* ═══════════════════════════════════════════════════════════
   Multi-page additions
   ═══════════════════════════════════════════════════════════ */

.section--tight{padding-block:clamp(3.5rem,7vw,6rem)}
.section-title--sm{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem)}
.section-cta{margin-top:clamp(2.5rem,5vw,3.5rem);display:flex;justify-content:center}

/* ── Page head ────────────────────────────────────────────── */
.page-head{
  position:relative;isolation:isolate;
  padding:clamp(9rem,16vh,12rem) 0 clamp(3.5rem,7vw,5.5rem);
  overflow:hidden;background:var(--ink);
}
.page-head__bg{position:absolute;inset:0;z-index:-1}
.page-head__bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.page-head__bg::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(to bottom,rgba(var(--ink-rgb),.9) 0%,rgba(var(--ink-rgb),.72) 42%,var(--ink) 100%),
    linear-gradient(to right,rgba(var(--ink-rgb),.8),transparent 62%);
}
.page-head__inner{max-width:820px}
.page-head__title{font-size:clamp(2.2rem,1.5rem + 3vw,3.9rem);margin-bottom:1.1rem}
.page-head__lede{color:var(--cream-dim);font-size:clamp(1.02rem,.98rem + .3vw,1.19rem);max-width:60ch;margin:0}

.crumbs{
  display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;
  font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-bottom:1.5rem;
}
.crumbs a{transition:color .3s var(--ease)}
.crumbs a:hover{color:var(--gold-lt)}
.crumbs span[aria-hidden]{opacity:.5}

/* ── Wine card as a link ──────────────────────────────────── */
.wine-card__link{display:block;color:inherit}
.filter{display:inline-flex;align-items:center}

/* ── Wine detail ──────────────────────────────────────────── */
.wine-detail__inner{
  display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);
  gap:clamp(2.5rem,6vw,5rem);align-items:center;
  padding-top:clamp(6rem,11vh,8rem);
}
.wine-detail__media{
  margin:0;border-radius:3px;overflow:hidden;border:1px solid var(--hair-soft);
  background:var(--ink-3);
}
.wine-detail__media img{width:100%;height:auto;filter:contrast(1.05) saturate(.97)}
.wine-detail__title{font-size:clamp(2.2rem,1.6rem + 2.6vw,3.4rem);margin-bottom:.5rem}
.wine-detail__style{
  font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1.8rem;
}
.wine-detail__notes{color:var(--cream-dim);font-size:1.06rem;margin-bottom:2rem}

/* ── News ─────────────────────────────────────────────────── */
.post-grid{
  display:grid;gap:clamp(1.2rem,2.5vw,2rem);
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
}
.post-card{
  border:1px solid var(--hair-soft);border-radius:3px;overflow:hidden;
  background:linear-gradient(to bottom,rgba(var(--ink3-rgb),.85),rgba(var(--ink-rgb),.85));
  transition:transform .6s var(--ease),border-color .6s var(--ease),box-shadow .6s var(--ease);
}
.post-card:hover{
  transform:translateY(-5px);border-color:var(--hair);
  box-shadow:0 24px 54px -28px var(--shadow-deep);
}
.post-card__link{display:block;color:inherit}
.post-card__media{aspect-ratio:3/2;overflow:hidden;background:var(--ink-3)}
.post-card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform 1.1s var(--ease);
}
.post-card:hover .post-card__media img{transform:scale(1.05)}
.post-card__body{padding:1.5rem 1.6rem 1.8rem}
.post-card__date{
  display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:.75rem;
}
.post-card__title{font-size:1.4rem;line-height:1.2;margin-bottom:.7rem}
.post-card__excerpt{
  color:var(--muted);font-size:.92rem;line-height:1.65;margin-bottom:1.1rem;
  display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.post-card__more{
  font-size:.63rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-lt);
  display:inline-flex;align-items:center;gap:.5rem;
}
.post-card__more::after{content:"";width:16px;height:1px;background:var(--gold);transition:width .45s var(--ease)}
.post-card:hover .post-card__more::after{width:30px}

.empty-state{
  text-align:center;color:var(--muted);padding-block:clamp(3rem,8vw,6rem);
  font-family:var(--serif);font-size:1.3rem;font-style:italic;
}

/* ── Article ──────────────────────────────────────────────── */
.article__hero{position:relative;max-height:62vh;overflow:hidden;margin-bottom:clamp(2.5rem,5vw,4rem)}
.article__hero img{width:100%;object-fit:cover}
.article__hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(var(--ink-rgb),.75) 0%,transparent 30%,transparent 55%,var(--ink) 100%);
}
.article__intro{padding-top:clamp(7rem,12vh,9rem)}
.article__hero + .wrap.article__intro{padding-top:0}
.article__date{
  display:block;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:1rem;
}
.article__title{font-size:clamp(2rem,1.4rem + 2.6vw,3.3rem);margin-bottom:1.2rem}
.article__lede{
  color:var(--cream-dim);font-size:clamp(1.05rem,1rem + .4vw,1.25rem);
  font-family:var(--serif);font-style:italic;
}
.article__body{padding-block:clamp(2.5rem,5vw,3.5rem)}
.article__body p{color:var(--cream-dim);margin-bottom:1.4em}
.article__body h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin:2.2em 0 .7em}
.article__body h3{font-size:1.35rem;margin:1.8em 0 .6em;color:var(--gold-lt)}
.article__body ul,.article__body ol{color:var(--cream-dim);padding-left:1.3em;margin-bottom:1.4em}
.article__body li{margin-bottom:.5em}
.article__body img{border-radius:3px;margin-block:2rem;border:1px solid var(--hair-soft)}
.article__body blockquote{
  margin:2.2rem 0;padding-left:1.6rem;border-left:1px solid var(--gold);
  font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--cream);
}
.article__body a{color:var(--gold-lt);border-bottom:1px solid var(--hair)}
.article__foot{padding-bottom:clamp(3rem,6vw,5rem)}

/* ── Chapters (full heritage page) ────────────────────────── */
.chapters--full{grid-template-columns:1fr;gap:clamp(3rem,6vw,4.5rem);max-width:820px;margin-inline:auto}
.chapters--full .chapter__title{font-size:clamp(1.6rem,1.3rem + 1.4vw,2.3rem)}
.chapter__body{color:var(--cream-dim)}
.chapter__media{margin:2rem 0 0}
.chapter__media img{border-radius:3px;border:1px solid var(--hair-soft)}

/* ── Forms ────────────────────────────────────────────────── */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field__err{display:block;margin-top:.4rem;font-size:.78rem;color:#C77}
.enquiry__status.is-ok{color:var(--gold-lt)}
.enquiry__status.is-err{color:#C77}

/* ── Pagination ───────────────────────────────────────────── */
.pagination-wrap{margin-top:clamp(2.5rem,5vw,4rem)}
.pagination-wrap svg{width:1.1rem;height:1.1rem}
.pagination-wrap nav div:first-child{display:none}
.pagination-wrap nav span,.pagination-wrap nav a{
  color:var(--cream-dim);border-color:var(--hair-soft)!important;background:transparent!important;
}
.pagination-wrap nav a:hover{color:var(--gold-lt)}
.pagination-wrap [aria-current="page"] span{
  color:var(--ink)!important;background:var(--gold)!important;border-color:var(--gold)!important;
}

/* ── Footer contact column ────────────────────────────────── */
.site-footer__contact{
  font-style:normal;color:var(--muted);font-size:.85rem;line-height:1.8;max-width:24ch;
}
.site-footer__contact p{margin-bottom:.6rem}

@media (max-width:1000px){
  .wine-detail__inner{grid-template-columns:1fr;gap:2.5rem}
  .wine-detail__media{max-width:360px;margin-inline:auto}
}
@media (max-width:820px){
  .site-footer__contact{max-width:none}
  .post-grid{grid-template-columns:1fr}
}

/* Tighten the gap between a page head and the first content block */
.page-head + .section{padding-top:clamp(2.25rem,4.5vw,3.5rem)}
.wine-detail__inner{padding-top:clamp(7rem,13vh,9rem)}
.wine-detail.section{padding-block:0 clamp(4rem,9vw,7rem)}

/* Keep the index number clear of the wine name */
.wine-card__body{padding-right:2.9rem}
.wine-card__no{top:1.35rem;right:1.1rem}

@media (max-width:520px){
  .wine-card__body{padding-right:2.4rem}
  .wine-card__no{right:.85rem;top:1.05rem;font-size:.75rem}
  .page-head{padding-top:clamp(7rem,14vh,9rem)}
}
