main.menu-page {
  position: relative;
  overflow: clip;
  background: var(--color-cream);
}

.menu-page .menu-section {
  position: relative;
  padding-block: var(--space-12);
}

.menu-page .menu-section::before {
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(53, 37, 29, 0.07) 0.55px, transparent 0.7px);
  background-size: 7px 7px;
  content: "";
  opacity: 0.24;
}

.menu-page .menu-section > .container {
  position: relative;
  z-index: 1;
}

.menu-page .menu-hero {
  padding-block: var(--space-12) var(--space-18);
}

.menu-page .menu-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  align-items: center;
}

.menu-page .menu-hero__copy,
.menu-page .menu-hero__media,
.menu-page .menu-rhythm__intro,
.menu-page .menu-kitchen__paper,
.menu-page .menu-kitchen__media,
.menu-page .menu-categories__intro,
.menu-page .menu-drinks__media,
.menu-page .menu-drinks__copy,
.menu-page .menu-events__intro,
.menu-page .menu-calendar__intro,
.menu-page .menu-calendar__signals,
.menu-page .menu-final__inner {
  min-width: 0;
}

.menu-page .menu-hero__copy {
  max-width: 32.5rem;
}

.menu-page .menu-hero__copy h1 {
  max-width: 38.75rem;
  font-size: clamp(2.5rem, 7vw, 4.25rem);
}

.menu-page .menu-hero__lead {
  max-width: 32.5rem;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.menu-page .menu-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.menu-page .menu-hero__actions > * {
  min-width: 0;
}

.menu-page .menu-photo-frame {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.menu-page .menu-photo-frame img {
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--color-aged-brass);
  border-radius: var(--radius-feature);
  box-shadow: var(--shadow-paper);
  object-fit: cover;
}

.menu-page .menu-hero__image {
  aspect-ratio: 4 / 5;
  object-position: center;
}

.menu-page .menu-photo-frame,
.menu-page .menu-note,
.menu-page .menu-event-panel {
  transition: transform var(--transition-base);
}

.menu-page .menu-photo-frame:hover,
.menu-page .menu-photo-frame:focus-within {
  transform: translateY(-2px);
}

.menu-page .menu-note {
  width: min(100%, 23rem);
  margin-top: var(--space-4);
  padding: var(--space-4);
  border: 1px solid var(--color-aged-brass);
  border-radius: var(--radius-paper);
  background: var(--color-cream);
  box-shadow: var(--shadow-subtle);
}

.menu-page .menu-note p {
  margin: 0;
}

.menu-page .menu-note .annotation {
  display: block;
  margin-bottom: var(--space-2);
}

.menu-page .menu-section-heading {
  max-width: 40rem;
}

.menu-page .menu-section-heading h2,
.menu-page .menu-rhythm__intro h2,
.menu-page .menu-categories__intro h2,
.menu-page .menu-events__intro h2,
.menu-page .menu-calendar__intro h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.menu-page .menu-brass-rule {
  display: flex;
  width: 100%;
  max-width: 40rem;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-6);
  color: var(--color-aged-brass);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.menu-page .menu-brass-rule::after {
  width: 100%;
  height: 1px;
  min-width: 2rem;
  background: var(--color-aged-brass);
  content: "";
}

.menu-page .menu-tabs {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  margin-top: var(--space-8);
}

.menu-page .menu-tab {
  display: flex;
  min-width: 0;
  min-height: 3.25rem;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-espresso);
  border-radius: var(--radius-paper);
  background: transparent;
  color: var(--color-espresso);
  font-weight: 800;
  text-align: left;
  text-decoration: none;
  transition: background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);
}

.menu-page .menu-tab:hover,
.menu-page .menu-tab:focus-visible,
.menu-page .menu-tab[aria-current="true"] {
  background: var(--color-terracotta);
  color: var(--color-cream);
  text-decoration: none;
}

.menu-page .menu-tab:hover,
.menu-page .menu-tab:focus-visible {
  transform: translateY(-2px);
}

.menu-page .menu-tab__symbol {
  display: inline-grid;
  width: 1.75rem;
  min-width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  font-family: var(--font-heading);
  font-size: 1.1rem;
}

.menu-page .menu-kitchen {
  background: var(--color-dark-olive);
  color: var(--color-cream);
}

.menu-page .menu-kitchen::before {
  opacity: 0.12;
}

.menu-page .menu-kitchen__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.menu-page .menu-kitchen__media {
  order: 1;
  width: min(100%, 32.5rem);
}

.menu-page .menu-kitchen__image {
  aspect-ratio: 4 / 5;
  object-position: center;
}

.menu-page .menu-kitchen__paper {
  order: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-6);
  border: 1px solid var(--color-espresso);
  border-radius: var(--radius-paper);
  background: var(--color-cream);
  color: var(--color-espresso);
  box-shadow: var(--shadow-paper);
}

.menu-page .menu-kitchen__paper > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-kitchen__paper h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.menu-page .menu-kitchen__lead {
  max-width: 37.5rem;
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.menu-page .menu-kitchen__block {
  max-width: 31.25rem;
}

.menu-page .menu-kitchen__block h3 {
  margin-bottom: var(--space-3);
}

.menu-page .menu-kitchen__block p:last-child {
  margin-bottom: 0;
}

.menu-page .menu-kitchen__block--individual {
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-aged-brass);
}

.menu-page .menu-kitchen__block .annotation {
  display: inline-block;
  margin-bottom: var(--space-2);
}

.menu-page .menu-category-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.menu-page .menu-category {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-paper);
  background: var(--color-cream);
}

.menu-page .menu-category > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-category h3 {
  font-size: var(--text-xl);
}

.menu-page .menu-category__tab {
  display: inline-block;
  align-self: flex-start;
  padding: var(--space-1) var(--space-3);
  background: var(--color-mustard);
  color: var(--color-espresso);
  font-size: var(--text-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.menu-page .menu-category--kitchen {
  border-top: 5px solid var(--color-espresso);
}

.menu-page .menu-category--finish {
  border-color: var(--color-aged-brass);
}

.menu-page .menu-category--finish::after {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--color-burgundy);
  border-radius: 50%;
  color: var(--color-burgundy);
  content: "✦";
  font-family: var(--font-heading);
  line-height: 1.85rem;
  text-align: center;
}

.menu-page .menu-category--drinks {
  border-left: 5px solid var(--color-terracotta);
}

.menu-page .menu-category__jump {
  align-self: flex-start;
  font-weight: 800;
}

.menu-page .menu-evenings {
  background: var(--color-dark-olive);
  color: var(--color-cream);
}

.menu-page .menu-evenings::before {
  opacity: 0.12;
}

.menu-page .menu-evenings__intro {
  max-width: 40.625rem;
}

.menu-page .menu-evenings__intro p:not(.annotation) {
  max-width: 40.625rem;
  color: var(--color-muted-cream);
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.menu-page .menu-evening-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.menu-page .menu-evening-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border-left: 5px solid var(--color-aged-brass);
  background: rgba(243, 230, 204, 0.06);
}

.menu-page .menu-evening-card > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-evening-card--poker {
  border-color: var(--color-burgundy);
}

.menu-page .menu-evening-card--roulette {
  border-color: var(--color-terracotta);
}

.menu-page .menu-evening-card--blackjack {
  border-color: var(--color-mustard);
}

.menu-page .menu-evening-card__symbol {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
  color: var(--color-mustard);
  font-family: var(--font-heading);
  font-size: 1.25rem;
}

.menu-page .menu-evening-card--poker .menu-evening-card__symbol {
  color: #d7959f;
}

.menu-page .menu-evening-card--roulette .menu-evening-card__symbol {
  color: #e39480;
}

.menu-page .menu-evening-card__link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  align-self: flex-start;
  font-weight: 800;
}

.menu-page .menu-card-motif {
  animation: menu-card-sway 10s ease-in-out infinite alternate;
}

.menu-page .menu-drinks__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  align-items: center;
}

.menu-page .menu-drinks__media {
  width: 100%;
}

.menu-page .menu-drinks__image {
  aspect-ratio: 4 / 5;
  object-position: center;
}

.menu-page .menu-drinks__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  max-width: 31.875rem;
}

.menu-page .menu-drinks__copy > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-drinks__copy h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.menu-page .menu-drinks__lead {
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.menu-page .menu-drinks__subsection h3 {
  margin-bottom: var(--space-3);
}

.menu-page .menu-drinks__subsection p:last-child {
  margin-bottom: 0;
}

.menu-page .menu-drinks__subsection .menu-category__tab {
  margin-bottom: var(--space-3);
  background: var(--color-terracotta);
  color: var(--color-cream);
}

.menu-page .menu-drinks__notice {
  padding: var(--space-4);
  border: 1px solid var(--color-aged-brass);
  border-radius: var(--radius-control);
  background: rgba(213, 166, 42, 0.13);
}

.menu-page .menu-drinks__notice .annotation {
  display: block;
  margin-bottom: var(--space-2);
}

.menu-page .menu-drinks__notice p:last-child {
  margin-bottom: 0;
}

.menu-page .menu-events__intro {
  max-width: 41.875rem;
}

.menu-page .menu-events__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-6);
}

.menu-page .menu-event-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  margin-top: var(--space-8);
}

.menu-page .menu-event-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-6);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-paper);
  background: var(--color-cream);
}

.menu-page .menu-event-panel > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-event-panel h3 {
  font-size: var(--text-xl);
}

.menu-page .menu-event-panel:hover,
.menu-page .menu-event-panel:focus-within {
  transform: translateY(-2px);
}

.menu-page .menu-event-panel--birthday {
  border-top: 4px solid var(--color-mustard);
}

.menu-page .menu-event-panel--business {
  background: var(--color-espresso);
  color: var(--color-cream);
}

.menu-page .menu-event-panel--business p {
  color: var(--color-muted-cream);
}

.menu-page .menu-event-panel--private {
  border-top: 4px solid var(--color-burgundy);
}

.menu-page .menu-calendar {
  background: #ede0c5;
}

.menu-page .menu-calendar__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.menu-page .menu-calendar__intro {
  max-width: 37.5rem;
}

.menu-page .menu-calendar__signals {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-page .menu-calendar__signals h3 {
  margin: 0 0 var(--space-1);
}

.menu-page .menu-signal {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
}

.menu-page .menu-signal__marker {
  width: 0.875rem;
  min-width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--color-aged-brass);
}

.menu-page .menu-signal--poker .menu-signal__marker {
  background: var(--color-burgundy);
}

.menu-page .menu-signal--roulette .menu-signal__marker {
  background: var(--color-terracotta);
}

.menu-page .menu-signal--blackjack .menu-signal__marker {
  background: var(--color-mustard);
}

.menu-page .menu-calendar__booking-note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-8);
  padding: var(--space-6);
  background: var(--color-dark-olive);
  color: var(--color-cream);
}

.menu-page .menu-calendar__booking-note > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-calendar__booking-note p {
  color: var(--color-muted-cream);
}

.menu-page .menu-calendar__booking-note a {
  align-self: flex-start;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  font-weight: 800;
}

.menu-page .menu-final {
  padding-block: var(--space-18);
  background: var(--color-dark-olive);
  color: var(--color-cream);
}

.menu-page .menu-final::before {
  opacity: 0.12;
}

.menu-page .menu-final__inner {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
  max-width: 42.5rem;
}

.menu-page .menu-final__inner > * {
  min-width: 0;
  margin: 0;
}

.menu-page .menu-final h2 {
  font-size: clamp(2rem, 4vw, 2.5rem);
}

.menu-page .menu-final__lead {
  max-width: 42.5rem;
  color: var(--color-muted-cream);
  font-size: var(--text-lg);
  line-height: var(--leading-lg);
}

.menu-page .menu-final__actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.menu-page .menu-final__actions > * {
  width: 100%;
  min-width: 0;
}

.menu-page .menu-final__aside {
  max-width: 30rem;
  color: var(--color-muted-cream);
  font-size: var(--text-sm);
}

.menu-page .menu-mobile-booking {
  position: fixed;
  z-index: 20;
  right: var(--space-4);
  bottom: max(var(--space-4), env(safe-area-inset-bottom));
  left: var(--space-4);
  display: flex;
  min-width: 0;
  justify-content: stretch;
  padding: var(--space-2);
  border: 1px solid var(--color-aged-brass);
  border-radius: var(--radius-control);
  background: var(--color-dark-olive);
  box-shadow: var(--shadow-paper);
  transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.menu-page .menu-mobile-booking[hidden] {
  display: none;
}

.menu-page .menu-mobile-booking.is-hidden {
  pointer-events: none;
  opacity: 0;
  transform: translateY(1rem);
}

.menu-page .menu-mobile-booking .button {
  width: 100%;
}

@keyframes menu-card-sway {
  from { transform: rotate(-2deg); }
  to { transform: rotate(2deg); }
}

@media (min-width: 40rem) {
  .menu-page .menu-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-page .menu-final__actions {
    flex-direction: row;
    align-items: center;
  }

  .menu-page .menu-final__actions > * {
    width: auto;
  }
}

@media (min-width: 48rem) {
  .menu-page .menu-section {
    padding-block: var(--space-18);
  }

  .menu-page .menu-hero {
    padding-block: var(--space-18);
  }

  .menu-page .menu-hero__image {
    aspect-ratio: 4 / 3;
  }

  .menu-page .menu-kitchen__paper,
  .menu-page .menu-category,
  .menu-page .menu-event-panel,
  .menu-page .menu-evening-card {
    padding: var(--space-8);
  }

  .menu-page .menu-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .menu-page .menu-category--table,
  .menu-page .menu-category--finish {
    grid-column: 1 / -1;
  }

  .menu-page .menu-evening-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .menu-page .menu-evening-card {
    min-height: 100%;
  }

  .menu-page .menu-final__inner {
    margin-inline: auto;
    text-align: center;
  }

  .menu-page .menu-final__actions {
    justify-content: center;
  }

  .menu-page .menu-final__aside {
    margin-inline: auto;
  }

  .menu-page .menu-mobile-booking {
    display: none;
  }
}

@media (min-width: 52.5rem) {
  .menu-page .menu-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 53.75rem) {
  .menu-page .menu-calendar__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    column-gap: calc(var(--space-8) + var(--space-4));
    align-items: start;
  }

  .menu-page .menu-calendar__intro {
    grid-column: 1;
  }

  .menu-page .menu-calendar__signals {
    grid-column: 2;
  }
}

@media (min-width: 60rem) {
  .menu-page .menu-hero__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-8);
  }

  .menu-page .menu-hero__media {
    position: relative;
    padding-bottom: var(--space-8);
  }

  .menu-page .menu-hero__image {
    aspect-ratio: 4 / 3;
  }

  .menu-page .menu-hero__media .menu-note {
    position: absolute;
    z-index: 2;
    bottom: 0;
    left: calc(var(--space-6) * -1);
    margin-top: 0;
  }

  .menu-page .menu-kitchen__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 4fr) minmax(0, 1fr);
    column-gap: var(--space-6);
  }

  .menu-page .menu-kitchen__paper {
    grid-column: 1 / span 2;
    order: 1;
  }

  .menu-page .menu-kitchen__media {
    grid-column: 3 / span 1;
    order: 2;
    margin-top: calc(var(--space-8) * -1);
  }

  .menu-page .menu-drinks__grid {
    grid-template-columns: minmax(0, 6fr) minmax(0, 1fr) minmax(0, 5fr);
    column-gap: var(--space-6);
  }

  .menu-page .menu-drinks__media {
    grid-column: 1;
  }

  .menu-page .menu-drinks__copy {
    grid-column: 3;
  }
}

@media (min-width: 61.25rem) {
  .menu-page .menu-event-list {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .menu-page .menu-event-panel--birthday {
    grid-column: 1 / span 8;
  }

  .menu-page .menu-event-panel--business {
    grid-column: 6 / span 7;
  }

  .menu-page .menu-event-panel--private {
    grid-column: 1 / span 9;
  }
}

@media (min-width: 64rem) {
  .menu-page .menu-category-grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-6);
  }

  .menu-page .menu-category--table {
    grid-column: 1 / span 7;
  }

  .menu-page .menu-category--kitchen {
    grid-column: 8 / span 5;
  }

  .menu-page .menu-category--finish {
    grid-column: 1 / span 4;
  }

  .menu-page .menu-category--drinks {
    grid-column: 5 / span 8;
  }
}

@media (min-width: 75rem) {
  .menu-page .menu-hero {
    padding-block: var(--space-24);
  }

  .menu-page .menu-hero__media {
    transform: translateX(3rem);
  }

  .menu-page .menu-hero__media:hover {
    transform: translate(3rem, -2px);
  }

  .menu-page .menu-drinks__media {
    transform: translateX(-2rem);
  }

  .menu-page .menu-drinks__media:hover {
    transform: translate(-2rem, -2px);
  }

  .menu-page .menu-final {
    padding-block: var(--space-24);
  }
}

@media (max-width: 43.75rem) {
  .menu-page .menu-final__inner {
    text-align: left;
  }
}

@media (prefers-reduced-motion: reduce) {
  .menu-page .menu-card-motif {
    animation: none;
  }

  .menu-page .menu-photo-frame:hover,
  .menu-page .menu-photo-frame:focus-within,
  .menu-page .menu-tab:hover,
  .menu-page .menu-tab:focus-visible,
  .menu-page .menu-event-panel:hover,
  .menu-page .menu-event-panel:focus-within,
  .menu-page .menu-hero__media:hover,
  .menu-page .menu-drinks__media:hover {
    transform: none;
  }
}
