:root {
  --paper: #f4efe4;
  --coal: #222323;
  --rule: #cfc7b6;
  --coral: #ff9c8c;
}
[data-page]:not([data-page="home"]) {padding-block:clamp(1.6rem,4vw,3.4rem)}
[data-page] h1 {font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:1.02;margin:.45rem 0 1rem}
[data-page] .eyebrow {color:var(--coral)}
.menu-mast,.music-mast {position:relative;display:grid;grid-template-columns:1.08fr 1fr;background:#242323;border:1px solid #524843;overflow:hidden;border-radius:6px}
.mast-copy {padding:clamp(1.3rem,3.3vw,2.75rem);align-self:center}
.mast-copy h1 {font-size:clamp(2.4rem,4vw,3.4rem)}
.mast-copy p {max-width:32ch;color:#dad2c7;font-size:1.08rem;line-height:1.45;margin:0}
.menu-mast {background:#302522}
.menu-mast>img,.music-mast>img {display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.menu-mast>img {max-height:215px;object-position:center 57%}
.specials-strip,.life-features {display:grid;gap:1.2rem 2rem;padding:1.12rem 0 1.25rem;border-bottom:1px solid var(--line)}
.specials-strip {grid-template-columns:1fr 1fr}
.specials-strip>div,.life-features>div {border-left:3px solid #d9725f;padding-left:1rem}
.specials-strip h2,.life-features h2 {font:700 1.05rem/1.2 var(--body);text-transform:none;color:var(--ink);letter-spacing:0;margin:0 0 .25rem}
.specials-strip p,.life-features p {font-size:.98rem;line-height:1.44;color:var(--muted);margin:0}
.specials-strip a,.life-features a {color:var(--ink);text-underline-offset:3px}
.menu-nav {display:flex;flex-wrap:wrap;gap:.4rem;margin:1.15rem 0 .8rem}
.menu-nav a {display:inline-flex;align-items:center;text-decoration:none;padding:.48rem .86rem;min-height:40px;border:1px solid #5b5d5d;border-radius:3px;font:600 .98rem/1.2 var(--body);color:#dededa}
.menu-nav a[aria-current],.menu-nav a:hover {background:var(--paper);border-color:var(--paper);color:var(--coal)}
.menu-paper {background:var(--paper);border-top:4px solid #ac4635;color:var(--coal);padding:clamp(1.05rem,2vw,1.65rem);border-radius:3px}
.menu-paper h2,.ownership h2,.schedule h2,.arrival h2,.party-card h2 {font:800 clamp(1.5rem,2.4vw,2.05rem)/1.1 var(--display);text-transform:none;letter-spacing:-.045em;margin:.1rem 0 .55rem;max-width:none}
.menu-note {margin:0 0 .65rem;font-size:.95rem;line-height:1.4;color:#544b41}
.dishes {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1rem,3vw,2.6rem);list-style:none;padding:0;margin:.25rem 0 0}
.dishes li {padding:.68rem 0;border-top:1px solid var(--rule)}
.dish-line {display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.dish-line h3,.dish-line span {margin:0;font:700 1.01rem/1.25 var(--body)}
.dish-line span {font-variant-numeric:tabular-nums;color:#813b2a}
.dishes li p,.drink-tables td small {margin:.22rem 0 0;line-height:1.43;color:#514941;font-size:.935rem}
.drink-tables {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem 1.8rem;align-items:start;margin-top:1rem}
.drink-tables table {width:100%;border-collapse:collapse;text-align:left}
.drink-tables caption {text-align:left;font:700 1.12rem/1.25 var(--body);color:#813b2a;padding-bottom:.4rem}
.drink-tables td {border-top:1px solid var(--rule);font-size:.95rem;line-height:1.25;padding:.37rem 0}
.drink-tables td small {display:block}
.kitchen-photos {margin-top:.8rem}.kitchen-photos summary {width:fit-content;cursor:pointer;padding:.65rem .1rem;text-underline-offset:4px;text-decoration:underline}
.music-mast {grid-template-columns:.92fr 1.08fr;background:#332923}
.music-mast>img {height:clamp(13rem,23vw,18rem);object-position:50% 15%}
.music-mast .text-link {display:inline-block;margin-top:.9rem}
.schedule,.ownership {padding:0;margin:clamp(1.8rem,4vw,3rem) 0}
#schedule,.show-row {scroll-margin-top:6.5rem}
.schedule h2,.ownership h2 {margin-bottom:1rem}
.schedule-list {list-style:none;padding:0;margin:0}
.show-row {background:var(--paper);color:var(--coal);border-radius:3px;border-top:3px solid #ad4837;display:flex;align-items:center;gap:clamp(.85rem,2.5vw,2rem);padding:clamp(.95rem,2vw,1.5rem);margin-bottom:.75rem}
.date-block {border-right:1px solid var(--rule);padding-right:1.3rem;min-width:4.5rem;text-align:center;flex:none}
.date-block small,.show-when {font:600 .79rem/1.4 var(--label);letter-spacing:.13em;text-transform:uppercase;color:#783d2b}
.date-block b {display:block;font:800 1.6rem/1.18 var(--display)}
.show-row h3 {font:800 clamp(1.25rem,2.5vw,1.9rem)/1.12 var(--display);letter-spacing:-.04em;margin:.2rem 0}
.show-row p {margin:0}
.show-style {font-size:.98rem;color:#59504a;line-height:1.4}
.show-links {display:grid;gap:.3rem;margin-left:auto;font-weight:600;font-size:.92rem;flex:none}
.in-the-room {margin:1.7rem 0 0}
.in-the-room .music-photo {height:clamp(14rem,29vw,23rem);max-height:none;margin:0;object-position:center 64%}
.in-the-room figcaption,.booking-note {color:var(--muted)}
.in-the-room figcaption {margin-top:.5rem;font-size:.94rem}
.framed,.photo-grid.framed {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.7rem,2vw,1.3rem);align-items:stretch;margin:1.45rem 0}
.photo-grid.framed {grid-auto-rows:1fr}
.framed.food-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.framed .photo-card {display:flex;flex-direction:column;border:1px solid #565953;border-radius:4px;background:#232729;padding:.42rem;overflow:hidden;margin:0}
.framed .photo-card button,.framed .photo-card img {border-radius:2px}
.photo-card button {position:relative}
.framed .photo-card img {display:block;aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;object-position:50% 52%}
.framed img[src$="band.jpg"] {object-position:center 20%}
.framed img[src$="img_3741.jpg"] {object-fit:contain;background:#17191b}
.framed img[src$="img_3719.jpg"] {object-position:center 38%}
.framed .photo-card figcaption {padding:.55rem .42rem .25rem;line-height:1.35;color:#e2ded6;font-size:.96rem}
.enlarge {position:absolute;right:.45rem;bottom:.45rem;display:grid;place-items:center;width:1.7rem;height:1.7rem;background:rgba(24,26,28,.88);color:white;border:1px solid #aca69a;border-radius:3px;font:1.18rem/1 system-ui}
.photo-card button:focus-visible {outline-offset:-3px;outline:3px solid white}
.photo-card button:hover .enlarge,.photo-card button:focus-visible .enlarge {background:#8e352c}
.life-features {grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}
.arrival,.owner-grid,.party-card {border-radius:4px}
.arrival {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:clamp(1rem,3vw,2.5rem);align-items:center;padding:1rem;background:var(--surface);border:1px solid var(--line);margin-top:2rem}
.arrival h2 {margin-top:.5rem}.arrival p {color:var(--muted);margin:.25rem 0 .6rem}
.exterior-slot {display:grid;place-items:center;text-align:center;min-height:9rem;border:1px dashed #827569;background:#2d2b29;color:#e4d8c9;padding:.6rem}
.exterior-slot img {display:block;width:100%;height:auto}
.exterior-slot .photo-card {width:100%}
.owner-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.owner-card,.party-card {padding:clamp(1.25rem,3vw,2rem);background:var(--paper);color:var(--coal);border-top:4px solid #ad4837;border-radius:4px}
.owner-card .eyebrow,.party-card .eyebrow {color:#813b2a}
.owner-card p {margin:0;line-height:1.5;color:#514941}
.owner-card h3 {font:700 1.6rem/1.1 var(--body);margin:.5rem 0}
.owner-card .owner-history {font-weight:600;margin-bottom:.5rem}
.party-card h2 {margin:.55rem 0}
.party-card p {line-height:1.5}
.party-card .btn {color:white;background:#943f30;border-color:#943f30}
#contactInfo {padding:1.45rem clamp(1rem,3vw,2rem);border:1px solid var(--line);border-radius:4px}
@media(min-width:601px) {
  .menu-mast>img,.music-mast>img {position:absolute;inset:0 0 0 auto;height:100%;max-height:none}
  .menu-mast>img {width:48%}.music-mast>img {width:54%}
  .music-mast .mast-copy {min-height:clamp(13.5rem,21vw,17rem)}
}
@media(max-width:760px) {
  .photo-grid.framed,.framed.food-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .mast-copy {padding:1.2rem}.mast-copy h1{font-size:clamp(2.25rem,5vw,3rem)}
  .drink-tables {column-gap:1rem}
  #schedule,.show-row {scroll-margin-top:9.5rem}
}
@media(max-width:600px) {
  .nav {padding-block:.55rem}.nav>.brand{display:block;margin:0 0 .25rem}
  .tabs {gap:0}.tabs a{min-height:38px;font-size:.85rem;letter-spacing:.04em;padding:.4rem .31rem}
  .wrap {padding-inline:1rem}
  .menu-mast,.music-mast {grid-template-columns:1fr}
  .menu-mast {grid-template-columns:minmax(0,1fr) 30%}
  .menu-mast .mast-copy {padding:.9rem .75rem}
  .menu-mast .mast-copy h1 {font-size:clamp(1.75rem,6vw,2.15rem)}
  .menu-mast .mast-copy p {font-size:.95rem}
  .menu-mast>img {height:100%;position:absolute;inset:0 0 0 auto;width:30%;max-height:none;object-position:center 61%}
  .music-mast>img {height:10.2rem;object-position:center 15%}
  .mast-copy p {font-size:1rem;max-width:36ch}
  .mast-copy h1 {margin:.35rem 0 .55rem}
  .specials-strip,.life-features {gap:.8rem;padding:.9rem 0}
  .specials-strip>div,.life-features>div {padding-left:.6rem}
  .menu-nav {gap:.3rem;margin:.8rem 0}.menu-nav a{font-size:.92rem;padding:.44rem .65rem}
  .dishes {grid-template-columns:1fr}
  .drink-tables {grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
  .drink-tables table:first-child {grid-row:span 2}
  .life-features,.owner-grid {grid-template-columns:1fr}
  .photo-grid.framed {gap:.65rem}
  .framed .photo-card {padding:.27rem}
  .framed .photo-card figcaption {padding:.42rem .15rem .15rem;font-size:.87rem}
  .arrival{grid-template-columns:1fr}.exterior-slot {min-height:7rem}
  .show-row {flex-wrap:wrap}.date-block{min-width:3.2rem;padding-right:.8rem}
  .show-row>div:nth-child(2) {flex:1 1 10rem}
  .show-links{width:100%;margin:0;display:flex;flex-wrap:wrap;gap:.8rem}
}
@media(max-width:355px) {
  .photo-grid.framed,.specials-strip {grid-template-columns:1fr}
}

/* Homepage, event space and compact navigation. */
.nav>.home-link {display:inline-flex;align-items:center;min-height:44px;padding:0;margin:0}
.home-link img {display:block;width:142px;height:auto;border-radius:2px}
.nav-toggle {display:none}
.home-lead {display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:1rem;padding-block:clamp(1rem,3vw,2.3rem) 0}
.home-headliner {isolation:isolate;position:relative;overflow:hidden;display:flex;align-items:flex-end;border:1px solid #58534c;border-radius:5px;min-height:clamp(25rem,34vw,29rem);padding:clamp(1.35rem,3vw,2.6rem);background:#302d28}
.room-backdrop {position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 61%;z-index:-2}
.home-headliner::after {content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(13,15,15,.98) 2%,rgba(11,13,13,.81) 50%,rgba(9,10,10,.08) 100%)}
.headliner-copy {max-width:36rem}
.headliner-copy h1 {font-size:clamp(2.4rem,4.7vw,4.1rem);margin:.7rem 0 .8rem;line-height:1.04}
.headliner-copy .hero-wordmark {display:block;width:min(100%,29rem);height:auto;margin-top:.3rem;mask-image:linear-gradient(to right,transparent,#000 9%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 86%,transparent);mask-composite:intersect}
.headliner-copy p {line-height:1.5;color:#f4eee5;max-width:44ch;margin:.7rem 0 1.15rem}
.headliner-copy .btn {font-size:.93rem;padding:.76rem 1.03rem}
.headliner-copy .btn.ghost {border-color:#aaa194;background:#292721}
.social-panel {display:flex;flex-direction:column;border:1px solid #52504b;border-radius:5px;background:#262724;overflow:hidden}
.social-heading,.social-controls {display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .95rem}
.social-heading {background:#282924;border-bottom:1px solid #494a44}
.social-heading h2 {margin:0;font:700 1.15rem/1.2 var(--body);letter-spacing:0;text-transform:none;max-width:none}
.social-heading a,.social-card a {font-size:.93rem;text-underline-offset:.2rem}
.social-heading a {display:inline-flex;align-items:center;min-height:34px;color:#efd3ae}
#feedStory {flex:1}
.feed-status {margin:0;padding:0 1rem .65rem;font-size:.85rem;color:#d4d1cb}
.social-card img {display:block;width:100%;height:clamp(10rem,14vw,13rem);object-fit:cover;object-position:center 52%}
.social-card img[src*="/band."] {object-position:center 15%}
.social-card .feed-copy {padding:.8rem 1rem .65rem}
.feed-copy .eyebrow {margin:0;color:#f3bd9f;line-height:1.2}
.feed-copy h3 {font:700 clamp(1.25rem,2.1vw,1.55rem)/1.14 var(--body);margin:.25rem 0 .3rem;letter-spacing:-.015em;overflow-wrap:anywhere}
.feed-copy h3 a {font:inherit;text-decoration:none}.feed-copy h3 a:hover {text-decoration:underline}
.feed-copy p {font-size:.94rem;line-height:1.4;color:#d4d1cb;margin:0;overflow-wrap:anywhere}
.social-controls {border-top:1px solid #494a44;color:#c6c2b9;font:600 .86rem var(--label);letter-spacing:.12em}
.social-controls div {display:flex;gap:.28rem}
.social-controls button,.nav-toggle {font:600 .9rem var(--body);border:1px solid #66645c;border-radius:3px;color:#f5efe5;background:#2b2c28;cursor:pointer;min-width:38px;min-height:36px}
.social-controls button:hover,.nav-toggle:hover {background:#434039}
.kitchen-wrap {padding-block:1.3rem}
.kitchen-spread {display:grid;grid-template-columns:1.12fr 1fr 1fr;gap:.95rem;align-items:stretch}
.kitchen-intro {padding:1rem .8rem 1rem 0;align-self:center}
.kitchen-intro h2,.booking-note h2,.floor-plan h2,.section-heading {font:800 clamp(1.45rem,2.3vw,2rem)/1.08 var(--display);letter-spacing:-.045em;text-transform:none;margin:.45rem 0}
.kitchen-intro p,.event-intro p,.floor-plan p,.booking-note p {color:var(--muted);line-height:1.5;margin:.7rem 0}
.food-tile {display:flex;flex-direction:column;background:#242622;text-decoration:none;border-radius:4px;border:1px solid #514d46;overflow:hidden}
.food-tile img {display:block;width:100%;height:clamp(8rem,12vw,11rem);object-fit:cover;object-position:center 54%}
.food-tile span {display:flex;gap:.45rem;align-items:center;justify-content:space-between;padding:.5rem .7rem;font-weight:600;line-height:1.25}
.food-tile b {color:#f6b389}.food-tile:hover span {text-decoration:underline}
.home-visit {padding:1.6rem 0 2.4rem}.home-visit .visit-card {padding-top:.6rem;border:0}
.menu-paper {--paper:#d6c9b6;--rule:#aa9e8c;color:#26231f}
.menu-nav a[aria-current] {background:#cbbb9f;border-color:#cbbb9f}
.music-detail {display:grid;grid-template-columns:minmax(0,28rem) minmax(0,23rem);align-items:center;gap:clamp(1.25rem,4vw,3.2rem);margin-top:1.5rem}
.stage-panorama {padding:.4rem;margin:0;border:1px solid #686257;border-radius:4px;background:#272822}
.stage-panorama img {display:block;width:100%;height:auto;border-radius:2px}
.stage-panorama figcaption {font-size:.83rem;color:#cfcac2;padding:.4rem .2rem .05rem}
.booking-note {margin:0}
.event-intro {display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:clamp(1.5rem,5vw,4rem);align-items:center;margin-bottom:2rem}
.event-intro .btn {margin:.4rem 0}
.floor-plan {border:1px solid #595749;border-left:3px solid #ba8a6c;background:#272923;border-radius:3px;padding:1.2rem}
.venue-more {margin-top:1.1rem}
#venueSetup {scroll-margin-top:6rem}
@media(max-width:760px) {
  header .nav {display:flex;align-items:center;justify-content:space-between;gap:.3rem .5rem;padding-block:.4rem}
  .nav>.home-link {margin:0}.home-link img {width:123px}
  .nav-toggle {display:flex;align-items:center;gap:.55rem;padding:.45rem .65rem;min-height:44px}
  .nav-toggle + .tabs {display:none;flex-basis:100%;width:100%}
  .nav-toggle[aria-expanded=true] + .tabs {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.2rem;padding:.4rem 0}
  .tabs a {min-height:44px}
  .home-lead {grid-template-columns:1fr;padding-top:.8rem;gap:.85rem}
  .home-headliner {min-height:20.5rem}
  .headliner-copy h1 {font-size:clamp(2.15rem,7vw,3.3rem)}
  .kitchen-spread {grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
  .kitchen-intro {grid-column:1/-1;padding:0}
  .food-tile img {height:clamp(6rem,24vw,11rem)}
  .social-card {display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.15fr)}
  .social-card img {height:100%;min-height:8.5rem;max-height:11rem;object-position:center 48%}
  .social-card img[src*="/band."] {object-position:center 22%}
  .social-controls {padding-block:.2rem}.social-controls button {min-height:44px;min-width:44px}
  .music-detail,.event-intro {grid-template-columns:1fr}
  .stage-panorama {max-width:28rem}
  .event-intro {gap:.8rem}
  .home-visit .grid2 {gap:.8rem}
}
@media(max-width:400px) {
  .home-headliner {min-height:18.5rem;padding:1rem}
  .headliner-copy .ctas .btn {flex:auto;font-size:.85rem;padding:.65rem .48rem}
  .social-heading,.social-controls,.social-card .feed-copy {padding-inline:.65rem}
  .food-tile span {font-size:.93rem}
}

.hero-kicker,.schedule-heading {display:flex;align-items:center;flex-wrap:wrap}
.hero-kicker {gap:.45rem .85rem}
.keno-mark {display:inline-flex;align-items:center;gap:.44rem;color:#f5e6bd;background:#252b27;border:1px solid #85806e;border-radius:3px;padding:.3rem .54rem;font:600 .86rem/1 var(--body)}
.keno-mark::before {content:"";width:.43rem;height:.43rem;border-radius:50%;background:#e6ae69}
.schedule-heading {gap:.5rem .85rem;margin:0 0 .85rem}
.schedule-heading h2 {margin:0}
.social-icons {display:flex;align-items:center;gap:.35rem;flex:none}
.social-icon {width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #726b60;background:#292c28;border-radius:5px;color:#f8ebd8}
.social-icon svg {width:23px;height:23px}
a.social-icon:hover,a.social-icon:focus-visible {background:#494237;color:white}
.social-icon.pending {width:auto;padding:0 .5rem;flex-direction:column;gap:2px;color:#ccc9c2;border-color:#53534c;background:transparent}
.social-icon.pending svg {height:19px}
.social-icon small {font:600 .68rem/1 var(--body)}
.welcome-panel {padding:clamp(1.15rem,3vw,2rem);background:#242622;border:1px solid #56554b;border-left:3px solid #c48865;border-radius:4px;max-width:100%}
.welcome-panel h1 {font-size:clamp(2rem,4.5vw,3.6rem)}
.welcome-text {max-width:67ch;min-height:3.1em;margin:0;color:#ddd8ce;line-height:1.55}
.welcome-controls {width:fit-content;gap:1rem;border:0;padding:.6rem 0 0}
.welcome-controls button {min-height:44px;min-width:44px}
.ownership .owner-card {display:grid;grid-template-columns:clamp(5rem,9vw,8rem) minmax(0,1fr);gap:1rem;align-items:center;padding:clamp(.9rem,2vw,1.5rem)}
.owner-portrait {display:grid;place-items:center;width:100%;aspect-ratio:4/5;overflow:hidden;border:1px solid #ac9d85;background:#e1d6c3;color:#635342;border-radius:3px;text-align:center;font:600 .85rem/1.35 var(--body)}
.owner-portrait img {display:block;width:100%;height:100%;object-fit:cover}
.owner-profile {overflow-wrap:anywhere}
@media(max-width:600px) {
  .welcome-text {min-height:6.3em}
}
@media(max-width:355px) {
  .schedule-heading {gap:.45rem}
  .social-icons {gap:.15rem}
  .welcome-text {min-height:8em}
  .ownership .owner-card {gap:.75rem}
}
.schedule-heading {flex-wrap:nowrap}
