/* The Three Chimneys — luxury accommodation, Te Muna Road */

:root{
  --bone:#F4EFE6;
  --bone-2:#EBE4D6;
  --paper:#FBF8F2;
  --ink:#1A1A18;
  --ink-2:#2C2A26;
  --muted:#6B6457;
  --rule:#D9D1C0;
  --vine: oklch(52% 0.04 145);
  --vine-deep: oklch(38% 0.045 145);
  --stone: oklch(70% 0.02 70);
  --hairline:#C9BFA9;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
:root{ --nav-h: 130px; }
@media (max-width: 720px){ :root{ --nav-h: 96px; } }
body{
  padding-top: var(--nav-h);
  font-family: "Inter Tight", "Inter", system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

.serif{ font-family:"Cormorant Garamond", "EB Garamond", Georgia, serif; font-weight:400; letter-spacing:-0.005em; }
.italic{ font-style: italic; }
.label{
  font-family:"Inter Tight", sans-serif;
  font-size:11px;
  letter-spacing:0.22em;
  text-transform:uppercase;
  font-weight:500;
  color:var(--muted);
}
.label.ink{color:var(--ink)}
.label.bone{color:var(--bone)}

/* layout */
.wrap{max-width:1280px; margin:0 auto; padding: 0 48px;}
.wrap-narrow{max-width:980px; margin:0 auto; padding:0 48px;}
.wrap-wide{max-width:1480px; margin:0 auto; padding:0 48px;}

@media (max-width: 720px){
  .wrap, .wrap-narrow, .wrap-wide { padding: 0 24px; }
}

/* nav — pinned to top, always solid (never transparent), +20% deeper than before */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between;
  padding: 26px 48px;
  background: rgba(251,248,242,0.96);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rule);
  color: var(--ink);
}
/* Scrolled state intentionally a no-op — banner stays a fixed size */
.nav.scrolled{ padding: 26px 48px; }
.nav .brand{
  display:flex; align-items:center; gap:12px;
  font-family:"Cormorant Garamond", serif;
  font-size:19px; letter-spacing:.02em;
  color: inherit;
  text-decoration: none;
}
.nav .brand:hover{ color: inherit; }
.nav .brand .mark{ width:26px; height:26px; }
.nav .links{ display:flex; gap:34px; }
.nav .links a{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; color:inherit; opacity:.85;
}
.nav .links a:hover{ opacity:1; }
.nav .links a.active{ opacity:1; font-weight:500; }
.nav .links a.active::after{
  content:""; display:block; height:1px; background:currentColor; margin-top:4px; opacity:.6;
}
.nav .cta{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  text-decoration:none; color:inherit;
  border:1px solid currentColor; padding:10px 18px; border-radius:999px;
  transition: all .25s;
}
.nav .cta:hover{ background:currentColor; }
.nav.scrolled .cta:hover{ color:var(--paper); }
.nav:not(.scrolled) .cta:hover{ color:var(--ink); }

@media (max-width:900px){
  .nav .links{ display:none }
  .nav .cta{ display:none }
  .nav{ padding:22px 24px }
  .nav.scrolled{ padding:22px 24px }
}

/* ── Mobile menu trigger (hidden on desktop) ─────────────────────────── */
.nav-menu-btn{
  display: none;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: 0;
  padding: 8px 4px 8px 12px;
  color: var(--ink);
  cursor: pointer;
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}
.nav-menu-btn-label{
  font-family: "Inter Tight", sans-serif;
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink);
  transition: opacity .2s;
}
.nav-menu-btn-icon{
  position: relative;
  width: 26px;
  height: 14px;
  display: inline-block;
}
.nav-menu-btn-icon span{
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--ink);
  transition: transform .35s cubic-bezier(.6,.05,.3,1), top .25s, opacity .2s;
}
.nav-menu-btn-icon span:nth-child(1){ top: 4px; }
.nav-menu-btn-icon span:nth-child(2){ top: 10px; }
.nav-menu-btn.is-open .nav-menu-btn-icon span{ top: 7px; }
.nav-menu-btn.is-open .nav-menu-btn-icon span:nth-child(1){ transform: rotate(45deg); }
.nav-menu-btn.is-open .nav-menu-btn-icon span:nth-child(2){ transform: rotate(-45deg); }

@media (max-width: 900px){
  .nav-menu-btn{ display: inline-flex; }
}

/* ── Mobile menu overlay ─────────────────────────────────────────────── */
.mobile-menu{
  position: fixed;
  inset: 0;
  z-index: 49; /* sits just below the fixed nav so the close button stays in place */
  background: var(--paper);
  padding-top: var(--nav-h);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px);
  transition: opacity .35s ease, transform .45s cubic-bezier(.6,.05,.3,1), visibility 0s linear .45s;
  pointer-events: none;
}
.mobile-menu.is-open{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity .35s ease, transform .45s cubic-bezier(.6,.05,.3,1), visibility 0s linear 0s;
  pointer-events: auto;
}
@media (min-width: 901px){
  .mobile-menu{ display: none !important; }
}
.mobile-menu-inner{
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 32px 28px 36px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.mobile-menu-eyebrow{
  padding-bottom: 22px;
  border-bottom: 1px solid var(--rule);
  margin-bottom: 6px;
}
.mobile-menu-links{
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-menu-links li{
  border-bottom: 1px solid var(--rule);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s ease, transform .55s cubic-bezier(.4,0,.2,1);
}
.mobile-menu.is-open .mobile-menu-links li{
  opacity: 1;
  transform: translateY(0);
}
.mobile-menu.is-open .mobile-menu-links li:nth-child(1){ transition-delay: .08s; }
.mobile-menu.is-open .mobile-menu-links li:nth-child(2){ transition-delay: .14s; }
.mobile-menu.is-open .mobile-menu-links li:nth-child(3){ transition-delay: .20s; }
.mobile-menu.is-open .mobile-menu-links li:nth-child(4){ transition-delay: .26s; }

.mobile-menu-links a{
  display: flex;
  align-items: baseline;
  gap: 18px;
  padding: 22px 4px;
  text-decoration: none;
  color: var(--ink);
}
.mobile-menu-links .mm-num{
  font-family: "Inter Tight", sans-serif;
  font-size: 11px;
  letter-spacing: 0.22em;
  font-weight: 500;
  color: var(--muted);
  min-width: 28px;
}
.mobile-menu-links .mm-label{
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  font-size: clamp(34px, 9.5vw, 48px);
  line-height: 1.05;
  letter-spacing: -0.01em;
}
.mobile-menu-links li.is-current .mm-num{ color: var(--ink); }
.mobile-menu-links li.is-current .mm-label{ font-style: italic; }

.mobile-menu-foot{
  margin-top: auto;
  padding-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.mobile-menu-cta{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  text-decoration: none;
  color: var(--ink);
  font-family: "Inter Tight", sans-serif;
  font-size: 13px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
  transition: background .25s ease, color .25s ease;
}
.mobile-menu-cta .arrow{ font-size: 16px; }
.mobile-menu-cta:hover,
.mobile-menu-cta:active{ background: var(--ink); color: var(--paper); }
.mobile-menu-contact{
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 18px;
  color: var(--muted);
  text-decoration: none;
  text-align: left;
}

/* Tighten the mobile nav row so logo + Menu sit comfortably */
@media (max-width: 720px){
  .nav-menu-btn{ padding: 8px 4px 8px 10px; }
  .nav-menu-btn-label{ display: none; } /* icon-only on narrow phones */
  .nav-menu-btn-icon{ width: 28px; height: 14px; }
}

/* hero — landing image bar (reduced height so it does not compete with text) */
.hero{
  position:relative;
  color:var(--bone);
  overflow:hidden;
  background: var(--paper);
}
/* The image is now a bounded panel above the text, not a fullscreen overlay */
.hero .bg{
  position:relative;
  width: 100%;
  aspect-ratio: 1350 / 1012;
  background: var(--paper);
  overflow: hidden;
}
.hero .bg img{
  position:absolute; inset:0; width:100%; height:100%; object-fit: cover;
  object-position: center;
  transform: none;
}
/* editorial caption beneath the hero image */
.hero .plate-caption{
  display:none;
}
@media (min-width: 721px){
  .hero .bg{
    aspect-ratio: auto;
    max-width: 1240px;
    margin: 0 auto;
    padding: 40px 56px 28px;
    background: var(--paper);
    box-sizing: border-box;
    height: auto;
    position: relative;
  }
  /* matted frame around the image */
  .hero .bg::before{
    content:"";
    position:absolute;
    left: 32px; right: 32px; top: 32px;
    bottom: 56px;
    border: 1px solid var(--rule);
    pointer-events:none;
    z-index: 1;
  }
  .hero .bg img{
    position: static;
    width: 100%;
    height: auto;
    display: block;
    object-fit: contain;
    padding: 8px;
    background: var(--paper);
    box-sizing: border-box;
    position: relative;
    z-index: 2;
  }
  .hero .bg::after{
    /* override the dark gradient overlay inherited from earlier rules */
    display: none;
  }
  .hero .plate-caption{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap: 24px;
    max-width: 1240px;
    margin: 14px auto 0;
    padding: 0 64px;
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: var(--muted);
  }
  .hero .plate-caption .title{
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 15px;
    letter-spacing: 0;
    text-transform: none;
    color: var(--ink-2);
  }
  .hero .plate-caption .rule{
    flex: 1;
    height: 1px;
    background: var(--rule);
    align-self: center;
  }
}
.hero .bg::after{
  content:none;
}
.hero .content{
  position:relative; z-index:2;
  background: var(--paper);
  color: var(--ink);
  padding: 64px 0 80px;
  display:block;
}
.hero .content .wrap-inner{ max-width: 1180px; margin: 0 auto; padding: 0 48px; }
.hero .eyebrow .dot{ background: var(--ink) !important; }
.hero .eyebrow .label.bone{ color: var(--muted) !important; }
.hero h1{ color: var(--ink); }
.hero .lede{ color: var(--ink-2); opacity: 1; }
.hero .meta{ border-top-color: var(--rule); }
.hero .meta .item .k{ color: var(--muted); opacity: 1; }
.hero .scroll-hint{ display: none; }
.hero .brand-mark{
  display:flex; justify-content:center;
  margin: -90px auto 36px;
  position: relative; z-index: 3;
}
.hero .brand-mark img{
  width: 180px; height: auto; display:block;
  background: var(--paper);
  padding: 4px 8px;
  border: 1px solid var(--rule);
}
@media (max-width: 720px){
  .hero .content{ padding: 40px 0 60px; }
  .hero .brand-mark img{ width: 140px; padding: 3px 6px; }
}
.hero-old-ignore{
.hero .bg{
  position:absolute; inset:0;
  background: #2c3327;
}
.hero .bg::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.15) 35%, rgba(0,0,0,.55) 100%);
}
.hero .bg img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform: scale(1.04);
}
.hero .content{
  position:relative; z-index:2;
  height:100%;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-bottom: 9vh;
}
.hero .eyebrow{
  display:flex; align-items:center; gap:14px;
  margin-bottom: 28px;
}
.hero .eyebrow .dot{ width:6px; height:6px; background:var(--bone); border-radius:50%; opacity:.8; }
.hero h1{
  font-family:"Cormorant Garamond", serif;
  font-weight:300;
  font-size: clamp(48px, 7.4vw, 124px);
  line-height: .98;
  letter-spacing: -0.02em;
  margin: 0 0 28px;
  max-width: 14ch;
}
.hero h1 em{ font-style:italic; font-weight:300; }
.hero .lede{
  max-width: 50ch;
  font-size: 17px;
  line-height: 1.6;
  opacity:.92;
  margin-bottom: 40px;
}
.hero .meta{
  display:flex; gap:48px; flex-wrap:wrap;
  padding-top:24px;
  border-top: 1px solid rgba(244,239,230,.25);
}
.hero .meta .item .v{ font-family:"Cormorant Garamond", serif; font-size:22px; }
.hero .meta .item .k{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; opacity:.7; margin-bottom:4px; }

.hero .scroll-hint{
  position:absolute; bottom:28px; right:48px; z-index:3;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase; opacity:.8;
  display:flex; align-items:center; gap:10px;
}
.hero .scroll-hint .line{ width:38px; height:1px; background:var(--bone); }
}
/* nav brand logo — transparent PNG; invert to bone over the dark hero, dark when scrolled */
/* Note: PNG content sits ~3% above the bbox center (extra blank padding below the wordmark).
   Compensating with asymmetric vertical margin so the visible logo centers with the nav links/CTA. */
.nav .brand-logo{
  height: 125px;
  width: auto;
  margin: -20px 0 -28px;
  display:block;
  filter: none;
}
.nav.scrolled .brand-logo{
  height: 125px;
  margin: -20px 0 -28px;
}
@media (max-width: 720px){
  .nav .brand-logo{ height: 94px; margin: -14px 0 -22px; }
  .nav.scrolled .brand-logo{ height: 94px; margin: -14px 0 -22px; }
}
footer.foot .brand-block{ display:flex; align-items:center; }
.brand-block .brand-logo-foot{ width: 100%; max-width: 240px; height: auto; display:block; margin: 0 0 0 -8px; }

/* Haiku block — closes the Land page */
.haiku-block{
  margin-top: 120px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.haiku-block .haiku-rule{
  width: 1px;
  height: 56px;
  background: var(--rule);
  margin-bottom: 28px;
}
.haiku-block .haiku-label{
  font-size: 11px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 28px;
}
.haiku-block .haiku{
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 400;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.7;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  gap: 4px;
  max-width: 32ch;
  margin: 0 auto;
}
.haiku-block .haiku span{ display: block; }

/* Haiku as page-header title (overlay over hero image) */
.page-header .haiku-title{
  display: block;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 300;
  font-size: clamp(30px, 3.6vw, 50px) !important;
  line-height: 1.18;
  text-wrap: nowrap;
  white-space: nowrap;
  letter-spacing: .005em;
}
.page-header .haiku-title br{ display: block; content: ""; }
@media (max-width: 720px){
  .page-header .haiku-title{
    font-size: clamp(20px, 5.2vw, 28px) !important;
    white-space: normal;
  }
}

/* section frame */
section{ position:relative; }
.section-pad{ padding: 140px 0; }
.section-pad-sm{ padding: 96px 0; }

@media (max-width:720px){
  .section-pad{ padding:88px 0 }
  .section-pad-sm{ padding:64px 0 }
}

.eyebrow-row{
  display:grid; grid-template-columns: 1fr auto; gap:24px;
  align-items:end;
  border-bottom:1px solid var(--rule);
  padding-bottom:18px;
  margin-bottom:60px;
}
.eyebrow-row .num{
  font-family:"Cormorant Garamond", serif;
  font-style:italic;
  font-size:18px;
  color:var(--muted);
}

h2.display{
  font-family:"Cormorant Garamond", serif;
  font-weight:300;
  font-size: clamp(40px, 5.4vw, 86px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin: 0;
}
h2.display em{ font-style:italic; font-weight:300; }

h3.heading{
  font-family:"Cormorant Garamond", serif;
  font-weight:400;
  font-size: clamp(26px, 2.6vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  margin: 0 0 18px;
}
h3.heading em{ font-style:italic; }

p.body{
  font-size: 17px;
  line-height: 1.65;
  color: var(--ink-2);
  max-width: 60ch;
  text-wrap: pretty;
}
p.body + p.body{ margin-top: 1.1em; }
p.lede-serif{
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1.4;
  color:var(--ink);
  font-weight:400;
  max-width: 28ch;
}
p.lede-serif em{ font-style:italic; }

/* placeholder image */
.ph{
  position:relative;
  background:
    repeating-linear-gradient(135deg,
      rgba(0,0,0,.04) 0 1px,
      transparent 1px 14px),
    var(--bone-2);
  border:1px solid var(--rule);
  display:flex; align-items:flex-end;
  overflow:hidden;
}
.ph .tag{
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  font-size:11px;
  letter-spacing:.04em;
  color:var(--muted);
  background:var(--paper);
  padding:6px 10px;
  margin: 12px;
  border:1px solid var(--rule);
}
.ph.dark{
  background:
    repeating-linear-gradient(135deg,
      rgba(255,255,255,.04) 0 1px,
      transparent 1px 14px),
    #2c3327;
  border-color:#3a4233;
}
.ph.dark .tag{ background:#1f2620; color:#cdc8b8; border-color:#3a4233; }

img.real{ width:100%; height:100%; object-fit:cover; display:block; }

/* Land section */
.land-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.land-grid .col-text p.body{ max-width: 52ch; }
.land-stat-row{
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap: 0; margin-top: 80px;
  border-top: 1px solid var(--rule);
}
.land-stat-row .stat{
  padding: 28px 28px 0 0;
  border-right: 1px solid var(--rule);
}
.land-stat-row .stat:last-child{ border-right:none; padding-right:0 }
.land-stat-row .stat .v{
  font-family:"Cormorant Garamond", serif;
  font-size: clamp(36px, 3.8vw, 56px);
  line-height:1;
  letter-spacing:-0.01em;
}
.land-stat-row .stat .v em{ font-style:italic }
.land-stat-row .stat .k{ font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-top: 14px;}

@media (max-width: 900px){
  .land-grid{ grid-template-columns: 1fr; gap: 48px; }
  .land-stat-row{ grid-template-columns:1fr; }
  .land-stat-row .stat{ border-right:none; border-bottom:1px solid var(--rule); padding: 24px 0; }
  .land-stat-row .stat:last-child{ border-bottom:none }
}

/* full bleed image */
.fullbleed{
  position:relative;
  height: 78vh;
  min-height: 540px;
  margin: 0;
  overflow:hidden;
}
.fullbleed .ph{ position:absolute; inset:0; }
.fullbleed .caption{
  position:absolute;
  left: 48px; bottom: 36px;
  color:var(--bone);
  z-index:2;
  max-width: 30ch;
}
.fullbleed .caption .label{ color: rgba(244,239,230,.85); }
.fullbleed .caption h3{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  font-size: clamp(28px, 3.2vw, 44px); line-height:1.1; margin: 8px 0 0; font-weight:300;
}
.fullbleed::after{
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.55) 100%);
  z-index:1;
}

/* Vines / wine module */
.wine{
  background: var(--bone);
}
.wine-grid{
  display:grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 96px;
  align-items: center;
}
.bottle-card{
  border:1px solid var(--rule);
  background: var(--paper);
  color: var(--ink);
  padding: 40px;
  display:grid; grid-template-columns: 1fr 1.4fr; gap:40px;
  align-items:center;
}
.bottle-card .bottle{
  aspect-ratio: 1/2.6;
  background: linear-gradient(180deg, #20281e 0%, #2d3a26 60%, #1a2017 100%);
  position:relative;
  border-radius: 8px 8px 4px 4px / 28px 28px 4px 4px;
  box-shadow: inset -8px 0 16px rgba(0,0,0,.3), inset 6px 0 10px rgba(255,255,255,.06);
}
.bottle-card .bottle::before{
  content:"";
  position:absolute; left:50%; top:8%; transform:translateX(-50%);
  width: 78%; height: 32%;
  background: var(--paper);
  border:1px solid var(--rule);
  display:block;
}
.bottle-card .bottle::after{
  content:"B95";
  position:absolute; left:50%; top:18%; transform:translateX(-50%);
  font-family:"Cormorant Garamond", serif;
  font-style: italic;
  font-size: 14px;
  color:var(--ink);
  letter-spacing:.05em;
}
.bottle-card .bottle .neck{
  position:absolute; top:0; left:50%; transform:translateX(-50%);
  width: 38%; height: 12%;
  background: linear-gradient(180deg, #1a2017, #2d3a26);
  border-radius: 4px 4px 0 0;
}
.wine-checklist{ list-style:none; padding:0; margin: 24px 0 0; }
.wine-checklist li{
  display:grid; grid-template-columns: 28px 1fr; gap: 12px;
  padding: 14px 0;
  border-top:1px solid var(--rule);
  font-size:15px;
}
.wine-checklist li:last-child{ border-bottom:1px solid var(--rule); }
.wine-checklist .marker{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  color:var(--vine-deep);
  font-size: 15px;
}

@media (max-width:900px){
  .wine-grid{ grid-template-columns:1fr; gap:48px; }
  .bottle-card{ grid-template-columns:1fr; gap:24px; padding:24px; }
  .bottle-card .bottle{ max-width:120px; margin: 0 auto; }
}

/* Grand Design tabs */
.gd{ background: var(--ink); color: var(--bone); }
.gd .label{ color: rgba(244,239,230,.7); }
.gd h2.display{ color: var(--bone); }
.gd .eyebrow-row{ border-bottom-color: rgba(244,239,230,.18); }
.gd .eyebrow-row .num{ color: rgba(244,239,230,.6); }
/* bottle-card sits on a cream paper bg even inside the dark .gd section — restore ink colors */
.gd .bottle-card{ color: var(--ink); }
.gd .bottle-card .label{ color: var(--muted); }
.gd .bottle-card .heading,
.gd .bottle-card h3{ color: var(--ink); }
.gd .bottle-card .body,
.gd .bottle-card p{ color: var(--ink-2); }

.gd-tabs{
  display:flex; gap: 0;
  border-top:1px solid rgba(244,239,230,.18);
  border-bottom:1px solid rgba(244,239,230,.18);
  margin-bottom: 60px;
}
.gd-tab{
  flex:1;
  background:none; border:none; cursor:pointer;
  color: var(--bone);
  text-align:left;
  padding: 28px 32px;
  font: inherit;
  font-family:"Cormorant Garamond", serif;
  font-size: 22px;
  border-right:1px solid rgba(244,239,230,.18);
  transition: background .25s;
  display:flex; align-items:baseline; gap: 18px;
}
.gd-tab:last-child{ border-right:none }
.gd-tab .n{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; opacity:.6; font-family:"Inter Tight", sans-serif; }
.gd-tab.active{ background: rgba(244,239,230,.06); }
.gd-tab.active .t{ font-style: italic; }
.gd-tab:hover{ background: rgba(244,239,230,.04); }

.gd-panel{
  display:grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items:start;
}
.gd-panel--solo{ grid-template-columns: 1fr; max-width: 880px; }
.gd-panel .copy h3{ color: var(--bone); }
.gd-panel .copy p{ color: rgba(244,239,230,.85); max-width: 52ch; font-size:16.5px; line-height:1.65; }
.gd-panel .copy p + p{ margin-top: 1em; }

.spec-list{
  list-style:none; padding:0; margin: 28px 0 0;
  display:grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-top: 1px solid rgba(244,239,230,.18);
}
.spec-list li{
  padding: 18px 0;
  border-bottom: 1px solid rgba(244,239,230,.18);
}
.spec-list li:nth-child(odd){ border-right: 1px solid rgba(244,239,230,.18); padding-right: 24px; }
.spec-list li:nth-child(even){ padding-left: 24px; }
.spec-list .k{ font-size:11px; letter-spacing:.2em; text-transform:uppercase; color: rgba(244,239,230,.55); margin-bottom:6px; }
.spec-list .v{ font-family:"Cormorant Garamond", serif; font-size: 22px; }

.gd-below-img{
  margin: 36px 0 0;
}
.gd-below-img figcaption{
  font-size: 11px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(244,239,230,.55);
  margin-top: 12px;
}

@media (max-width:900px){
  .gd-tabs{ flex-direction:column; }
  .gd-tab{ border-right:none; border-bottom:1px solid rgba(244,239,230,.18); padding:20px 0; }
  .gd-panel{ grid-template-columns:1fr; gap:40px; }
  .spec-list{ grid-template-columns:1fr; }
  .spec-list li:nth-child(odd){ border-right:none; padding-right:0; }
  .spec-list li:nth-child(even){ padding-left:0; }
}

/* among the vines / wwoofers */
.vines-life{
  background: var(--bone);
}
.vines-life .gallery{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 80px;
  gap: 16px;
  margin-top: 40px;
}
.vines-life .gallery .ph{ border-radius: 0; }
.tile-a{ grid-column: span 7; grid-row: span 6; }
.tile-b{ grid-column: span 5; grid-row: span 4; }
.tile-c{ grid-column: span 5; grid-row: span 4; }
.tile-d{ grid-column: span 4; grid-row: span 5; }
.tile-e{ grid-column: span 4; grid-row: span 5; }
.tile-f{ grid-column: span 4; grid-row: span 5; }

@media (max-width: 900px){
  .vines-life .gallery{ grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
  .tile-a, .tile-b, .tile-c, .tile-d, .tile-e, .tile-f{ grid-column: span 1; grid-row: span 1; }
}

/* WWOOFer notes — letters from the table */
.wwoof-notes{
  padding-top: 56px;
  margin-top: 64px;
  border-top: 1px solid rgba(244,239,230,.18);
}
.wwoof-notes .notes-head{
  display:grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end;
  margin-bottom: 56px;
}
.wwoof-notes .notes-head .eyebrow{
  font-family: "Inter Tight", sans-serif;
  font-size: 11px; letter-spacing: .22em; text-transform: uppercase;
  color: rgba(244,239,230,.55);
}
.wwoof-notes .notes-head h3{
  font-family: "Cormorant Garamond", serif;
  font-weight: 300;
  font-style: italic;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.12;
  color: var(--bone);
  margin: 14px 0 0;
  max-width: 22ch;
}
.wwoof-notes .notes-head .lede{
  color: rgba(244,239,230,.7);
  font-size: 15.5px;
  line-height: 1.65;
  max-width: 46ch;
  margin: 0;
}

.wwoof-list{
  display: flex;
  flex-direction: column;
}
.wwoof-letter{
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr;
  gap: 64px;
  align-items: start;
  padding: 56px 0;
  border-top: 1px solid rgba(244,239,230,.12);
}
.wwoof-letter:first-child{ border-top: none; padding-top: 0; }
.wwoof-letter .meta .index{
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 28px;
  color: rgba(244,239,230,.5);
  line-height: 1;
}
.wwoof-letter .meta .pull{
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 300;
  font-size: 22px;
  line-height: 1.3;
  color: rgba(244,239,230,.9);
  margin-top: 20px;
  max-width: 18ch;
}
.wwoof-letter .meta .by{
  margin-top: 28px;
  font-family: "Inter Tight", sans-serif;
  font-size: 11px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(244,239,230,.5);
}
.wwoof-letter .meta .stay{
  margin-top: 10px;
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 17px;
  color: rgba(244,239,230,.7);
}
.wwoof-letter .body{
  color: rgba(244,239,230,.88);
  max-width: 62ch;
}
.wwoof-letter .body .quote-mark{
  font-family: "Cormorant Garamond", serif;
  font-size: 64px;
  line-height: .6;
  color: rgba(244,239,230,.4);
  margin-bottom: 4px;
}
.wwoof-letter .body .lead{
  font-family: "Cormorant Garamond", serif;
  font-size: 22px;
  line-height: 1.45;
  font-style: italic;
  color: var(--bone);
  margin: 0;
}
.wwoof-letter .body p{
  margin: 18px 0 0;
  font-size: 16.5px;
  line-height: 1.65;
  color: rgba(244,239,230,.85);
}
.wwoof-letter .body .lead + p{ margin-top: 22px; }
.wwoof-letter .body .sig{
  margin-top: 28px;
  display:flex; align-items:center; gap: 14px;
}
.wwoof-letter .body .sig .rule{
  width: 28px; height: 1px; background: rgba(244,239,230,.4);
}
.wwoof-letter .body .sig .name{
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 18px;
  color: var(--bone);
}

/* placeholder slot — "your story" */
.wwoof-letter.is-empty .body{
  border: 1px dashed rgba(244,239,230,.22);
  padding: 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 220px;
  max-width: none;
}
.wwoof-letter.is-empty .body .lead{
  font-style: italic;
  color: rgba(244,239,230,.7);
  font-size: 20px;
}
.wwoof-letter.is-empty .body p{
  color: rgba(244,239,230,.55);
  font-size: 14.5px;
}
.wwoof-letter.is-empty .meta .pull{
  color: rgba(244,239,230,.55);
}

@media (max-width: 900px){
  .wwoof-notes .notes-head{
    grid-template-columns: 1fr; gap: 18px; margin-bottom: 40px;
  }
  .wwoof-letter{
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 44px 0;
  }
  .wwoof-letter .meta{
    display:grid;
    grid-template-columns: auto 1fr;
    gap: 14px 18px;
    align-items: baseline;
  }
  .wwoof-letter .meta .index{ font-size: 24px; grid-row: 1; }
  .wwoof-letter .meta .pull{
    grid-row: 1; margin-top: 0;
    font-size: 19px;
    max-width: none;
  }
  .wwoof-letter .meta .by{ grid-column: 1 / -1; margin-top: 4px; }
  .wwoof-letter .meta .stay{ grid-column: 1 / -1; margin-top: 0; }
  .wwoof-letter .body{ max-width: none; }
  .wwoof-letter .body .lead{ font-size: 19px; }
  .wwoof-letter .body p{ font-size: 15.5px; }
  .wwoof-letter.is-empty .body{ padding: 24px; min-height: 0; }
}
@media (max-width: 720px){
  .wwoof-notes{ padding-top: 40px; margin-top: 48px; }
  .wwoof-letter{ padding: 36px 0; }
}

.pull-quote{
  font-family:"Cormorant Garamond", serif;
  font-style:italic; font-weight:300;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.18;
  color: var(--ink);
  max-width: 22ch;
  margin: 0;
}
.pull-quote .attr{
  display:block;
  font-family:"Inter Tight", sans-serif;
  font-style: normal;
  font-size: 12px;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: 24px;
}

/* stay / booking */
.stay{ background: var(--paper); }
.stay-grid{
  display:grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items:start;
}
.amenity-list{
  list-style:none; padding:0; margin: 28px 0 0;
  display:grid; grid-template-columns: 1fr 1fr; gap: 0;
  border-top:1px solid var(--rule);
}
.amenity-list li{
  padding: 16px 0;
  border-bottom:1px solid var(--rule);
  font-size: 15px;
  display:grid; grid-template-columns: 24px 1fr; gap:12px;
  align-items:baseline;
}
.amenity-list li:nth-child(odd){ border-right:1px solid var(--rule); padding-right:20px; }
.amenity-list li:nth-child(even){ padding-left:20px; }
.amenity-list .num{
  font-family:"Cormorant Garamond", serif; font-style:italic;
  color: var(--vine-deep);
  font-size: 14px;
}

@media (max-width:900px){
  .stay-grid{ grid-template-columns:1fr; gap:40px; }
  .amenity-list{ grid-template-columns:1fr; }
  .amenity-list li:nth-child(odd){ border-right:none; padding-right:0; }
  .amenity-list li:nth-child(even){ padding-left:0; }
}

/* booking card */
.booking-card{
  border: 1px solid var(--rule);
  background: var(--bone);
  padding: 36px;
}
.booking-card .price{
  display:flex; align-items:baseline; justify-content:space-between;
  border-bottom: 1px solid var(--rule);
  padding-bottom: 20px;
  margin-bottom: 24px;
}
.booking-card .price .v{
  font-family:"Cormorant Garamond", serif;
  font-size: 38px; line-height:1;
}
.booking-card .price .v small{ font-size:14px; color:var(--muted); margin-left:6px; font-family:"Inter Tight", sans-serif; }

.cal{
  border:1px solid var(--rule);
  background: var(--paper);
  padding: 18px;
  margin-bottom: 22px;
}
.cal-head{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom: 12px;
}
.cal-head .month{ font-family:"Cormorant Garamond", serif; font-size: 22px; }
.cal-head button{
  background:none; border:1px solid var(--rule); width:30px; height:30px; border-radius: 999px;
  cursor:pointer; color:var(--ink); font-size: 14px; line-height:1;
  display:inline-flex; align-items:center; justify-content:center;
}
.cal-head button:hover{ background:var(--bone-2); }
.cal-grid{
  display:grid; grid-template-columns: repeat(7, 1fr); gap:2px;
}
.cal-grid .dow{
  text-align:center;
  font-size: 10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);
  padding: 6px 0;
}
.cal-day{
  aspect-ratio: 1/1;
  display:flex; align-items:center; justify-content:center;
  font-size: 13px;
  border:1px solid transparent;
  cursor:pointer;
  background:transparent;
  position:relative;
  color: var(--ink);
}
.cal-day.empty{ visibility:hidden; }
.cal-day.unavailable{
  color: var(--muted); cursor:not-allowed;
  background: repeating-linear-gradient(135deg, transparent 0 4px, var(--bone-2) 4px 5px);
}
.cal-day.in-range{ background: var(--vine); color: var(--bone); }
.cal-day.range-start, .cal-day.range-end{ background: var(--vine-deep); color: var(--bone); }
.cal-day:hover:not(.unavailable):not(.empty){ border-color: var(--ink); }
.cal-day .legend-dot{ display:none; }

.cal-legend{
  display:flex; gap: 18px; margin-top: 12px;
  font-size: 11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted);
}
.cal-legend .sw{ display:inline-block; width:10px; height:10px; margin-right:6px; vertical-align:middle; border:1px solid var(--rule); }
.cal-legend .sw.av{ background:var(--paper); }
.cal-legend .sw.un{ background: repeating-linear-gradient(135deg, transparent 0 3px, var(--bone-2) 3px 4px); }
.cal-legend .sw.sel{ background: var(--vine); border-color: var(--vine); }

.field{
  display:block;
  margin-bottom: 16px;
}
.field label{
  display:block;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase; color: var(--muted);
  margin-bottom: 6px;
}
.field input, .field textarea, .field select{
  width:100%;
  border:none; border-bottom:1px solid var(--ink);
  background: transparent;
  padding: 8px 0;
  font: inherit;
  color: var(--ink);
  border-radius:0;
}
.field input:focus, .field textarea:focus, .field select:focus{
  outline: none; border-bottom-color: var(--vine-deep);
}
.field textarea{ resize:vertical; min-height: 80px; }
.field-row{ display:grid; grid-template-columns: 1fr 1fr; gap:18px; }

.btn{
  display:inline-flex; align-items:center; gap: 14px;
  background: var(--ink); color: var(--paper);
  padding: 18px 28px;
  border: none;
  font-family:"Inter Tight", sans-serif;
  font-size: 12.5px; letter-spacing:.2em; text-transform:uppercase;
  cursor:pointer;
  transition: background .25s, transform .25s;
  width:100%;
  justify-content:space-between;
}
.btn:hover{ background: var(--vine-deep); }
.btn .arrow{ font-family:"Cormorant Garamond", serif; font-style:italic; font-size: 18px; letter-spacing:0; }

.success{
  background: var(--vine);
  color: var(--bone);
  padding: 24px;
  text-align:center;
  font-family:"Cormorant Garamond", serif;
  font-size: 22px; font-style:italic;
}

/* region / Martinborough */
.region{ background: var(--ink); color: var(--bone); }
.region h2.display{ color: var(--bone); }
.region .label{ color: rgba(244,239,230,.7); }
.region .eyebrow-row{ border-bottom-color: rgba(244,239,230,.18); }
.region .eyebrow-row .num{ color: rgba(244,239,230,.6); }

.region-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap: 32px;
}
.region-card{
  display:flex; flex-direction:column;
}
.region-card .ph{
  height: 320px; margin-bottom: 20px;
}
.region-card h4{
  font-family:"Cormorant Garamond", serif;
  font-size: 26px; font-weight:400;
  margin: 0 0 8px;
}
.region-card h4 em{ font-style:italic; }
.region-card .meta{
  font-size: 11px; letter-spacing:.18em; text-transform:uppercase;
  color: rgba(244,239,230,.55);
  margin-bottom: 14px;
}
.region-card p{
  font-size: 15px; line-height: 1.6; color: rgba(244,239,230,.8);
  margin: 0;
}

@media (max-width: 900px){
  .region-grid{ grid-template-columns: 1fr; }
}

/* footer */
footer.foot{
  background: var(--bone);
  padding: 48px 0 20px;
  border-top:1px solid var(--rule);
}
footer.foot .row{
  display:grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 48px;
  align-items: center;
  padding-bottom: 24px; border-bottom: 1px solid var(--rule);
}
footer.foot .brand-block .mark{ width:36px; height:36px; margin-bottom: 14px; }
footer.foot .brand-block h4{ font-family:"Cormorant Garamond", serif; font-size:26px; font-weight:400; margin:0 0 8px; }
footer.foot .brand-block p{ font-size: 14px; color: var(--muted); max-width: 32ch; line-height:1.55; }
footer.foot .col h5{ font-size:11px; letter-spacing:.22em; text-transform:uppercase; color: var(--ink); margin: 0 0 16px; }
footer.foot .col a{ display:block; color: var(--ink-2); text-decoration:none; font-size:14px; margin-bottom: 8px;}
footer.foot .col a:hover{ color: var(--vine-deep); }
footer.foot .legal{
  display:flex; justify-content:space-between; align-items:center;
  padding-top: 16px;
  font-size: 12px; color: var(--muted);
  letter-spacing:.06em;
}

@media (max-width:900px){
  footer.foot .row{ grid-template-columns: 1fr 1fr; gap:32px; }
  footer.foot .legal{ flex-direction:column; gap:8px; align-items:flex-start; }
}

/* small utils */
.divider-mark{
  display:flex; align-items:center; justify-content:center; gap:14px;
  color:var(--muted);
  font-family:"Cormorant Garamond", serif; font-style:italic;
  margin: 80px 0;
}
.divider-mark::before, .divider-mark::after{
  content:""; height:1px; background:var(--rule); flex:1; max-width: 220px;
}

/* hero chimneys mark */
.chimneys-mark{
  width:56px; height:56px;
  display:inline-block;
}
