.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1000;
  height: 92px;
  padding: 20px var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}
.brand-lockup, .header-actions { pointer-events: auto; }
.brand-lockup { display: block; width: 142px; }
.brand-logo { width: 100%; height: auto; }
.brand-logo--dark { display: none; }
html[data-theme="light"] .brand-logo--light { display:none; }
html[data-theme="light"] .brand-logo--dark { display:block; }
@media (prefers-color-scheme: light) {
  html[data-theme="system"] .brand-logo--light { display:none; }
  html[data-theme="system"] .brand-logo--dark { display:block; }
}

.header-actions { display:flex; align-items:center; gap:12px; }
.theme-toggle, .menu-toggle {
  border: 0;
  cursor: pointer;
  background: rgba(0,0,0,.42);
  color: #fff;
  backdrop-filter: blur(14px);
}
.theme-toggle {
  min-height: 44px;
  padding: 0 14px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,.12);
  font-size:9px;
  letter-spacing:.18em;
}
.theme-dot { width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.7; }
.menu-toggle {
  width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center;
  position:relative;
}
.menu-label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.menu-lines { width:22px; display:grid; gap:6px; }
.menu-lines i { height:1px; background:currentColor; display:block; transition:transform .5s var(--ease), opacity .3s; }
.menu-toggle.is-open .menu-lines i:first-child { transform:translateY(3.5px) rotate(45deg); }
.menu-toggle.is-open .menu-lines i:last-child { transform:translateY(-3.5px) rotate(-45deg); }

.menu-overlay {
  position:fixed; inset:0; z-index:950; visibility:hidden; pointer-events:none;
}
.menu-overlay.is-open { visibility:visible; pointer-events:auto; }
.menu-backdrop {
  position:absolute; inset:0;
  background:rgba(0,0,0,.5);
  opacity:0; transition:opacity .6s var(--ease);
}
.menu-panel {
  position:absolute; top:0; right:0; height:100%;
  width:min(720px,100%);
  padding:clamp(110px,13vh,160px) var(--gutter) 36px;
  background:#0b0c0d;
  color:#f8f8f5;
  transform:translateX(100%);
  transition:transform .8s var(--ease);
  display:flex; flex-direction:column;
}
.menu-overlay.is-open .menu-backdrop { opacity:1; }
.menu-overlay.is-open .menu-panel { transform:translateX(0); }
.menu-kicker { font-size:9px; letter-spacing:.25em; opacity:.45; margin-bottom:42px; }
.menu-grid { display:grid; gap:0; }
.menu-grid a {
  display:flex; align-items:baseline; gap:22px;
  padding:17px 0;
  border-bottom:1px solid rgba(255,255,255,.12);
  text-decoration:none;
  font-family:var(--font-display);
  font-size:clamp(34px,5vw,68px);
  line-height:1;
  transition:padding-left .45s var(--ease), opacity .3s;
}
.menu-grid a span { font-family:var(--font-body); font-size:9px; letter-spacing:.18em; opacity:.35; }
.menu-grid a:hover { padding-left:16px; }
.menu-footer { margin-top:auto; display:flex; justify-content:space-between; gap:20px; font-size:9px; letter-spacing:.18em; text-transform:uppercase; opacity:.45; }

.button {
  display:inline-flex; align-items:center; justify-content:space-between; gap:38px;
  min-width:190px; padding:16px 18px;
  border:1px solid currentColor;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:9px;
  transition:background .4s var(--ease), color .4s var(--ease), transform .4s var(--ease);
}
.button:hover { transform:translateY(-2px); }
.button--solid { background:#f4f4f0; color:#101112; border-color:#f4f4f0; }
.button--solid:hover { background:transparent; color:#fff; }
.button--ghost { color:#fff; border-color:rgba(255,255,255,.4); }
.button--ghost:hover { background:#fff; color:#111; }
.text-link {
  display:inline-flex; gap:28px; align-items:center;
  margin-top:34px; padding-bottom:8px;
  border-bottom:1px solid currentColor;
  text-decoration:none;
  text-transform:uppercase;
  font-size:9px; letter-spacing:.18em;
  transition:gap .4s var(--ease);
}
.text-link:hover { gap:38px; }

.hero {
  position:relative; min-height:100svh; overflow:hidden;
  background:#0a0c0e; color:#f7f7f4;
  isolation:isolate;
}
.hero-atmosphere { position:absolute; inset:0; overflow:hidden; z-index:-2; background:
  radial-gradient(circle at 64% 35%, rgba(221,228,228,.18), transparent 23%),
  linear-gradient(145deg, #11171b 0%, #090c0e 56%, #060708 100%);
}
.hero-orb { position:absolute; width:65vw; height:65vw; max-width:900px; max-height:900px; right:-8%; top:10%; border-radius:50%; background:radial-gradient(circle, rgba(210,216,216,.22), rgba(130,138,140,.08) 38%, transparent 67%); filter:blur(4px); }
.hero-ridge { position:absolute; left:-8%; right:-8%; bottom:-8%; height:45%; background:linear-gradient(170deg, transparent 0 12%, #161b1e 13% 34%, #080a0c 35%); clip-path:polygon(0 55%, 14% 37%, 26% 48%, 39% 25%, 53% 43%, 64% 18%, 77% 35%, 88% 8%, 100% 28%, 100% 100%, 0 100%); opacity:.95; }
.hero-ridge--two { bottom:-18%; opacity:.55; transform:scale(1.08); filter:blur(1px); }
.hero-grid { width:min(var(--container), calc(100% - 2 * var(--gutter))); margin:0 auto; min-height:100svh; display:grid; grid-template-columns: .95fr 1.05fr; align-items:center; padding-top:80px; }
.hero-copy { position:relative; z-index:3; padding-bottom:5vh; }
.hero-title { margin:0; font-family:var(--font-display); font-weight:400; font-size:clamp(66px,9.7vw,160px); line-height:.78; letter-spacing:-.035em; }
.hero-title span { display:block; }
.hero-title span:last-child { padding-left:clamp(26px,3vw,60px); }
.hero-rule { width:82px; height:1px; background:rgba(255,255,255,.45); margin:34px 0 18px; }
.hero-subtitle { font-family:var(--font-display); font-size:clamp(24px,2.7vw,44px); letter-spacing:.32em; margin:0; }
.hero-description { margin:24px 0 30px; color:#b9bfc0; font-size:14px; line-height:1.8; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; }
.hero-product { position:relative; height:min(88vh,900px); display:grid; place-items:center; transform-style:preserve-3d; transition:transform .8s var(--ease); }
.product-halo { position:absolute; width:70%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(235,240,240,.18), transparent 67%); filter:blur(5px); }
.product-image { position:relative; z-index:2; width:min(58%,540px); max-height:78vh; object-fit:contain; filter:drop-shadow(0 30px 45px rgba(0,0,0,.55)); }
.product-caption { position:absolute; z-index:3; bottom:10%; right:0; display:grid; gap:5px; text-align:right; font-size:8px; letter-spacing:.2em; opacity:.55; }
.hero-meta { position:absolute; left:var(--gutter); right:var(--gutter); bottom:22px; display:grid; grid-template-columns:1fr 1fr 1fr; font-size:8px; letter-spacing:.2em; opacity:.45; }
.hero-meta span:last-child { text-align:right; }
.scroll-cue { display:flex; justify-content:center; align-items:center; gap:10px; }
.scroll-cue i { width:1px; height:30px; background:currentColor; display:block; }

.statement { position:relative; padding:clamp(110px,14vw,220px) 0; overflow:hidden; }
.statement-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(50px,9vw,150px); position:relative; z-index:2; }
.statement-copy { padding-top:9%; max-width:480px; }
.statement-copy .lead { font-size:clamp(20px,2vw,28px); line-height:1.35; margin:0 0 30px; }
.statement-copy p:not(.lead) { color:#a1a5a6; max-width:400px; }
.contour-field { position:absolute; width:75vw; height:65vw; right:-25%; bottom:-42%; border:1px solid rgba(255,255,255,.07); border-radius:50%; transform:rotate(-17deg); box-shadow:0 0 0 35px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.012),0 0 0 105px rgba(255,255,255,.009); }

.heritage { position:relative; min-height:80vh; display:grid; place-items:center; overflow:hidden; }
.heritage-mark { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); width:min(68vw,760px); aspect-ratio:1; border:1px solid rgba(255,255,255,.09); border-radius:50%; display:grid; place-items:center; text-align:center; opacity:.85; }
.heritage-mark::before,.heritage-mark::after { content:""; position:absolute; inset:8%; border:1px dashed rgba(255,255,255,.06); border-radius:50%; }
.heritage-mark span { position:absolute; top:29%; font-size:9px; letter-spacing:.45em; }
.heritage-mark strong { font-family:var(--font-display); font-size:clamp(90px,16vw,230px); font-weight:400; line-height:.8; }
.heritage-mark i { position:absolute; bottom:29%; width:1px; height:30px; background:rgba(255,255,255,.35); }
.heritage-grid { position:relative; z-index:2; display:grid; grid-template-columns:.3fr .7fr; gap:10%; width:min(var(--container), calc(100% - 2 * var(--gutter))); }
.heritage-index { font-size:9px; letter-spacing:.2em; opacity:.4; }
.heritage-copy { max-width:760px; }
.heritage-copy p:not(.eyebrow) { max-width:500px; color:#a2a6a7; margin:40px 0 0; font-size:16px; }

.vodka { padding:clamp(110px,12vw,180px) 0; overflow:hidden; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:40px; }
.section-note { margin:0; text-align:right; font-size:9px; line-height:1.8; letter-spacing:.2em; opacity:.5; }
.vodka-stage { position:relative; min-height:780px; display:grid; place-items:center; margin-top:50px; }
.vodka-image { width:min(38vw,500px); max-height:680px; object-fit:contain; position:relative; z-index:2; filter:drop-shadow(0 30px 45px rgba(0,0,0,.17)); }
.vodka-orbit { position:absolute; width:min(58vw,820px); aspect-ratio:1; border:1px solid rgba(10,12,13,.13); border-radius:50%; display:grid; place-items:center; transform:rotate(-18deg); }
.vodka-orbit::before { content:""; position:absolute; inset:11%; border:1px solid rgba(10,12,13,.08); border-radius:50%; }
.vodka-orbit span { position:absolute; font-size:8px; letter-spacing:.3em; text-transform:uppercase; }
.vodka-orbit span:nth-child(1) { top:9%; }
.vodka-orbit span:nth-child(2) { right:7%; bottom:20%; }
.vodka-orbit span:nth-child(3) { left:7%; bottom:20%; }
.vodka-spec { position:absolute; width:180px; font-size:10px; z-index:3; }
.vodka-spec span { display:block; font-size:8px; letter-spacing:.2em; opacity:.4; margin-bottom:10px; }
.vodka-spec strong { font-size:9px; letter-spacing:.2em; }
.vodka-spec p { color:#6e7272; line-height:1.6; margin:8px 0; }
.vodka-spec--left { left:0; top:40%; }
.vodka-spec--right { right:0; bottom:25%; }

.products { padding:clamp(100px,11vw,160px) 0; border-top:1px solid var(--line-light); }
.products-intro { display:grid; grid-template-columns:1fr 1fr; gap:20px 80px; margin-bottom:60px; }
.products-intro > .eyebrow { grid-column:1 / -1; }
.products-intro > p:not(.eyebrow) { max-width:320px; color:#6b6f70; align-self:end; }
.products-intro .text-link { align-self:end; justify-self:end; }
.product-list { display:grid; grid-template-columns:1.45fr 1fr 1fr 1fr; border-top:1px solid var(--line-light); border-left:1px solid var(--line-light); }
.product-card { min-width:0; color:inherit; text-decoration:none; border-right:1px solid var(--line-light); border-bottom:1px solid var(--line-light); }
.product-card-media { height:440px; display:grid; place-items:center; background:#ecece8; overflow:hidden; position:relative; }
.product-card-media img { height:80%; width:70%; object-fit:contain; transition:transform .8s var(--ease); }
.product-card:hover .product-card-media img { transform:scale(1.06) translateY(-4px); }
.product-card-media--ghost { color:#8d9191; font-family:var(--font-display); font-size:90px; }
.product-card-media--ghost::after { content:""; position:absolute; inset:18%; border:1px solid rgba(10,12,13,.08); border-radius:50%; }
.product-card-info { position:relative; min-height:150px; padding:20px; display:flex; flex-direction:column; gap:8px; }
.product-card-info span,.product-card-info small { font-size:8px; letter-spacing:.17em; color:#767a7a; }
.product-card-info strong { font-family:var(--font-display); font-weight:400; font-size:25px; line-height:1; }
.product-card-info b { position:absolute; right:20px; bottom:20px; font-size:20px; font-weight:400; }

.journal { padding:clamp(100px,12vw,180px) 0; }
.section-head--journal { margin-bottom:65px; }
.journal-grid { display:grid; grid-template-columns:1.25fr .875fr .875fr; gap:2px; }
.journal-card { min-height:520px; position:relative; overflow:hidden; background:#131618; }
.journal-card--large { min-height:650px; }
.journal-art { position:absolute; inset:0; transition:transform 1s var(--ease); }
.journal-card:hover .journal-art { transform:scale(1.05); }
.art--water { background:linear-gradient(160deg,#536066 0%,#20272b 42%,#080a0b 100%); }
.art--water::after { content:""; position:absolute; width:140%; height:55%; left:-20%; bottom:-8%; background:repeating-linear-gradient(176deg,transparent 0 28px,rgba(255,255,255,.08) 29px 30px); transform:rotate(-4deg); }
.art--stone { background:radial-gradient(circle at 70% 30%,#5c6263,transparent 20%), linear-gradient(145deg,#3b4142,#111415 65%); }
.art--stone::after { content:""; position:absolute; inset:25% 10% 0 25%; background:linear-gradient(130deg,transparent 0 45%,rgba(255,255,255,.08) 46% 47%,transparent 48%); clip-path:polygon(10% 100%,30% 0,80% 20%,100% 100%); }
.art--line { background:linear-gradient(90deg,#0b0d0e,#202426); }
.art--line::after { content:""; position:absolute; width:1px; height:150%; background:rgba(255,255,255,.25); left:50%; top:-20%; transform:rotate(25deg); box-shadow:120px 0 0 rgba(255,255,255,.06),-120px 0 0 rgba(255,255,255,.04); }
.journal-info { position:absolute; left:26px; right:26px; bottom:25px; z-index:2; }
.journal-info span { font-size:8px; letter-spacing:.2em; opacity:.55; }
.journal-info h3 { font-family:var(--font-display); font-weight:400; font-size:clamp(30px,3vw,48px); line-height:.95; margin:16px 0 25px; }
.journal-card:not(.journal-card--large) .journal-info h3 { font-size:32px; }
.journal-info a { font-size:9px; text-transform:uppercase; letter-spacing:.18em; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:6px; }

.contact { padding:clamp(110px,13vw,190px) 0; }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:10%; }
.contact-details { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-content:end; padding-top:100px; }
.contact-details span,.footer-col > span { font-size:8px; letter-spacing:.22em; opacity:.55; }
.contact-details p { margin-top:18px; line-height:1.9; }
.contact-details a { text-decoration:none; border-bottom:1px solid transparent; transition:border-color .3s; }
.contact-details a:hover { border-color:currentColor; }

.site-footer { padding:80px 0 24px; }
.footer-top { display:grid; grid-template-columns:1.4fr .8fr .8fr 1fr; gap:50px; padding-bottom:80px; }
.footer-brand img { width:155px; margin-bottom:24px; }
.footer-brand p { margin:0; font-size:8px; letter-spacing:.25em; line-height:1.7; opacity:.45; }
.footer-col { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.footer-col > span { margin-bottom:12px; }
.footer-col a,.footer-col p { margin:0; text-decoration:none; font-size:10px; line-height:1.7; color:#a3a7a8; }
.footer-col a:hover { color:#fff; }
.socials { display:flex; gap:25px; margin-top:6px; align-items:center; }
.socials a { width:20px; height:20px; display:grid; place-items:center; text-decoration:none; opacity:.52; transition:opacity .3s, transform .3s var(--ease); }
.socials a:hover { opacity:1; transform:scale(1.12); }
.socials img { width:100%; height:100%; object-fit:contain; filter:grayscale(1) brightness(4); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:20px; display:grid; grid-template-columns:1fr 1fr 1fr; font-size:8px; letter-spacing:.14em; color:#74797a; }
.footer-bottom > span:nth-child(2) { text-align:center; }
.footer-bottom div { display:flex; justify-content:flex-end; gap:25px; }
.footer-bottom a { text-decoration:none; }

.reveal { opacity:0; transform:translateY(24px); }
.is-visible { opacity:1; transform:none; transition:opacity .9s var(--ease), transform .9s var(--ease); }
