.seasonal-menu-page {
  overflow: hidden;
}

.seasonal-menu-page .smd-shell {
  width: min(100% - (var(--gutter) * 2), var(--container-max));
  margin-inline: auto;
}

.seasonal-menu-page .smd-index {
  color: var(--color-red);
  font-variant-numeric: tabular-nums;
}

.seasonal-menu-page .smd-masthead,
.seasonal-menu-page .smd-plate,
.seasonal-menu-page .smd-signature-index,
.seasonal-menu-page .smd-conversation,
.seasonal-menu-page .smd-faq {
  padding-block: var(--space-10);
}

.seasonal-menu-page .smd-masthead__grid,
.seasonal-menu-page .smd-manifesto__grid,
.seasonal-menu-page .smd-plate--one__grid,
.seasonal-menu-page .smd-plate--two__grid,
.seasonal-menu-page .smd-plate--three__grid,
.seasonal-menu-page .smd-conversation__grid,
.seasonal-menu-page .smd-next__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
}

.seasonal-menu-page .smd-masthead__index { grid-column: 1 / span 2; display: flex; align-items: center; gap: var(--space-3); min-width: 0; border-bottom: var(--border-rule); padding-bottom: var(--space-2); }
.seasonal-menu-page .smd-masthead__title { grid-column: 1 / span 8; margin: 0; max-width: 100%; font-size: clamp(4.5rem, 10.5vw, 10rem); }
.seasonal-menu-page .smd-masthead__intro { grid-column: 1 / span 6; min-width: 0; }
.seasonal-menu-page .smd-masthead__intro .lead { max-width: 38rem; }
.seasonal-menu-page .smd-masthead__action { grid-column: 10 / span 3; align-self: end; justify-self: start; min-height: 2.75rem; }

.seasonal-menu-page .smd-manifesto { padding-block: var(--space-10); }
.seasonal-menu-page .smd-manifesto__lead { grid-column: 1 / span 5; min-width: 0; }
.seasonal-menu-page .smd-manifesto__lead .lead { max-width: 33rem; }
.seasonal-menu-page .smd-manifesto__principles { grid-column: 6 / span 7; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; }
.seasonal-menu-page .smd-principle { min-width: 0; border-left: var(--border-rule); padding-left: var(--space-4); }
.seasonal-menu-page .smd-principle p { font-size: var(--text-small); }
.seasonal-menu-page .smd-principle a { color: var(--color-paper-bright); }

.seasonal-menu-page .smd-plate__figure { min-width: 0; margin: 0; }
.seasonal-menu-page .smd-plate__image { width: 100%; max-width: 100%; }
.seasonal-menu-page .smd-plate__image img { width: 100%; height: 100%; max-width: 100%; display: block; }
.seasonal-menu-page .smd-plate__image--one img { object-position: center left; }
.seasonal-menu-page .smd-plate__image--two img { object-position: center bottom; }
.seasonal-menu-page .smd-plate__image--three img { object-position: right center; }
.seasonal-menu-page .smd-caption-text { display: block; margin-top: var(--space-2); }
.seasonal-menu-page .smd-plate--one__grid { align-items: start; }
.seasonal-menu-page .smd-plate--one .smd-plate__figure { grid-column: 1 / span 7; }
.seasonal-menu-page .smd-plate__copy { min-width: 0; }
.seasonal-menu-page .smd-plate__copy--one { grid-column: 9 / span 4; }
.seasonal-menu-page .smd-plate__number { margin: 0 0 var(--space-3); color: var(--color-red); font-family: var(--font-heading); font-size: clamp(3rem, 6vw, 5rem); font-weight: 700; line-height: .82; font-variant-numeric: tabular-nums; }
.seasonal-menu-page .smd-plate__copy h2 { font-size: var(--text-feature); }
.seasonal-menu-page .smd-plate__copy > p:not(.smd-plate__number):not(.smd-reading-note) { font-size: var(--text-body); line-height: var(--leading-body); }
.seasonal-menu-page .smd-reading-note { color: var(--color-steel-dark); font-size: var(--text-caption); line-height: var(--leading-caption); }

.seasonal-menu-page .smd-signature-index__heading { width: min(100%, 36rem); margin-bottom: var(--space-6); }
.seasonal-menu-page .smd-signature-index__rows { display: grid; grid-template-columns: 1fr; border-top: var(--border-rule); }
.seasonal-menu-page .smd-index-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); min-width: 0; padding-block: var(--space-5); border-bottom: var(--border-rule); }
.seasonal-menu-page .smd-index-row__number { grid-column: 1 / span 2; margin: 0; font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; line-height: .82; font-variant-numeric: tabular-nums; }
.seasonal-menu-page .smd-index-row__number--active { color: var(--color-red); }
.seasonal-menu-page .smd-index-row h3 { grid-column: 3 / span 3; margin: 0; font-size: var(--text-lead); }
.seasonal-menu-page .smd-index-row > p:last-child { grid-column: 6 / span 4; min-width: 0; margin: 0; font-size: var(--text-small); }

.seasonal-menu-page .smd-plate--two__grid { align-items: start; }
.seasonal-menu-page .smd-plate__copy--two { grid-column: 1 / span 5; }
.seasonal-menu-page .smd-plate__copy--two > p:not(.eyebrow) { max-width: 34rem; }
.seasonal-menu-page .smd-plate__figure--two { grid-column: 6 / span 7; }
.seasonal-menu-page .smd-caption-rail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, 16rem); gap: var(--space-4); border-top: var(--border-rule); padding-top: var(--space-2); }
.seasonal-menu-page .smd-caption-rail .smd-reading-note { margin: 0; }

.seasonal-menu-page .smd-movements { padding-block: var(--space-10); }
.seasonal-menu-page .smd-movements__lead { width: min(100%, 39rem); margin-bottom: var(--space-7); }
.seasonal-menu-page .smd-movements__lead .lead { max-width: 34rem; }
.seasonal-menu-page .smd-movements__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; min-width: 0; border-top: var(--border-rule); }
.seasonal-menu-page .smd-movement { min-width: 0; padding: var(--space-5); border-right: var(--border-rule); border-bottom: var(--border-rule); }
.seasonal-menu-page .smd-movement:last-child { border-right: 0; }
.seasonal-menu-page .smd-movement--accent { border-top: 2px solid var(--color-red); }
.seasonal-menu-page .smd-movement__number { margin: 0 0 var(--space-4); font-family: var(--font-heading); font-size: clamp(2.5rem, 5vw, 4rem); font-weight: 700; line-height: .82; font-variant-numeric: tabular-nums; }
.seasonal-menu-page .smd-movement h3 { margin-bottom: var(--space-3); }
.seasonal-menu-page .smd-movement p:last-child { margin-bottom: 0; font-size: var(--text-small); }

.seasonal-menu-page .smd-plate--three__grid { align-items: start; }
.seasonal-menu-page .smd-plate__figure--three { grid-column: 5 / span 8; }
.seasonal-menu-page .smd-plate__copy--three { grid-column: 1 / span 5; grid-row: 1; min-width: 0; padding: var(--space-6); }
.seasonal-menu-page .smd-plate__copy--three .smd-reading-note { color: var(--color-rule); }
.seasonal-menu-page .smd-plate__copy--three a { color: var(--color-paper-bright); }

.seasonal-menu-page .smd-conversation__grid { padding: var(--space-6); border: var(--border-ink-strong); background: var(--color-paper-bright); }
.seasonal-menu-page .smd-conversation__copy { grid-column: 1 / span 6; min-width: 0; }
.seasonal-menu-page .smd-conversation__copy .lead { max-width: 38rem; }
.seasonal-menu-page .smd-conversation__note { max-width: 30rem; border-top: var(--border-rule); padding-top: var(--space-4); }
.seasonal-menu-page .smd-conversation__note p:last-child { margin-bottom: 0; font-size: var(--text-small); }
.seasonal-menu-page .smd-conversation__action { grid-column: 9 / span 4; align-self: end; min-width: 0; }
.seasonal-menu-page .smd-conversation__action .button { margin-bottom: var(--space-2); }
.seasonal-menu-page .smd-conversation__action .caption { margin: 0; max-width: 18rem; }

.seasonal-menu-page .smd-faq__heading { width: min(100%, 28rem); margin-bottom: var(--space-6); }
.seasonal-menu-page .smd-faq__list { width: min(100%, 76rem); border-top: var(--border-rule); }
.seasonal-menu-page .smd-faq__item { border-bottom: var(--border-rule); }
.seasonal-menu-page .smd-faq__trigger { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); width: 100%; min-width: 0; min-height: 3.25rem; padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-ink); text-align: left; }
.seasonal-menu-page .smd-faq__trigger:hover { background: transparent; color: var(--color-red-dark); }
.seasonal-menu-page .smd-faq__trigger > span:first-child { min-width: 0; font-family: var(--font-heading); font-size: var(--text-lead); font-weight: 600; line-height: var(--leading-heading); }
.seasonal-menu-page .smd-faq__state { color: var(--color-steel-dark); font-family: var(--font-heading); font-size: var(--text-meta); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.seasonal-menu-page .smd-faq__answer { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: var(--space-4); padding: 0 0 var(--space-5); }
.seasonal-menu-page .smd-faq__answer p { grid-column: 3 / span 6; min-width: 0; margin: 0; font-size: var(--text-small); }

.seasonal-menu-page .smd-next { padding-block: var(--space-10); }
.seasonal-menu-page .smd-next__index { grid-column: 11 / span 2; grid-row: 1; justify-self: end; margin: 0; color: var(--color-red); font-family: var(--font-heading); font-size: clamp(3rem, 6vw, 5rem); font-weight: 700; line-height: .82; font-variant-numeric: tabular-nums; }
.seasonal-menu-page .smd-next__content { grid-column: 1 / span 7; grid-row: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; }
.seasonal-menu-page .smd-next__content h2 { margin: 0; color: var(--color-paper-bright); font-size: clamp(3.5rem, 7vw, 5rem); }
.seasonal-menu-page .smd-next__content p { max-width: 29rem; margin: 0; color: var(--color-paper-bright); }
.seasonal-menu-page .smd-next__action { border-color: var(--color-paper-bright); background: var(--color-paper-bright); color: var(--color-ink); }

@media (max-width: 56.25rem) {
  .seasonal-menu-page .smd-masthead,
  .seasonal-menu-page .smd-plate,
  .seasonal-menu-page .smd-signature-index,
  .seasonal-menu-page .smd-conversation,
  .seasonal-menu-page .smd-faq { padding-block: var(--space-9); }
  .seasonal-menu-page .smd-manifesto,
  .seasonal-menu-page .smd-movements,
  .seasonal-menu-page .smd-next { padding-block: var(--space-9); }
  .seasonal-menu-page .smd-masthead__grid,
  .seasonal-menu-page .smd-manifesto__grid,
  .seasonal-menu-page .smd-plate--one__grid,
  .seasonal-menu-page .smd-plate--two__grid,
  .seasonal-menu-page .smd-plate--three__grid,
  .seasonal-menu-page .smd-conversation__grid,
  .seasonal-menu-page .smd-next__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-masthead__index { grid-column: 1 / span 2; }
  .seasonal-menu-page .smd-masthead__title { grid-column: 1 / span 6; font-size: clamp(4rem, 12vw, 7rem); }
  .seasonal-menu-page .smd-masthead__intro { grid-column: 1 / span 4; }
  .seasonal-menu-page .smd-masthead__action { grid-column: 5 / span 2; justify-self: end; }
  .seasonal-menu-page .smd-manifesto__lead { grid-column: 1 / span 6; }
  .seasonal-menu-page .smd-manifesto__principles { grid-column: 1 / span 6; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-principle:nth-child(3) { grid-column: 1 / span 1; }
  .seasonal-menu-page .smd-plate--one .smd-plate__figure { grid-column: 1 / span 6; }
  .seasonal-menu-page .smd-plate__copy--one { grid-column: 1 / span 4; }
  .seasonal-menu-page .smd-index-row { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-index-row__number { grid-column: 1 / span 1; }
  .seasonal-menu-page .smd-index-row h3 { grid-column: 2 / span 2; }
  .seasonal-menu-page .smd-index-row > p:last-child { grid-column: 4 / span 3; }
  .seasonal-menu-page .smd-plate__copy--two { grid-column: 1 / span 3; }
  .seasonal-menu-page .smd-plate__figure--two { grid-column: 4 / span 3; }
  .seasonal-menu-page .smd-caption-rail { grid-template-columns: 1fr; }
  .seasonal-menu-page .smd-movements__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-movement:nth-child(2) { border-right: 0; }
  .seasonal-menu-page .smd-plate__figure--three { grid-column: 1 / span 6; }
  .seasonal-menu-page .smd-plate__copy--three { grid-column: 1 / span 5; grid-row: auto; }
  .seasonal-menu-page .smd-conversation__copy { grid-column: 1 / span 4; }
  .seasonal-menu-page .smd-conversation__action { grid-column: 5 / span 2; }
  .seasonal-menu-page .smd-faq__answer { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-faq__answer p { grid-column: 2 / span 5; }
  .seasonal-menu-page .smd-next__content { grid-column: 1 / span 6; }
  .seasonal-menu-page .smd-next__index { grid-column: 6 / span 1; }
}

@media (max-width: 42.5rem) {
  .seasonal-menu-page .smd-masthead,
  .seasonal-menu-page .smd-plate,
  .seasonal-menu-page .smd-signature-index,
  .seasonal-menu-page .smd-conversation,
  .seasonal-menu-page .smd-faq { padding-block: var(--space-7); }
  .seasonal-menu-page .smd-manifesto,
  .seasonal-menu-page .smd-movements,
  .seasonal-menu-page .smd-next { padding-block: var(--space-8); }
  .seasonal-menu-page .smd-masthead__grid,
  .seasonal-menu-page .smd-manifesto__grid,
  .seasonal-menu-page .smd-plate--one__grid,
  .seasonal-menu-page .smd-plate--two__grid,
  .seasonal-menu-page .smd-plate--three__grid,
  .seasonal-menu-page .smd-conversation__grid,
  .seasonal-menu-page .smd-next__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
  .seasonal-menu-page .smd-masthead__index,
  .seasonal-menu-page .smd-masthead__title,
  .seasonal-menu-page .smd-masthead__intro,
  .seasonal-menu-page .smd-masthead__action,
  .seasonal-menu-page .smd-manifesto__lead,
  .seasonal-menu-page .smd-manifesto__principles,
  .seasonal-menu-page .smd-plate--one .smd-plate__figure,
  .seasonal-menu-page .smd-plate__copy--one,
  .seasonal-menu-page .smd-plate__copy--two,
  .seasonal-menu-page .smd-plate__figure--two,
  .seasonal-menu-page .smd-plate__figure--three,
  .seasonal-menu-page .smd-plate__copy--three,
  .seasonal-menu-page .smd-conversation__copy,
  .seasonal-menu-page .smd-conversation__action,
  .seasonal-menu-page .smd-next__content { grid-column: 1 / span 4; }
  .seasonal-menu-page .smd-masthead__title { font-size: clamp(3.25rem, 16vw, 4.875rem); }
  .seasonal-menu-page .smd-masthead__intro .lead { max-width: none; }
  .seasonal-menu-page .smd-masthead__action { width: 100%; justify-self: stretch; }
  .seasonal-menu-page .smd-manifesto__principles { grid-template-columns: 1fr; gap: var(--space-5); }
  .seasonal-menu-page .smd-principle,
  .seasonal-menu-page .smd-principle:nth-child(3) { grid-column: 1; border-left: 0; border-top: var(--border-rule); padding: var(--space-4) 0 0; }
  .seasonal-menu-page .smd-plate__copy h2 { font-size: clamp(1.8rem, 9vw, 2rem); }
  .seasonal-menu-page .smd-plate__copy > p:not(.smd-plate__number):not(.smd-reading-note) { font-size: 1.0625rem; }
  .seasonal-menu-page .smd-index-row { grid-template-columns: minmax(3rem, auto) minmax(0, 1fr); gap: var(--space-3); }
  .seasonal-menu-page .smd-index-row__number { grid-column: 1; grid-row: 1; font-size: 2.5rem; }
  .seasonal-menu-page .smd-index-row h3 { grid-column: 2; grid-row: 1; align-self: center; }
  .seasonal-menu-page .smd-index-row > p:last-child { grid-column: 1 / span 2; grid-row: 2; }
  .seasonal-menu-page .smd-plate--two__grid { gap: var(--space-5); }
  .seasonal-menu-page .smd-plate__figure--two { grid-row: 2; }
  .seasonal-menu-page .smd-movements__lead { width: 100%; margin-bottom: var(--space-6); }
  .seasonal-menu-page .smd-movements__grid { grid-template-columns: 1fr; }
  .seasonal-menu-page .smd-movement,
  .seasonal-menu-page .smd-movement:nth-child(2) { border-right: 0; }
  .seasonal-menu-page .smd-plate__image--three { aspect-ratio: 3 / 2; }
  .seasonal-menu-page .smd-plate__copy--three { padding: var(--space-5); }
  .seasonal-menu-page .smd-conversation__grid { padding: var(--space-5); }
  .seasonal-menu-page .smd-conversation__action { width: 100%; }
  .seasonal-menu-page .smd-conversation__action .button { width: 100%; min-height: 3rem; }
  .seasonal-menu-page .smd-faq__trigger { min-height: 3rem; }
  .seasonal-menu-page .smd-faq__trigger > span:first-child { font-size: 1.25rem; }
  .seasonal-menu-page .smd-faq__answer { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .seasonal-menu-page .smd-faq__answer p { grid-column: 1 / span 4; }
  .seasonal-menu-page .smd-next { padding-inline: 0; }
  .seasonal-menu-page .smd-next__index { grid-column: 4; grid-row: 1; }
  .seasonal-menu-page .smd-next__content { grid-row: 2; }
  .seasonal-menu-page .smd-next__content h2 { font-size: clamp(2.5rem, 12vw, 3rem); }
  .seasonal-menu-page .smd-next__action { width: 100%; min-height: 3rem; }
}

@media (prefers-reduced-motion: reduce) {
  .seasonal-menu-page * { transition: none; }
}
