.menu-page {
  overflow: clip;
}

.menu-page .menu-hero {
  position: relative;
  min-height: 42.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  isolation: isolate;
}

.menu-page .menu-hero__image,
.menu-page .menu-hero__image::after {
  position: absolute;
  inset: 0;
}

.menu-page .menu-hero__image {
  z-index: -2;
  overflow: hidden;
  background: var(--color-charcoal-panel);
}

.menu-page .menu-hero__image::after {
  z-index: 1;
  content: "";
  background: linear-gradient(90deg, rgba(17, 18, 20, 0.94) 0%, rgba(17, 18, 20, 0.74) 42%, rgba(17, 18, 20, 0.26) 71%, rgba(17, 18, 20, 0.16) 100%);
}

.menu-page .menu-hero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.menu-page .menu-hero__inner {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-items: center;
  min-height: 42.5rem;
  padding-block: var(--space-9);
}

.menu-page .menu-hero__content {
  grid-column: 1 / span 6;
  width: min(100%, 35rem);
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.menu-page .menu-hero__content h1,
.menu-page .menu-hero__content p,
.menu-page .menu-hero__content .token-badge,
.menu-page .menu-hero__venue {
  margin: 0;
}

.menu-page .menu-hero__content p {
  max-width: 35rem;
  font-size: var(--text-detail);
}

.menu-page .menu-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
}

.menu-page .menu-hero__actions > * { min-width: 0; }

.menu-page .menu-hero__venue {
  width: 100%;
  max-width: 35rem;
  padding-top: var(--space-4);
  border-top: var(--border-default);
}

.menu-page .menu-philosophy__intro,
.menu-page .menu-grill__heading,
.menu-page .menu-shared__intro,
.menu-page .menu-evening__intro,
.menu-page .menu-notes__intro,
.menu-page .menu-continue__intro {
  width: min(100%, 38.75rem);
  min-width: 0;
}

.menu-page .menu-philosophy__principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}

.menu-page .menu-principle {
  min-width: 0;
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-top: var(--space-4);
  border-top: var(--border-default);
}

.menu-page .menu-principle__number,
.menu-page .menu-step__number {
  color: var(--color-warm-copper);
  font-family: var(--font-heading);
  font-size: 2.75rem;
  font-weight: 600;
  line-height: 0.9;
}

.menu-page .menu-principle__copy { min-width: 0; }
.menu-page .menu-principle__copy h3 { font-size: var(--text-card-title); }

.menu-page .menu-grill__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.menu-page .menu-grill__heading {
  grid-column: 1 / span 7;
}

.menu-page .menu-grill__media {
  grid-column: 9 / span 4;
  grid-row: 1 / span 2;
  width: 100%;
  min-width: 0;
  aspect-ratio: 4 / 5;
  margin: 0;
}

.menu-page .menu-grill__media img,
.menu-page .menu-bar__media img,
.menu-page .menu-interior__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.menu-page .menu-grill__rail {
  grid-column: 1 / span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.menu-page .menu-grill__feature {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.menu-page .menu-grill__feature > * { margin: 0; }
.menu-page .menu-grill__feature p { width: min(100%, 27.5rem); }

.menu-page .menu-grill__rows {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}

.menu-page .menu-dish-row {
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: var(--border-default);
  transition: background-color var(--transition-fast), box-shadow var(--transition-surface);
}

.menu-page .menu-dish-row:first-child { border-top: var(--border-default); }
.menu-page .menu-dish-row:hover { background: color-mix(in srgb, var(--color-charcoal-panel) 75%, var(--color-plum-slate)); box-shadow: var(--shadow-card); }
.menu-page .menu-dish-row h3,
.menu-page .menu-dish-row p { margin: 0; }
.menu-page .menu-dish-row h3 { font-size: var(--text-card-title); }
.menu-page .menu-dish-row__detail { margin-top: var(--space-2) !important; color: var(--color-smoke-white); font-size: var(--text-label); }
.menu-page .menu-dish-row p:last-child { width: min(100%, 37.5rem); margin-top: var(--space-3); }
.menu-page .menu-dish-row__head { display: flex; min-width: 0; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--space-3); }
.menu-page .menu-dish-row__head > * { min-width: 0; }
.menu-page .menu-dish-row__head span { color: var(--color-warm-copper); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.menu-page .menu-grill__inquiry { align-self: flex-start; }

.menu-page .menu-shared__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
  align-items: start;
}

.menu-page .menu-group { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.menu-page .menu-group--begin { grid-column: 1 / span 5; }
.menu-page .menu-group--sides { grid-column: 6 / span 3; }
.menu-page .menu-group--close { grid-column: 9 / span 4; }
.menu-page .menu-group > * { margin: 0; }
.menu-page .menu-group__items { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.menu-page .menu-group__items > div { min-width: 0; padding-block: var(--space-4); border-top: var(--border-default); }
.menu-page .menu-group__items h4,
.menu-page .menu-group__items p { margin: 0; }
.menu-page .menu-group__items h4 { font-size: 1.3rem; }
.menu-page .menu-group__items p { margin-top: var(--space-2); }

.menu-page .menu-bar__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.menu-page .menu-bar__media { grid-column: 1 / span 5; width: 100%; min-width: 0; aspect-ratio: 4 / 5; margin: 0; }
.menu-page .menu-bar__content { grid-column: 7 / span 6; width: min(100%, 35rem); min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); }
.menu-page .menu-bar__content > * { margin: 0; }
.menu-page .menu-bar__lead { font-size: var(--text-detail); }
.menu-page .menu-drink-family { min-width: 0; padding-top: var(--space-4); border-top: var(--border-default); }
.menu-page .menu-drink-family h3,
.menu-page .menu-drink-family p { margin: 0; }
.menu-page .menu-drink-family p { margin-top: var(--space-3); }
.menu-page .menu-drink-family__heading { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-3); }
.menu-page .menu-drink-family__heading > * { min-width: 0; }
.menu-page .menu-bar__note { min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-charcoal-panel); }
.menu-page .menu-bar__note h3,
.menu-page .menu-bar__note p { margin: 0; }
.menu-page .menu-bar__note p { margin-top: var(--space-2); }

.menu-page .menu-evening__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
  align-items: stretch;
}

.menu-page .menu-step { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.menu-page .menu-step > * { margin: 0; }
.menu-page .menu-step--focus { padding: var(--space-5); border: var(--border-default); box-shadow: var(--shadow-panel); }
.menu-page .menu-step .button { margin-top: auto; }

.menu-page .menu-notes__panel { margin-top: var(--space-7); padding: 0; overflow: hidden; }
.menu-page .menu-note { min-width: 0; border-bottom: var(--border-default); }
.menu-page .menu-note:last-child { border-bottom: 0; }
.menu-page .menu-note__trigger { width: 100%; min-width: 0; min-height: 4.5rem; display: grid; grid-template-columns: minmax(12rem, 3fr) minmax(0, 8fr) auto; gap: var(--space-4); align-items: center; padding: var(--space-5); border: 0; border-radius: 0; background: transparent; color: var(--color-crisp-white); text-align: left; box-shadow: none; }
.menu-page .menu-note__trigger:hover { background: color-mix(in srgb, var(--color-charcoal-panel) 70%, var(--color-plum-slate)); box-shadow: none; }
.menu-page .menu-note__trigger > span { min-width: 0; }
.menu-page .menu-note__trigger > span:first-child { font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: 600; line-height: var(--leading-card); }
.menu-page .menu-note__state { justify-self: end; color: var(--color-warm-copper); font-family: var(--font-body); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; white-space: nowrap; }
.menu-page .menu-note__answer { display: grid; grid-template-columns: minmax(12rem, 3fr) minmax(0, 8fr) auto; gap: var(--space-4); padding: 0 var(--space-5) var(--space-5); }
.menu-page .menu-note__answer::before { content: ""; grid-column: 1; }
.menu-page .menu-note__answer p { grid-column: 2; width: min(100%, 42.5rem); margin: 0; }
.menu-page .menu-note__answer[hidden] { display: none; }

.menu-page .menu-interior__figure { position: relative; width: 100%; min-width: 0; aspect-ratio: 16 / 7; margin: 0; border-radius: 0; }
.menu-page .menu-interior__figure::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(17, 18, 20, 0.82), rgba(17, 18, 20, 0.23) 63%, transparent); pointer-events: none; }
.menu-page .menu-interior__overlay { position: absolute; z-index: 1; left: var(--space-6); bottom: var(--space-6); width: min(100% - (var(--space-6) * 2), 26.25rem); min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-4); }
.menu-page .menu-interior__overlay > * { margin: 0; }
.menu-page .menu-interior__overlay h2 { font-size: clamp(2rem, 3.2vw, 3rem); }
.menu-page .menu-interior__caption { width: min(100%, 33.75rem); margin-top: var(--space-3); }

.menu-page .menu-inquiry__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.menu-page .menu-inquiry__lead { grid-column: 1 / span 4; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); }
.menu-page .menu-inquiry__lead > * { margin: 0; }
.menu-page .menu-inquiry__lead p { width: min(100%, 30rem); }
.menu-page .menu-inquiry__form { grid-column: 6 / span 7; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-5); padding: var(--space-6); }
.menu-page .menu-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.menu-page .menu-field { min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: var(--space-2); }
.menu-page .menu-field > * { margin: 0; }
.menu-page .menu-field--full { grid-column: 1 / -1; }
.menu-page .menu-field__help,
.menu-page .menu-field__error { min-height: 1.3em; color: var(--color-smoke-white); font-size: var(--text-utility); line-height: 1.45; }
.menu-page .menu-field__error { color: var(--color-amber-glow); font-weight: 600; }
.menu-page .menu-field [aria-invalid="true"] { border-color: var(--color-amber-glow); }
.menu-page .menu-form__submit { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-4); }
.menu-page .menu-form__submit > * { min-width: 0; margin: 0; }
.menu-page .menu-form__submit p { flex: 1 1 17rem; font-size: var(--text-utility); }
.menu-page .menu-form__status { min-height: 1.5em; margin: 0; color: var(--color-crisp-white); font-weight: 600; }
.menu-page .menu-form__status[data-state="success"] { color: var(--color-crisp-white); }
.menu-page .menu-form__status[data-state="error"] { color: var(--color-amber-glow); }
.menu-page .menu-form__alternatives { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border-default); font-size: var(--text-label); }
.menu-page .menu-form__alternatives > * { min-width: 0; }

.menu-page .menu-continue__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.menu-page .menu-next { min-width: 0; min-height: 17rem; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-5); border-top: var(--border-default); border-bottom: var(--border-default); text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast), box-shadow var(--transition-surface); }
.menu-page .menu-next:hover { border-color: var(--color-amber-glow); background: var(--color-charcoal-panel); box-shadow: var(--shadow-card); }
.menu-page .menu-next > * { margin: 0; }
.menu-page .menu-next h3 { font-size: var(--text-card-title); }
.menu-page .menu-next__label { color: var(--color-warm-copper); font-size: var(--text-utility); font-weight: 700; letter-spacing: var(--tracking-utility); text-transform: uppercase; }
.menu-page .menu-next__arrow { margin-top: auto; color: var(--color-crisp-white); font-size: var(--text-label); font-weight: 600; }

@media (max-width: 899px) {
  .menu-page .menu-hero { min-height: auto; display: flex; flex-direction: column; }
  .menu-page .menu-hero__image { position: relative; inset: auto; width: 100%; height: clamp(22rem, 55vw, 34rem); order: 0; }
  .menu-page .menu-hero__image::after { background: linear-gradient(0deg, rgba(17, 18, 20, 0.26), rgba(17, 18, 20, 0.06)); }
  .menu-page .menu-hero__inner { display: block; min-height: 0; padding-block: var(--space-7); }
  .menu-page .menu-hero__content { width: min(100%, 35rem); }
  .menu-page .menu-philosophy__principles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-principle:first-child { grid-column: 1 / -1; }
  .menu-page .menu-grill__heading { grid-column: 1 / -1; }
  .menu-page .menu-grill__media { grid-column: 1 / span 6; grid-row: 2; }
  .menu-page .menu-grill__rail { grid-column: 7 / span 6; grid-row: 2; }
  .menu-page .menu-shared__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-group--begin { grid-column: 1 / -1; }
  .menu-page .menu-group--sides { grid-column: 1; }
  .menu-page .menu-group--close { grid-column: 2; }
  .menu-page .menu-bar__media { grid-column: 1 / span 6; }
  .menu-page .menu-bar__content { grid-column: 7 / span 6; width: 100%; }
  .menu-page .menu-evening__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-evening__steps > :first-child { grid-column: 1 / -1; }
  .menu-page .menu-note__trigger { grid-template-columns: minmax(0, 1fr) auto; }
  .menu-page .menu-note__answer { grid-template-columns: minmax(0, 1fr); padding-top: var(--space-2); }
  .menu-page .menu-note__answer::before { display: none; }
  .menu-page .menu-note__answer p { grid-column: 1; }
  .menu-page .menu-interior__figure { aspect-ratio: 16 / 8; overflow: visible; border: 0; background: transparent; }
  .menu-page .menu-interior__figure img { height: 100%; border: var(--border-default); }
  .menu-page .menu-interior__figure::after { display: none; }
  .menu-page .menu-interior__overlay { position: relative; left: auto; bottom: auto; width: 100%; padding: var(--space-6); border: var(--border-default); border-top: 0; background: var(--color-charcoal-panel); }
  .menu-page .menu-inquiry__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-inquiry__lead,
  .menu-page .menu-inquiry__form { grid-column: 1; width: 100%; }
  .menu-page .menu-continue__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .menu-page .menu-continue__grid > :first-child { grid-column: 1 / -1; }
}

@media (max-width: 759px) {
  .menu-page .menu-bar__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-bar__media,
  .menu-page .menu-bar__content { grid-column: 1; width: 100%; }
}

@media (max-width: 639px) {
  .menu-page .menu-hero__image { height: auto; aspect-ratio: 4 / 5; }
  .menu-page .menu-hero__inner { padding-block: var(--space-7); }
  .menu-page .menu-hero__content { width: 100%; gap: var(--space-4); }
  .menu-page .menu-hero__content h1 { font-size: clamp(2.35rem, 11vw, 3rem); }
  .menu-page .menu-hero__content p { font-size: var(--text-body); }
  .menu-page .menu-hero__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .menu-page .menu-hero__actions .button { width: 100%; }
  .menu-page .menu-hero__actions .button--text { min-height: 2.75rem; justify-content: flex-start; }
  .menu-page .menu-philosophy__principles,
  .menu-page .menu-evening__steps,
  .menu-page .menu-continue__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .menu-page .menu-principle:first-child,
  .menu-page .menu-evening__steps > :first-child,
  .menu-page .menu-continue__grid > :first-child { grid-column: 1; }
  .menu-page .menu-principle { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .menu-page .menu-grill__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-grill__heading,
  .menu-page .menu-grill__media,
  .menu-page .menu-grill__rail { grid-column: 1; grid-row: auto; }
  .menu-page .menu-grill__media { order: 1; }
  .menu-page .menu-grill__rail { order: 2; }
  .menu-page .menu-shared__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-group--begin,
  .menu-page .menu-group--sides,
  .menu-page .menu-group--close { grid-column: 1; }
  .menu-page .menu-step .button { width: 100%; }
  .menu-page .menu-notes__panel { margin-top: var(--space-6); }
  .menu-page .menu-note__trigger { min-height: 4rem; grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding: var(--space-4); }
  .menu-page .menu-note__state { justify-self: start; }
  .menu-page .menu-note__answer { padding: 0 var(--space-4) var(--space-4); }
  .menu-page .menu-note__answer[hidden] { display: none; }
  .menu-page .menu-interior__figure { aspect-ratio: auto; }
  .menu-page .menu-interior__figure img { aspect-ratio: 4 / 3; }
  .menu-page .menu-interior__overlay { padding: var(--space-5); }
  .menu-page .menu-interior__overlay h2 { font-size: clamp(1.9rem, 9vw, 2.2rem); }
  .menu-page .menu-inquiry__lead,
  .menu-page .menu-inquiry__form { padding: var(--space-4); }
  .menu-page .menu-form__grid { grid-template-columns: minmax(0, 1fr); }
  .menu-page .menu-field--full { grid-column: 1; }
  .menu-page .menu-form__submit { align-items: stretch; flex-direction: column; }
  .menu-page .menu-form__submit button { width: 100%; }
  .menu-page .menu-form__alternatives { align-items: flex-start; flex-direction: column; }
  .menu-page .menu-next { min-height: auto; }
}

@media (hover: hover) {
  .menu-page .menu-interior__figure:hover img { transform: scale(1.02); }
}

.menu-page ul { list-style: none !important; }
.menu-page .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;
  }
}
