.menu-page {
  --menu-background:#222620;
  --menu-text:#f2f3ec;
  --menu-secondary:#c4cbbd;
  --menu-line:#51584b;
  --menu-control-line:#b9bdb2;
  --menu-selected:#e7ebdf;
  --menu-heading:Oswald,'Arial Narrow',sans-serif;
  --menu-body:Arial,Helvetica,sans-serif;
  background:var(--menu-background);
}
.menu-page main {
  color:var(--menu-text);
  font-family:var(--menu-body);
}
.menu-page .menu-opening {
  width:min(1040px,calc(100% - 80px));
  margin-inline:auto;
  padding-top:54px;
}
.menu-page .menu-booking {
  margin-left:auto;
  flex-shrink:0;
  background:var(--menu-selected);
  border-color:var(--menu-selected);
  color:var(--menu-background);
}
.menu-page .menu-booking:hover {
  background:#fff;
}
.menu-page .menu-categories {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border:2px solid var(--menu-control-line);
}
.menu-page .menu-categories li {
  min-height:80px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:13px;
  border-right:1px solid var(--menu-control-line);
  position:relative;
}
.menu-page .menu-categories li:last-child {
  border-right:0;
}
.menu-page .menu-categories .is-selected {
  background:var(--menu-selected);
  color:var(--menu-background);
}
.menu-page .menu-category-name {
  font:700 25px/1.12 var(--menu-heading);
  text-transform:uppercase;
  letter-spacing:-.015em;
}
.menu-page .menu-layout-note {
  color:var(--menu-secondary);
  font-size:12px;
  line-height:1.6;
  margin-top:14px;
}
.menu-page .menu-body {
  width:min(820px,calc(100% - 80px));
  margin:48px auto 0;
  padding-bottom:64px;
}
.menu-page .menu-group-heading {
  padding-bottom:26px;
  border-bottom:2px solid var(--menu-control-line);
}
.menu-page .menu-group-title {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:16px 14px;
}
.menu-page .menu-group-title>span {
  font:400 14px/1.4 var(--menu-body);
  color:var(--menu-secondary);
}
.menu-page .menu-group-title h1 {
  font:700 36px/1.15 var(--menu-heading);
  letter-spacing:-.02em;
  text-transform:uppercase;
}
.menu-page .menu-chapter-index {
  display:flex;
  position:static;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 20px;
  margin:22px 0 0;
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  font:400 12px/1.5 var(--menu-body);
  text-transform:uppercase;
}
.menu-page .menu-chapter-index a {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:3px 0;
  border-bottom:1px solid transparent;
}
.menu-page .menu-chapter-index a:hover {
  color:var(--menu-text);
  border-color:currentColor;
}
.menu-page .menu-chapter {
  padding-top:48px;
  border-bottom:1px solid var(--menu-line);
  scroll-margin-top:28px;
}
.menu-page .menu-chapter h3 {
  margin:0;
  font:700 22px/1.25 var(--menu-heading);
  letter-spacing:-.01em;
  text-transform:uppercase;
}
.menu-page .menu-chapter-space {
  min-height:40px;
}
.menu-page .menu-source-note {
  color:var(--menu-secondary);
  font-size:12px;
  line-height:1.7;
  margin-top:32px;
}
.menu-page .menu-source-note a {
  text-decoration:underline;
  text-underline-offset:3px;
}
.menu-page .menu-source-note p+p {
  margin-top:4px;
}
.menu-page main a:focus-visible {
  outline-color:var(--menu-selected);
}
@media(max-width:1100px) {
  .menu-page .menu-category-name {font-size:23px;}
  .menu-page .menu-category-name {padding-inline:14px;}
}
@media(max-width:767px) {
  .menu-page .menu-opening,
  .menu-page .menu-body {width:calc(100% - 40px);}
  .menu-page .menu-opening {padding-top:32px;}
  .menu-page .menu-booking {min-height:48px;}
  .menu-page .menu-categories {grid-template-columns:repeat(2,minmax(0,1fr));}
  .menu-page .menu-categories li {min-height:52px;padding:0;gap:8px;}
  .menu-page .menu-categories li:nth-child(2) {border-right:0;}
  .menu-page .menu-categories li:nth-child(-n+2) {border-bottom:1px solid var(--menu-control-line);}
  .menu-page .menu-category-name {font-size:22px;}
  .menu-page .menu-body {margin-top:36px;padding-bottom:44px;}
  .menu-page .menu-group-title h1 {font-size:29px;}
  .menu-page .menu-group-title {display:grid;grid-template-columns:auto 1fr;gap:16px 10px;}
  .menu-page .menu-booking {margin-left:0;grid-column:1 / -1;grid-row:1;justify-self:start;margin-bottom:8px;}
  .menu-page .menu-chapter-index {gap:4px 16px;margin-top:16px;font-size:12px;}
  .menu-page .menu-chapter-index a {min-height:44px;}
  .menu-page .menu-chapter {padding-top:36px;}
  .menu-page .menu-chapter h3 {font-size:20px;}
  .menu-page .menu-chapter-space {min-height:36px;}
}
@media(max-width:359px) {
  .menu-page .menu-category-name {font-size:20px;}
  .menu-page .menu-category-name {padding-inline:9px;}
  .menu-page .menu-group-title h1 {font-size:26px;}
}

.menu-page .menu-category-name {
  display:flex;
  justify-content:center;
  align-items:center;
  width:100%;
  min-height:80px;
  padding:15px 18px;
}
.menu-page .menu-categories li:has([aria-current="true"]) {
  background:var(--menu-selected);
  color:var(--menu-background);
}
.menu-page .menu-category-name:hover {
  text-decoration:underline;
  text-underline-offset:5px;
}
.menu-page.menu-enhanced .menu-fallback-title,
.menu-page .menu-panel[hidden] {display:none;}
.menu-page #menu-group-title {scroll-margin-top:28px;}
.menu-page .menu-fallback-title {margin:40px 0 0;font:700 30px/1.25 var(--menu-heading);}
.menu-page .menu-basic-items {list-style:none;padding:0;margin:24px 0 0;}
.menu-page .menu-basic-items>li {padding-bottom:24px;}
.menu-page .menu-basic-items h4 {margin:0;font:700 18px/1.4 var(--menu-body);overflow-wrap:anywhere;}
.menu-page .menu-basic-price {white-space:nowrap;font-variant-numeric:tabular-nums;}
.menu-page .menu-basic-items p,
.menu-page .menu-basic-items ul {margin-top:8px;font-size:15px;line-height:1.6;color:var(--menu-secondary);}
@media(max-width:1100px) {
  .menu-page .menu-category-name {padding-inline:14px;}
}
@media(max-width:767px) {
  .menu-page .menu-category-name {min-height:52px;padding:8px 12px;}
  .menu-page .menu-basic-items h4 {font-size:17px;}
  .menu-page .menu-basic-items p,
  .menu-page .menu-basic-items ul {font-size:14px;}
}
@media(max-width:359px) {
  .menu-page .menu-category-name {padding-inline:9px;}
}

/* Keep menu navigation available while the document content scrolls normally. */
.menu-page .menu-controls-start {height:32px;}
.menu-page .menu-controls {
  position:sticky;
  top:var(--menu-header-height,109px);
  z-index:9;
  background:var(--menu-background);
  padding-block:16px 0;
}
.menu-page .menu-controls .menu-opening {padding-top:0;}
.menu-page .menu-controls .menu-group-heading {
  width:min(820px,calc(100% - 80px));
  margin:24px auto 0;
  padding-bottom:16px;
}
.menu-page .menu-controls .menu-chapter-index {margin-top:12px;}
.menu-page .menu-body {margin-top:0;}
.menu-page .menu-chapter {scroll-margin-top:calc(var(--menu-header-height,109px) + var(--menu-controls-height,360px) + 16px);}
@media(max-width:767px) {
  .menu-page .menu-controls-start {height:16px;}
  .menu-page .menu-controls {padding-top:12px;}
  .menu-page .menu-controls .menu-group-heading {width:calc(100% - 40px);margin-top:16px;padding-bottom:12px;}
  .menu-page .menu-controls .menu-chapter-index {
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:16px;
    margin-top:8px;
    padding-inline:4px;
    scrollbar-width:thin;
  }
  .menu-page .menu-chapter-index a {flex-shrink:0;white-space:nowrap;}
  .menu-page .menu-group-title {row-gap:8px;}
  .menu-page .menu-group-title h1 {min-height:2.3em;display:flex;align-items:center;}
  .menu-page .menu-booking {margin-bottom:0;}
}

.menu-page .header {position:sticky;top:0;}
@media(max-width:1100px) {
  .menu-page {--menu-header-height:97px;}
}
@media(max-width:850px) {
  .menu-page {--menu-header-height:85px;}
}
@media(max-width:700px) {
  .menu-page {--menu-header-height:77px;}
}

@media(max-width:767px) {
  .menu-page .menu-controls .menu-group-heading {margin-top:10px;padding-bottom:4px;}
  .menu-page .menu-group-title {grid-template-columns:auto minmax(0,1fr) auto;gap:8px;}
  .menu-page .menu-group-title>span {font-size:12px;}
  .menu-page .menu-group-title h1 {min-height:0;font-size:24px;line-height:1.1;}
  .menu-page .menu-booking {
    grid-column:3;
    grid-row:1;
    justify-self:end;
    min-height:44px;
    padding:8px 10px;
    font-size:12px;
    white-space:nowrap;
  }
  .menu-page .menu-booking svg {display:none;}
  .menu-page .menu-controls .menu-chapter-index {margin-top:2px;padding-block:0;}
}

@media(max-width:767px) {
  .menu-page .menu-group-title h1 {font-size:22px;}
}
@media(max-width:359px) {
  .menu-page .menu-group-title h1 {font-size:20px;}
}

.menu-page .wine-assumption {margin-top:18px;color:var(--menu-secondary);font-size:12px;line-height:1.6;}
.menu-page [data-group="wine"] .menu-basic-items>li {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:24px;
  row-gap:6px;
  padding-bottom:26px;
}
.menu-page [data-group="wine"] .menu-basic-items h4 {grid-column:1;grid-row:1;}
.menu-page [data-group="wine"] .wine-region {grid-column:1;grid-row:2;margin:0;}
.menu-page .wine-prices {grid-column:2;grid-row:1 / span 2;text-align:right;font-variant-numeric:tabular-nums;}
.menu-page [data-group="wine"] .wine-prices p {margin:0;color:var(--menu-text);font-size:16px;line-height:1.6;white-space:nowrap;}
.menu-page .wine-prices span {color:var(--menu-secondary);font-size:13px;margin-right:8px;}
@media(max-width:767px) {
  .menu-page [data-group="wine"] .menu-basic-items>li {column-gap:14px;}
  .menu-page [data-group="wine"] .wine-prices p {font-size:15px;}
  .menu-page .wine-prices span {font-size:12px;margin-right:4px;}
}

.menu-page .menu-panel:not([data-group="wine"]) .menu-basic-items h4,
.menu-page .menu-addon {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.menu-page .menu-basic-price {flex-shrink:0;margin-left:auto;text-align:right;}
.menu-page .menu-panel:not([data-group="wine"]) .menu-basic-items>li>ul {padding-left:0;list-style:none;}

@media(max-width:700px) {
  .menu-page .footer-main {flex-wrap:nowrap;gap:16px;}
  .menu-page .footer-brand {width:clamp(110px,35vw,145px);flex-shrink:0;}
  .menu-page .footer-main>p {flex:1;min-width:0;text-align:right;font-size:20px;line-height:1.25;}
}

@media(max-width:767px) {
  .menu-page .menu-controls {padding-top:6px;}
  .menu-page .menu-controls-start {height:10px;}
  .menu-page .menu-categories li,
  .menu-page .menu-category-name {min-height:46px;}
  .menu-page .menu-category-name {padding-block:6px;font-size:20px;}
  .menu-page .menu-controls .menu-group-heading {margin-top:6px;}
  .menu-page .menu-group-title {gap:6px;}
  .menu-page .menu-booking {min-height:40px;padding-block:6px;position:relative;}
  .menu-page .menu-booking::before {content:'';position:absolute;inset:-2px 0;}
  .menu-page .menu-controls .menu-chapter-index {margin-top:10px;}
  .menu-page .menu-chapter-index a {min-height:36px;padding-block:0;position:relative;}
  .menu-page .menu-chapter-index a::before {content:'';position:absolute;inset:-4px 0;}
  .menu-page .menu-chapter {padding-top:24px;}
}

/* Menu-specific content layouts; navigation retains its approved dimensions. */
.menu-page .menu-chapter[data-layout] .menu-basic-items>li {
  border-top:1px solid var(--menu-line);
  padding-top:16px;
  padding-bottom:24px;
}
.menu-page [data-layout="steak"] .menu-basic-items>li {padding-top:22px;padding-bottom:30px;}
.menu-page [data-layout="steak"] .menu-steak-flavour {color:var(--menu-text);margin-top:10px;}
.menu-page [data-layout="steak"] .menu-steak-specs {margin-top:6px;font-size:14px;line-height:1.6;}
.menu-page [data-layout="feature"] .menu-basic-items>li {padding-top:24px;padding-bottom:28px;}
.menu-page .menu-feature-description {margin-top:12px;max-width:68ch;}
.menu-page .menu-feature-description p {margin-top:0;}
.menu-page .menu-feature-description p+p {margin-top:8px;}
.menu-page [data-layout="drink"] .menu-basic-items>li {padding-top:14px;padding-bottom:18px;}
@media(min-width:900px) {
  .menu-page [data-layout="drink"] .menu-basic-items {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:36px;
  }
  .menu-page [data-layout="drink"] .menu-basic-items>li {min-width:0;}
  .menu-page [data-layout="steak"] .menu-basic-items h4,
  .menu-page [data-layout="feature"] .menu-basic-items h4 {font-size:20px;}
}
@media(max-width:767px) {
  .menu-page [data-layout="steak"] .menu-basic-items>li {padding-top:18px;padding-bottom:24px;}
  .menu-page [data-layout="feature"] .menu-basic-items>li {padding-top:20px;padding-bottom:24px;}
}

@media(min-width:768px) and (max-height:500px) {
  .menu-page .menu-controls-start {height:10px;}
  .menu-page .menu-controls {padding-top:6px;}
  .menu-page .menu-categories li,
  .menu-page .menu-category-name {min-height:46px;}
  .menu-page .menu-category-name {padding-block:6px;font-size:20px;}
  .menu-page .menu-controls .menu-group-heading {margin-top:10px;padding-bottom:4px;}
  .menu-page .menu-group-title h1 {font-size:24px;}
  .menu-page .menu-booking {min-height:40px;padding-block:6px;}
  .menu-page .menu-controls .menu-chapter-index {flex-wrap:nowrap;overflow-x:auto;margin-top:4px;gap:16px;padding-inline:4px;scrollbar-width:thin;}
  .menu-page .menu-chapter-index a {flex-shrink:0;white-space:nowrap;min-height:36px;padding-block:0;}
}

.compact-preview .compact-bar {display:none;}
@media(max-width:767px) {
  .compact-preview {overflow-anchor:none;}
  .compact-preview .header {position:sticky;top:0;z-index:30;}
  .compact-preview .menu-controls {position:static;}
  .compact-preview.compact-reading .menu-body {padding-top:52px;}
  .compact-preview .compact-bar:not([hidden]) {
    display:block;
    position:fixed;
    inset:var(--menu-header-height,77px) 0 auto;
    z-index:20;
    background:var(--menu-background);
    color:var(--menu-text);
    border-bottom:1px solid var(--menu-control-line);
  }
  .compact-preview .compact-bar-row {display:flex;align-items:center;min-height:48px;padding-inline:12px;gap:8px;}
  .compact-preview .compact-switch {
    display:flex;
    align-items:center;
    gap:8px;
    flex:1;
    min-width:0;
    min-height:48px;
    padding:0;
    background:none;
    border:0;
    text-align:left;
  }
  .compact-preview .compact-group {flex-shrink:0;font:700 15px var(--menu-heading);text-transform:uppercase;}
  .compact-preview .compact-section {overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:400 11px var(--menu-body);color:var(--menu-secondary);}
  .compact-preview .compact-return {display:flex;align-items:center;flex-shrink:0;min-height:48px;font:700 12px var(--menu-heading);}
  .compact-preview .compact-choices:not([hidden]) {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    position:static;
    margin:0;
    padding:0 12px 12px;
    background:var(--menu-background);
    color:var(--menu-text);
    border:0;
    box-shadow:none;
    gap:0;
  }
  .compact-preview .compact-choices[hidden] {display:none;}
  .compact-preview .compact-choices a {min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--menu-control-line);padding:8px;font:700 18px var(--menu-heading);text-transform:uppercase;}
  .compact-preview .compact-choices [aria-current="true"] {background:var(--menu-selected);color:var(--menu-background);}
  .compact-preview .compact-bar a:focus-visible,
  .compact-preview .compact-bar button:focus-visible {outline-color:var(--menu-selected);outline-offset:-3px;}
}

@media(max-width:767px) {
  .compact-preview .compact-bar-row {min-height:52px;padding-inline:10px;gap:8px;}
  .compact-preview .compact-switch,
  .compact-preview .compact-section-switch {
    display:flex;
    align-items:center;
    gap:4px;
    min-width:0;
    flex:1;
    min-height:52px;
    border:0;
    padding:0;
    background:none;
    color:var(--menu-text);
    text-align:left;
  }
  .compact-preview .compact-group {flex-shrink:1;font-size:17px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .compact-preview .compact-section {font-size:16px;color:var(--menu-text);}
  .compact-preview .compact-booking {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    min-height:44px;
    padding:8px 10px;
    background:var(--menu-selected);
    color:var(--menu-background);
    font:700 14px var(--menu-heading);
    text-transform:uppercase;
  }
  .compact-preview .compact-section-choices:not([hidden]) {grid-template-columns:1fr;max-height:min(60vh,420px);overflow-y:auto;overscroll-behavior:contain;}
  .compact-preview .compact-section-choices a {justify-content:flex-start;text-align:left;font:400 18px/1.4 var(--menu-body);padding:10px 12px;text-transform:none;}
  .compact-preview .compact-choices a {font-size:18px;}
  .compact-preview .compact-switch {flex:0 1 auto;max-width:42%;}
}

@media(min-width:768px) {
  .menu-page .menu-group-title h1 {font-size:30px;}
  .menu-page .menu-booking {min-height:44px;padding:10px 16px;font-size:13px;}
}
@media(max-width:767px) {
  .menu-page .menu-controls .menu-group-heading {margin-top:20px;}
}
