:root {
  --cream:#f5efe4;
  --cream-2:#fbf8f2;
  --stone:#e8ddcc;
  --wine:#5b1428;
  --wine-2:#350b17;
  --wine-3:#7b263c;
  --gold:#b99355;
  --gold-light:#d9c08c;
  --pine:#213127;
  --ink:#281f1b;
  --muted:#74675f;
  --ink-soft:#74675f;
  --line:rgba(40,31,27,.15);
  --line-light:rgba(255,255,255,.2);
  --shadow:0 28px 80px rgba(46,25,21,.16);
  --wrap:1240px
}

* {
  box-sizing:border-box
}

html {
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--cream-2);
  color:var(--ink);
  font-family:"Karla",system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}

body.menu-open {
  overflow:hidden
}

img {
  max-width:100%;
  display:block
}

a {
  color:var(--wine)
}

button,input,select,textarea {
  font:inherit
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:4px
}

.wrap {
  width:min(calc(100% - 48px),var(--wrap));
  margin-inline:auto
}

h1,h2,h3,h4 {
  font-family:"Lora",Georgia,serif;
  font-weight:400;
  margin:0;
  letter-spacing:-.025em
}

h1 {
  font-size:clamp(3rem,7vw,6.8rem);
  line-height:.96
}

h2 {
  font-size:clamp(2.25rem,4.8vw,4.65rem);
  line-height:1.02
}

h3 {
  font-size:clamp(1.3rem,2vw,1.8rem);
  line-height:1.22
}

p {
  margin:0 0 1em
}

p:last-child {
  margin-bottom:0
}

.kicker {
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 18px;
  color:var(--gold);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.17em;
  text-transform:uppercase
}

.kicker::before {
  content:"";
  width:30px;
  height:1px;
  background:currentColor
}

/* Header */ .site-head {
  position:absolute;
  inset:0 0 auto;
  z-index:40;
  color:#fff;
  border-bottom:1px solid var(--line-light);
  background:linear-gradient(180deg,rgba(35,6,15,.97),rgba(53,11,23,.9));
  box-shadow:0 10px 34px rgba(24,5,11,.22);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:background .25s ease
}

.legal-head {
  position:relative;
  background:var(--wine-2)
}

.site-head .wrap {
  height:94px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}

.wordmark {
  display:flex;
  align-items:center;
  color:#fff;
  text-decoration:none
}

.wordmark img {
  width:112px;
  height:auto;
  max-height:68px;
  object-fit:contain
}

.wordmark small {
  display:block;
  font-size:.65rem;
  letter-spacing:.15em;
  color:var(--gold-light)
}

.site-nav {
  display:flex;
  align-items:center;
  gap:clamp(18px,2.5vw,38px)
}

.site-nav a {
  position:relative;
  padding:35px 0;
  color:#fff;
  text-decoration:none;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.025em;
  text-shadow:0 1px 12px rgba(0,0,0,.28)
}

.site-nav a::after {
  content:"";
  position:absolute;
  right:0;
  bottom:24px;
  left:0;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transition:transform .22s ease
}

.site-nav a:hover,.site-nav a[aria-current="page"] {
  color:#fff
}

.site-nav a:hover::after,.site-nav a[aria-current="page"]::after {
  transform:scaleX(1)
}

.site-nav a:last-child {
  padding:12px 18px;
  border:1px solid var(--gold-light);
  background:rgba(255,255,255,.06)
}

.site-nav a:last-child::after {
  display:none
}

.site-nav a:last-child:hover {
  background:#fff;
  color:var(--wine)
}

.menu-toggle {
  display:none;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.4);
  background:transparent;
  color:#fff;
  font-size:1.3rem
}

/* Hero */ .hero {
  position:relative;
  min-height:640px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background:var(--wine-2);
  color:#fff
}

.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(35,7,15,.94) 0%,rgba(35,7,15,.72) 43%,rgba(35,7,15,.18) 78%),linear-gradient(0deg,rgba(26,8,13,.7),transparent 55%);
  z-index:1
}

.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:88px 88px;
  mask-image:linear-gradient(90deg,#000,transparent 72%);
  z-index:1
}

.hero .wrap {
  position:relative;
  z-index:2;
  padding-top:180px;
  padding-bottom:76px
}

.hero-photo {
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}

.hero h1 {
  max-width:11.5ch;
  color:#fff;
  text-wrap:balance
}

.hero .lede {
  max-width:55ch;
  margin-top:28px;
  color:#eadfce;
  font-size:clamp(1.05rem,1.6vw,1.25rem);
  line-height:1.6
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:34px
}

.hero-home {
  min-height:min(760px,88svh);
  background:url("hero-tasting.webp") center/cover no-repeat
}

.hero-home .wrap {
  padding-bottom:56px
}

.hero-visit {
  background:url("estate-building.webp") center 48%/cover no-repeat
}

.hero-spirits {
  background:url("distillery-still-portrait.webp") center 48%/cover no-repeat
}

.hero-bottles {
  background:url("barrel-cellar.webp") center 48%/cover no-repeat
}

.hero-bistro {
  background:var(--pine)
}

.hero-liqueurs {
  background:url("estate-night.webp") center/cover no-repeat
}

.hero.pine {
  background-color:var(--pine)
}

.hero.pine::before {
  background:linear-gradient(90deg,rgba(23,40,29,.95),rgba(23,40,29,.58) 56%,rgba(23,40,29,.2)),linear-gradient(0deg,rgba(17,31,22,.72),transparent)
}

/* Buttons */ .btn {
  min-height:52px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:0 24px;
  border:1px solid transparent;
  border-radius:0;
  text-decoration:none;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease
}

.btn::after {
  content:"↗"
}

.btn:hover {
  transform:translateY(-2px)
}

.btn-solid,.btn-gold {
  background:var(--gold);
  color:#fff
}

.btn-solid:hover,.btn-gold:hover {
  background:#9e783e
}

.btn-line {
  border-color:rgba(255,255,255,.45);
  color:#fff;
  background:rgba(255,255,255,.04)
}

.btn-line:hover {
  border-color:#fff;
  background:rgba(255,255,255,.1)
}

.btn-line-dark {
  border-color:var(--line);
  color:var(--ink)
}

.btn-line-dark:hover {
  border-color:var(--wine);
  color:var(--wine)
}

.hours-bar {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:64px;
  border-top:1px solid rgba(255,255,255,.28);
  border-bottom:1px solid rgba(255,255,255,.28)
}

.hours-bar>div {
  min-height:91px;
  padding:19px 22px 17px 0;
  border-right:1px solid rgba(255,255,255,.22)
}

.hours-bar>div:not(:first-child) {
  padding-left:22px
}

.hours-bar>div:last-child {
  border-right:0
}

.hours-bar .k {
  margin-bottom:7px;
  color:var(--gold-light);
  font-size:.69rem;
  font-weight:600;
  letter-spacing:.12em
}

.hours-bar .v {
  color:#fff;
  font-size:.91rem;
  line-height:1.4
}

/* Sections */ section {
  padding-block:clamp(82px,10vw,145px)
}

.section-head {
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  gap:70px;
  align-items:end;
  margin-bottom:58px
}

.section-head>p {
  max-width:540px;
  margin:0;
  justify-self:end;
  color:var(--muted);
  font-size:1.05rem
}

.section-head h2 {
  max-width:12ch
}

.tint {
  background:var(--cream)
}

.dark {
  background:var(--wine-2);
  color:var(--gold-light)
}

.dark h2,.dark h3 {
  color:#fff
}

.dark .section-head>p {
  color:var(--gold-light)
}

.pine {
  background:var(--pine);
  color:#dfe7df
}

.pine h1,.pine h2,.pine h3 {
  color:#fff
}

.pine .section-head>p {
  color:#c7d3ca
}

/* Home */ .doors {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.door {
  position:relative;
  min-height:480px;
  padding:32px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background:var(--wine-2);
  color:#fff;
  isolation:isolate
}

.door::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background-size:cover;
  background-position:center;
  transition:transform .65s ease
}

.door::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(0deg,rgba(29,8,14,.94),rgba(29,8,14,.08) 70%)
}

.door:nth-child(1)::before {
  background-image:url("hero-tasting.webp")
}

.door:nth-child(2)::before {
  background-image:url("estate-night.webp")
}

.door:nth-child(3)::before {
  background-image:url("cellar.webp")
}

.door:hover::before {
  transform:scale(1.035)
}

.door h3 {
  font-size:clamp(1.65rem,2.8vw,2.45rem)
}

.door p {
  margin-top:13px;
  color:#eadfce;
  font-size:.95rem
}

.door a {
  width:fit-content;
  margin-top:20px;
  padding-bottom:3px;
  border-bottom:1px solid var(--gold-light);
  color:#fff;
  text-decoration:none;
  font-weight:600;
  font-size:.87rem
}

.story-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:clamp(50px,8vw,110px)
}

.story-image {
  position:relative;
  min-height:620px;
  margin:0;
  background:url("estate-building.webp") center/cover no-repeat;
  box-shadow:var(--shadow)
}

.distillery-photo {
  min-height:clamp(340px,46vw,610px);
  margin:0 0 56px;
  background:url("copper-still.webp") center 52%/cover no-repeat;
  box-shadow:var(--shadow)
}

.story-image::after {
  content:"Kato Platres · 1,100 m";
  position:absolute;
  right:-1px;
  bottom:-1px;
  padding:15px 21px;
  background:var(--cream);
  color:var(--wine);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase
}

.story-copy h2 {
  max-width:11ch
}

.story-copy>p {
  max-width:560px;
  margin-top:25px;
  color:var(--muted)
}

.story-facts {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:40px;
  border-top:1px solid var(--line)
}

.story-fact {
  padding:19px 18px 17px 0;
  border-bottom:1px solid var(--line)
}

.story-fact:nth-child(odd) {
  margin-right:18px;
  border-right:1px solid var(--line)
}

.story-fact strong {
  display:block;
  color:var(--wine);
  font:400 1.8rem/1.1 "Lora",serif
}

.story-fact span {
  color:var(--muted);
  font-size:.78rem
}

.portfolio-preview {
  background:var(--cream-2)
}

.portfolio-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line)
}

.portfolio-card {
  min-height:250px;
  padding:28px 26px 28px 0;
  border-bottom:1px solid var(--line)
}

.portfolio-card:not(:last-child) {
  margin-right:26px;
  padding-right:26px;
  border-right:1px solid var(--line)
}

.portfolio-no {
  color:var(--gold);
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.13em
}

.portfolio-card h3 {
  margin-top:65px
}

.portfolio-card p {
  margin-top:12px;
  color:var(--muted);
  font-size:.9rem
}

.portfolio-card a {
  display:inline-block;
  margin-top:18px;
  color:var(--wine);
  font-size:.84rem;
  font-weight:600;
  text-decoration:none
}

.liqueur-callout {
  position:relative;
  overflow:hidden;
  background:var(--wine);
  color:#fff
}

.liqueur-callout::after {
  content:"AK";
  position:absolute;
  right:-.03em;
  bottom:-.28em;
  color:rgba(255,255,255,.06);
  font:400 20rem/1 "Lora",serif
}

.liqueur-inner {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:end
}

.liqueur-inner h2 {
  max-width:10ch
}

.liqueur-inner p {
  max-width:520px;
  color:#ead8dc
}

.liqueur-inner .btn {
  margin-top:24px
}

/* Catalogue */ .range {
  margin-bottom:70px
}

.range>h2 {
  padding-bottom:18px;
  border-bottom:1px solid var(--wine);
  margin-bottom:0
}

.range>.note {
  max-width:65ch;
  margin:17px 0 35px;
  color:var(--muted)
}

.product-tabs {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  padding:18px 24px;
  margin-top:24px;
  margin-bottom:8px;
  border:1px solid rgba(91,20,40,.16);
  background:#fff;
  box-shadow:0 14px 38px rgba(46,25,21,.08)
}

.product-tabs-label {
  margin-right:8px;
  color:var(--muted);
  font-size:.76rem;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase
}

.product-tabs a {
  padding:11px 17px;
  border:1px solid rgba(91,20,40,.24);
  background:var(--cream-2);
  color:var(--wine);
  text-decoration:none;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:background .2s ease,color .2s ease,border-color .2s ease
}

.product-tabs a:hover,.product-tabs a[aria-current="page"] {
  background:var(--wine);
  border-color:var(--wine);
  color:#fff
}

.range-nav {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}

.range-card {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:440px;
  padding:28px;
  overflow:hidden;
  background:var(--wine);
  color:#fff;
  text-decoration:none
}

.range-card::before {
  content:"";
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  opacity:.32;
  transition:transform .5s ease,opacity .5s ease
}

.range-card:nth-child(1)::before {
  background-image:url("cellar.webp")
}

.range-card:nth-child(2)::before {
  background-image:url("copper-still.webp")
}

.range-card:nth-child(3)::before {
  background-image:url("ak-coconut.webp");
  background-position:58% 30%
}

.range-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(27,8,13,.08),rgba(27,8,13,.88))
}

.range-card>* {
  position:relative;
  z-index:1
}

.range-card>span {
  font-size:.76rem;
  letter-spacing:.18em
}

.range-card h2 {
  margin-bottom:14px;
  font-size:clamp(2rem,3vw,3.3rem);
  color:#fff
}

.range-card-logo {
  width:min(190px,72%);
  margin:0 0 18px;
  filter:drop-shadow(0 3px 12px rgba(0,0,0,.35))
}

.range-card p {
  margin-bottom:22px;
  color:rgba(255,255,255,.82)
}

.range-card strong {
  color:var(--gold);
  font-size:.82rem;
  letter-spacing:.1em;
  text-transform:uppercase
}

.range-card:hover::before {
  transform:scale(1.035);
  opacity:.45
}

.bottles {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line)
}

.bottle {
  min-height:320px;
  padding:28px 27px;
  display:flex;
  flex-direction:column;
  background:var(--cream-2);
  transition:background .2s ease,transform .2s ease
}

.bottle-shot {
  height:360px;
  margin:-28px -27px 24px;
  padding:16px;
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#f5efe6;
  border-bottom:1px solid var(--line)
}

.bottle-shot img {
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center
}

/* Keep the wine catalogue visually consistent even when supplied bottle
   photographs come from different studio shoots. */
.wines-page .bottle-shot {
  background:#f4eee6
}

.wines-page .bottle-shot img {
  width:100%;
  height:290px;
  filter:drop-shadow(0 14px 10px rgba(45,24,19,.2))
}

.bottle:has(.bottle-shot) {
  min-height:440px;
  display:grid;
  grid-template-columns:minmax(180px,42%) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto;
  column-gap:28px
}

.bottle:has(.bottle-shot) .bottle-shot {
  grid-column:1;
  grid-row:1/5;
  height:auto;
  min-height:0;
  margin:-28px 0 -28px -27px;
  border-right:1px solid var(--line);
  border-bottom:0
}

.bottle:has(.bottle-shot)>:not(.bottle-shot) {
  grid-column:2
}

.bottle:has(.bottle-shot):nth-child(even) .bottle-shot {
  grid-column:2;
  margin:-28px -27px -28px 0;
  border-right:0;
  border-left:1px solid var(--line)
}

.bottle:has(.bottle-shot):nth-child(even)>:not(.bottle-shot) {
  grid-column:1
}

.bottle-shot img[src$="brandy-xo.webp"] {
  mix-blend-mode:multiply
}

.bottle-shot img[src$="lionspirit-whisky.webp"] {
  width:92%;
  height:92%
}

.bottle:hover {
  position:relative;
  z-index:2;
  background:#fff;
  transform:translateY(-2px);
  box-shadow:var(--shadow)
}

.bottle h3 {
  font-size:1.35rem
}

.bottle .meta {
  margin:5px 0 17px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase
}

.bottle p {
  color:var(--muted);
  font-size:.93rem;
  flex:1
}

.bottle dl {
  margin:20px 0 0;
  padding-top:13px;
  border-top:1px solid var(--line);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 15px;
  font-size:.82rem
}

.bottle dt {
  color:var(--muted)
}

.bottle dd {
  margin:0;
  text-align:right
}

.bistro-atmosphere {
  padding:0;
  background:var(--pine);
  color:#fff
}

.bistro-atmosphere-grid {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);
  align-items:center;
  gap:clamp(40px,6vw,82px)
}

.bistro-atmosphere figure {
  min-height:560px;
  margin:0;
  align-self:stretch;
  overflow:hidden
}

.bistro-atmosphere img {
  width:100%;
  height:100%;
  object-fit:cover
}

.bistro-atmosphere-copy {
  padding:64px 0
}

.bistro-atmosphere-copy h2 {
  max-width:10ch;
  font-size:clamp(2.3rem,3.7vw,4rem)
}

.bistro-atmosphere-copy p:last-child {
  max-width:38ch;
  margin-top:22px;
  color:rgba(255,255,255,.76)
}

.provenance {
  padding:0;
  background:var(--wine-2);
  color:#fff
}

.provenance-grid {
  display:grid;
  grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:clamp(44px,7vw,100px)
}

.provenance-photo {
  min-height:620px;
  margin:0;
  align-self:stretch;
  overflow:hidden
}

.provenance-photo img {
  width:100%;
  height:100%;
  object-fit:cover
}

.provenance-copy {
  max-width:620px;
  padding:70px 0
}

.provenance-copy h2 {
  max-width:12ch;
  font-size:clamp(2.4rem,4vw,4.4rem)
}

.provenance-copy p:last-child {
  max-width:55ch;
  margin-top:24px;
  color:rgba(255,255,255,.76)
}

.flavours {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:9px
}

.flavours li {
  padding:7px 15px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  color:#fff;
  font-size:.86rem
}

.tint .flavours li,.cream .flavours li {
  border-color:var(--line);
  color:var(--ink)
}

/* Experiences */ .experiences {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px
}

.exp {
  position:relative;
  min-height:360px;
  padding:32px 29px;
  display:flex;
  flex-direction:column;
  background:var(--cream-2);
  border-top:3px solid var(--gold)
}

.exp h3 {
  margin-top:10px;
  font-size:1.55rem
}

.exp-tag {
  color:var(--wine);
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.15em;
  text-transform:uppercase
}

.exp .price {
  margin:16px 0 4px;
  color:var(--wine);
  font:400 2rem/1 "Lora",serif
}

.exp .price span {
  color:var(--muted);
  font:400 .82rem/1 "Karla",sans-serif
}

.exp .dur {
  padding-bottom:17px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.8rem
}

.exp-copy {
  margin-top:22px;
  color:var(--muted);
  font-size:.95rem;
  line-height:1.7
}

.exp--signature {
  grid-column:span 2;
  background:var(--wine);
  color:#fff
}

.exp--signature .exp-tag,
.exp--signature .price {
  color:var(--gold-light)
}

.exp--signature .price span,
.exp--signature .dur,
.exp--signature .exp-copy {
  color:#ead8dc
}

.exp--signature .dur {
  border-color:rgba(255,255,255,.2)
}

.exp ul {
  margin:22px 0 0;
  padding-left:1.1em;
  color:var(--muted);
  font-size:.91rem;
  flex:1
}

.exp li {
  margin-bottom:9px
}

.exp li::marker {
  color:var(--gold)
}

/* Forms */ .form-grid {
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  gap:clamp(50px,8vw,100px)
}

form {
  padding:clamp(28px,5vw,55px);
  background:var(--cream-2);
  box-shadow:0 20px 60px rgba(63,35,28,.08)
}

form label {
  display:block;
  margin-bottom:19px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase
}

form input,form select,form textarea {
  display:block;
  width:100%;
  margin-top:8px;
  padding:12px 0;
  border:0;
  border-bottom:1px solid var(--line);
  border-radius:0;
  background:transparent;
  color:var(--ink);
  font-size:1rem;
  outline:0
}

form input:focus,form select:focus,form textarea:focus {
  border-color:var(--wine);
  box-shadow:0 1px 0 var(--wine)
}

form textarea {
  min-height:112px;
  resize:vertical
}

.two-up {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 18px
}

.hp {
  position:absolute;
  left:-9999px
}

.form-note {
  margin-top:10px;
  color:var(--muted);
  font-size:.82rem
}

.detail {
  margin-bottom:24px;
  padding-bottom:19px;
  border-bottom:1px solid var(--line)
}

.detail .k {
  margin-bottom:3px;
  color:var(--gold);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase
}

.detail .v {
  font-size:1rem
}

.detail a {
  text-decoration:none
}

.detail a:hover {
  text-decoration:underline
}

/* Age confirmation */
body.age-check {
  overflow:hidden
}

.age-gate {
  position:fixed;
  inset:0;
  z-index:1000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(24,5,12,.92);
  backdrop-filter:blur(12px)
}

.age-gate-panel {
  width:min(100%,560px);
  padding:clamp(34px,6vw,64px);
  border:1px solid rgba(217,192,140,.42);
  background:var(--wine-2);
  color:#fff;
  text-align:center;
  box-shadow:0 30px 100px rgba(0,0,0,.42)
}

.age-gate-panel>img {
  width:138px;
  max-height:92px;
  margin:0 auto 30px;
  object-fit:contain
}

.age-gate-panel .kicker {
  justify-content:center
}

.age-gate-panel h2 {
  color:#fff;
  font-size:clamp(2.3rem,6vw,4rem)
}

.age-gate-panel p {
  max-width:40ch;
  margin:20px auto 0;
  color:#ddcfc5
}

.age-gate-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:32px
}

.age-gate-actions .btn::after {
  display:none
}

.age-leave {
  min-height:52px;
  border:1px solid rgba(255,255,255,.35);
  background:transparent;
  color:#fff;
  cursor:pointer
}

.age-leave:hover {
  border-color:#fff;
  background:rgba(255,255,255,.08)
}

.age-gate-panel small {
  display:block;
  margin-top:24px;
  color:#9f8b84
}

.age-gate-declined {
  padding-block:72px
}

/* Bistro menu */
.menu-shell {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  margin-top:52px;
  border:1px solid var(--line);
  background:var(--line)
}

.menu-group {
  padding:clamp(28px,4vw,48px);
  background:var(--cream-2)
}

.menu-group.menu-feature {
  grid-column:1/-1;
  background:var(--wine-2);
  color:#fff
}

.menu-group h3 {
  margin-bottom:22px;
  color:var(--wine);
  font-size:clamp(1.75rem,3vw,2.7rem)
}

.menu-feature h3 {
  color:var(--gold-light)
}

.menu-list {
  list-style:none;
  margin:0;
  padding:0
}

.menu-item {
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  padding:15px 0;
  border-top:1px solid var(--line)
}

.menu-feature .menu-item {
  border-color:rgba(255,255,255,.16)
}

.menu-item:first-child {
  border-top:0
}

.menu-item strong {
  display:block;
  font-family:"Lora",Georgia,serif;
  font-weight:400;
  font-size:1.12rem;
  line-height:1.35
}

.menu-item p {
  margin-top:4px;
  color:var(--muted);
  font-size:.9rem;
  line-height:1.45
}

.menu-feature .menu-item p {
  color:#cdbfba
}

.menu-price {
  color:var(--wine);
  font-weight:700;
  white-space:nowrap
}

.menu-feature .menu-price {
  color:var(--gold-light)
}

.menu-addons {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 28px;
  margin-top:20px
}

.menu-addon {
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:7px 0;
  border-bottom:1px solid rgba(255,255,255,.13)
}

.menu-free {
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(217,192,140,.4)
}

.menu-free strong {
  display:block;
  margin-bottom:7px;
  color:var(--gold-light);
  letter-spacing:.08em;
  text-transform:uppercase
}

.menu-note {
  margin-top:24px;
  color:var(--muted);
  font-size:.86rem
}

/* Unified reservation */
.experience-choices {
  margin:0 0 26px;
  padding:0;
  border:0
}

.experience-choices legend {
  margin-bottom:12px;
  font-weight:600
}

.choice-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.choice-card {
  position:relative;
  display:block;
  min-height:96px;
  margin:0;
  padding:17px 16px 15px 43px;
  border:1px solid var(--line);
  background:#fff;
  cursor:pointer
}

.choice-card input {
  position:absolute;
  top:20px;
  left:16px;
  width:auto;
  accent-color:var(--wine)
}

.choice-card strong,
.choice-card span {
  display:block
}

.choice-card span {
  margin-top:3px;
  color:var(--muted);
  font-size:.8rem;
  line-height:1.35
}

.choice-card:has(input:checked) {
  border-color:var(--wine);
  box-shadow:inset 0 0 0 1px var(--wine)
}

.slot-guidance {
  margin:-6px 0 20px;
  padding:12px 14px;
  border-left:3px solid var(--gold);
  background:rgba(185,147,85,.1);
  color:var(--muted);
  font-size:.84rem
}

.form-status {
  min-height:25px;
  margin-top:14px;
  font-size:.9rem
}

.form-status.success {
  color:#2c6a42
}

.form-status.error {
  color:#9a2538
}

.form-status a {
  font-weight:700
}

button:disabled,
select:disabled {
  cursor:not-allowed;
  opacity:.62
}

.reservation-link-panel {
  padding:clamp(32px,5vw,56px);
  border:1px solid var(--line);
  background:var(--cream-2)
}

.reservation-link-panel h2 {
  font-size:clamp(2.2rem,4vw,3.8rem)
}

.reservation-link-panel p {
  max-width:62ch;
  margin-top:16px;
  color:var(--muted)
}

/* Legal */ .legal-head+main section:first-child {
  padding-top:82px
}

.legal-head+main section:first-child>.wrap {
  max-width:72ch!important
}

.legal-head+main h1 {
  max-width:13ch;
  color:var(--wine);
  font-size:clamp(2.8rem,6vw,5.5rem)
}

.legal-head+main h2 {
  margin-top:44px!important;
  font-size:1.7rem
}

.legal-head+main p,.legal-head+main ul {
  max-width:760px
}

/* Footer */ .site-foot {
  background:#240711;
  color:#d5c5ba;
  font-size:.9rem
}

.site-foot .wrap {
  padding-block:58px 30px;
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px 70px
}

.site-foot .wordmark {
  font:400 1.6rem/1.2 "Lora",serif
}

.site-foot p {
  margin-top:14px;
  color:#ad9890
}

.site-foot h4 {
  margin-bottom:14px;
  color:#fff;
  font-size:.95rem
}

.site-foot ul {
  list-style:none;
  margin:0;
  padding:0
}

.site-foot li {
  margin-bottom:7px
}

.site-foot a {
  color:#d5c5ba;
  text-decoration:none
}

.site-foot a:hover {
  color:#fff
}

.site-foot .base {
  grid-column:1/-1;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:8px 20px;
  color:#907b74;
  font-size:.78rem
}

.no-js .reveal {
  opacity:1;
  transform:none
}

.reveal {
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease,transform .7s ease
}

.reveal.visible {
  opacity:1;
  transform:none
}

@media(max-width:980px) {
  .site-head {
    backdrop-filter:none;
    -webkit-backdrop-filter:none
  }

  .site-head .wrap {
    height:82px
  }

  .menu-toggle {
    display:grid;
    place-items:center;
    position:relative;
    z-index:102
  }

  .site-head .wordmark {
    position:relative;
    z-index:102
  }

  .site-nav {
    position:fixed;
    inset:0;
    z-index:101;
    width:100vw;
    height:100dvh;
    min-height:100vh;
    padding:115px 24px 40px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    background:#350b17;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility 0s linear .2s
  }

  .site-nav.open {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition-delay:0s
  }

  .site-nav a,.site-nav a:last-child {
    width:100%;
    padding:20px 0;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.16);
    font-size:1.15rem
  }

  .site-nav a::after {
    display:none
  }

  .section-head,.story-grid,.liqueur-inner,.form-grid {
    grid-template-columns:1fr;
    gap:32px
  }

  .section-head>p {
    justify-self:start
  }

  .doors {
    grid-template-columns:1fr 1fr
  }

  .door:last-child {
    grid-column:1/-1
  }

  .portfolio-grid {
    grid-template-columns:1fr 1fr
  }

  .portfolio-card:nth-child(2) {
    margin-right:0;
    border-right:0
  }

  .bottles {
    grid-template-columns:1fr
  }

  .experiences {
    grid-template-columns:1fr
  }

  .exp {
    min-height:auto
  }

  .exp--signature {
    grid-column:auto
  }

  .range-nav {
    grid-template-columns:1fr
  }

  .range-card {
    min-height:360px
  }
}

@media(max-width:700px) {
  .wrap {
    width:min(calc(100% - 34px),var(--wrap))
  }

  .wordmark img {
    width:92px
  }

  .hero,.hero-home {
    min-height:780px
  }

  .hero-home {
    min-height:min(720px,92svh)
  }

  .hero .wrap {
    padding-top:142px;
    padding-bottom:42px
  }

  h1 {
    font-size:clamp(3rem,15vw,4.7rem)
  }

  .hero::before {
    background:linear-gradient(90deg,rgba(35,7,15,.92),rgba(35,7,15,.42)),linear-gradient(0deg,rgba(26,8,13,.82),transparent)
  }

  .hours-bar {
    grid-template-columns:1fr 1fr;
    margin-top:44px
  }

  .hours-bar>div {
    min-height:87px;
    padding:15px 12px 14px 0;
    border-bottom:1px solid rgba(255,255,255,.2)
  }

  .hours-bar>div:not(:first-child) {
    padding-left:12px
  }

  .hours-bar>div:nth-child(2) {
    border-right:0
  }

  .doors {
    grid-template-columns:1fr
  }

  .door,.door:last-child {
    grid-column:auto;
    min-height:410px
  }

  .story-image {
    min-height:430px
  }

  .provenance-grid {
    grid-template-columns:1fr
  }

  .bistro-atmosphere-grid {
    grid-template-columns:1fr
  }

  .bistro-atmosphere figure {
    min-height:440px
  }

  .bistro-atmosphere-copy {
    padding:0 0 58px
  }

  .provenance-photo {
    min-height:520px
  }

  .provenance-copy {
    padding:0 0 64px
  }

  .story-facts,.portfolio-grid,.bottles {
    grid-template-columns:1fr
  }

  .bottle:has(.bottle-shot) {
    min-height:320px;
    display:flex
  }

  .bottle:has(.bottle-shot) .bottle-shot,
  .bottle:has(.bottle-shot):nth-child(even) .bottle-shot {
    height:360px;
    margin:-28px -27px 24px;
    border-right:0;
    border-left:0;
    border-bottom:1px solid var(--line)
  }

  .story-fact:nth-child(odd),.portfolio-card:not(:last-child) {
    margin:0;
    padding-right:0;
    border-right:0
  }

  .portfolio-card {
    min-height:auto;
    padding:25px 0
  }

  .portfolio-card h3 {
    margin-top:30px
  }

  .two-up {
    grid-template-columns:1fr
  }

  form {
    padding:28px 22px
  }

  .age-gate-actions,
  .menu-shell,
  .choice-grid,
  .menu-addons {
    grid-template-columns:1fr
  }

  .menu-group.menu-feature {
    grid-column:auto
  }

  .site-foot .wrap {
    grid-template-columns:1fr;
    gap:30px
  }

  .site-foot .base {
    flex-direction:column
  }
}

@media(max-width:640px) {
  .product-tabs {
    justify-content:flex-start;
    padding:14px;
    margin-top:14px
  }

  .product-tabs-label {
    flex:0 0 100%;
    margin:0 0 2px
  }

  .product-tabs a {
    flex:1 1 100%;
    text-align:center
  }
}

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

  *,*::before,*::after {
    animation:none!important;
    transition:none!important
  }

  .reveal {
    opacity:1;
    transform:none
  }
}

/* Anna Kornelia collection */
.ak-hero {
  padding-top:90px;
  background:var(--wine-2);
  color:#fff
}

.ak-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  min-height:660px
}

.ak-hero-copy {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:60px clamp(30px,5vw,72px) 54px 0
}

.ak-logo {
  width:min(330px,72%);
  margin-bottom:24px
}

.ak-eyebrow {
  margin-bottom:16px;
  color:var(--gold-light);
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase
}

.ak-hero h1 {
  max-width:720px;
  font-size:clamp(3.2rem,5.6vw,5.9rem)
}

.ak-hero .lede {
  max-width:580px;
  margin-top:26px;
  color:rgba(255,255,255,.82)
}

.ak-signature {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-top:18px;
  padding:13px 0;
  border-top:1px solid rgba(217,192,140,.55);
  border-bottom:1px solid rgba(217,192,140,.55);
  color:var(--gold-light);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.13em
}

.ak-endorsement {
  display:flex;
  align-items:center;
  gap:10px;
  width:188px;
  margin-top:30px;
  padding:9px 12px;
  background:var(--cream)
}

.ak-endorsement span {
  color:var(--ink);
  font-family:"Lora",Georgia,serif;
  font-size:.9rem;
  font-style:italic
}

.ak-endorsement img {
  width:132px;
  max-height:64px
}

.ak-hero-image {
  min-height:660px;
  margin:0;
  overflow:hidden
}

.ak-hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center
}

.ak-intro {
  padding:clamp(80px,10vw,140px) 0;
  background:var(--cream)
}

.ak-intro-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,8vw,110px);
  align-items:start
}

.ak-intro-copy {
  max-width:620px;
  color:var(--muted)
}

.ak-travel-banner {
  margin-top:64px;
  overflow:hidden;
  box-shadow:var(--shadow)
}

.ak-travel-banner img {
  width:100%;
  aspect-ratio:3/1;
  object-fit:cover
}

.ak-flavours {
  padding:clamp(80px,10vw,140px) 0;
  background:var(--cream-2)
}

.ak-flavour-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  background:var(--line);
  border:1px solid var(--line)
}

.ak-flavour {
  position:relative;
  min-height:310px;
  padding:32px 30px 34px;
  overflow:hidden;
  background:var(--cream-2)
}

.ak-flavour.has-bottle {
  padding-right:132px
}

.ak-flavour-bottle {
  position:absolute;
  right:16px;
  bottom:18px;
  width:96px;
  height:224px;
  margin:0;
  display:grid;
  align-items:end;
  filter:drop-shadow(0 10px 14px rgba(46,25,21,.14))
}

.ak-flavour-bottle img {
  width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center bottom
}

.ak-flavour-bottle.solid-background img {
  mix-blend-mode:multiply
}

.ak-flavour::before {
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:68px;
  height:3px;
  background:var(--gold)
}

.ak-flavour span {
  display:block;
  min-height:38px;
  color:var(--wine-3);
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.11em;
  line-height:1.45;
  text-transform:uppercase
}

.ak-flavour h3 {
  margin:34px 0 14px;
  font-size:clamp(1.8rem,2.5vw,2.8rem)
}

.ak-flavour p {
  color:var(--muted)
}

.ak-buy {
  padding:clamp(80px,10vw,130px) 0;
  background:var(--wine-2);
  color:#fff
}

.ak-buy-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(40px,8vw,110px);
  align-items:center
}

.ak-buy h2 {
  color:#fff
}

.ak-buy .kicker {
  color:var(--gold-light)
}

.ak-buy .kicker::before {
  background:var(--gold-light)
}

.ak-buy p {
  max-width:560px;
  color:rgba(255,255,255,.78)
}

@media(max-width:980px) {
  .ak-hero-grid {
    grid-template-columns:1fr 1fr
  }

  .ak-hero-copy {
    padding-right:34px
  }

  .ak-intro-grid,.ak-buy-grid {
    grid-template-columns:1fr;
    gap:32px
  }

  .ak-flavour-grid {
    grid-template-columns:1fr 1fr
  }
}

@media(max-width:700px) {
  .ak-hero {
    padding-top:82px
  }

  .ak-hero-grid {
    width:100%;
    grid-template-columns:1fr
  }

  .ak-hero-copy {
    padding:52px 20px 44px
  }

  .ak-hero-image {
    min-height:570px
  }

  .ak-logo {
    width:min(280px,78%)
  }

  .ak-travel-banner {
    width:calc(100% - 34px);
    margin-top:42px
  }

  .ak-travel-banner img {
    aspect-ratio:16/7
  }

  .ak-flavour-grid {
    grid-template-columns:1fr
  }

  .ak-flavour {
    min-height:auto
  }
}
