.dining-page {
  overflow: clip;
}

.dining-page .dining-link {
  display: inline;
  font-weight: 700;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 100% 1px;
  transition: color var(--transition-fast), background-size var(--transition-base);
}

.dining-page .dining-link:hover {
  background-size: 100% 2px;
}

.dining-page .dining-link--ink { color: var(--color-jade-deep); }
.dining-page .dining-link--mulberry { color: var(--color-mulberry); }
.dining-page .dining-link--light { color: var(--color-cream); }
.dining-page .dining-link--blue-light { color: var(--color-white); background-image: linear-gradient(var(--color-blue), var(--color-blue)); }

.dining-page .dining-hero {
  padding-block: clamp(4rem, 8vw, 7.5rem);
}

.dining-page .dining-hero__grid {
  display: grid;
  grid-template-columns: minmax(27.5rem, 5fr) minmax(0, 7fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: center;
}

.dining-page .dining-hero__copy,
.dining-page .dining-hero__media {
  min-width: 0;
  width: 100%;
}

.dining-page .dining-hero__copy {
  max-width: 40rem;
}

.dining-page .dining-hero__copy h1 {
  max-width: 12ch;
}

.dining-page .dining-hero__lead {
  max-width: 39rem;
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  line-height: 1.5;
}

.dining-page .dining-hero__actions,
.dining-page .dining-lounge__actions,
.dining-page .dining-close__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  min-width: 0;
  gap: var(--space-4);
}

.dining-page .dining-hero__actions > *,
.dining-page .dining-lounge__actions > *,
.dining-page .dining-close__actions > * {
  min-width: 0;
}

.dining-page .dining-hero__note {
  display: grid;
  grid-template-columns: 3px minmax(0, 1fr);
  gap: var(--space-3);
  max-width: 36rem;
  margin-top: var(--space-6);
  color: var(--color-jade-deep);
  font-size: var(--text-meta);
  line-height: var(--leading-meta);
}

.dining-page .dining-hero__note > * { min-width: 0; }
.dining-page .dining-hero__note p { margin: 0; }
.dining-page .dining-hero__note-rule { background: var(--color-blue); }

.dining-page .dining-hero__media {
  min-height: clamp(28rem, 47vw, 40rem);
  overflow: hidden;
  background: var(--color-limestone);
  border-radius: 0 0 0 10rem;
}

.dining-page .dining-hero__media img,
.dining-page .dining-signature__media img,
.dining-page .dining-courtyard__media img,
.dining-page .dining-lounge__media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

.dining-page .dining-hero__media img { object-position: 50% 42%; }

.dining-page .dining-rhythm__intro {
  width: min(100%, 39rem);
  margin-bottom: var(--space-8);
}

.dining-page .dining-rhythm__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.dining-page .dining-rhythm__tile {
  min-width: 0;
  width: 100%;
  padding: var(--space-6);
  border-top: 2px solid var(--color-line-warm);
  background: color-mix(in srgb, var(--color-cream) 56%, transparent);
  transition: border-color var(--transition-base);
}

.dining-page .dining-rhythm__tile:hover { border-color: var(--color-papaya); }
.dining-page .dining-rhythm__tile--shared { margin-top: var(--space-7); background: var(--color-cream); }
.dining-page .dining-rhythm__tile h3 { font-size: 1.25rem; }
.dining-page .dining-rhythm__tile p { max-width: 31rem; }
.dining-page .dining-rhythm__initial { display: block; margin-bottom: var(--space-3); color: var(--color-papaya); font-family: var(--font-heading); font-size: 4rem; line-height: .8; }
.dining-page .dining-rhythm__dessert-mark { width: 2.75rem; height: 2.75rem; margin-bottom: var(--space-4); border: 3px solid var(--color-papaya); border-radius: 50% 50% 0 50%; }

.dining-page .dining-signature__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

.dining-page .dining-signature__feature { grid-column: 1 / span 5; min-width: 0; width: 100%; max-width: 36.25rem; padding-top: var(--space-6); }
.dining-page .dining-signature__feature h2 { max-width: 12ch; }
.dining-page .dining-signature__feature p { max-width: 37rem; }
.dining-page .dining-signature__menu-button { margin-top: var(--space-2); }
.dining-page .dining-signature__media { grid-column: 7 / span 5; min-width: 0; width: 100%; min-height: 38rem; overflow: hidden; margin: 0; border-radius: 9rem 0 0 0; background: var(--color-limestone); }
.dining-page .dining-signature__media img { object-position: 50% 42%; }
.dining-page .dining-signature__support { grid-column: 9 / span 4; display: flex; flex-direction: column; min-width: 0; width: 100%; gap: var(--space-5); margin-top: -13rem; }
.dining-page .dining-signature__support > * { min-width: 0; width: 100%; }
.dining-page .dining-signature__support-item { padding: var(--space-5); background: var(--color-limestone); border-top: 1px solid var(--color-line-warm); }
.dining-page .dining-signature__support-item h3 { font-size: 1.25rem; }
.dining-page .dining-signature__support-item p { max-width: 28rem; }

.dining-page .dining-courtyard__lead { width: min(100%, 40rem); margin-bottom: var(--space-7); }
.dining-page .dining-courtyard__lead .lead { max-width: 40rem; }
.dining-page .dining-courtyard__arch { width: 1.75rem; height: 2.25rem; margin-bottom: var(--space-4); border: 3px solid var(--color-jade); border-bottom: 0; border-radius: 2rem 2rem 0 0; }
.dining-page .dining-courtyard__image-wrap { width: 100%; }
.dining-page .dining-courtyard__media { position: relative; min-height: 35rem; margin: 0; overflow: hidden; background: var(--color-jade-deep); }
.dining-page .dining-courtyard__media img { position: absolute; inset: 0; object-position: 50% 35%; }
.dining-page .dining-courtyard__captions { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-end; min-height: 35rem; padding-block: var(--space-6); }
.dining-page .dining-courtyard__caption { min-width: 0; width: min(100%, 16.25rem); padding: var(--space-5); background: var(--color-limestone); color: var(--color-ink); }
.dining-page .dining-courtyard__caption--conversation { border-top: 3px solid var(--color-blue); }
.dining-page .dining-courtyard__caption h3 { font-size: 1.25rem; }
.dining-page .dining-courtyard__caption p { margin-bottom: 0; }
.dining-page .dining-courtyard__transition { width: min(100%, 44rem); margin-top: var(--space-6); margin-bottom: 0; color: var(--color-mulberry); }

.dining-page .dining-dusk__heading { width: min(100%, 39rem); margin-bottom: var(--space-7); }
.dining-page .dining-dusk__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.dining-page .dining-dusk__step { min-width: 0; width: 100%; padding: var(--space-6); }
.dining-page .dining-dusk__step h3 { font-size: 1.4rem; }
.dining-page .dining-dusk__step p { max-width: 29rem; margin-bottom: 0; }
.dining-page .dining-dusk__step--first { background: var(--color-limestone); }
.dining-page .dining-dusk__step--poker { background: var(--color-jade-deep); color: var(--color-white); }
.dining-page .dining-dusk__terms { margin-top: var(--space-7); padding-block: var(--space-5); text-align: center; }
.dining-page .dining-dusk__terms p { margin: 0; color: var(--color-white); font-size: var(--text-utility); font-weight: 700; letter-spacing: .1em; line-height: 1.8; }

.dining-page .dining-lounge__lead { width: min(100%, 37.5rem); margin-bottom: var(--space-7); }
.dining-page .dining-lounge__lead h2 { max-width: 12ch; }
.dining-page .dining-lounge__lead p { max-width: 39rem; }
.dining-page .dining-lounge__media-wrap { width: min(100% - var(--gutter), calc(var(--container-max) + (var(--gutter) * 2))); margin-left: max(var(--gutter), calc((100% - var(--container-max)) / 2)); }
.dining-page .dining-lounge__media { min-height: clamp(28rem, 48vw, 43rem); margin: 0; overflow: hidden; border-radius: 0 0 0 var(--radius-panel); background: var(--color-jade-deep); }
.dining-page .dining-lounge__media img { object-position: 50% 50%; transition: filter var(--transition-base); }
.dining-page .dining-lounge__media:hover img { filter: brightness(1.07); }
.dining-page .dining-lounge__notes { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); margin-top: var(--space-7); align-items: start; }
.dining-page .dining-lounge__notes > * { min-width: 0; width: 100%; }
.dining-page .dining-lounge__note p { max-width: 42rem; }
.dining-page .dining-lounge__cta-note { padding: var(--space-5); border: var(--border-light); background: color-mix(in srgb, var(--color-jade-deep) 55%, transparent); }
.dining-page .dining-lounge__cta-note p { max-width: 29rem; }

.dining-page .dining-etiquette__heading { width: min(100%, 39rem); margin-bottom: var(--space-7); }
.dining-page .dining-etiquette__heading > p { max-width: 39rem; }
.dining-page .dining-etiquette__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); align-items: start; }
.dining-page .dining-etiquette__item { min-width: 0; width: 100%; padding-bottom: var(--space-5); border-bottom: 2px solid var(--color-line-warm); }
.dining-page .dining-etiquette__item h3 { font-size: 1.25rem; }
.dining-page .dining-etiquette__item p { max-width: 30rem; margin-bottom: 0; }
.dining-page .dining-etiquette__marker { width: 1.75rem; height: 2.25rem; margin-bottom: var(--space-4); border: 3px solid var(--color-blue); border-bottom: 0; border-radius: 2rem 2rem 0 0; }
.dining-page .dining-etiquette__item--nights { border-bottom-color: var(--color-mulberry); }

.dining-page .dining-pathways h2 { margin-bottom: var(--space-7); }
.dining-page .dining-pathways__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); align-items: stretch; }
.dining-page .dining-pathways__tile { display: flex; flex-direction: column; min-width: 0; width: 100%; padding: var(--space-5); gap: var(--space-4); }
.dining-page .dining-pathways__tile > * { min-width: 0; margin: 0; }
.dining-page .dining-pathways__tile h3 { font-size: 1.4rem; }
.dining-page .dining-pathways__tile p { max-width: 25rem; }
.dining-page .dining-pathways__tile .dining-link { margin-top: auto; }
.dining-page .dining-pathways__tile--dining { background: var(--color-limestone); }
.dining-page .dining-pathways__tile--courtyard { border-top: 3px solid var(--color-blue); background: var(--color-white); }
.dining-page .dining-pathways__tile--lounge { background: var(--color-jade); color: var(--color-white); }
.dining-page .dining-pathways__tile--holdem { background: var(--color-mulberry); color: var(--color-white); }
.dining-page .dining-pathways__bridge { display: flex; flex-direction: column; align-items: center; min-width: 0; width: min(100%, 37.5rem); margin: var(--space-8) auto 0; gap: var(--space-4); text-align: center; }
.dining-page .dining-pathways__bridge > * { min-width: 0; margin: 0; }
.dining-page .dining-pathways__bridge .rule { width: 3rem; }
.dining-page .dining-pathways__bridge p { font-family: var(--font-heading); font-size: 1.75rem; line-height: 1.15; }

.dining-page .dining-close { padding-block: var(--section-space); }
.dining-page .dining-close__panel { position: relative; display: flex; flex-direction: column; align-items: center; min-width: 0; width: min(100%, 60rem); margin-inline: auto; padding: clamp(2rem, 6vw, 4rem); overflow: hidden; border: 1px solid color-mix(in srgb, var(--color-cream) 42%, transparent); gap: var(--space-6); text-align: center; }
.dining-page .dining-close__panel > * { min-width: 0; }
.dining-page .dining-close__arch { position: absolute; top: -7rem; right: 8%; width: 13rem; height: 16rem; border: 1px solid color-mix(in srgb, var(--color-blue) 88%, transparent); border-bottom: 0; border-radius: 13rem 13rem 0 0; }
.dining-page .dining-close__copy { position: relative; z-index: 1; width: min(100%, 32.5rem); }
.dining-page .dining-close__copy .eyebrow { color: var(--color-cream); }
.dining-page .dining-close__copy p { margin-bottom: var(--space-4); }
.dining-page .dining-close__copy p:last-child { margin-bottom: 0; }
.dining-page .dining-close__actions { position: relative; z-index: 1; justify-content: center; }

@media (max-width: 1040px) {
  .dining-page .dining-signature__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .dining-page .dining-signature__feature { grid-column: 1 / span 7; }
  .dining-page .dining-signature__media { grid-column: 8 / span 5; min-height: 31rem; }
  .dining-page .dining-signature__support { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0; gap: var(--space-5); }
  .dining-page .dining-signature__support > * { min-width: 0; width: 100%; }
  .dining-page .dining-pathways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 980px) {
  .dining-page .dining-hero__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
  .dining-page .dining-hero__copy { max-width: none; }
  .dining-page .dining-hero__media { min-height: 31rem; border-radius: var(--radius-panel) 0 0 var(--radius-panel); }
}

@media (max-width: 960px) {
  .dining-page .dining-lounge__lead { width: min(100%, 43rem); }
  .dining-page .dining-lounge__media-wrap { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; }
  .dining-page .dining-lounge__notes { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-5); }
}

@media (max-width: 940px) {
  .dining-page .dining-dusk__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dining-page .dining-dusk__step--poker { grid-column: 1 / -1; }
}

@media (max-width: 920px) {
  .dining-page .dining-courtyard__media { min-height: 0; overflow: visible; }
  .dining-page .dining-courtyard__media img { position: relative; display: block; height: 32rem; }
  .dining-page .dining-courtyard__captions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; padding-block: var(--space-5); gap: var(--space-5); }
  .dining-page .dining-courtyard__caption { width: 100%; }
}

@media (max-width: 900px) {
  .dining-page .dining-rhythm__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
  .dining-page .dining-rhythm__tile { padding: var(--space-5); }
  .dining-page .dining-etiquette__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dining-page .dining-etiquette__item--nights { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .dining-page .dining-rhythm__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .dining-page .dining-rhythm__tile--shared { margin-top: 0; }
}

@media (max-width: 720px) {
  .dining-page .dining-hero { padding-top: var(--space-7); }
  .dining-page .dining-hero__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .dining-page .dining-hero__copy h1 { max-width: 11ch; font-size: 2.5rem; line-height: 1; }
  .dining-page .dining-hero__lead { font-size: 1.125rem; }
  .dining-page .dining-hero__media { width: calc(100% + (var(--gutter) * 2)); min-height: 28rem; margin-left: calc(var(--gutter) * -1); border-radius: 0; }
  .dining-page .dining-signature__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .dining-page .dining-signature__feature,
  .dining-page .dining-signature__media,
  .dining-page .dining-signature__support { grid-column: 1; width: 100%; }
  .dining-page .dining-signature__feature { padding-top: 0; }
  .dining-page .dining-signature__media { min-height: 30rem; width: calc(100% + (var(--gutter) * 2)); margin-left: calc(var(--gutter) * -1); border-radius: 0; }
  .dining-page .dining-signature__support { grid-template-columns: minmax(0, 1fr); }
  .dining-page .dining-dusk__grid { grid-template-columns: minmax(0, 1fr); }
  .dining-page .dining-dusk__step--poker { grid-column: 1; }
  .dining-page .dining-lounge__notes { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .dining-page .dining-lounge__media-wrap { width: 100%; margin: 0; }
  .dining-page .dining-lounge__media { min-height: 30rem; border-radius: 0; }
}

@media (max-width: 680px) {
  .dining-page .dining-lounge__lead { width: 100%; }
  .dining-page .dining-lounge__media { min-height: 29rem; }
}

@media (max-width: 640px) {
  .dining-page .dining-courtyard__lead { width: 100%; }
  .dining-page .dining-courtyard__lead .lead { font-size: 1.0625rem; line-height: 1.55; }
  .dining-page .dining-courtyard__media img { height: 31rem; object-position: 50% 35%; }
  .dining-page .dining-courtyard__captions { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
  .dining-page .dining-courtyard__caption { padding: var(--space-5); }
  .dining-page .dining-etiquette__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .dining-page .dining-etiquette__item--nights { grid-column: 1; }
  .dining-page .dining-pathways__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .dining-page .dining-pathways__tile { min-height: 0; }
}

@media (max-width: 540px) {
  .dining-page .dining-hero__actions,
  .dining-page .dining-lounge__actions,
  .dining-page .dining-close__actions { flex-direction: column; align-items: stretch; }
  .dining-page .dining-hero__actions > *,
  .dining-page .dining-lounge__actions > *,
  .dining-page .dining-close__actions > * { width: 100%; }
  .dining-page .dining-close__panel { align-items: stretch; text-align: center; }
  .dining-page .dining-close__actions { align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .dining-page .dining-lounge__media:hover img { filter: none; }
}
