.menu-page {
  overflow: hidden;
}

.menu-page a:not(.button) {
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.menu-hero__grid,
.menu-seafood__grid,
.menu-steaks__grid,
.menu-sequence__steps,
.menu-occasions__cards,
.menu-planning__notes,
.menu-note__panel {
  display: grid;
  min-width: 0;
}

.menu-hero__grid {
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: 24px;
  align-items: center;
}

.menu-hero__copy {
  min-width: 0;
  max-width: 45ch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.menu-hero__copy > * { margin: 0; }
.menu-hero__copy .rule { margin: 0; }
.menu-hero__copy h1 { font-size: clamp(3.5rem, 6vw, var(--text-5xl)); }
.menu-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; min-width: 0; }
.menu-hero__actions > * { min-width: 0; }
.menu-hero__note { max-width: 32ch; color: var(--color-silver-mist); font-size: var(--text-sm); }
.menu-hero__image { width: 100%; min-width: 0; aspect-ratio: 16 / 9; }
.menu-hero__image img { object-position: 72% 58%; }

.menu-glance__intro { width: min(100%, 52ch); min-width: 0; }
.menu-glance__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; min-width: 0; margin-top: var(--space-6); }
.menu-glance__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.menu-glance__card > * { margin: 0; }
.menu-glance__card p { max-width: 34ch; }
.menu-icon { color: var(--color-metallic-gold); font-size: 1.75rem; line-height: 1; }

.menu-seafood__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 1fr) minmax(0, 3fr); gap: 24px; align-items: start; }
.menu-seafood__content { grid-column: 1 / 2; min-width: 0; max-width: 62ch; }
.menu-seafood__lead { max-width: 52ch; }
.menu-seafood__list { display: flex; flex-direction: column; gap: var(--space-6); margin-top: var(--space-6); }
.menu-item { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--border-gold); }
.menu-item__number { color: var(--color-metallic-gold); font-family: var(--font-heading); font-size: var(--text-2xl); font-weight: 700; line-height: 1; }
.menu-item > div { min-width: 0; max-width: 62ch; }
.menu-item .status-tag { margin-bottom: var(--space-3); }
.menu-seafood__rail { grid-column: 3 / 4; min-width: 0; align-self: end; padding: var(--space-5); border-left: 1px solid var(--border-gold); }
.menu-seafood__rail p { max-width: 34ch; font-size: var(--text-sm); }

.menu-steaks__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.menu-steaks__image { grid-column: 1 / 2; grid-row: 1; width: 100%; min-width: 0; aspect-ratio: 3 / 2; }
.menu-steaks__image img { object-position: 34% center; }
.menu-steaks__panel { grid-column: 2 / 3; grid-row: 1; min-width: 0; margin-left: -24px; padding: var(--space-6); position: relative; z-index: 1; }
.menu-steaks__lead { max-width: 54ch; }
.menu-steaks__notes { display: flex; flex-direction: column; gap: var(--space-5); margin-top: var(--space-5); }
.menu-steaks__notes > div { min-width: 0; max-width: 55ch; padding-top: var(--space-5); border-top: 1px solid var(--border-gold); }
.menu-steaks__notes .status-tag { margin-bottom: var(--space-3); }
.menu-steaks__contact { max-width: 55ch; margin-top: var(--space-5); color: var(--color-silver-mist); font-size: var(--text-sm); }

.menu-cocktails { position: relative; }
.menu-cocktails::before { position: absolute; top: 20%; right: 0; width: 30%; height: 45%; background: linear-gradient(135deg, rgba(74,31,43,.28), transparent); content: ""; pointer-events: none; }
.menu-cocktails__intro { position: relative; width: min(100%, 58ch); min-width: 0; }
.menu-cocktails__cards { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; min-width: 0; margin-top: var(--space-6); }
.menu-cocktail-card { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.menu-cocktail-card > * { margin: 0; }
.menu-cocktail-card h3 { padding-top: var(--space-3); border-top: 1px solid var(--color-metallic-gold); }
.menu-cocktail-card p { max-width: 32ch; }
.menu-cocktail-card__detail { width: 2px; height: 2px; background: var(--color-felt-emerald-hover); }

.menu-sequence__heading { width: min(100%, 48ch); min-width: 0; }
.menu-sequence__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: var(--space-7); }
.menu-step { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--border-gold); }
.menu-step > span { color: var(--color-metallic-gold); font-family: var(--font-heading); font-size: clamp(2.5rem, 4vw, 3.5rem); font-weight: 700; line-height: .9; }
.menu-step > div { min-width: 0; max-width: 38ch; }
.menu-step--felt { box-shadow: inset 3px 0 0 var(--color-felt-emerald); padding-left: var(--space-4); }

.menu-occasions__intro { width: min(100%, 54ch); min-width: 0; }
.menu-occasions__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: var(--space-6); }
.menu-occasion { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.menu-occasion > * { margin: 0; }
.menu-occasion p { max-width: 42ch; }
.menu-occasion--felt { border-left: 3px solid var(--color-felt-emerald); }

.menu-planning__intro { width: min(100%, 54ch); min-width: 0; }
.menu-location { display: grid; grid-template-columns: 2.25rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; margin-top: var(--space-6); padding: var(--space-6); }
.menu-location > div { min-width: 0; max-width: 45ch; }
.menu-location__icon { color: var(--color-metallic-gold); font-size: 1.75rem; line-height: 1; }
.menu-planning__notes { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.menu-planning-note { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.menu-planning-note > * { margin: 0; }
.menu-planning-note p { max-width: 40ch; }
.menu-planning-note a:not(.button-secondary) { display: inline-block; min-height: 48px; padding-block: 12px; }
.menu-planning-note__detail { width: 2px; height: 2px; background: var(--color-felt-emerald-hover); }

.menu-note__panel { grid-template-columns: minmax(0, 4fr) minmax(0, 2fr) minmax(0, 6fr); gap: 24px; padding: var(--space-6); }
.menu-note__heading { grid-column: 1 / 2; min-width: 0; max-width: 28ch; }
.menu-note__copy { grid-column: 3 / 4; min-width: 0; max-width: 62ch; }
.menu-note__copy > h3 { max-width: 54ch; }

.menu-cta__panel { padding: var(--space-8) var(--space-6); }
.menu-cta__content { display: flex; flex-direction: column; align-items: center; gap: var(--space-4); width: min(100%, 620px); min-width: 0; margin-inline: auto; text-align: center; }
.menu-cta__content > * { margin: 0; }
.menu-cta__content h2 { max-width: 30ch; }
.menu-cta__content > p:not(.menu-cta__email) { max-width: 54ch; }
.menu-cta__content .button { margin-top: var(--space-2); }
.menu-cta__email { max-width: 34ch; font-size: var(--text-sm); }

@media (max-width: 980px) {
  .menu-steaks__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .menu-steaks__image { grid-column: 1; grid-row: 1; width: 100%; aspect-ratio: 5 / 4; }
  .menu-steaks__image img { object-position: center; }
  .menu-steaks__panel { grid-column: 1; grid-row: 2; margin-left: 0; }
}

@media (max-width: 900px) {
  .menu-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .menu-hero__image { grid-column: 1 / -1; grid-row: 1; width: 100%; aspect-ratio: 5 / 4; }
  .menu-hero__image img { object-position: center; }
  .menu-hero__copy { grid-row: 2; max-width: 45ch; }
  .menu-glance__cards, .menu-cocktails__cards, .menu-occasions__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-glance__card:nth-child(3), .menu-cocktail-card:nth-child(3), .menu-occasion:nth-child(3) { grid-column: 1 / 3; }
  .menu-seafood__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .menu-seafood__content, .menu-seafood__rail { grid-column: 1; }
  .menu-seafood__rail { width: min(100%, 62ch); align-self: auto; border-left: 0; border-top: 1px solid var(--border-gold); }
  .menu-sequence__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .menu-step { grid-template-columns: 4rem minmax(0, 1fr); align-items: start; }
  .menu-step > div { max-width: 48ch; }
}

@media (max-width: 820px) {
  .menu-note__panel { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .menu-note__heading, .menu-note__copy { grid-column: 1; max-width: 62ch; }
}

@media (max-width: 760px) {
  .menu-planning__notes { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 700px) {
  .menu-hero__copy h1 { font-size: clamp(2.75rem, 13vw, 3.25rem); }
  .menu-hero__actions { flex-direction: column; width: 100%; align-items: stretch; }
  .menu-hero__actions .button-secondary { width: max-content; }
  .menu-glance__cards, .menu-cocktails__cards, .menu-occasions__cards { grid-template-columns: minmax(0, 1fr); }
  .menu-glance__card:nth-child(3), .menu-cocktail-card:nth-child(3), .menu-occasion:nth-child(3) { grid-column: 1; }
  .menu-glance__card, .menu-cocktail-card, .menu-occasion { padding: var(--space-4); }
  .menu-item { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .menu-steaks__panel, .menu-location, .menu-note__panel { padding: var(--space-4); }
  .menu-location { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .menu-sequence__steps { margin-top: var(--space-6); }
  .menu-step { grid-template-columns: minmax(0, 1fr); }
  .menu-step > span { font-size: var(--text-3xl); }
  .menu-cta__panel { padding: var(--space-6) var(--space-4); }
  .menu-cta__content { align-items: stretch; }
  .menu-cta__content h2, .menu-cta__content > p, .menu-cta__email { margin-inline: auto; }
  .menu-cta__content .button { width: 100%; }
}

@media (hover: none) {
  .menu-page .card:hover { transform: none; }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
