/* ==========================================================================
   THE BIRDIE LOUNGE: inner pages
   Loads after style.css. Same tokens and devices, a new composition per page.
   Tilts use the independent `rotate` property so a reveal can never wipe them.
   ========================================================================== */

/* anchor jumps land below the sticky header */
[id]{ scroll-margin-top:92px; }
.visit__facts dd{ overflow-wrap:anywhere; }

.foot__h{ font-family:var(--body); font-size:var(--t--2); font-weight:800; letter-spacing:.18em;
          text-transform:uppercase; color:rgba(242,234,218,.5); margin:0 0 1rem; line-height:1.3; }

/* ---------------------------------------------------------------- nav state */
.nav a[aria-current="page"]::after{ right:0; }
.mobile-nav__links a[aria-current="page"]{ color:var(--amber); }

/* ---------------------------------------------------------------- page hero */
.phero{
  position:relative; isolation:isolate; overflow:hidden; color:var(--cream);
  margin-top:-76px; padding-top:calc(76px + clamp(2.2rem,6vw,4.5rem));
  padding-bottom:clamp(5rem,10vw,7.5rem);
}
.phero__in{ position:relative; z-index:2; }
.phero h1{ font-size:var(--h-xl); line-height:.95; letter-spacing:-.038em; max-width:14ch;
           text-shadow:0 3px 0 rgba(20,16,13,.22); }
.phero h1 .pop{ display:inline-block; color:var(--amber); text-shadow:2px 3px 0 var(--ink); rotate:-1.6deg; }
.phero__sub{ font-size:var(--t-1); color:rgba(242,234,218,.9); max-width:40ch;
             margin:clamp(.9rem,2vw,1.3rem) 0 0; }
.phero__cta{ display:flex; flex-wrap:wrap; gap:.75rem; margin-top:clamp(1.3rem,2.6vw,1.9rem); }
@media (max-width:519px){ .phero__cta .btn{ flex:1 1 100%; } }
.phero .h1-kicker{ margin-bottom:clamp(1rem,2.2vw,1.4rem); }
.phero__edge{ position:absolute; left:0; right:0; bottom:-1px; z-index:3; line-height:0; pointer-events:none; }
.phero__edge svg{ display:block; width:100%; height:auto; }
.phero__edge .blade{ opacity:.5; }

.phero--turf{ background:var(--turf); }
.phero--turfdk{ background:var(--turf-dk); }
.phero--char{ background:var(--char); }
.phero--ink{ background:var(--ink); }
.phero--brown{ background:var(--brown); }
.phero--char::after, .phero--brown::after, .phero--ink::after{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(640px 460px at 88% 12%, rgba(235,178,44,.18), transparent 66%);
}
/* golf-ball dimple halftone, same as the homepage hero */
.dimples::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image:
    radial-gradient(circle at 50% 50%, rgba(20,16,13,.16) 22%, transparent 23%),
    radial-gradient(circle at 50% 50%, rgba(20,16,13,.16) 22%, transparent 23%);
  background-size:30px 30px, 30px 30px; background-position:0 0, 15px 15px;
  -webkit-mask-image:radial-gradient(110% 90% at 80% 30%, #000 10%, transparent 70%);
  mask-image:radial-gradient(110% 90% at 80% 30%, #000 10%, transparent 70%);
  opacity:.8;
}

/* two-column hero shells, each page tunes the split */
.split{ display:grid; gap:clamp(2rem,5vw,3.5rem); align-items:center; }
@media (min-width:980px){
  .split--golf{ grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); }
  .split--menu{ grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); align-items:end; }
  .split--mem { grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .split--grp { grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
  .split--visit{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:end; }
}

/* shared small pieces */
.chip{
  display:inline-block; font-family:var(--body); font-size:.62rem; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; padding:.28rem .6rem; line-height:1.3;
  border:2px dashed currentColor; border-radius:var(--r-pill); color:var(--ink-soft);
  vertical-align:middle;
}
.h2{ font-size:var(--h-lg); }
.h2 .hl{ color:var(--amber); display:block; }
.h2 .hl--dk{ color:var(--coral-dk); display:block; }
.note-hand{ font-family:var(--hand); font-weight:700; line-height:1.2; font-size:clamp(1.05rem,.95rem + .5vw,1.35rem); }

/* dotted-leader lists, light and dark grounds */
.leaders li{ display:flex; align-items:baseline; gap:.6rem; padding:.58rem 0;
             border-bottom:1px solid rgba(242,234,218,.1); }
.leaders b{ font-family:var(--display); font-weight:700; letter-spacing:-.015em; font-size:var(--t-0); }
.leaders b small{ display:block; font-family:var(--body); font-weight:500; font-size:var(--t--1);
                  letter-spacing:0; color:rgba(242,234,218,.62); margin-top:.1rem; }
.leaders i{ flex:1 1 auto; min-width:1rem; border-bottom:2px dotted rgba(242,234,218,.28); transform:translateY(-.3em); }
.leaders em{ flex:none; font-style:normal; font-family:var(--display); font-weight:800;
             font-size:var(--t-0); color:var(--amber); font-variant-numeric:tabular-nums; }
.leaders .loc b{ color:var(--amber); }
.leaders .loc b small{ color:rgba(235,178,44,.8); text-transform:uppercase; letter-spacing:.12em; font-size:.62rem; font-weight:800; }
.leaders--ink li{ border-bottom-color:var(--hair); }
.leaders--ink b small{ color:var(--ink-soft); }
.leaders--ink i{ border-bottom-color:rgba(20,16,13,.3); }
.leaders--ink em{ color:var(--ink); }
.leaders--ink .loc b{ color:var(--coral-dk); }
.leaders--ink .loc b small{ color:var(--coral-dk); }
@media (min-width:700px){
  .leaders--2col{ columns:2; column-gap:clamp(1.5rem,4vw,3.5rem); }
  .leaders--2col li{ break-inside:avoid; }
}

/* ==========================================================================
   GOLF: bay-time estimator, rate card, bay facts, FAQ
   ========================================================================== */
.tee{ display:grid; gap:clamp(1rem,2.4vw,1.5rem); align-items:start; }
.tee[hidden]{ display:none; }
@media (min-width:640px){ .tee{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); } }
.tee__panel{
  background:var(--turf-dk); border:2.5px solid var(--ink); border-radius:var(--r-lg);
  padding:clamp(1.1rem,2.6vw,1.6rem); box-shadow:0 6px 0 rgba(20,16,13,.9);
}
.tee__label{ display:block; font-size:var(--t--2); font-weight:800; letter-spacing:.15em;
             text-transform:uppercase; color:rgba(242,234,218,.78); margin:0 0 .6rem; }
.stepper{ display:flex; align-items:center; gap:.7rem; margin-bottom:1.3rem; }
.stepper button{
  width:52px; height:52px; border-radius:50%; background:var(--cream); color:var(--ink);
  border:2.5px solid var(--ink); box-shadow:0 3px 0 var(--ink); cursor:pointer;
  font-family:var(--display); font-weight:800; font-size:1.6rem; line-height:1;
  transition:transform .12s ease, box-shadow .12s ease;
}
.stepper button:hover{ transform:translateY(-2px); box-shadow:0 5px 0 var(--ink); }
.stepper button:active{ transform:translateY(2px); box-shadow:0 1px 0 var(--ink); }
.stepper output{
  min-width:2.2ch; text-align:center; font-family:var(--display); font-weight:800;
  font-size:clamp(2.5rem,5vw,3.3rem); line-height:1; letter-spacing:-.04em; color:var(--amber);
  font-variant-numeric:tabular-nums; display:inline-block;
}
.stepper output.bump{ animation:bump .34s cubic-bezier(.3,1.6,.5,1); }
@keyframes bump{ 40%{ transform:scale(1.28) rotate(-5deg); } }
.seg{ display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1rem; padding:0; border:0; }
.seg label{ position:relative; cursor:pointer; }
.seg input{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.seg span{
  display:inline-flex; align-items:center; min-height:44px; padding:.45rem .95rem;
  border:2px solid rgba(242,234,218,.38); border-radius:var(--r-pill);
  font-family:var(--display); font-weight:800; font-size:var(--t--1); letter-spacing:.02em;
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.seg input:checked + span{ background:var(--amber); color:var(--ink); border-color:var(--ink); box-shadow:0 3px 0 var(--ink); }
.seg input:focus-visible + span{ outline:3px solid var(--amber); outline-offset:3px; }
.tee__range{ margin-bottom:1rem; }
.tee__range[hidden]{ display:none; }
.tee__range input{ width:100%; accent-color:var(--amber); }
.tee__range output{ font-family:var(--display); font-weight:800; color:var(--cream); }
.tee__quip{ font-family:var(--hand); font-weight:700; font-size:1.15rem; line-height:1.25;
            color:var(--amber); min-height:2.6em; margin:0; }
.tee__fine{ grid-column:1 / -1; font-size:.64rem; letter-spacing:.12em; text-transform:uppercase;
            color:rgba(242,234,218,.72); margin:0; }

/* the starter's ticket the estimator prints */
.ticket{
  position:relative; background:var(--cream); color:var(--ink);
  border:2.5px solid var(--ink); border-radius:var(--r-sm);
  padding:1.1rem 1.25rem 1.25rem; box-shadow:0 8px 0 rgba(20,16,13,.9); rotate:1.2deg;
}
.ticket::before, .ticket::after{
  content:""; position:absolute; top:3.35rem; width:16px; height:16px; border-radius:50%; background:var(--turf);
}
.ticket::before{ left:-9px; } .ticket::after{ right:-9px; }
.ticket__head{
  display:flex; justify-content:space-between; align-items:baseline; gap:.5rem;
  font-family:var(--display); font-weight:800; font-size:1.2rem; letter-spacing:-.02em;
  padding-bottom:.75rem; border-bottom:2px dashed rgba(20,16,13,.32); margin:0 0 .5rem;
}
.ticket__head span{ font-family:var(--body); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase; color:var(--turf); }
.ticket dl{ margin:0; }
.ticket dl div{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding:.42rem 0; border-bottom:1px solid var(--hair); }
.ticket dt{ font-size:.66rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.ticket dd{ margin:0; font-family:var(--display); font-weight:800; font-size:var(--t-0); letter-spacing:-.02em; text-align:right; }
.ticket dl .ticket__total{ border-bottom:0; padding-top:.7rem; }
.ticket__total dd{ font-size:clamp(1.9rem,4vw,2.5rem); color:var(--coral-dk); line-height:1; }
.ticket__fine{ font-size:var(--t--1); color:var(--ink-soft); margin:.4rem 0 1rem; min-height:2.9em; }
.ticket__go{ width:100%; }

/* rate card */
.rates{ background:var(--ink); color:var(--cream); }
.rates__grid{ display:grid; gap:clamp(1.8rem,4vw,3.5rem); align-items:start; }
@media (min-width:900px){ .rates__grid{ grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr); } }
.rates .lede{ margin-top:1rem; }
.rates__note{ margin-top:1.4rem; color:var(--amber); rotate:-2deg; display:inline-block; }
.rates .leaders li{ padding:.8rem 0; }
.rates .leaders b, .rates .leaders em{ font-size:var(--t-1); }
.rates__more{ margin-top:1.6rem; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; font-size:var(--t--1); color:rgba(242,234,218,.75); }
.rates__more a{ color:var(--cream); font-weight:700; text-decoration-color:var(--coral); text-underline-offset:3px; text-decoration-thickness:2px; }

/* bay facts */
.bay{ background:var(--cream); }
.bay__grid{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
@media (min-width:960px){ .bay__grid{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); } }
.bay__shot{ position:relative; margin:0; }
.bay__shot img{ width:100%; aspect-ratio:16/10; object-fit:cover; border:3px solid var(--ink);
                border-radius:var(--r-md); box-shadow:0 8px 0 rgba(20,16,13,.9); }
.bay__shot .tag{ position:absolute; top:-14px; right:1.2rem; rotate:2deg; }
.bay__shot figcaption{ margin-top:1.1rem; font-size:var(--t--1); color:var(--ink-soft); }
.rail{ margin:1.4rem 0 0; }
.rail div{ display:grid; grid-template-columns:6.8rem minmax(0,1fr); gap:1rem; padding:.8rem 0; border-bottom:1px solid var(--hair); }
.rail div:first-child{ border-top:2px solid var(--ink); }
.rail dt{ font-size:var(--t--2); font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--brown); padding-top:.25rem; }
.rail dd{ margin:0; font-family:var(--display); font-weight:700; font-size:var(--t-1); letter-spacing:-.02em; line-height:1.25; }
.rail dd small{ display:block; font-family:var(--body); font-weight:400; font-size:var(--t--1); color:var(--ink-soft); letter-spacing:0; margin-top:.2rem; }

/* FAQ */
.faq{ display:grid; gap:clamp(1.5rem,4vw,3rem); }
@media (min-width:900px){
  .faq{ grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:start; }
  .faq__head{ position:sticky; top:110px; }
}
.faq__head .scrawl{ margin-top:1.2rem; rotate:-2deg; display:inline-block; }
.faq details{ border-bottom:2px solid var(--ink); }
.faq details:first-of-type{ border-top:2px solid var(--ink); }
.faq summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.05rem 0; font-family:var(--display); font-weight:800; font-size:var(--t-1); letter-spacing:-.02em;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; flex:none; width:34px; height:34px; display:grid; place-items:center;
  border:2px solid var(--ink); border-radius:50%; font-size:1.25rem; line-height:1; box-shadow:0 2px 0 var(--ink);
  transition:rotate .22s ease, background-color .22s ease;
}
.faq details[open] summary::after{ rotate:45deg; background:var(--amber); }
.faq details p{ padding:0 3rem 1.15rem 0; max-width:60ch; color:var(--ink-soft); margin:0; }

/* ==========================================================================
   MENU: cocktail board, tap handles, wine, food sheet on the table
   ========================================================================== */
.jump{ display:flex; flex-wrap:wrap; gap:.45rem; margin-top:clamp(1.3rem,2.6vw,1.8rem); }
.jump a{
  font-family:var(--display); font-weight:800; font-size:var(--t--1); letter-spacing:.03em;
  text-transform:uppercase; text-decoration:none; color:var(--cream); min-height:44px;
  display:inline-flex; align-items:center; padding:.4rem .9rem;
  border:2px solid rgba(242,234,218,.32); border-radius:var(--r-pill);
  transition:background-color .15s ease, color .15s ease, border-color .15s ease;
}
.jump a:hover{ background:var(--amber); color:var(--ink); border-color:var(--ink); }
.phero .hh{ margin-top:0; max-width:24rem; }
.hh__fine{ display:block; margin-top:.5rem; font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; opacity:.75; }

.mhead{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:.6rem 2rem;
        margin-bottom:clamp(1.6rem,3.5vw,2.6rem); padding-bottom:1rem; border-bottom:3px solid var(--coral); }
.mhead h2{ font-size:clamp(2.7rem,7.5vw,5.4rem); line-height:.86; letter-spacing:-.045em; text-transform:uppercase; color:var(--coral); }
.mhead p{ margin:0; font-size:var(--t--1); color:rgba(242,234,218,.7); max-width:38ch; }
.mhead--ink{ border-bottom-color:var(--ink); }
.mhead--ink h2{ color:var(--coral-dk); }
.mhead--ink p{ color:var(--ink-soft); }

.mboard{ background:var(--ink); color:var(--cream); }
.drinks{ display:grid; gap:clamp(1.5rem,3vw,2.2rem) clamp(1.5rem,5vw,4.5rem); }
@media (min-width:760px){ .drinks{ grid-template-columns:1fr 1fr; } }
.drink h3{ display:flex; align-items:baseline; gap:.6rem; font-size:var(--t-2); letter-spacing:-.025em; line-height:1.05; }
.drink h3 i{ flex:1 1 auto; min-width:1rem; border-bottom:2px dotted rgba(242,234,218,.26); transform:translateY(-.3em); }
.drink h3 em{ flex:none; font-style:normal; color:var(--amber); font-variant-numeric:tabular-nums; }
.drink__src{ display:block; margin-top:.45rem; font-size:var(--t--2); font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--amber); }
.drink p{ margin:.3rem 0 0; color:rgba(242,234,218,.78); font-size:var(--t--1); max-width:44ch; }
.drink .leaders{ margin-top:.5rem; }
.drink .leaders li{ padding:.3rem 0; }
.drink .leaders b, .drink .leaders em{ font-size:var(--t--1); }
.drink__up{ margin-top:.7rem; padding:.7rem .85rem; border:2px dashed rgba(235,178,44,.5); border-radius:var(--r-sm); }
.drink__up b{ color:var(--amber); font-family:var(--display); }

.beer{ background:var(--turf-dk); color:var(--cream); overflow:hidden; }
.beer__grid{ display:grid; gap:clamp(2.5rem,5vw,4rem); }
.taprow{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem clamp(.6rem,2vw,1.2rem); align-items:end; }
@media (min-width:900px){ .taprow{ grid-template-columns:repeat(6,minmax(0,1fr)); } }
.tap{ display:flex; flex-direction:column; align-items:center; text-align:center; margin:0; }
.tap__handle{
  position:relative; width:min(100%,5rem); height:13.5rem; display:grid; place-items:center;
  background:var(--cream); color:var(--ink); border:2.5px solid var(--ink);
  border-radius:1.3rem 1.3rem .6rem .6rem; box-shadow:0 5px 0 rgba(0,0,0,.55); padding:.6rem .2rem;
}
.tap__handle::before{ content:""; position:absolute; top:.55rem; left:50%; width:22px; height:22px; margin-left:-11px;
                      border-radius:50%; border:2px solid var(--ink); background:var(--coral); }
.tap__handle::after{
  content:""; position:absolute; bottom:-1.55rem; left:50%; width:14px; height:1.5rem; margin-left:-7px;
  background:linear-gradient(90deg,#7d8388,#dfe2e5 45%,#7d8388); border:2px solid var(--ink); border-top:0; border-radius:0 0 4px 4px;
}
.tap__handle b{ writing-mode:vertical-rl; rotate:180deg; font-family:var(--display); font-weight:800;
                font-size:.98rem; letter-spacing:-.01em; line-height:1.05; margin-top:1.4rem; max-height:10.4rem; }
.tap--local .tap__handle{ background:var(--amber); }
.tap--local .tap__handle::before{ background:var(--turf); }
.tap:nth-child(2) .tap__handle{ rotate:-2deg; }
.tap:nth-child(4) .tap__handle{ rotate:1.5deg; }
.tap:nth-child(5) .tap__handle{ rotate:-1deg; }
.tap figcaption{ margin-top:2.1rem; }
.tap__price{ display:block; font-family:var(--display); font-weight:800; font-size:var(--t-1); color:var(--amber); }
.tap__from{ display:block; min-height:1.3em; font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:rgba(242,234,218,.72); }
.beer__draft{ position:relative; }
.beer__draft .note-hand{ color:var(--amber); margin:0 0 1.2rem; rotate:-1.5deg; display:inline-block; }
.beer__sub{ font-size:var(--t--2); font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:rgba(242,234,218,.72); margin:0 0 .6rem; }
.wine{ display:grid; gap:1.5rem clamp(1.5rem,5vw,4.5rem); }
@media (min-width:760px){ .wine{ grid-template-columns:1fr 1fr; } }
.wine__head{ display:flex; justify-content:space-between; align-items:baseline; border-bottom:2px solid rgba(242,234,218,.3); padding-bottom:.35rem; }
.wine__head h3{ font-size:var(--t-1); text-transform:uppercase; letter-spacing:.02em; color:var(--coral-lt); }
.wine__head span{ font-size:.62rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:rgba(242,234,218,.72); }

.tabletop{
  background-color:var(--brown); color:var(--cream);
  background-image:repeating-linear-gradient(90deg, rgba(20,16,13,.09) 0 2px, transparent 2px 64px),
                   repeating-linear-gradient(90deg, rgba(242,234,218,.03) 0 1px, transparent 1px 23px);
}
.sheet{
  position:relative; max-width:1120px; margin-inline:auto; background:var(--cream); color:var(--ink);
  border:2.5px solid var(--ink); border-radius:var(--r-sm); rotate:-.5deg;
  box-shadow:0 12px 0 rgba(20,16,13,.5), 0 40px 70px -30px rgba(0,0,0,.65);
  padding:clamp(1.4rem,4vw,3.2rem);
}
.sheet__grid{ display:grid; gap:2.2rem clamp(2rem,5vw,4.5rem); }
@media (min-width:820px){
  .sheet__grid{ grid-template-columns:1fr 1fr; }
  .sheet__grid > div + div{ border-left:2px solid var(--coral); padding-left:clamp(2rem,5vw,4.5rem); margin-left:calc(-1 * clamp(1rem,2.5vw,2.25rem)); }
}
.sheet .cat{ font-size:clamp(1.9rem,4.5vw,2.9rem); text-transform:uppercase; letter-spacing:-.03em; color:var(--coral-dk); margin:0 0 1rem; }
.sheet .block + .block{ margin-top:2rem; }
.dish{ margin-bottom:1.05rem; }
.dish h3{ display:flex; align-items:baseline; gap:.5rem; font-size:var(--t-1); letter-spacing:-.02em; line-height:1.1; }
.dish h3 i{ flex:1 1 auto; min-width:1rem; border-bottom:2px dotted rgba(20,16,13,.3); transform:translateY(-.3em); }
.dish h3 em{ flex:none; font-style:normal; color:var(--coral-dk); font-variant-numeric:tabular-nums; }
.dish p{ margin:.2rem 0 0; font-size:var(--t--1); color:var(--ink-soft); }
.dish__src{ display:block; margin-top:.2rem; font-size:.62rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:var(--coral-dk); }
.sheet .leaders li{ padding:.42rem 0; }
.sheet .leaders li.sub b{ padding-left:1rem; font-weight:500; font-family:var(--body); }
.sheet__note{ position:absolute; right:clamp(1rem,4vw,3rem); top:-1.6rem; rotate:3deg; color:var(--cream);
              background:var(--coral-dk); border:2.5px solid var(--ink); border-radius:var(--r-sm); padding:.25rem .8rem;
              box-shadow:0 4px 0 var(--ink); }
.sheet__foot{ margin:2rem 0 0; padding-top:1rem; border-top:2px dashed rgba(20,16,13,.25); font-size:var(--t--1); color:var(--ink-soft); }

/* ==========================================================================
   MEMBERSHIP: the founding member plaque, the scorecard comparison, the math
   ========================================================================== */
.plaque{
  position:relative; width:min(100%,29rem); margin-inline:auto; rotate:-1.5deg;
  background-color:#5f3f33;
  background-image:repeating-linear-gradient(176deg, rgba(20,16,13,.12) 0 2px, transparent 2px 11px),
                   linear-gradient(160deg, rgba(242,234,218,.08), rgba(20,16,13,.25));
  border:3px solid var(--ink); border-radius:var(--r-md); padding:clamp(1.3rem,3.5vw,2.1rem);
  box-shadow:0 10px 0 rgba(20,16,13,.9), 0 40px 60px -30px rgba(0,0,0,.7);
}
.plaque__plate{
  position:relative; text-align:center; color:#3a2a0e; border:2px solid #7a5a12; border-radius:6px;
  background:linear-gradient(135deg,#f2d27a 0%,#EBB22C 38%,#cf9a22 66%,#eec55a 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), inset 0 -2px 0 rgba(20,16,13,.2);
  padding:1.2rem 1.1rem 1.35rem;
}
.plaque__plate img{ width:62%; margin:0 auto .6rem; }
.plaque__title{ font-family:var(--display); font-weight:800; font-size:clamp(1.3rem,3vw,1.75rem); letter-spacing:.06em; text-transform:uppercase; line-height:1; margin:0; }
.plaque__place{ font-size:.62rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; margin:.35rem 0 .9rem; }
.plaque__names{ display:grid; grid-template-columns:1fr 1fr; gap:.5rem 1rem; }
.plaque__names li{ font-family:var(--hand); font-size:.95rem; line-height:1.2; padding-bottom:.2rem;
                   border-bottom:1.5px solid rgba(58,42,14,.4); color:rgba(58,42,14,.62); }
.plaque__screw{ position:absolute; width:14px; height:14px; border-radius:50%; border:2px solid var(--ink);
                background:radial-gradient(circle at 35% 35%, #e9ecef, #7d8388); }
.plaque__screw::after{ content:""; position:absolute; left:2px; right:2px; top:50%; height:2px; margin-top:-1px; background:rgba(20,16,13,.6); rotate:35deg; }
.plaque__screw:nth-of-type(1){ top:.55rem; left:.55rem; }
.plaque__screw:nth-of-type(2){ top:.55rem; right:.55rem; }
.plaque__screw:nth-of-type(3){ bottom:.55rem; left:.55rem; }
.plaque__screw:nth-of-type(4){ bottom:.55rem; right:.55rem; }
.plaque__tag{ position:absolute; left:-1rem; bottom:-1.1rem; rotate:-5deg; }

.tiers{ background:var(--cream); }
.tiers__head{ display:grid; gap:1rem 3rem; align-items:end; margin-bottom:clamp(1.6rem,3.5vw,2.4rem); }
@media (min-width:880px){ .tiers__head{ grid-template-columns:auto minmax(0,1fr); } .tiers__head .lede{ justify-self:end; } }
.scard{ overflow-x:auto; border:3px solid var(--ink); border-radius:var(--r-md); background:var(--paper); box-shadow:0 8px 0 var(--ink); }
.scard table{ width:100%; border-collapse:collapse; min-width:600px; }
.scard th, .scard td{ padding:1rem 1.15rem; text-align:left; vertical-align:top; border-bottom:1.5px solid var(--ink); }
.scard tr:last-child th, .scard tr:last-child td{ border-bottom:0; }
.scard thead th{ background:var(--turf-dk); color:var(--cream); font-family:var(--display); font-weight:800; font-size:var(--t-2); letter-spacing:-.02em; }
.scard thead th:first-child{ background:var(--ink); }
.scard thead th small{ display:block; font-family:var(--body); font-size:.62rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,234,218,.72); margin-bottom:.2rem; }
.scard tbody th{ width:22%; background:var(--cream-2); font-size:var(--t--2); font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); border-right:2px solid var(--ink); }
.scard td{ font-family:var(--display); font-weight:700; font-size:var(--t-1); letter-spacing:-.015em; line-height:1.25; }
.scard td + td{ border-left:1.5px dashed rgba(20,16,13,.35); }
.scard .price{ font-size:clamp(2rem,4vw,2.8rem); font-weight:800; color:var(--coral-dk); line-height:1; letter-spacing:-.04em; }
.scard .price small{ font-size:.38em; color:var(--ink-soft); letter-spacing:0; font-weight:700; }
.tiers__foot{ display:grid; gap:1.4rem 3rem; margin-top:clamp(2rem,4vw,3rem); align-items:start; }
@media (min-width:880px){ .tiers__foot{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); } }
.pinned{
  position:relative; background:var(--paper); border:2.5px solid var(--ink); border-radius:var(--r-sm);
  padding:1.1rem 1.25rem; box-shadow:0 6px 0 rgba(20,16,13,.9); rotate:-1deg; max-width:30rem;
}
.pinned::before{ content:""; position:absolute; top:-9px; left:50%; margin-left:-9px; width:18px; height:18px; border-radius:50%;
                 background:var(--turf); border:2.5px solid var(--ink); }
.pinned b{ font-family:var(--display); font-size:var(--t-1); letter-spacing:-.02em; display:block; margin-bottom:.3rem; }
.pinned p{ margin:0; font-size:var(--t--1); color:var(--ink-soft); }

.math{ background:var(--ink); color:var(--cream); }
.math__grid{ display:grid; gap:clamp(2rem,4vw,3.5rem); align-items:center; }
@media (min-width:940px){ .math__grid{ grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); } }
.math__big{ display:flex; flex-wrap:wrap; gap:1.2rem 2.4rem; margin-top:1.6rem; padding-top:1.2rem; border-top:2px solid rgba(242,234,218,.2); }
.math__big b{ display:block; font-family:var(--display); font-weight:800; font-size:clamp(2rem,4.5vw,3rem); line-height:.85; letter-spacing:-.045em; color:var(--amber); }
.math__big small{ display:block; margin-top:.45rem; font-size:var(--t--2); font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:rgba(242,234,218,.72); max-width:16ch; }
.meter{ border:2px solid rgba(242,234,218,.2); border-radius:var(--r-lg); background:rgba(242,234,218,.035); padding:clamp(1.2rem,3vw,2rem); }
.meter__q{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:.4rem 1rem; margin-bottom:.8rem; }
.meter__q label{ font-size:var(--t--2); font-weight:800; letter-spacing:.15em; text-transform:uppercase; color:rgba(242,234,218,.78); }
.meter__q output{ font-family:var(--display); font-weight:800; font-size:var(--t-2); letter-spacing:-.02em; }
.meter input[type="range"]{ width:100%; accent-color:var(--amber); height:28px; }
.bars{ display:grid; gap:.9rem; margin-top:1.4rem; }
.barrow{ display:grid; grid-template-columns:6.6rem minmax(0,1fr) 4.6rem; gap:.8rem; align-items:center; }
.barrow span{ font-size:var(--t--2); font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(242,234,218,.8); }
.barrow__track{ height:28px; border-radius:var(--r-pill); border:2px solid rgba(242,234,218,.22); background:rgba(242,234,218,.06); overflow:hidden; }
.barrow__fill{ height:100%; background:var(--coral); border-radius:inherit; transition:width .4s cubic-bezier(.3,1.25,.5,1); }
.barrow--mem .barrow__fill{ background:var(--amber); }
.barrow b{ font-family:var(--display); font-weight:800; font-size:var(--t-1); text-align:right; font-variant-numeric:tabular-nums; }
.meter__verdict{ font-family:var(--hand); font-weight:700; color:var(--amber); font-size:1.3rem; line-height:1.2; margin:1.2rem 0 0; min-height:2.5em; }
.meter__fine{ font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:rgba(242,234,218,.66); margin:.6rem 0 0; }

/* ==========================================================================
   GROUPS: polaroid hero, scorecard plan, sizing, the planner form
   ========================================================================== */
.polaroid{
  position:relative; margin:0 auto; width:min(100%,34rem); background:var(--cream);
  padding:.8rem .8rem 3.4rem; border:2.5px solid var(--ink); border-radius:4px; rotate:2.5deg;
  box-shadow:0 10px 0 rgba(0,0,0,.6), 0 40px 60px -30px rgba(0,0,0,.8);
}
.polaroid img{ width:100%; aspect-ratio:4/3; object-fit:cover; border:2px solid var(--ink); }
.polaroid figcaption{ position:absolute; left:1rem; right:1rem; bottom:.85rem; font-family:var(--hand); font-weight:700; font-size:1.25rem; color:var(--ink); }
.polaroid .hero__tape{ top:-13px; left:38%; }

.plan{ background:var(--turf-dk); color:var(--cream); }
.plan__head{ max-width:44rem; margin-bottom:clamp(1.6rem,3.5vw,2.4rem); }
.holes{ list-style:none; margin:0; padding:0; border:3px solid var(--ink); border-radius:var(--r-md); overflow:hidden; background:var(--cream); color:var(--ink); box-shadow:0 8px 0 rgba(20,16,13,.9); }
.holes__row{ display:grid; grid-template-columns:5.5rem minmax(0,1fr) minmax(0,1.3fr) 6.5rem; border-top:1.5px solid var(--ink); }
.holes__row:first-child{ border-top:0; }
.holes__row > *{ padding:1rem 1.1rem; border-left:1.5px solid var(--ink); margin:0; }
.holes__row > *:first-child{ border-left:0; }
.holes__row--head{ background:var(--amber); font-family:var(--display); font-weight:800; font-size:var(--t--2); letter-spacing:.14em; text-transform:uppercase; }
.holes__row--head > *{ padding-block:.65rem; }
.holes__n{ font-family:var(--display); font-weight:800; font-size:clamp(1.8rem,3.5vw,2.4rem); line-height:1; letter-spacing:-.04em; text-align:center; }
.holes__play{ font-family:var(--display); font-weight:800; font-size:var(--t-1); letter-spacing:-.02em; line-height:1.2; }
.holes__detail{ font-size:var(--t--1); color:var(--ink-soft); }
.holes__par{ font-family:var(--hand); font-weight:700; font-size:1.05rem; line-height:1.2; color:var(--coral-dk); text-align:center; }
.holes__row--19{ background:var(--coral); }
.holes__row--19 .holes__detail{ color:var(--ink); }
.holes__row--19 .holes__par{ color:var(--ink); }
@media (max-width:719px){
  .holes__row{ grid-template-columns:4.2rem minmax(0,1fr); }
  .holes__row--head{ display:none; }
  .holes__row > *{ border-left:0; padding:.3rem 1rem; }
  .holes__n{ grid-row:1 / span 3; border-right:1.5px solid var(--ink); display:grid; place-items:center; padding:.8rem .4rem; }
  .holes__play{ padding-top:.9rem; }
  .holes__par{ text-align:left; padding-bottom:.9rem; }
}

.sizes{ background:var(--cream); }
.sizes__grid{ display:grid; gap:clamp(1.5rem,4vw,3.5rem); align-items:center; }
@media (min-width:900px){ .sizes__grid{ grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); } }
.bignum{ font-family:var(--display); font-weight:800; font-size:clamp(8rem,22vw,15rem); line-height:.78; letter-spacing:-.07em;
         color:transparent; -webkit-text-stroke:3px var(--ink); margin:0; }
.bignum + p{ margin-top:.9rem; font-family:var(--display); font-weight:800; font-size:var(--t-1); letter-spacing:-.02em; max-width:18ch; }
.sizes .leaders--ink li{ padding:.9rem 0; }
.sizes .leaders b{ font-size:var(--t-1); }
.sizes .leaders em{ font-size:var(--t--1); font-family:var(--body); font-weight:700; letter-spacing:.06em; text-transform:uppercase; text-align:right; }
.sizes__math{ margin-top:1.3rem; font-size:var(--t--1); color:var(--ink-soft); }
.sizes__math b{ color:var(--ink); }

.planner{ background:var(--paper); }
.planner__grid{ display:grid; gap:clamp(1.8rem,4vw,3.5rem); align-items:start; }
@media (min-width:940px){ .planner__grid{ grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); } }
.formcard{ background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--r-lg); padding:clamp(1.2rem,3vw,2rem); box-shadow:0 8px 0 var(--ink); }
.form{ display:grid; gap:1rem; grid-template-columns:1fr; }
@media (min-width:560px){ .form{ grid-template-columns:1fr 1fr; } .form .full{ grid-column:1 / -1; } }
.field label{ display:block; font-size:var(--t--2); font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:.35rem; }
.field label span{ color:var(--ink-soft); font-weight:600; letter-spacing:.06em; text-transform:none; }
.field input, .field select, .field textarea{
  width:100%; font:inherit; font-size:16px; color:var(--ink); background:var(--paper);
  padding:.75rem .9rem; min-height:50px; border:2.5px solid var(--ink); border-radius:var(--r-sm); box-shadow:0 3px 0 var(--ink);
}
.field textarea{ min-height:7.5rem; resize:vertical; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:3px solid var(--amber); outline-offset:2px; }
.form__actions{ display:flex; flex-wrap:wrap; gap:.8rem 1.2rem; align-items:center; }
.form__note{ font-size:var(--t--1); color:var(--ink-soft); margin:0; max-width:34ch; }
.form__done{ margin:0; font-family:var(--hand); font-weight:700; font-size:1.2rem; color:var(--turf); }
.form__done[hidden]{ display:none; }
.planner__side .visit__powder{ margin-top:1.4rem; }

/* ==========================================================================
   VISIT: open ticket, tee-sheet hours, taped parking map, neighbours
   ========================================================================== */
.openbox{
  position:relative; background:var(--cream); color:var(--ink); border:2.5px solid var(--ink); border-radius:var(--r-sm);
  padding:1rem 1.3rem 1.1rem; box-shadow:0 8px 0 rgba(20,16,13,.85); rotate:-3deg; max-width:18rem; justify-self:start;
}
@media (min-width:980px){ .openbox{ justify-self:end; } }
.openbox::before, .openbox::after{ content:""; position:absolute; width:14px; height:14px; border-radius:50%; background:var(--brown); top:50%; margin-top:-7px; }
.openbox::before{ left:-8px; } .openbox::after{ right:-8px; }
.openbox .starter__row{ margin:0; }
.openbox strong{ display:block; font-family:var(--display); font-weight:800; font-size:clamp(1.5rem,3vw,1.9rem); line-height:1.05; letter-spacing:-.03em; margin:.3rem 0 .15rem; }
.openbox > span{ display:block; font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--ink-soft); }
.openbox .starter__cut{ margin:.6rem 0 0; }

.hoursec{ background:var(--paper); }
.hoursec__head{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:1rem 2rem; margin-bottom:clamp(1.4rem,3vw,2.2rem); }
.teesheet{ display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); margin:0; border:3px solid var(--ink); border-radius:var(--r-md); overflow:hidden; background:var(--cream); box-shadow:0 8px 0 var(--ink); }
.teesheet > div{ border-left:1.5px solid var(--ink); text-align:center; }
.teesheet > div:first-child{ border-left:0; }
.teesheet dt{ background:var(--turf-dk); color:var(--cream); font-family:var(--display); font-weight:800; font-size:var(--t--1); letter-spacing:.1em; text-transform:uppercase; padding:.75rem .3rem; }
.teesheet dd{ margin:0; padding:1.1rem .3rem 1.2rem; font-family:var(--display); font-weight:800; font-size:var(--t-1); line-height:1.05; letter-spacing:-.02em; }
.teesheet dd small{ display:block; margin:.3rem 0; font-family:var(--body); font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); }
.teesheet > div[data-today="true"] dt{ background:var(--coral); color:var(--ink); }
.teesheet > div[data-today="true"] dd{ background:rgba(235,178,44,.32); }
@media (max-width:759px){
  .teesheet{ grid-template-columns:1fr; }
  .teesheet > div{ display:flex; align-items:stretch; border-left:0; border-top:1.5px solid var(--ink); text-align:left; }
  .teesheet > div:first-child{ border-top:0; }
  .teesheet dt{ flex:0 0 6.8rem; display:flex; align-items:center; padding:.7rem .9rem; }
  .teesheet dd{ flex:1; padding:.7rem 1rem; display:flex; align-items:center; gap:.4rem; }
  .teesheet dd small{ display:inline; margin:0; }
}
.hoursec__facts{ display:grid; gap:1.4rem 3rem; margin-top:clamp(2rem,4vw,3rem); }
@media (min-width:820px){ .hoursec__facts{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
.hoursec__facts .visit__facts{ margin:0; }

.park{ background:var(--cream); overflow:hidden; }
.park__grid{ display:grid; gap:clamp(2rem,5vw,4rem); align-items:center; }
@media (min-width:960px){ .park__grid{ grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); } }
.park__map{ position:relative; margin:0; background:#fff; border:3px solid var(--ink); border-radius:var(--r-sm);
            padding:.45rem; box-shadow:0 10px 0 rgba(20,16,13,.9); rotate:-1.2deg; }
.park__map img{ width:100%; border-radius:3px; }
.park__map .hero__tape{ top:-12px; left:12%; }
.park__map .hero__tape--b{ top:auto; bottom:-12px; left:auto; right:10%; }
.park ul.spots{ margin-top:1.2rem; }
.spots li{ position:relative; padding:.65rem 0 .65rem 1.9rem; border-bottom:1px solid var(--hair); font-weight:600; }
.spots li::before{ content:""; position:absolute; left:0; top:.95rem; width:16px; height:11px; background:#00ADEF; border:2px solid var(--ink); border-radius:2px; }
.spots li.bird::before{ background:var(--orange); border-radius:50%; width:15px; height:15px; top:.85rem; }
.park .scrawl{ margin-top:1.1rem; rotate:-2deg; display:inline-block; }

.hood{ background:var(--ink); color:var(--cream); }
.hood__grid{ display:grid; gap:clamp(1.6rem,4vw,3.5rem); align-items:start; }
@media (min-width:900px){ .hood__grid{ grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr); } }
.hood .leaders a{ color:inherit; text-decoration:none; border-bottom:2px solid rgba(209,126,89,.7); }
.hood .leaders a:hover{ color:var(--coral-lt); }
.hood .leaders em{ font-family:var(--body); font-size:var(--t--2); font-weight:800; letter-spacing:.13em; text-transform:uppercase; }

/* ==========================================================================
   BOOK: in-progress banner, day strip, bay picker, tee times, ticket
   ========================================================================== */
.wip{
  display:flex; align-items:center; gap:.9rem; margin:0 0 clamp(1.4rem,3vw,2.2rem);
  background:var(--ink); border:2.5px solid var(--ink); border-radius:var(--r-sm);
  box-shadow:0 5px 0 rgba(20,16,13,.55); padding:.55rem .7rem; scroll-margin-top:96px;
}
.wip__tape{ flex:1 1 0; min-width:1.5rem; height:22px; border-radius:2px;
  background:repeating-linear-gradient(-45deg, var(--amber) 0 12px, var(--ink) 12px 24px); }
.wip__text{ margin:0; flex:none; font-family:var(--display); font-weight:800; letter-spacing:.04em;
  font-size:clamp(.95rem,.8rem + .8vw,1.45rem); color:var(--amber); text-align:center; }
@media (max-width:519px){ .wip__tape{ display:none; } .wip{ justify-content:center; } }
.wip.is-flash{ animation:wipflash .9s ease 2; }
@keyframes wipflash{ 30%{ transform:rotate(-1.2deg) scale(1.03); background:var(--coral-dk); } }

.bk-hero{ padding-bottom:clamp(4.5rem,8vw,6.5rem); }
.bk-hero h1{ max-width:none; }

.bk{ padding-top:clamp(2rem,4vw,3rem); }
.bk__grid{ display:grid; gap:clamp(1.6rem,4vw,3rem); align-items:start; }
@media (min-width:980px){ .bk__grid{ grid-template-columns:minmax(0,1.45fr) minmax(0,.75fr); } }

.bk__card{ background:var(--cream); border:2.5px solid var(--ink); border-radius:var(--r-lg);
  box-shadow:0 8px 0 var(--ink); padding:clamp(1.1rem,3vw,2rem); min-width:0; }
.bk__step{ border:0; margin:0; padding:0 0 clamp(1.3rem,2.6vw,1.8rem); min-width:0; }
.bk__step + .bk__step{ border-top:2px dashed rgba(20,16,13,.22); padding-top:clamp(1.1rem,2.2vw,1.5rem); }
.bk__step:last-child{ padding-bottom:0; }
.bk__step legend{ float:left; width:100%; display:flex; align-items:center; gap:.7rem; margin-bottom:.9rem;
  font-family:var(--display); font-weight:800; font-size:var(--t-1); letter-spacing:-.02em; }
.bk__step legend + *{ clear:both; }
.bk__step legend em{ font-style:normal; display:grid; place-items:center; width:2rem; height:2rem; flex:none;
  border-radius:50%; background:var(--turf); color:var(--cream); font-size:.95rem; border:2px solid var(--ink); }
.bk__help{ margin:.2rem 0 0; font-size:var(--t--1); color:var(--ink-soft); }
.bk__help a{ color:var(--coral-dk); font-weight:700; }

/* day strip: scrolls sideways inside the card, never the page */
.bk__days{ display:flex; gap:.5rem; overflow-x:auto; padding:.2rem .1rem .7rem; scroll-snap-type:x proximity;
  scrollbar-width:thin; }
.bk-day{ flex:none; scroll-snap-align:start; display:grid; justify-items:center; gap:.05rem; width:4.3rem;
  padding:.55rem .3rem .5rem; background:var(--paper); color:var(--ink); cursor:pointer; font:inherit;
  border:2px solid var(--ink); border-radius:var(--r-md); box-shadow:0 3px 0 var(--ink);
  transition:transform .12s ease, box-shadow .12s ease, background-color .15s ease; }
.bk-day small{ font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.bk-day b{ font-family:var(--display); font-weight:800; font-size:1.55rem; line-height:1.05; letter-spacing:-.03em; }
.bk-day:hover{ transform:translateY(-2px); box-shadow:0 5px 0 var(--ink); }
.bk-day[aria-checked="true"]{ background:var(--amber); }
.bk-day[aria-checked="true"] small{ color:var(--ink); }

/* bay picker: each bay drawn top-down, screen at the back, mat in the middle */
.bk__bays{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
@media (min-width:620px){ .bk__bays{ grid-template-columns:repeat(4,minmax(0,1fr)); } }
.bay-pick{ position:relative; cursor:pointer; }
.bay-pick input{ position:absolute; inset:0; opacity:0; margin:0; cursor:pointer; }
.bay-pick__box{ position:relative; display:block; aspect-ratio:4/3.4; border:2.5px solid var(--ink);
  border-radius:var(--r-md); background:var(--turf-dk); box-shadow:0 4px 0 var(--ink); overflow:hidden;
  transition:transform .12s ease, box-shadow .12s ease; }
.bay-pick__screen{ position:absolute; left:10%; right:10%; top:9%; height:9%; border-radius:2px;
  background:linear-gradient(90deg, #7fb6d8, #a8d4a0); border:2px solid var(--ink); }
.bay-pick__mat{ position:absolute; left:32%; right:32%; top:44%; height:26%; background:var(--turf-lt);
  border:2px solid rgba(20,16,13,.55); border-radius:2px; }
.bay-pick__mat::after{ content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; margin:-4.5px;
  border-radius:50%; background:var(--cream); box-shadow:0 0 0 1.5px var(--ink); }
.bay-pick__box b{ position:absolute; left:0; right:0; bottom:.45rem; text-align:center; color:var(--cream);
  font-family:var(--display); font-weight:800; font-size:var(--t-0); letter-spacing:-.01em; }
.bay-pick:hover .bay-pick__box{ transform:translateY(-2px); box-shadow:0 6px 0 var(--ink); }
.bay-pick input:checked + .bay-pick__box{ background:var(--amber); }
.bay-pick input:checked + .bay-pick__box b{ color:var(--ink); }
.bay-pick input:checked + .bay-pick__box .bay-pick__mat{ background:var(--turf); }
.bay-pick input:focus-visible + .bay-pick__box{ outline:3px solid var(--coral-dk); outline-offset:3px; }

/* players + length sit on cream here, so flip the dark-ground defaults */
.bk__stepper{ margin-bottom:.6rem; }
.bk__stepper output{ color:var(--turf); }
.stepper button:disabled{ opacity:.35; cursor:not-allowed; transform:none; box-shadow:0 3px 0 var(--ink); }
/* how long to book: players x 1 hr = hours */
.bk-calc{ margin-top:1rem; background:var(--paper); border:2.5px solid var(--ink); border-radius:var(--r-md,14px);
  box-shadow:5px 5px 0 var(--ink); padding:clamp(.9rem,2vw,1.2rem) clamp(1rem,2.4vw,1.4rem); }
.bk-calc__q{ margin:0 0 .6rem; font-family:var(--display); font-weight:800; font-size:var(--t-0,1rem); letter-spacing:-.01em; }
.bk-calc__sum{ margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .55rem; }
.bk-calc__sum > i{ font-style:normal; font-family:var(--display); font-weight:800; font-size:1.4rem; color:var(--ink-soft); }
.bk-calc__chip{ display:inline-flex; align-items:baseline; gap:.3rem; background:var(--cream); border:2px solid var(--ink);
  border-radius:999px; padding:.3rem .8rem; }
.bk-calc__chip b{ font-family:var(--display); font-weight:800; font-size:1.25rem; letter-spacing:-.02em; }
.bk-calc__chip small{ font-size:.8rem; font-weight:700; color:var(--ink-soft); }
.bk-calc__chip--total{ background:var(--amber); }
.bk-calc__chip--total small{ color:var(--ink); }
.bk-calc__why{ margin:.75rem 0 0; font-size:var(--t--1); line-height:1.5; color:var(--ink); }
.bk__lenNote{ margin:0 0 .7rem; }
/* real checkout */
.bay-pick.is-taken{ opacity:.38; cursor:not-allowed; }
.bay-pick.is-taken .bay-pick__box{ box-shadow:none; transform:none; }
.bay-pick.is-taken b::after{ content:" · taken"; font-weight:700; }
.bk__baynote{ margin-top:.7rem; color:var(--coral-dk); font-weight:700; }
.bk-slot.is-otherbay{ border-style:dashed; }
.bk__cardbox{ background:#fff; border:2px solid var(--ink); border-radius:var(--r-md); padding:.9rem .9rem .2rem; min-height:4.5rem; }
.bk__err{ margin:1rem 0 0; padding:.85rem 1rem; border:2.5px solid var(--ink); border-radius:var(--r-md); background:#FBE3D6;
  color:var(--ink); font-weight:700; box-shadow:4px 4px 0 var(--ink); }
.ticket__go[disabled]{ opacity:.6; cursor:progress; }
.bk.is-booked .bk__grid{ display:none; }
.bk-done{ display:grid; justify-items:center; outline:none; }
.bk-done[hidden]{ display:none; }
.bk-done__ticket{ width:min(100%, 34rem); rotate:-1deg; }
.bk-done__ticket::before, .bk-done__ticket::after{ background:var(--paper); }
.bk-done__note{ margin:.9rem 0 0; font-size:var(--t--1); line-height:1.55; }
.bk-done__note a{ color:var(--coral-dk); font-weight:700; }
.bk-later{ display:flex; align-items:center; gap:.75rem; margin:0 0 1rem; padding:.8rem 1rem; cursor:pointer;
  background:var(--paper); border:2.5px solid var(--ink); border-radius:var(--r-md); box-shadow:4px 4px 0 var(--ink); }
.bk-later input{ position:absolute; opacity:0; width:1px; height:1px; }
.bk-later__box{ flex:none; width:1.6rem; height:1.6rem; border:2.5px solid var(--ink); border-radius:6px; background:#fff;
  display:grid; place-items:center; }
.bk-later input:checked + .bk-later__box{ background:var(--amber); }
.bk-later input:checked + .bk-later__box::after{ content:""; width:.45rem; height:.8rem; border:solid var(--ink);
  border-width:0 3px 3px 0; rotate:45deg; translate:0 -2px; }
.bk-later input:focus-visible + .bk-later__box{ outline:3px solid var(--coral-dk); outline-offset:3px; }
.bk-later__txt{ font-family:var(--display); font-weight:800; font-size:var(--t-0); }
.bk-policy{ margin:0 0 1rem; padding:.85rem 1rem; background:var(--paper); border-left:4px solid var(--coral-dk);
  border-radius:var(--r-sm); font-weight:600; line-height:1.5; }
.bk-agree{ align-items:flex-start; margin-bottom:0; }
.bk-agree__txt{ font-weight:600; font-size:var(--t--1); line-height:1.45; padding-top:.1rem; }
.bk-trust{ margin-top:1rem; padding:.95rem 1.1rem; background:#E4EDE5; border:2px solid var(--turf-dk, #24462F); border-radius:var(--r-md); }
.bk-trust__head{ display:flex; align-items:center; gap:.5rem; margin:0 0 .55rem; font-family:var(--display); font-weight:800;
  font-size:var(--t-0); color:var(--turf-dk, #24462F); }
.bk-trust__head svg{ flex:none; }
.bk-trust__list{ list-style:none; margin:0; padding:0; display:grid; gap:.4rem; }
.bk-trust__list li{ position:relative; padding-left:1.35rem; font-size:var(--t--1); line-height:1.45; color:var(--ink); }
.bk-trust__list li::before{ content:""; position:absolute; left:.2rem; top:.32em; width:.45rem; height:.75rem;
  border:solid var(--turf-dk, #24462F); border-width:0 2.5px 2.5px 0; rotate:45deg; }
.bk__seg{ margin:0; }
.bk__seg span{ border-color:rgba(20,16,13,.3); color:var(--ink); }

/* tee times */
.bk__slots{ display:grid; grid-template-columns:repeat(auto-fill,minmax(6.2rem,1fr)); gap:.5rem; }
.bk-slot{ min-height:44px; font:inherit; font-family:var(--display); font-weight:800; font-size:var(--t--1);
  color:var(--ink); background:var(--paper); border:2px solid var(--ink); border-radius:var(--r-pill);
  box-shadow:0 3px 0 var(--ink); cursor:pointer; transition:transform .12s ease, box-shadow .12s ease; }
.bk-slot:hover{ transform:translateY(-2px); box-shadow:0 5px 0 var(--ink); }
.bk-slot[aria-checked="true"]{ background:var(--turf); color:var(--cream); }
.bk-day:focus-visible, .bk-slot:focus-visible{ outline:3px solid var(--coral-dk); outline-offset:3px; }
.bk__slots .bk__help{ grid-column:1 / -1; }

/* ticket column */
.bk__side{ display:grid; gap:1.4rem; }
@media (min-width:980px){ .bk__side{ position:sticky; top:96px; } }
.bk__ticket{ rotate:1deg; }
.bk__ticket::before, .bk__ticket::after{ background:var(--paper); }
.bk__ticket dd{ font-size:var(--t--1); }
.bk__each{ margin:.1rem 0 1rem; text-align:right; font-size:var(--t--1); font-weight:700; color:var(--ink-soft); }
.bk__facts{ list-style:none; margin:0; padding:0 .3rem; display:grid; gap:.5rem; }
.bk__facts li{ display:flex; align-items:center; gap:.6rem; font-weight:600; font-size:var(--t--1); }
.bk__facts li::before{ content:""; width:.6rem; height:.6rem; border-radius:50%; background:var(--turf); flex:none; }

/* beer: the real tap handles beside the heading */
.beer__top{ display:grid; gap:1.4rem; margin-bottom:1.6rem; }
@media (min-width:900px){ .beer__top{ grid-template-columns:minmax(0,1fr) minmax(0,30rem); align-items:center; gap:3rem; } }
.beer__photo{ margin:0; border:2.5px solid var(--ink); border-radius:var(--r-md); overflow:hidden;
  box-shadow:0 8px 0 rgba(20,16,13,.9); rotate:1.2deg; }
.beer__photo img{ width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }

/* ==========================================================================
   MOBILE PASS (Sep 2026 audit)
   ========================================================================== */
/* membership: the plan table was scrolling sideways and hiding Business.
   On a phone each row becomes a label bar over both plans side by side. */
@media (max-width:699px){
  .scard{ overflow:visible; }
  .scard table{ min-width:0; }
  .scard thead tr, .scard tbody tr{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .scard thead th:first-child{ display:none; }
  .scard thead th + th{ border-left:1.5px solid rgba(242,234,218,.25); }
  .scard thead th{ font-size:var(--t-1); padding:.85rem .9rem; }
  .scard tbody th{ grid-column:1 / -1; width:auto; border-right:0; border-bottom:1px solid rgba(20,16,13,.25); padding:.5rem .9rem; }
  .scard td{ padding:.75rem .9rem; font-size:var(--t-0); }
  .scard td + td{ border-left:1.5px dashed rgba(20,16,13,.35); }
  .scard .price{ font-size:1.75rem; }
  .scard .price small{ display:block; font-size:.42em; margin-top:.25rem; }
}

/* groups: the polaroid caption wrapped onto the photo */
@media (max-width:599px){
  .polaroid{ padding-bottom:.9rem; }
  .polaroid figcaption{ position:static; margin-top:.7rem; font-size:1.15rem; line-height:1.25; }
}

/* menu: a sticky section bar on phones so a 7,000px menu is one tap away */
.mjump{ display:none; }
@media (max-width:899px){
  .phero .jump{ display:none; }
  .mjump{ display:flex; gap:.4rem; position:sticky; top:76px; z-index:40; overflow-x:auto;
    padding:.55rem var(--gutter); background:var(--ink); border-bottom:2px solid rgba(242,234,218,.14);
    scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .mjump::-webkit-scrollbar{ display:none; }
  .mjump a{ flex:none; display:inline-flex; align-items:center; min-height:44px; padding:.3rem .95rem;
    font-family:var(--display); font-weight:800; font-size:var(--t--1); letter-spacing:.03em; text-transform:uppercase;
    text-decoration:none; color:var(--cream); border:2px solid rgba(242,234,218,.32); border-radius:var(--r-pill); }
  .mjump a[aria-current="true"]{ background:var(--amber); color:var(--ink); border-color:var(--ink); }
  #cocktails, #beer, #wine, #food, #treats{ scroll-margin-top:150px; }
}

/* visit: partner and fact links get a full tap row */
@media (max-width:759px){
  .credits-back, .cred .eyebrow a{ display:inline-block; padding:.7rem 0; }
}

/* book: on a phone the total and confirm ride along at the bottom */
.bkbar{ display:none; }
@media (max-width:979px){
  .bkbar{ display:flex; align-items:center; gap:.8rem; position:fixed; left:0; right:0; bottom:0; z-index:60;
    padding:.6rem var(--gutter) calc(.6rem + env(safe-area-inset-bottom)); background:var(--ink); border-top:3px solid var(--coral);
    color:var(--cream); transform:translateY(130%); transition:transform .4s cubic-bezier(.16,1,.3,1); }
  .bkbar[data-show="true"]{ transform:none; }
  .bkbar__sum{ flex:1 1 auto; min-width:0; line-height:1.2; }
  .bkbar__sum b{ display:block; font-family:var(--display); font-weight:800; font-size:1.35rem; color:var(--amber); letter-spacing:-.02em; }
  .bkbar__sum span{ display:block; font-size:.78rem; color:rgba(242,234,218,.8); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .bkbar .btn{ flex:none; }
}
@media (max-width:759px){
  .leaders b > a, .visit__facts dd a{ display:inline-block; padding:.6rem 0; }
}

/* phones: three stats in one row (pages.css redefines .math__big, so it lives here) */
@media (max-width:759px){
  .math__big{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem .9rem; }
  .math__big small{ letter-spacing:.08em; }
}

/* phones: the page-specific labels that sat under 11px */
@media (max-width:759px){
  .ticket .ticket__head span, .ticket dl dt, .tee .tee__fine, .tap figcaption .tap__from, .wine__head span,
  .dish .dish__src, .scard th small, .scard td .chip, .meter .meter__fine, .openbox span, .teesheet dd small,
  .bk__days .bk-day small{ font-size:.72rem; }
}

/* food photos laid on the menu table (2026-09-29) */
.plates{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,2vw,26px);margin:clamp(28px,4vw,48px) 0 8px}
.plates figure{margin:0;background:#fff;padding:8px 8px 10px;box-shadow:0 10px 24px rgba(20,16,13,.28)}
.plates figure:nth-child(1){rotate:-2.5deg}.plates figure:nth-child(2){rotate:1.8deg}.plates figure:nth-child(3){rotate:-1.2deg}.plates figure:nth-child(4){rotate:2.4deg}
.plates img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.plates figcaption{font-family:"Kalam",cursive;font-size:1rem;color:#14100D;text-align:center;margin-top:6px}
@media(max-width:759px){.plates{grid-template-columns:repeat(2,1fr)}}
.hood .leaders .uline{border-bottom:2px solid rgba(209,126,89,.7)}
