/* Lone Star Golf — playlonestar.com
   Layout: a clubhouse by day. Deep green frame (header, hero, footer), cream pages, red-wine bands and buttons,
   gold rules on the dark areas, scorecard tables. Token names --ink and --maroon are kept from the first build:
   --ink is the green, --maroon is the wine. */
/*FONTS-START*/
@font-face{font-family:"Bebas Neue";font-weight:400;font-display:swap;src:url(/assets/fonts/bebas-neue-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-display:swap;src:url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:500;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:600;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:700;font-display:swap;src:url(/assets/fonts/barlow-condensed-latin-700-normal.woff2) format("woff2")}
/*FONTS-END*/
:root{
  color-scheme:dark;
  --ink:#0e2a20;
  --ink-2:#143629;
  --ink-3:#2f5a47;
  --maroon:#72182b;
  --maroon-deep:#4a0d1b;
  --cream:#fef6e7;
  --cream-dim:#ccd2c4;
  --gold:#cba254;
  --gold-hi:#e2c07a;
  --on-gold:#10231b;
  /* daylight sections: cream surfaces, dark green text, wine accents */
  --day:#f8f1e2;
  --day-2:#fffbf2;
  --day-3:#dbcfb7;
  --day-ink:#13241c;
  --day-dim:#4a5a50;
  --wine:#6b1426;
  --wine-hi:#8a1c33;
  --light:#fef6e7;
  --trace:#f0532d;
  --display:"Bebas Neue","Oswald","Arial Narrow",Impact,sans-serif;
  --label:"Barlow Condensed","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --body:"Barlow","Helvetica Neue",Helvetica,Arial,sans-serif;
  --col:1180px;
  --gutter:clamp(16px,4vw,32px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--cream);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{display:block;max-width:100%}
[hidden]{display:none!important}
.wrap{max-width:var(--col);margin-inline:auto;padding-inline:var(--gutter)}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:.95;letter-spacing:.01em;margin:0;text-wrap:balance;text-transform:uppercase}
h1{font-size:clamp(3rem,7.4vw,6rem)}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
h3{font-size:1.7rem;line-height:1}
p{margin:0}
.lede{font-size:clamp(1.05rem,1.5vw,1.25rem);color:var(--cream-dim);max-width:58ch}
.eyebrow{font-family:var(--label);font-weight:600;font-size:.95rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.dim{color:var(--cream-dim)}
.small{font-size:.9rem}
:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--on-gold);padding:.6em 1em;z-index:50;font-family:var(--label);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.skip:focus{left:8px;top:8px}

/* buttons and links */
.btn{display:inline-flex;align-items:center;min-height:44px;gap:.6em;font-family:var(--label);font-weight:700;font-size:1.15rem;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:0;border-radius:10px;padding:.72em 1.25em;cursor:pointer;background:var(--gold);color:var(--on-gold);transition:background .15s,transform .15s}
.btn:hover{background:var(--gold-hi);transform:translateY(-1px)}
.btn .arr{font-family:var(--body);font-weight:500}
.btn.ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--cream-dim)}
.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--gold);color:var(--gold-hi)}
.btn.sm{font-size:1rem;padding:.55em 1em;border-radius:8px}
.textlink{display:inline-block;font-family:var(--label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.95rem;color:var(--gold);text-decoration:none;justify-self:start;padding-block:11px;margin-block:-11px}
.textlink:hover{text-decoration:underline;text-underline-offset:4px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* top banner, header, section sub-nav */
.topbar{background:var(--maroon);font-family:var(--label);font-weight:600;letter-spacing:.3em;text-transform:uppercase;font-size:.82rem;text-align:center;padding-block:.6em}
.topbar .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:.2em 1.1em}
.topbar .star{color:var(--gold)}
.site{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--ink) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--ink-3)}
.site .wrap{display:flex;align-items:center;gap:24px;min-height:100px}
.brand{flex:none;display:block}
.brand img{height:80px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(12px,1.8vw,26px);margin-left:auto}
.nav a.nl{font-family:var(--label);font-weight:600;font-size:1.02rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--cream);padding-block:.4em;border-bottom:2px solid transparent;white-space:nowrap}
.nav a.nl:hover{color:var(--gold-hi)}
.nav a.nl[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}
.menu-btn{display:none;min-height:44px;margin-left:auto;background:none;border:1.5px solid var(--ink-3);border-radius:8px;color:var(--cream);font-family:var(--label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.95rem;padding:.5em .8em;cursor:pointer}
.hbook{display:none}
@media (max-width:1100px){
  .menu-btn{display:block;margin-left:0}
  .hbook{display:inline-flex;margin-left:auto}
  .site .wrap{gap:12px}
  .nav .btn{display:none}
  .brand img{height:64px}
  .site .wrap{min-height:80px}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--ink);border-bottom:1px solid var(--ink-3);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gutter) 20px;max-height:calc(100vh - 80px);overflow-y:auto}
  .nav.open{display:flex}
  .nav a.nl{padding-block:.8em;border-bottom:1px solid var(--ink-3)}
  .nav .btn{margin-top:16px;justify-content:center}
}
.subnav{background:var(--maroon-deep);border-bottom:1px solid color-mix(in srgb,var(--gold) 30%,transparent)}
.subnav .wrap{display:flex;gap:clamp(18px,3vw,34px);overflow-x:auto;scrollbar-width:none}
.subnav .wrap::-webkit-scrollbar{display:none}
.subnav a{flex:none;font-family:var(--label);font-weight:600;font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--cream-dim);padding-block:.85em;border-bottom:2px solid transparent}
.subnav a:hover{color:var(--cream)}
.subnav a[aria-current]{color:var(--gold);border-bottom-color:var(--gold)}

/* sections */
.band{padding-block:clamp(40px,7vw,96px)}
.band.tight{padding-block:clamp(26px,5vw,64px)}
.band.raised{background:var(--ink-2)}
.head{display:grid;gap:14px;margin-bottom:clamp(20px,3.4vw,44px)}
.stack{display:grid;gap:18px;align-content:start;min-width:0}
.split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,72px);align-items:center}
.split.top{align-items:start}
.split>*{min-width:0}
@media (max-width:860px){.split{grid-template-columns:minmax(0,1fr)}}

/* hero */
.hero{position:relative;padding-block:clamp(36px,5vw,64px) clamp(48px,6vw,80px);overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,5vw,64px);align-items:center}
.hero-copy{display:grid;gap:22px;min-width:0}
.hero h1 .soon{display:block;color:var(--gold)}
.shot{position:relative;justify-self:end;width:100%;max-width:520px;margin:0}
.shot::before{content:"";position:absolute;inset:18px -14px -14px 18px;border:1.5px solid var(--gold);border-radius:6px;opacity:.7}
.shot img,.shot video{display:block;position:relative;width:100%;height:auto;aspect-ratio:560/860;object-fit:cover;border-radius:6px;box-shadow:0 30px 60px -20px #000}
@media (max-width:860px){
  .hero{background:linear-gradient(180deg,color-mix(in srgb,var(--ink) 10%,transparent) 0%,color-mix(in srgb,var(--ink) 30%,transparent) 26%,color-mix(in srgb,var(--ink) 90%,transparent) 40%,var(--ink) 58%),var(--hero-m) var(--hero-pos,50% 0%)/cover no-repeat;padding-block:clamp(190px,54vw,340px) 32px}
  .hero .btn{font-size:1rem;padding:.7em 1em}
  .hero .wrap{grid-template-columns:minmax(0,1fr)}
  .hero-copy{gap:16px}
  .shot{display:none}
}
h1:focus{outline:none}
svg.ic{fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* tiles and cards */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--ink-3);border:1px solid var(--ink-3)}
.card{background:var(--ink);padding:clamp(22px,3vw,34px);display:grid;gap:12px;align-content:start;text-decoration:none;transition:background .15s;position:relative}
a.card:hover{background:var(--ink-2)}
.card svg{width:34px;height:34px}
.card p{color:var(--cream-dim)}
.card .textlink{margin-top:6px}
.band.raised .cards .card{background:var(--ink-2)}
.band.raised .cards a.card:hover{background:var(--ink)}
.card.photo{min-height:300px;align-content:end;background-size:cover;background-position:center}
.card.photo::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,color-mix(in srgb,var(--ink) 92%,transparent) 78%)}
.card.photo>*{position:relative}
.card.photo svg{display:none}
.card.photo p{color:var(--cream)}
.cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.cards.four{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.cards.four{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards,.cards.two{grid-template-columns:minmax(0,1fr)}}

/* what's on */
.on{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.on a{display:grid;gap:8px;align-content:start;text-decoration:none;border-top:2px solid var(--gold);padding-top:16px}
.on a:hover h3{color:var(--gold-hi)}
.on p{color:var(--cream-dim)}
@media (max-width:820px){.on{grid-template-columns:minmax(0,1fr)}}

/* maroon founders band and forms */
.founders{background:linear-gradient(90deg,var(--maroon-deep),var(--maroon) 55%,var(--maroon-deep));position:relative;overflow:hidden}
.founders::after{content:"";position:absolute;inset:0 0 0 auto;width:min(46%,520px);background:linear-gradient(90deg,var(--maroon) 0%,transparent 60%),url(/img/lounge-candle.jpg) center/cover;opacity:.55;pointer-events:none}
.founders .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(28px,5vw,64px);align-items:start}
.founders .lede{color:var(--cream)}
.offers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.offer{border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:6px;padding:18px 18px 20px;display:grid;gap:4px;align-content:start;background:color-mix(in srgb,var(--maroon-deep) 70%,transparent)}
.offer.plain{background:var(--ink-2);border-color:var(--ink-3)}
.offer .tier{font-family:var(--label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.9rem;color:var(--gold)}
.offer .price{font-family:var(--display);font-size:3rem;line-height:1;font-variant-numeric:tabular-nums}
.offer .price small{font-family:var(--label);font-weight:500;font-size:1rem;letter-spacing:.08em;color:var(--cream-dim)}
.offer .was{font-size:.9rem;color:var(--cream-dim)}
.form{background:var(--ink);border:1px solid var(--ink-3);border-radius:8px;padding:clamp(20px,3vw,28px);display:grid;gap:14px}
.form h3{font-size:1.9rem}
.field{display:grid;gap:5px;min-width:0}
.field label{font-family:var(--label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.82rem;color:var(--cream-dim)}
.field input,.field select,.field textarea{width:100%;font:inherit;color:var(--cream);background:var(--ink-2);border:1px solid var(--ink-3);border-radius:6px;padding:.65em .75em}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:transparent}
.form .btn{justify-content:center}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.note{border-left:2px solid var(--gold);padding:.5em .9em;background:var(--ink-2);font-size:.95rem}
@media (max-width:900px){.founders .wrap{grid-template-columns:minmax(0,1fr)}.founders::after{display:none}}
@media (max-width:480px){.offers,.two{grid-template-columns:minmax(0,1fr)}}

/* fact lists */
.facts{list-style:none;margin:0;padding:0;display:grid;gap:0}
.facts li{display:grid;grid-template-columns:auto 1fr;gap:14px;padding-block:12px;border-top:1px solid var(--ink-3)}
.facts li:last-child{border-bottom:1px solid var(--ink-3)}
.facts b{font-family:var(--label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);min-width:8.5em}
@media (max-width:480px){.facts li{grid-template-columns:minmax(0,1fr);gap:2px}}
ul.ticks{margin:0;padding-left:1.1em;color:var(--cream-dim);display:grid;gap:6px}

/* trackman tile */
.tm{background:linear-gradient(180deg,#0a2018,var(--ink-2));border:1px solid var(--ink-3);border-radius:8px;padding:clamp(16px,2.4vw,24px);display:grid;gap:16px}
.tm svg{width:100%;height:auto;display:block}
.tm .g{stroke:var(--ink-3);stroke-width:1}
.tm .t{fill:var(--cream-dim);font-family:var(--label);font-size:13px;letter-spacing:.08em}
.tm-data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--ink-3);border:1px solid var(--ink-3);border-radius:6px;overflow:hidden}
.tm-data div{background:var(--ink);padding:12px 12px 14px;display:grid;gap:2px}
.tm-data span{font-family:var(--label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.78rem;color:var(--cream-dim)}
.tm-data b{font-family:var(--display);font-weight:400;font-size:1.9rem;line-height:1;font-variant-numeric:tabular-nums}
.tm-data b small{font-family:var(--label);font-size:.95rem;color:var(--cream-dim);margin-left:.2em}
@media (max-width:480px){.tm-data{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* page header band */
.phead{background:linear-gradient(100deg,var(--maroon-deep),var(--maroon));position:relative;overflow:hidden;padding-block:clamp(44px,7vw,88px)}
.phead svg.bigstar{position:absolute;right:-40px;top:50%;translate:0 -50%;width:min(46vw,420px);height:auto;fill:none;stroke:var(--gold);stroke-width:.6;opacity:.28}
.phead .wrap{position:relative;display:grid;gap:16px}
.phead .lede{color:var(--cream)}
.phead.has-photo{background-size:cover;background-position:center;padding-block:clamp(72px,11vw,150px)}
.phead.has-photo::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 88%,transparent) 0%,color-mix(in srgb,var(--ink) 45%,transparent) 60%,transparent)}
.phead.has-photo svg.bigstar{display:none}

/* scorecard tables */
.scroll{overflow-x:auto;border:1px solid var(--ink-3);border-radius:8px}
table.card-t{border-collapse:collapse;width:100%;min-width:560px;font-variant-numeric:tabular-nums}
.card-t th,.card-t td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--ink-3);vertical-align:top}
.card-t tr:last-child th,.card-t tr:last-child td{border-bottom:0}
.card-t thead th{font-family:var(--display);font-weight:400;font-size:1.7rem;letter-spacing:.02em;text-transform:uppercase;background:var(--maroon);line-height:1}
.card-t thead th:first-child{font-family:var(--label);font-weight:600;font-size:.85rem;letter-spacing:.18em;color:var(--gold)}
.card-t tbody th{font-family:var(--label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;color:var(--cream-dim);width:34%}
.card-t .hl td,.card-t .hl th{background:color-mix(in srgb,var(--gold) 9%,transparent)}
.card-t .big{font-family:var(--display);font-size:2rem;line-height:1}
.card-t .big small{font-family:var(--label);font-size:.95rem;color:var(--cream-dim);letter-spacing:.06em}
.card-t.compact{min-width:0}
.card-t.compact th,.card-t.compact td{padding:10px 14px}
.card-t.compact thead th{font-size:1.25rem}
.card-t.compact tbody th{width:auto}
@media (max-width:600px){table.card-t{min-width:0;font-size:.9rem}.card-t th,.card-t td{padding:11px 10px}.card-t thead th{font-size:1.25rem}.card-t tbody th{width:30%;font-size:.78rem;letter-spacing:.06em}.card-t .big{font-size:1.45rem}.card-t .big small{display:block;font-size:.8rem}.card-t.compact thead th{font-size:1rem}}

/* rates and week chart */
.rates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rate{border:1px solid var(--ink-3);border-radius:8px;padding:22px;display:grid;gap:6px;background:var(--ink-2)}
.rate.peak{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}
.rate .amt{font-family:var(--display);font-size:clamp(3.2rem,7vw,4.6rem);line-height:.9;font-variant-numeric:tabular-nums}
.rate .amt small{font-family:var(--label);font-weight:500;font-size:1.05rem;letter-spacing:.08em;color:var(--cream-dim)}
@media (max-width:520px){.rates{grid-template-columns:minmax(0,1fr)}}
.week{display:grid;gap:8px}
.week .row{display:grid;grid-template-columns:3.2em minmax(0,1fr);gap:12px;align-items:center}
.week .day{font-family:var(--label);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;color:var(--cream-dim)}
.week .bar{display:flex;height:26px;border-radius:4px;overflow:hidden;background:var(--ink-2)}
.band.raised .week .bar{background:var(--ink)}
.week .off{background:var(--ink-3)}
.week .pk{background:var(--gold)}
.week .axis{position:relative;height:1.4em;font-family:var(--label);font-size:.8rem;letter-spacing:.08em;color:var(--cream-dim)}
.week .axis span{position:absolute;top:0;translate:-50% 0;white-space:nowrap}
.week .axis span:first-child{translate:0 0}
.week .axis span:last-child{translate:-100% 0}
.legend{display:flex;flex-wrap:wrap;gap:8px 22px;font-family:var(--label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.85rem;color:var(--cream-dim)}
.legend i{display:inline-block;width:14px;height:14px;border-radius:3px;margin-right:8px;vertical-align:-2px}

/* booking estimator */
.est{border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:8px;background:var(--ink-2);padding:clamp(20px,3vw,28px);display:grid;gap:18px}
.est .grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.est-out{border-top:1px solid var(--ink-3);padding-top:16px;display:grid;gap:6px}
.est-total{font-family:var(--display);font-size:clamp(3rem,7vw,4.4rem);line-height:.9;font-variant-numeric:tabular-nums}
.est-total small{font-family:var(--label);font-weight:500;font-size:1rem;letter-spacing:.08em;color:var(--cream-dim)}
.est-lines{list-style:none;margin:0;padding:0;color:var(--cream-dim);font-variant-numeric:tabular-nums}
@media (max-width:340px){.est .grid{grid-template-columns:minmax(0,1fr)}}

/* home food feature and membership tiers */
.menu-card{border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:8px;background:var(--ink-2);padding:clamp(22px,3vw,34px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,3vw,36px)}
.menu-card h3{color:var(--gold);font-size:1.4rem;padding-bottom:8px;border-bottom:1px solid var(--gold);margin-bottom:6px}
.menu-card ul{list-style:none;margin:0;padding:0}
.menu-card li{padding-block:8px;border-bottom:1px dotted var(--ink-3);font-family:var(--label);font-weight:500;font-size:1.12rem;letter-spacing:.04em}
@media (max-width:480px){.menu-card{grid-template-columns:minmax(0,1fr)}}
.feature-photo img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px}
.prog.tier .main{color:var(--cream);font-size:1.1rem;font-weight:500}
.prog.tier.top{border-color:color-mix(in srgb,var(--gold) 60%,transparent)}
.prog.tier .cta-row{margin-top:6px}
/* program cards */
.progs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.prog{border:1px solid var(--ink-3);border-radius:8px;padding:clamp(20px,2.6vw,28px);display:grid;gap:12px;align-content:start;background:var(--ink-2);text-decoration:none}
.band.raised .prog{background:var(--ink)}
a.prog:hover{border-color:var(--gold)}
.prog .fee{font-family:var(--display);font-size:2.8rem;line-height:1;color:var(--gold)}
.prog .fee small{font-family:var(--label);font-weight:500;font-size:1rem;letter-spacing:.08em;color:var(--cream-dim)}
.prog p{color:var(--cream-dim)}
.prog p.eyebrow{color:var(--gold)}
.progs.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.progs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:760px){.progs.two-up{grid-template-columns:minmax(0,1fr)}}

/* menu */
.menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px)}
.menu section{display:grid;gap:10px;align-content:start}
.menu h3{color:var(--gold);padding-bottom:10px;border-bottom:1px solid var(--gold)}
.menu ul{list-style:none;margin:0;padding:0}
.menu li{padding-block:9px;border-bottom:1px dotted var(--ink-3);font-family:var(--label);font-weight:500;font-size:1.2rem;letter-spacing:.04em}
@media (max-width:700px){.menu{grid-template-columns:minmax(0,1fr)}}

/* faq, prose, map */
.faq-group details{border-top:1px solid var(--ink-3);padding-block:4px}
.faq-group details:last-of-type{border-bottom:1px solid var(--ink-3)}
summary{cursor:pointer;font-family:var(--label);font-weight:600;font-size:1.2rem;letter-spacing:.04em;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:48px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--gold);font-family:var(--body);font-weight:500}
details[open] summary::after{content:"–"}
.faq-group details p{color:var(--cream-dim);margin:2px 0 12px;max-width:65ch}
.faq-group{display:grid;gap:0;margin-bottom:clamp(32px,5vw,56px)}
.faq-group h2{margin-bottom:18px;font-size:clamp(1.8rem,3.4vw,2.6rem)}
.prose{max-width:70ch;display:grid;gap:16px}
.prose h2{font-size:clamp(1.6rem,3vw,2.2rem);margin-top:18px}
.prose p,.prose li{color:var(--cream-dim)}
.prose ul{margin:0;padding-left:1.2em;display:grid;gap:6px}
.prose a{color:var(--gold)}
.map{border:1px solid var(--ink-3);border-radius:8px;overflow:hidden;background:var(--ink-2)}
.map iframe{display:block;width:100%;height:360px;border:0;background:var(--ink-2);filter:grayscale(.3) contrast(1.05)}
.map .addr{padding:18px 20px;display:grid;gap:8px}

/* closing band and footer */
.closer{background:var(--maroon);text-align:center}
.closer .wrap{display:grid;gap:18px;justify-items:center}
.closer .lede{color:var(--cream)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

/* ================= revision 3 ================= */
:root{--paper:#f4ead6;--paper-ink:#1b1524;--paper-dim:#5c5057}

/* hero caption and dormant video control */
.shot figcaption,.hero-cap,.slot figcaption{font-family:var(--label);font-weight:600;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cream);background:color-mix(in srgb,var(--ink) 74%,transparent);padding:4px 9px;border-radius:4px}
.shot figcaption,.slot figcaption{position:absolute;left:12px;bottom:12px;z-index:1}
.hero-cap{display:none;position:absolute;top:10px;right:var(--gutter);margin:0}
@media (max-width:860px){.hero-cap{display:block}}
.vid-toggle{position:absolute;right:12px;bottom:12px;z-index:1;min-height:44px;padding:0 14px;border:1px solid var(--cream-dim);border-radius:8px;background:color-mix(in srgb,var(--ink) 74%,transparent);color:var(--cream);font-family:var(--label);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:.85rem;cursor:pointer}

/* home choices: four across, two by two, then compact rows */
.card.choice .go{display:none}
@media (max-width:1000px){.cards.four{grid-template-columns:repeat(2,minmax(0,1fr))}.card.choice{padding:18px}}
@media (max-width:420px){
  .cards.four{grid-template-columns:minmax(0,1fr)}
  .card.choice{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:12px 16px;min-height:68px}
  .card.choice svg{width:28px;height:28px}
  .card.choice .choice-text{display:grid;gap:2px}
  .card.choice h3{font-size:1.45rem}
  .card.choice p{line-height:1.35}
  .card.choice .textlink{display:none}
  .card.choice .go{display:block;color:var(--gold);font-size:1.25rem}
}
.choice-text{display:grid;gap:12px}

/* page headers: one brand, several compositions */
.phead .wrap{gap:clamp(20px,4vw,56px)}
.phead-copy{display:grid;gap:16px;min-width:0;align-content:start}
.phead.compact{background:var(--ink-2);padding-block:clamp(26px,4.4vw,56px);border-bottom:1px solid var(--ink-3)}
.phead.compact h1{font-size:clamp(2.4rem,5.2vw,4rem)}
.phead.compact .phead-copy::before{content:"";width:56px;height:3px;background:var(--gold)}
.phead.compact .lede,.phead.center .lede,.phead.ink .lede,.phead.navy .lede{color:var(--cream-dim)}
.phead.duo .wrap{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center}
.phead.duo h1{font-size:clamp(2.8rem,6vw,5rem)}
.phead.ink{background:var(--ink);border-bottom:1px solid var(--ink-3);padding-block:clamp(30px,5vw,72px)}
.phead.navy{background:linear-gradient(160deg,#16402f,var(--ink) 72%);border-bottom:1px solid var(--ink-3);padding-block:clamp(30px,5vw,72px)}
.phead.maroon{padding-block:clamp(32px,5.5vw,76px)}
.phead.center{background:var(--ink);text-align:center;padding-block:clamp(30px,5vw,64px) 0}
.phead.center .phead-copy{justify-items:center}
.phead.center h1{font-size:clamp(2.6rem,5.6vw,4.6rem)}
.band.pull{padding-top:clamp(22px,3.4vw,40px)}
.phead.paper,.band.paper{background:var(--paper);color:var(--paper-ink)}
.phead.paper{text-align:center;padding-block:clamp(34px,6vw,72px) 0}
.phead.paper .phead-copy{justify-items:center}
.phead.paper .eyebrow,.phead.paper h1{color:var(--maroon)}
.phead.paper .lede{color:var(--paper-dim)}
.phead.paper .phead-copy::after{content:"";width:min(220px,50%);height:5px;border-block:1px solid var(--maroon)}
.band.paper{padding-top:clamp(24px,4vw,48px)}
@media (max-width:860px){.phead.duo .wrap{grid-template-columns:minmax(0,1fr)}}

.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--gold) 45%,transparent);border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:8px;overflow:hidden}
.stats div{background:var(--maroon-deep);padding:18px 12px;display:grid;gap:6px;align-content:start;text-align:center}
.stats b{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,6vw,4.2rem);line-height:.9;color:var(--gold);font-variant-numeric:tabular-nums}
.stats span{font-family:var(--label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;line-height:1.3}

.steps{list-style:none;margin:0;padding:0;counter-reset:s;border:1px solid var(--ink-3);border-radius:8px;background:color-mix(in srgb,var(--ink) 55%,transparent)}
.steps li{counter-increment:s;display:grid;grid-template-columns:2.2rem minmax(0,1fr);column-gap:14px;padding:16px 18px;border-top:1px solid var(--ink-3)}
.steps li:first-child{border-top:0}
.steps li::before{content:counter(s);grid-row:span 2;font-family:var(--display);font-size:2.6rem;line-height:.9;color:var(--gold)}
.steps b{font-family:var(--label);font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.steps span{color:var(--cream-dim)}

.phead.visit .wrap{align-items:start}
.phead.visit h1{font-size:clamp(2.2rem,4.4vw,3.4rem)}
.addr-big{font-family:var(--display);font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.02;text-transform:uppercase;color:var(--gold)}
.map-note{margin:0;padding:18px 20px 0;color:var(--cream-dim);font-size:.9rem}

/* food and drink on paper */
.carte{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,4vw,56px);align-items:start}
.carte section{min-width:0}
.carte h2{font-size:clamp(1.6rem,2.6vw,2.1rem);color:var(--maroon);padding-bottom:8px;border-bottom:2px solid var(--maroon);margin-bottom:4px}
.carte h2.next{margin-top:clamp(20px,3vw,32px)}
.carte ul{list-style:none;margin:0;padding:0}
.carte li{padding-block:8px;border-bottom:1px solid color-mix(in srgb,var(--paper-ink) 14%,transparent);font-family:var(--label);font-weight:600;font-size:1.18rem;letter-spacing:.03em;break-inside:avoid}
.carte .full{grid-column:1/-1}
.carte .full ul{columns:4;column-gap:clamp(22px,4vw,56px)}
.carte-note{color:var(--paper-dim);font-size:.95rem;margin-top:12px}
.carte-note.center{text-align:center;margin-top:26px}
@media (max-width:900px){.carte{grid-template-columns:repeat(2,minmax(0,1fr))}.carte .wide{grid-column:1/-1}.carte .wide ul,.carte .full ul{columns:2;column-gap:clamp(22px,4vw,56px)}}
@media (max-width:520px){.carte{grid-template-columns:minmax(0,1fr)}.carte .wide ul{columns:1}.carte .full ul{columns:1}}

/* booking page */
.rateline{font-family:var(--label);font-weight:600;font-size:1.2rem;letter-spacing:.04em;border-block:1px solid var(--ink-3);padding-block:12px}
.rateline b{font-family:var(--display);font-weight:400;font-size:2rem;line-height:1;color:var(--gold);margin-right:.15em}
.rateline span{color:var(--cream-dim);margin-inline:.35em}
.rateline small{display:block;font-family:var(--body);font-weight:400;font-size:.9rem;letter-spacing:0;color:var(--cream-dim)}
.est h3{font-size:1.6rem}
.pending{display:inline-flex;align-items:center;font-family:var(--label);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-gold);background:var(--gold-hi);border-radius:4px;padding:3px 8px}

/* disclosures */
.disclose{margin-top:22px;border:1px solid var(--ink-3);border-radius:8px;background:var(--ink-2);overflow:hidden}
.disclose summary{padding:6px 18px;font-size:1.15rem}
.disclose[open] summary{border-bottom:1px solid var(--ink-3)}
.disclose .scroll{border:0;border-radius:0}

/* optional images: rendered only when the file exists */
.slot{margin:0;position:relative}
.slot img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:var(--focal,50% 50%);border-radius:8px}
.slot.wide img{aspect-ratio:21/9}
.slot-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
@media (max-width:700px){.slot img{object-position:var(--focal-m,50% 50%)}.slot.wide img{aspect-ratio:4/3}.slot.has-m img{aspect-ratio:auto}}

/* section sub-nav: show that it scrolls */
.subnav{position:relative}
.subnav.more::after{content:"›";position:absolute;right:0;top:0;bottom:1px;width:64px;display:flex;align-items:center;justify-content:flex-end;padding-right:14px;background:linear-gradient(90deg,transparent,var(--maroon-deep) 62%);color:var(--gold);font-size:1.5rem;line-height:1;pointer-events:none}

/* footer: address and actions stay visible; link groups collapse on phones */
footer{border-top:1px solid var(--ink-3);padding-block:40px 28px;font-size:.95rem;color:var(--cream-dim)}
footer .cols{display:grid;grid-template-columns:1.1fr 1.35fr repeat(3,minmax(0,1fr));gap:32px}
footer img{height:92px;width:auto}
.foot-brand{display:grid;gap:14px;align-content:start}
footer h2,footer summary{line-height:1.6;font-family:var(--label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;color:var(--gold);margin:0 0 10px}
footer address{font-style:normal;line-height:1.55}
.foot-contact{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
footer .cta-row{margin-top:14px;gap:10px}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
footer a{text-decoration:none}
footer a:not(.btn):hover{color:var(--gold-hi)}
footer summary{display:block;min-height:0;list-style:none}
footer details summary::after,footer details[open] summary::after{content:none}
footer .legal{margin-top:28px;padding-top:16px;border-top:1px solid var(--ink-3);display:flex;flex-wrap:wrap;gap:6px 24px;justify-content:space-between;font-size:.85rem}
footer .legal span{display:flex;flex-wrap:wrap;gap:6px 18px}
@media (min-width:861px){footer summary{pointer-events:none;cursor:default}}
@media (max-width:860px){
  footer{padding-block:28px 22px}
  footer .cols{grid-template-columns:minmax(0,1fr);gap:0}
  .foot-brand{grid-template-columns:auto minmax(0,1fr);align-items:center;margin-bottom:18px}
  footer img{height:64px}
  .foot-visit{padding-bottom:20px}
  footer details{border-top:1px solid var(--ink-3)}
  footer details:last-of-type{border-bottom:1px solid var(--ink-3)}
  footer summary{display:flex;justify-content:space-between;align-items:center;min-height:48px;margin:0;cursor:pointer}
  footer details summary::after{content:"+";font-family:var(--body);font-size:1.15rem}
  footer details[open] summary::after{content:"–"}
  footer details ul{gap:0;padding-bottom:8px}
  footer details a{display:flex;align-items:center;min-height:44px}
  footer .legal{margin-top:18px}
  footer .legal a{display:inline-flex;align-items:center;min-height:44px}
}

/* anchored targets clear the sticky header */
[id]{scroll-margin-top:calc(112px + env(safe-area-inset-top,0px))}
@media (min-width:561px) and (max-width:860px){.hero{background-position:0 0,50% 24%}}

/* ---- rev 6 ---- */
.card h2,.prog h2{font-size:1.7rem;line-height:1}
.form h2{font-size:1.9rem;line-height:1}
@media (max-width:420px){.card.choice h2{font-size:1.45rem}}
.carte-nav{display:flex;flex-wrap:wrap;gap:8px 10px;margin-bottom:clamp(20px,3vw,34px)}
.carte-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--maroon);border-radius:999px;font-family:var(--label);font-weight:600;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--maroon)}
.carte-nav a:hover,.carte-nav a:focus-visible{background:var(--maroon);color:var(--cream)}
@media (max-width:520px){.carte-nav{gap:8px}.carte-nav a{padding:0 13px;font-size:.88rem;letter-spacing:.08em}}

/* ================= revision 8: phone editing pass ================= */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* compact cross-links: columns on desktop, one row each on phones */
.rels{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1px;background:var(--ink-3);border:1px solid var(--ink-3);border-radius:8px;overflow:hidden}
.rel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:16px 20px;min-height:72px;background:var(--ink);text-decoration:none;transition:background .15s}
.rels.on-ink .rel{background:var(--ink-2)}
.rel:hover{background:var(--ink-3)}
.rel-text{display:grid;gap:3px}
.rel b{font-family:var(--display);font-weight:400;font-size:1.5rem;line-height:1.05;letter-spacing:.01em;text-transform:uppercase}
.rel-text>span{color:var(--cream-dim);font-size:.98rem;line-height:1.4}
.rel .go{color:var(--gold);font-size:1.3rem;align-self:center}
@media (max-width:560px){.rel{padding:13px 16px}}

/* memberships side by side at every width */
.cmp{position:relative;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:8px;background:var(--ink-2);overflow:hidden}
.cmp-head,.cmp-row{display:grid;grid-template-columns:minmax(150px,.6fr) minmax(0,1fr) minmax(0,1fr)}
.cmp-corner{align-self:end;padding:0 22px 22px;font-family:var(--label);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.82rem;color:var(--cream-dim)}
.cmp-tier{padding:24px 24px 22px;display:grid;gap:8px;align-content:start;border-left:1px solid var(--ink-3)}
.cmp-tier.top,.cmp-row>[role=cell]:last-child{background:color-mix(in srgb,var(--gold) 7%,transparent)}
.cmp-tier h2{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1}
.cmp-tier .eyebrow{font-size:.82rem;letter-spacing:.16em}
.cmp-tier .fee{font-family:var(--display);font-size:clamp(2.3rem,5vw,3.4rem);line-height:1;color:var(--gold);font-variant-numeric:tabular-nums}
.cmp-tier .fee small{font-family:var(--label);font-weight:500;font-size:.95rem;letter-spacing:.06em;color:var(--cream-dim)}
.cmp-tier .small{color:var(--cream-dim);line-height:1.4}
.cmp-row{border-top:1px solid var(--ink-3)}
.cmp-row>[role=rowheader]{padding:14px 22px;font-family:var(--label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;color:var(--cream-dim)}
.cmp-row>[role=cell]{padding:14px 24px;border-left:1px solid var(--ink-3);font-weight:500}
.cmp .no{color:var(--cream-dim);font-weight:400}
.cmp-cta{margin:18px 0 14px}
@media (max-width:700px){
  .cmp-head,.cmp-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-corner{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .cmp-tier{padding:16px 14px;gap:6px;border-left:0}
  .cmp-tier+.cmp-tier{border-left:1px solid var(--ink-3)}
  .cmp-tier .fee small{display:block;margin-top:2px}
  .cmp-row>[role=rowheader]{grid-column:1/-1;padding:9px 14px 0;font-size:.76rem;letter-spacing:.14em;color:var(--gold)}
  .cmp-row>[role=cell]{padding:1px 14px 11px;border-left:0;line-height:1.35;background:none!important}
  .cmp-row>[role=cell]:last-child{border-left:1px solid var(--ink-3)}
  .cmp-tier.top{background:none}
  .cmp-cta .btn{flex:1;justify-content:center}
}

/* panels that fold on phones */
.disclose.panel{margin-top:0}
.band.raised .disclose.panel{background:var(--ink)}
.disclose.panel summary{padding:8px 18px}
.disclose.panel summary h2{font-size:1.7rem;line-height:1}
.disclose-body{padding:14px 18px 18px;display:grid;gap:14px}
.disclose-body .scroll{border:1px solid var(--ink-3);border-radius:8px}
.disclose-body .facts li:first-child{border-top:0;padding-top:0}
.disclose-body .facts li:last-child{border-bottom:0;padding-bottom:0}
.disclose-body>.scroll:only-child{margin:-14px -18px -18px;border:0;border-radius:0}

/* band treatments so different offerings do not all read as the same dark block */
.band.maroon{background:linear-gradient(100deg,var(--maroon-deep),var(--maroon))}
.band.maroon .lede{color:var(--cream)}
.band.maroon .steps{background:color-mix(in srgb,var(--ink) 45%,transparent);border-color:color-mix(in srgb,var(--gold) 35%,transparent)}
.band.maroon .steps li{border-color:color-mix(in srgb,var(--gold) 25%,transparent)}
.band.maroon .steps span{color:var(--cream)}
.band.maroon .facts li{border-color:color-mix(in srgb,var(--gold) 28%,transparent)}
.band.paper .eyebrow,.band.paper h2,.band.paper .facts b,.band.paper .textlink{color:var(--maroon)}
.band.paper .lede,.band.paper .dim{color:var(--paper-dim)}
.band.paper .facts li{border-color:color-mix(in srgb,var(--paper-ink) 18%,transparent)}

/* home page on phones: both memberships and both menu lists side by side */
.foot-hours{margin:6px 0 0;line-height:1.55}
@media (max-width:480px){
  .cards.four{grid-template-columns:minmax(0,1fr)}
  .card.choice{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:12px 16px;min-height:68px}
  .card.choice svg{width:28px;height:28px}
  .card.choice .choice-text{display:grid;gap:2px}
  .card.choice h2{font-size:1.45rem}
  .card.choice p{line-height:1.35}
  .card.choice .textlink{display:none}
  .card.choice .go{display:block;color:var(--gold);font-size:1.25rem}
  .offers{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .offer{padding:14px 12px 16px}
  .offer .tier{font-size:.78rem;letter-spacing:.12em}
  .offer .price{font-size:2.3rem}
  .offer .price small{display:block;font-size:.85rem;margin-top:2px}
  .offer>span:not(.tier):not(.price){font-size:.92rem;line-height:1.35}
  .offer .was{display:none}
  .menu-card{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 14px}
  .menu-card h3{font-size:1.2rem}
  .menu-card li{font-size:1rem;padding-block:6px;line-height:1.3}
}
.foot-hours span{color:var(--gold);margin-inline:.15em}
@media (max-width:860px){footer{padding-top:22px}.foot-brand{margin-bottom:12px}.foot-visit{padding-bottom:16px}}
@media (max-width:520px){.carte li{padding-block:6px;font-size:1.1rem}}

/* opt-in box on inquiry forms: a 44px touch target with a 22px drawn box inside it */
.form .check{display:flex;gap:.2em;align-items:center;min-height:44px;font-size:.95rem;line-height:1.4;color:var(--cream-dim);cursor:pointer}
.form .check input{-webkit-appearance:none;appearance:none;flex:none;position:relative;width:44px;height:44px;margin:0 0 0 -11px;border:0;background:none;cursor:pointer;border-radius:6px}
.form .check input::before{content:"";position:absolute;left:11px;top:11px;width:22px;height:22px;box-sizing:border-box;border:1.5px solid var(--cream-dim);border-radius:4px;background:var(--ink-2)}
.form .check input:checked::before{background:var(--gold);border-color:var(--gold)}
.form .check input:checked::after{content:"";position:absolute;left:19px;top:14px;width:6px;height:12px;border:solid var(--ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
.form .check input:focus-visible{outline:2px solid var(--gold);outline-offset:-4px}

/* ---- daylight sections (rev 11, Oct 2026): green frame, cream pages, wine accents.
   The header, home hero, every page header (green or wine), wine bands, closing bands and footer stay dark.
   Every other section remaps the same tokens to the light set, so the components inside it need no changes of their own.
   Page headers were light for one build; Shannon could not see the green and wine on interior pages, so they are dark again. */
.band:not(.maroon):not(.closer):not(.founders),.phead.paper{
  --ink:var(--day);--ink-2:var(--day-2);--ink-3:var(--day-3);--cream:var(--day-ink);--cream-dim:var(--day-dim);
  --gold:var(--wine);--gold-hi:var(--wine-hi);--on-gold:var(--light);
  background:var(--ink);color:var(--cream);color-scheme:light}
.band.raised:not(.maroon):not(.closer):not(.founders){--ink:var(--day-2);--ink-2:var(--day);background:var(--day-2)}
/* surfaces that stay dark inside a light section */
.card.photo,.tm{--ink:#0e2a20;--ink-2:#143629;--ink-3:#2f5a47;--cream:var(--light);--cream-dim:#ccd2c4;--gold:#cba254;--gold-hi:#e2c07a;--on-gold:#10231b;color:var(--cream);color-scheme:dark}
/* wine surfaces inside a light section keep light text */
.card-t thead th{color:var(--light)}
.card-t thead th:first-child{color:#e2c07a}
.carte-nav a:hover,.carte-nav a:focus-visible{color:var(--light)}

/* three price tiles (Train page) */
.offers.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.offers.three .offer{padding:22px}
.offers.three .offer:not(.plain){background:var(--ink-2);border-color:var(--gold)}
@media (max-width:760px){.offers.three{grid-template-columns:minmax(0,1fr)}}

/* v2: opening date + mobile polish */
.topbar .tb-open{color:var(--cream)}
.open-date{display:inline-flex;align-items:center;gap:.6em;justify-self:start;margin:-6px 0 0;font-family:var(--label);font-weight:700;font-size:1.05rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream);border:1.5px solid var(--gold);border-radius:6px;padding:.45em .9em}
.open-date .star{color:var(--gold)}
.facts .social{display:flex;flex-wrap:wrap;gap:4px 18px}
.facts .social a,.foot-contact a{display:inline-flex;align-items:center;min-height:32px}
@media (max-width:560px){
  .topbar{letter-spacing:.16em;font-size:.78rem}
  .topbar .wrap{gap:.2em .7em}
  .topbar .tb-x{display:none}
  .open-date{font-size:.95rem;letter-spacing:.16em;margin:0}
}

/* v3: menu items with descriptions */
.carte-v3{grid-template-columns:repeat(2,minmax(0,1fr))}
.carte-v3 .wide,.carte-v3 .full{grid-column:1/-1}
.carte-v3 .wide ul,.carte-v3 .full ul{columns:2;column-gap:clamp(22px,4vw,56px)}
.carte-v3 li{display:block;padding-block:12px;font-family:inherit;font-weight:400;font-size:1rem;letter-spacing:0;break-inside:avoid;page-break-inside:avoid}
.carte-v3 .mi-n{display:block;font-family:var(--label);font-weight:600;font-size:1.18rem;letter-spacing:.03em;color:var(--paper-ink)}
.carte-v3 .mi-d{display:block;margin-top:3px;color:var(--paper-ink);line-height:1.5}
.carte-v3 .mi-x{display:block;margin-top:4px;color:var(--paper-dim);font-style:italic;line-height:1.5}
.carte-sauce{margin-top:14px;padding:12px 14px;border:1.5px solid color-mix(in srgb,var(--maroon) 40%,transparent);border-radius:10px;line-height:1.5;color:var(--paper-ink)}
.carte-sauce b{display:block;font-family:var(--label);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--maroon);font-size:.95rem;margin-bottom:2px}
@media (max-width:760px){.carte-v3{grid-template-columns:minmax(0,1fr)}
.carte-v3 .wide ul,.carte-v3 .full ul{columns:1}}
@media (max-width:520px){.carte-v3 li{padding-block:10px;font-size:1rem}.carte-v3 .mi-n{font-size:1.12rem}}
/* v3: 44px tap targets for contact and social links */
.foot-contact{gap:0 16px}
.foot-contact a{min-height:44px}
.facts .social a,.facts a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}

/* v4: menu board, card layout after the printed menu */
@font-face{font-family:"Lobster";font-weight:400;font-display:swap;src:url(/assets/fonts/lobster-latin-400-normal.woff2) format("woff2")}
:root{--mb-green:#1d4a30;--mb-navy:#1c2b57;--mb-maroon:#5a1424;--mb-card:#f6ecd8}
.band.menu-board:not(.maroon):not(.closer):not(.founders){color-scheme:dark;background-color:#123524;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 80px,rgba(0,0,0,.05) 80px 160px);color:var(--light)}
.mb-nav a{color:var(--light);border-color:color-mix(in srgb,var(--light) 70%,transparent)}
.mb-nav a:hover,.mb-nav a:focus-visible{background:var(--light);color:#123524}
.mb-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,2.2vw,28px);align-items:stretch}
.mcard{min-width:0;border-radius:22px;padding:clamp(22px,3vw,40px) clamp(18px,2.6vw,36px);box-shadow:0 10px 28px rgba(0,0,0,.28);text-align:center}
.mc-cream{background:var(--mb-card);color:#1f1b17}
.mc-navy{background:var(--mb-navy);color:#f6ecd8}
.mc-maroon{background:var(--mb-maroon);color:#f6ecd8}
.mc-share{grid-column:span 4}.mc-flat{grid-column:span 2}
.mc-hand{grid-column:span 3}.mc-prot{grid-column:span 3}
.mc-ckt{grid-column:1/-1}
.mscript{font-family:"Lobster","Brush Script MT",cursive;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.1;font-size:clamp(2.1rem,3.4vw,2.9rem);margin:0 0 clamp(14px,2vw,22px);scroll-margin-top:110px}
.mc-cream .mscript{color:var(--mb-green)}
.mc-navy .mscript,.mc-maroon .mscript{color:#f6ecd8}
.mscript.mc-next{margin-top:clamp(22px,3vw,34px)}
.mc-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,1.8vw,22px) clamp(18px,2.6vw,36px);align-items:start}
.mc-items.mc-one{grid-template-columns:minmax(0,1fr)}
.mc-items li{min-width:0}
.mc-items .mi-n{display:block;font-family:var(--display);font-weight:400;text-transform:uppercase;letter-spacing:.02em;font-size:1.32rem;line-height:1.1}
.mc-cream .mi-n{color:var(--mb-green)}
.mc-navy .mi-n,.mc-maroon .mi-n{color:#fff}
.mc-items .mi-d{display:block;margin-top:4px;font-size:.98rem;line-height:1.45}
.mc-items .mi-x{display:block;margin-top:4px;font-style:italic;font-size:.95rem;line-height:1.45;color:#3d3a34}
.mc-sauce{margin:clamp(18px,2.4vw,26px) 0 0;font-size:.98rem;line-height:1.5}
.mc-sauce b{display:block;font-family:var(--display);font-weight:400;font-size:1.25rem;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.mc-tiles li{border:1.5px solid var(--mb-green);border-radius:16px;padding:18px 20px}
.mc-tiles .mi-d{color:#1f1b17}
.mc-foot{margin:clamp(16px,2vw,24px) 0 0;font-size:.98rem;color:#3d3a34}
.mb-note{text-align:center;margin-top:26px;color:color-mix(in srgb,var(--light) 85%,transparent);font-size:.95rem}
@media (max-width:980px){.mc-share,.mc-flat,.mc-hand,.mc-prot{grid-column:1/-1}.mc-items.mc-one{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.mb-grid{grid-template-columns:minmax(0,1fr)}.mcard{grid-column:1/-1;border-radius:18px}.mc-items,.mc-items.mc-one{grid-template-columns:minmax(0,1fr)}.mc-tiles li{padding:14px 16px}}
/* v4: Visit page email link tap height */
.facts a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px}
@media (min-width:981px){.mb-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.mc-share{grid-column:span 8}.mc-flat{grid-column:span 4}.mc-hand{grid-column:span 7}.mc-prot{grid-column:span 5;display:flex;flex-direction:column;justify-content:center}}
/* v5: phone-clean eyebrows */
.eb-split span{white-space:nowrap}
@media (max-width:640px){.eb-split .eb-sep{display:none}.eb-split span{display:block}.eb-split{letter-spacing:.16em;line-height:1.7}}
@media (max-width:400px){.cmp-tier .eyebrow{letter-spacing:.08em;font-size:.76rem}}

/* ---- v6 ---- */
/* header nav: main row plus a small utility row (FAQ, About, Gift cards) */
.nav{flex-direction:column;align-items:flex-end;gap:2px}
.nav-main{display:flex;align-items:center;gap:clamp(12px,1.5vw,22px)}
.nav-util{display:flex;gap:18px;order:-1}
.nav-util a.nl{font-size:.82rem;letter-spacing:.16em;color:var(--cream-dim);padding-block:.15em}
@media (min-width:1101px){.nav-main a.nl{font-size:.98rem;letter-spacing:.1em}}
@media (max-width:1100px){
  .nav{align-items:stretch}
  .nav-main,.nav-util{display:contents}
  .nav-util{order:0}
  .nav-util a.nl{font-size:1.02rem;letter-spacing:.14em;color:var(--cream);padding-block:.8em}
}
/* home: five choice cards */
.cards.four.five{grid-template-columns:repeat(5,minmax(0,1fr))}
.cards.four.five .card.choice{padding:20px}
@media (max-width:1100px){.cards.four.five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.cards.four.five{grid-template-columns:repeat(2,minmax(0,1fr))}.cards.four.five .card.choice:last-child{grid-column:1/-1}}
@media (max-width:480px){.cards.four.five{grid-template-columns:minmax(0,1fr)}.cards.four.five .card.choice{padding:12px 16px}}
/* home: how a visit works */
.steps-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-row li{border-top:0;border-left:1px solid var(--ink-3);align-content:start}
.steps-row li:first-child{border-left:0}
@media (max-width:760px){.steps-row{grid-template-columns:minmax(0,1fr)}.steps-row li{border-left:0;border-top:1px solid var(--ink-3)}.steps-row li:first-child{border-top:0}}
.hero h1 .soon{text-wrap:balance}
/* play: booking line under the rates */
.bookline{border-top:1px solid var(--ink-3);padding-top:16px;display:grid;gap:12px}
.bookline p{margin:0}
/* food & drink on phones: section buttons stay pinned under the header */
@media (max-width:860px){
  .menu-board .carte-nav{position:sticky;top:calc(80px + env(safe-area-inset-top,0px));z-index:10;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin-inline:calc(-1 * var(--gutter));padding:10px var(--gutter);background:#123524;border-bottom:1px solid color-mix(in srgb,var(--light) 22%,transparent);box-shadow:0 6px 12px -8px rgba(0,0,0,.6)}
  .menu-board .carte-nav::-webkit-scrollbar{display:none}
  .menu-board .carte-nav a{flex:none;min-height:40px}
  .menu-board [id]{scroll-margin-top:calc(80px + 62px + 16px + env(safe-area-inset-top,0px))}
}

/* ---- v7 ---- */
/* home: every kind of player */
.cards.players .card.player h3{font-size:clamp(1.6rem,2.4vw,2.1rem)}
.cards.players .card.player svg{width:34px;height:34px}
@media (max-width:900px){.cards.players{grid-template-columns:minmax(0,1fr)}.cards.players .card.player{padding:18px 20px}}
/* home: Instagram tiles (self-built, no third-party script) */
.ig-head{justify-items:start}
.ig-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ig-grid li{min-width:0}
.ig-tile{display:block;text-decoration:none;aspect-ratio:1/1;border-radius:8px;overflow:hidden;position:relative;background:var(--ink);border:1px solid var(--ink-3)}
.ig-tile>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.ig-tile:hover>img,.ig-tile:focus-visible>img{transform:scale(1.04)}
.ig-tile:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.ig-brand{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(140deg,var(--maroon-deep),var(--maroon))}
.ig-brand img{width:62%;height:auto}
.ig-text{display:grid;place-content:center;gap:8px;width:100%;height:100%;padding:12px;text-align:center;background:var(--ink-2)}
.ig-t1{font-family:var(--label);font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.85rem}
.ig-t2{font-family:var(--display);font-size:clamp(1.4rem,2.6vw,2.2rem);line-height:1;color:var(--cream)}
.ig-cta{margin-top:18px}
@media (max-width:760px){.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
/* memberships: monthly gift card + who it's for */
.hc .head .lede{max-width:62ch}
.who{display:grid;gap:14px}
.who-tier{border:1px solid var(--ink-3);border-radius:8px;padding:18px 20px;background:var(--ink);display:grid;gap:8px}
.who-tier h3{margin:0}
.who-tier p{margin:0;color:var(--cream-dim)}
.who-tier .eyebrow{color:var(--gold);font-size:.8rem}
.who-house{border-top:1px solid var(--ink-3);padding-top:10px}
.who-house b{color:var(--cream)}
/* about: values */
.values{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:color-mix(in srgb,var(--gold) 30%,transparent);border:1px solid color-mix(in srgb,var(--gold) 30%,transparent);border-radius:8px;overflow:hidden}
.values li{display:grid;gap:8px;align-content:start;padding:20px 22px;background:color-mix(in srgb,var(--maroon-deep) 88%,black)}
.values b{font-family:var(--display);font-weight:400;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1;color:var(--gold-hi);letter-spacing:.03em}
.values span{color:var(--cream)}
.philo{margin:clamp(20px,3vw,32px) 0 0;display:grid;gap:8px;font-family:var(--display);font-size:clamp(1.5rem,2.8vw,2.3rem);line-height:1.1;color:var(--cream);max-width:34ch}
.philo .eyebrow{font-size:.85rem}
@media (max-width:760px){.values{grid-template-columns:minmax(0,1fr)}}

/* ---- v7_3: TenFore booking ---- */
.nav .btn{white-space:nowrap}
.nav .btn.nav-fl{margin-left:-6px}
@media (min-width:1101px){.nav .btn.nav-fl{display:none}}
@media (max-width:1100px){.nav .btn.nav-fl{display:inline-flex;justify-content:center;margin:14px 0 6px;min-height:44px}}
.cmp-tier .btn.join{margin-top:10px;justify-self:start}
.est-cta{margin-top:14px}
.steps b a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}

/* v7_4: phone link tap target */
.facts a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px}

.mcard:not(.mc-ckt) .mc-items li{border:1.5px solid #fff;border-radius:16px;padding:18px 20px}
@media (max-width:640px){.mcard:not(.mc-ckt) .mc-items li{padding:14px 16px}}
.mc-prot .mc-sauce{border:1.5px solid #fff;border-radius:16px;padding:18px 20px}
@media (min-width:641px){.mc-prot .mc-items li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - clamp(9px,1.3vw,18px))}}
.mc-share .mc-items{align-items:stretch}.mc-share .mc-items li{display:flex;flex-direction:column;justify-content:center}
@media (min-width:641px){.mc-share .mc-items li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - clamp(9px,1.3vw,18px))}}

/* v7_30: item borders match item name color */
.mc-cream:not(.mc-ckt) .mc-items li{border-color:var(--mb-green)}

/* v7_32: The Club House specials box (only place on the menu with prices) */
.mc-club{grid-column:1/-1;background:var(--mb-green);color:#f6ecd8;border:2px solid #cba254}
.mc-club .mscript{color:#e2c07a;margin-bottom:4px}
.mc-club .mc-sub{margin:0 0 clamp(14px,2vw,22px);font-family:var(--label);text-transform:uppercase;letter-spacing:.14em;font-size:.86rem;color:#f6ecd8;opacity:.85}
.mc-club .mi-n{color:#e2c07a}
.mc-club .mc-items{align-items:stretch;max-width:900px;margin-inline:auto}
.mcard.mc-club .mc-items li{border-color:#e2c07a;display:flex;flex-direction:column;justify-content:center}
.mc-club .mi-p{display:block;margin-top:10px;font-family:var(--display);font-size:1.4rem;letter-spacing:.02em;color:#e2c07a}
.mc-club .br-ph{display:none}
@media (max-width:640px){.mc-club .mi-p i{display:none}.mc-club .br-ph{display:inline}}
@media (min-width:641px){.mc-club .mc-items li:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - clamp(9px,1.3vw,18px))}}
/* memberships: three-tier compare */
.cmp.three .cmp-head,.cmp.three .cmp-row{grid-template-columns:minmax(150px,.55fr) repeat(3,minmax(0,1fr))}
.cmp.three .cmp-tier{padding:24px 20px 22px}
.cmp.three .cmp-row>[role=cell]{padding:14px 20px}
@media (max-width:700px){
  .cmp.three .cmp-head,.cmp.three .cmp-row{grid-template-columns:minmax(0,1fr)}
  .cmp.three .cmp-tier{padding:16px 16px 18px}
  .cmp.three .cmp-tier+.cmp-tier{border-left:0;border-top:1px solid var(--ink-3)}
  .cmp.three .cmp-tier.top{background:color-mix(in srgb,var(--gold) 7%,transparent)}
  .cmp.three .cmp-tier .fee small{display:inline;margin-top:0}
  .cmp.three .cmp-tier .btn.join{margin-top:6px}
  .cmp.three .cmp-row>[role=rowheader]{padding:11px 16px 4px}
  .cmp.three .cmp-row>[role=cell]{display:grid;grid-template-columns:minmax(92px,.4fr) minmax(0,1fr);gap:12px;padding:3px 16px;border-left:0!important}
  .cmp.three .cmp-row>[role=cell]:last-child{padding-bottom:12px}
  .cmp.three .cmp-row>[role=cell]::before{content:attr(data-tier);font-family:var(--label);font-weight:500;font-size:.9rem;letter-spacing:.04em;color:var(--cream-dim)}
}
@media (max-width:600px){.card-t.t4 th,.card-t.t4 td{padding:10px 7px}.card-t.t4 thead th{font-size:1.05rem}.card-t.t4 tbody th{width:26%;font-size:.72rem;letter-spacing:.04em}.card-t.t4 td{font-size:.84rem}}
.cmp.three .cmp-tier .fee small{white-space:nowrap}
@media (max-width:1240px) and (min-width:701px){.cmp.three .cmp-tier .fee small{display:block;margin-top:4px}}
@media (max-width:700px){.cmp.three .cmp-row>[role=cell]{grid-template-columns:84px minmax(0,1fr)}}
@media (max-width:480px){.cmp-cta .btn{flex:1 1 100%}}

.foot-app{margin-top:22px}
.foot-app-h{font-family:var(--label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.85rem;line-height:1.6;color:var(--gold);margin:0}
.cta-row.app-btns{margin-top:8px;gap:10px}
.cta-row.app-btns .btn{flex:0 0 auto;margin-top:0;justify-content:center}
@media (max-width:600px){.cta-row.app-btns .btn{flex:1 1 0;min-width:0}}
.book-app{margin-top:4px}
.app-promo{display:flex;align-items:flex-start;gap:14px}
.app-promo-body{flex:1;min-width:0}
.app-icon{flex:0 0 auto;width:56px;height:56px;border-radius:22%;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.book-app .app-icon{width:72px;height:72px}
.book-app .app-promo-body p{margin-top:0}
