.etlap-page {
  background: var(--color-ink-black);
}

.etlap-page .etlap-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(27.5rem, 5fr);
  gap: var(--space-7);
  align-items: center;
}

.etlap-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.etlap-hero__copy > * { margin: 0; }
.etlap-hero__copy h1 { max-width: 15ch; }
.etlap-hero__copy .lead { max-width: 48ch; }
.etlap-hero__button { min-width: 12rem; }
.etlap-hero__media { width: 100%; max-width: 100%; margin: 0; }
.etlap-hero__media img { width: 100%; height: 100%; transition: transform var(--transition-base), filter var(--transition-base); }
.etlap-hero__media:hover img { transform: scale(1.015) translateX(1px); filter: contrast(1.04); }

.etlap-hero__location {
  grid-column: 1 / -1;
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: var(--border-default);
}
.etlap-hero__location span { color: var(--color-ash-primary); }

.etlap-jump {
  position: sticky;
  z-index: 2;
  top: 0;
  border-block: var(--border-default);
  background: rgb(13 14 16 / 0.96);
}
.etlap-jump__inner {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-6);
  padding-block: var(--space-3);
}
.etlap-jump__label { width: 9.375rem; min-width: 9.375rem; margin: 0; }
.etlap-jump__links {
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: wrap;
  gap: var(--space-5);
}
.etlap-jump__links a {
  min-width: 0;
  min-height: 2.75rem;
  display: inline-flex;
  align-items: center;
  border-bottom: 2px solid transparent;
  color: var(--color-ash-primary);
  font-weight: 600;
  text-decoration: none;
}
.etlap-jump__links a[aria-current="true"] { border-bottom-color: var(--color-signal-scarlet); }

.etlap-menu-section { scroll-margin-top: 6rem; }
.etlap-menu-section__layout {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 9fr);
  gap: var(--space-8);
  align-items: start;
}
.etlap-category-head { min-width: 0; }
.etlap-category-head > :last-child { margin-bottom: 0; }
.etlap-category-head p:not(.eyebrow) { max-width: 52ch; }
.etlap-menu-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-top: var(--border-default);
}
.etlap-menu-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6rem;
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: var(--border-default);
}
.etlap-menu-list--numbered .etlap-menu-item { grid-template-columns: 2.5rem minmax(0, 1fr) 6rem; }
.etlap-menu-item__number { min-width: 0; color: var(--color-ash-muted); font-size: var(--text-meta); line-height: var(--leading-meta); }
.etlap-menu-item__content { min-width: 0; }
.etlap-menu-item__content h3 { margin-bottom: var(--space-2); font-size: 1.1875rem; line-height: 1.25; }
.etlap-menu-item__content p { max-width: 58ch; margin: 0; }
.etlap-menu-item__price { min-width: 0; margin: 0; color: var(--color-ash-primary); font-weight: 600; text-align: right; white-space: nowrap; }

.etlap-interlude__figure { position: relative; margin: 0; overflow: hidden; aspect-ratio: 2 / 1; border: var(--border-default); }
.etlap-interlude__figure > img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base), filter var(--transition-base); }
.etlap-interlude__figure:hover > img { transform: scale(1.015) translateX(1px); filter: contrast(1.04); }
.etlap-interlude__caption {
  position: absolute;
  left: var(--space-5);
  bottom: var(--space-5);
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  max-width: 38ch;
  padding: var(--space-4);
  background: rgb(5 5 5 / 0.84);
}
.etlap-interlude__caption > * { margin: 0; }
.etlap-interlude__caption p { color: var(--color-ash-primary); font-size: var(--text-lead); line-height: var(--leading-lead); }

.etlap-category-head--mains { position: relative; }
.etlap-category-head__large-number { position: absolute; top: -1.25rem; right: 0; color: var(--color-line-ash); font-family: var(--font-heading); font-size: clamp(5rem, 11vw, 9rem); font-weight: 700; line-height: 1; }
.etlap-category-head--mains > :not(.etlap-category-head__large-number) { position: relative; }
.etlap-menu-section--mains .etlap-menu-section__layout { grid-template-columns: minmax(0, 5fr) minmax(0, 10fr); }
.etlap-menu-list--mains .etlap-menu-item { grid-template-columns: minmax(0, 1fr) 6.875rem; }

.etlap-sides { scroll-margin-top: 6rem; }
.etlap-sides__panel {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
  gap: var(--space-7);
  width: min(100%, 67.5rem);
  margin-inline: auto;
  padding: var(--space-6);
}
.etlap-sides__head { min-width: 0; }
.etlap-sides__head > :last-child { margin-bottom: 0; }
.etlap-sides__head p:not(.eyebrow) { max-width: 42ch; }
.etlap-sides__items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.etlap-side-item { min-width: 0; padding-left: var(--space-5); border-left: var(--border-default); }
.etlap-side-item__top { display: flex; min-width: 0; justify-content: space-between; gap: var(--space-3); align-items: baseline; }
.etlap-side-item__top h3 { min-width: 0; margin-bottom: var(--space-2); font-size: 1.1875rem; line-height: 1.25; }
.etlap-side-item__top p { margin: 0; color: var(--color-ash-primary); font-weight: 600; white-space: nowrap; }
.etlap-side-item > p { margin: 0; }

.etlap-menu-section--desserts { scroll-margin-top: 6rem; }
.etlap-category-head--desserts { padding-left: var(--space-4); border-left: 3px solid var(--color-signal-scarlet); }
.etlap-category-head--desserts p:not(.eyebrow) { max-width: 46ch; }
.etlap-menu-list--desserts { max-width: 56.25rem; }

.etlap-detail__grid { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: var(--space-6); align-items: end; }
.etlap-detail__media { width: 100%; max-width: 100%; margin: 0; }
.etlap-detail__caption { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-bottom: var(--space-4); }
.etlap-detail__caption > * { margin: 0; }
.etlap-detail__caption p:not(.eyebrow) { max-width: 34ch; }

.etlap-after__title { margin-bottom: var(--space-6); }
.etlap-after__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.etlap-after__place, .etlap-after__experience { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.etlap-after__place > *, .etlap-after__experience > * { margin: 0; }
.etlap-after__place p:not(.eyebrow), .etlap-after__experience p { max-width: 40ch; }
.etlap-after__experience { padding: var(--space-5); }
.etlap-after__experience .button { margin-top: var(--space-2); }

.etlap-cta__content { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-5); width: min(100%, 38.75rem); margin-inline: auto; }
.etlap-cta__content > * { margin: 0; }
.etlap-cta__content h2 { max-width: 34ch; }
.etlap-cta__content > p:not(.eyebrow):not(.etlap-cta__note) { max-width: 44ch; }
.etlap-cta__button { min-width: 13.75rem; }
.etlap-cta__note { max-width: 34ch; }

@media (max-width: 68.75rem) {
  .etlap-page .etlap-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .etlap-hero__media { aspect-ratio: 4 / 3; }
}

@media (max-width: 60rem) {
  .etlap-menu-section__layout, .etlap-menu-section--mains .etlap-menu-section__layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .etlap-menu-list, .etlap-menu-list--desserts { max-width: 100%; }
  .etlap-category-head__large-number { display: none; }
  .etlap-detail__grid { grid-template-columns: 1fr; }
  .etlap-detail__media { aspect-ratio: 16 / 9; }
  .etlap-detail__caption { padding: 0; }
  .etlap-sides__panel { grid-template-columns: 1fr; gap: var(--space-6); }
}

@media (max-width: 56.25rem) {
  .etlap-jump__inner { align-items: flex-start; flex-direction: column; gap: var(--space-2); }
  .etlap-jump__label { width: 100%; min-width: 0; }
  .etlap-sides__items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .etlap-sides__items > :last-child { grid-column: 1 / -1; }
}

@media (max-width: 52.5rem) {
  .etlap-after__grid { grid-template-columns: 1fr; }
  .etlap-menu-item, .etlap-menu-list--numbered .etlap-menu-item, .etlap-menu-list--mains .etlap-menu-item { grid-template-columns: 1fr; gap: var(--space-3); }
  .etlap-menu-item__number { grid-row: 1; }
  .etlap-menu-list--numbered .etlap-menu-item__content { grid-row: 1; }
  .etlap-menu-item__price { text-align: left; }
}

@media (max-width: 47.9375rem) {
  .etlap-page .etlap-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .etlap-hero__media { grid-row: 1; aspect-ratio: 4 / 3; }
  .etlap-hero__copy { grid-row: 2; }
  .etlap-hero__location { grid-row: 3; }
  .etlap-hero__copy h1 { font-size: 2.625rem; line-height: 1.02; }
  .etlap-hero__copy .lead { max-width: 34ch; }
  .etlap-jump { position: static; }
  .etlap-jump__links { display: grid; grid-template-columns: 1fr; gap: 0; width: 100%; }
  .etlap-jump__links a { width: 100%; padding-inline: var(--space-3); border-bottom: var(--border-default); }
  .etlap-menu-section { scroll-margin-top: var(--space-4); }
  .etlap-interlude__figure { display: flex; flex-direction: column; aspect-ratio: auto; overflow: visible; }
  .etlap-interlude__figure > img { aspect-ratio: 1; }
  .etlap-interlude__caption { position: static; max-width: none; padding: var(--space-4); border: var(--border-default); border-top: 0; background: var(--color-panel-black); }
  .etlap-sides { scroll-margin-top: var(--space-4); }
  .etlap-sides__panel { padding: var(--space-4); }
  .etlap-sides__items { grid-template-columns: 1fr; gap: 0; }
  .etlap-sides__items > :last-child { grid-column: auto; }
  .etlap-side-item { padding: var(--space-5) 0; border-left: 0; border-bottom: var(--border-default); }
  .etlap-side-item:first-child { padding-top: 0; }
  .etlap-side-item:last-child { padding-bottom: 0; border-bottom: 0; }
  .etlap-menu-section--desserts { scroll-margin-top: var(--space-4); }
  .etlap-detail__media { aspect-ratio: 4 / 3; }
  .etlap-after__experience { padding: var(--space-4); }
  .etlap-cta__content { width: 100%; }
  .etlap-cta__button { width: 100%; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .etlap-hero__media img, .etlap-interlude__figure > img { transition: none; }
  .etlap-hero__media:hover img, .etlap-interlude__figure:hover > img { transform: none; }
}
