.dining-page {
  overflow: hidden;
}

.dining-page .section {
  position: relative;
}

.dining-page .eyebrow {
  margin-block-end: var(--space-3);
}

.dining-page h2,
.dining-page h3 {
  text-wrap: balance;
}

.dining-page .button {
  min-block-size: 3rem;
}

.dining-text-link {
  align-items: center;
  color: var(--color-ink);
  display: inline-flex;
  font-size: var(--text-label);
  font-weight: 700;
  min-block-size: 2.75rem;
}

.dining-hero__grid,
.dining-seasonal__grid,
.dining-shared__grid,
.dining-poker-food__top,
.dining-late__grid,
.dining-bridge__grid {
  display: grid;
  min-inline-size: 0;
}

.dining-hero__copy,
.dining-hero__media,
.dining-seasonal__copy,
.dining-seasonal__media,
.dining-shared__main,
.dining-shared__note,
.dining-poker-food__heading,
.dining-poker-food__cards,
.dining-late__panel,
.dining-late__media,
.dining-late__dessert,
.dining-bridge__lead,
.dining-bridge__rail {
  min-inline-size: 0;
  inline-size: 100%;
}

.dining-hero__grid {
  gap: var(--space-6);
}

.dining-hero__copy {
  align-self: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.dining-hero__copy > * {
  margin-block-end: 0;
}

.dining-hero__copy h1 {
  inline-size: min(100%, 24ch);
}

.dining-hero__copy .lead {
  inline-size: min(100%, 56ch);
}

.dining-hero__actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  min-inline-size: 0;
}

.dining-hero__actions > * {
  min-inline-size: 0;
}

.dining-hero__note {
  align-items: flex-start;
  border-block-start: var(--border-default);
  display: flex;
  gap: var(--space-3);
  inline-size: min(100%, 42ch);
  padding-block-start: var(--space-4);
}

.dining-hero__note p {
  margin-block-end: 0;
}

.dining-suit-motif {
  color: var(--color-cyan);
  flex: 0 0 auto;
  font-size: 1.5rem;
  line-height: 1.2;
}

.dining-hero__media,
.dining-seasonal__media,
.dining-late__media {
  margin-block-end: 0;
  overflow: hidden;
}

.dining-hero__media {
  aspect-ratio: 4 / 3;
}

.dining-hero__media img,
.dining-seasonal__media img,
.dining-late__media img {
  block-size: 100%;
  inline-size: 100%;
  max-inline-size: none;
  object-fit: cover;
}

.dining-hero__media img {
  object-position: center;
}

.dining-occasions__intro,
.dining-dietary__intro,
.dining-drinks__intro {
  inline-size: min(100%, 54ch);
}

.dining-occasions__cards,
.dining-dietary__cards,
.dining-drinks__cards {
  display: grid;
  gap: var(--space-4);
  margin-block-start: var(--space-7);
  min-inline-size: 0;
}

.dining-occasion-card,
.dining-guidance-card,
.dining-dietary-card,
.dining-drink-card {
  border: var(--border-default);
  border-radius: var(--radius-card);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-5);
  transition: border-color var(--transition-base);
}

.dining-occasion-card:hover {
  border-block-start-color: var(--color-cobalt);
}

.dining-occasion-card > *,
.dining-guidance-card > *,
.dining-dietary-card > *,
.dining-drink-card > * {
  margin-block-end: 0;
}

.dining-occasion-card--white,
.dining-dietary-card,
.dining-drink-card {
  background: var(--color-white);
}

.dining-occasion-card--sand,
.dining-drink-card--sand {
  background: var(--color-sand);
}

.dining-occasion-card--ice,
.dining-guidance-card,
.dining-drink-card--ice {
  background: var(--color-ice);
}

.dining-guidance-card--cloud {
  background: var(--color-cloud);
}

.dining-card-label {
  color: var(--color-text-muted);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: 1.35;
  text-transform: uppercase;
}

.dining-card-label--apricot,
.dining-eyebrow--apricot {
  color: #9a4f24;
}

.dining-card-label--cobalt {
  color: var(--color-cobalt);
}

.dining-seasonal__grid {
  gap: var(--space-6);
}

.dining-seasonal__copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.dining-seasonal__copy > * {
  margin-block-end: 0;
}

.dining-seasonal__copy > p {
  inline-size: min(100%, 55ch);
}

.dining-seasonal__detail {
  border-block-start: 2px solid var(--color-cobalt);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 55ch);
  padding-block-start: var(--space-4);
}

.dining-seasonal__detail > * {
  margin-block-end: 0;
}

.dining-seasonal__callout {
  background: var(--color-ice);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 40ch);
  padding: var(--space-5);
}

.dining-seasonal__callout > * {
  margin-block-end: 0;
}

.dining-seasonal__media {
  aspect-ratio: 4 / 3;
}

.dining-seasonal__media img {
  object-position: 65% center;
}

.dining-shared__grid {
  gap: var(--space-6);
}

.dining-shared__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.dining-shared__main > * {
  margin-block-end: 0;
}

.dining-shared__main .lead,
.dining-shared__main > p:not(.eyebrow) {
  inline-size: min(100%, 60ch);
}

.dining-shared__action {
  border: 1px solid var(--color-cobalt);
  border-radius: var(--radius-panel);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 44ch);
  padding: var(--space-5);
}

.dining-shared__action > * {
  margin-block-end: 0;
}

.dining-shared__note {
  align-self: start;
  border-block-start: 1px solid var(--color-cobalt);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-block-start: var(--space-4);
}

.dining-shared__note > * {
  margin-block-end: 0;
}

.dining-note-number {
  color: #148e88;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.dining-poker-food__top {
  gap: var(--space-6);
}

.dining-poker-food__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.dining-poker-food__heading > * {
  margin-block-end: 0;
}

.dining-poker-food__heading > p:not(.eyebrow) {
  inline-size: min(100%, 52ch);
}

.dining-poker-food__cards {
  display: grid;
  gap: var(--space-4);
  min-inline-size: 0;
}

.dining-guidance-card {
  inline-size: 100%;
}

.dining-responsibility-strip,
.dining-drinks__strip {
  border-radius: var(--radius-card);
  margin-block-start: var(--space-6);
  padding: var(--space-5);
}

.dining-responsibility-strip {
  background: var(--color-ink);
  border-inline-start: 4px solid var(--color-cyan);
  color: var(--color-white);
  text-align: center;
}

.dining-responsibility-strip p,
.dining-drinks__strip p {
  margin-block-end: 0;
}

.dining-responsibility-strip p {
  margin-inline: auto;
  max-inline-size: 60ch;
}

.dining-responsibility-strip a {
  color: var(--color-white);
}

.dining-poker-food__cta {
  margin-block-start: var(--space-5);
}

.dining-late__grid {
  gap: var(--space-6);
}

.dining-late__panel {
  border-radius: var(--radius-panel);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
}

.dining-late__panel > * {
  margin-block-end: 0;
}

.dining-late__panel p:not(.eyebrow) {
  inline-size: min(100%, 44ch);
}

.dining-late__media {
  aspect-ratio: 3 / 2;
}

.dining-late__media img {
  object-position: center;
}

.dining-late__dessert {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.dining-late__dessert > * {
  margin-block-end: 0;
}

.dining-late__dessert > p:not(.eyebrow) {
  inline-size: min(100%, 52ch);
}

.dining-late__booking {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 30ch);
}

.dining-late__booking > * {
  margin-block-end: 0;
}

.dining-dietary__intro {
  inline-size: min(100%, 50ch);
}

.dining-dietary__callout {
  background: var(--color-ice);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  display: grid;
  gap: var(--space-5);
  margin-block-start: var(--space-6);
  min-inline-size: 0;
  padding: var(--space-5);
}

.dining-dietary__callout > div {
  min-inline-size: 0;
}

.dining-dietary__callout h3,
.dining-dietary__callout p {
  margin-block-end: 0;
}

.dining-dietary__callout > div:first-child {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  inline-size: min(100%, 52ch);
}

.dining-dietary__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.dining-dietary__actions > * {
  inline-size: 100%;
  min-inline-size: 0;
}

.dining-drinks__intro {
  inline-size: min(100%, 52ch);
}

.dining-drinks__strip {
  border-inline-start: 4px solid var(--color-cyan);
  text-align: left;
}

.dining-drinks__strip p {
  max-inline-size: 64ch;
}

.dining-bridge__grid {
  gap: var(--space-6);
}

.dining-bridge__lead {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.dining-bridge__lead > * {
  margin-block-end: 0;
}

.dining-bridge__lead .lead {
  inline-size: min(100%, 58ch);
}

.dining-bridge__rail {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.dining-planning-point {
  border-block-start: var(--border-default);
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-block-start: var(--space-4);
}

.dining-planning-point > * {
  margin-block-end: 0;
}

.dining-planning-point--ice {
  background: var(--color-white);
  border: var(--border-default);
  border-radius: var(--radius-card);
  padding: var(--space-4);
}

.dining-private__panels {
  display: grid;
  gap: var(--space-4);
  margin-block-start: var(--space-6);
  min-inline-size: 0;
}

.dining-private__panel {
  border: var(--border-default);
  border-radius: var(--radius-panel);
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-inline-size: 0;
  padding: var(--space-5);
}

.dining-private__panel > * {
  margin-block-end: 0;
}

.dining-private__panel > p {
  inline-size: min(100%, 48ch);
}

.dining-private__panel--sand {
  background: var(--color-sand);
}

.dining-private__panel--cloud {
  background: var(--color-cloud);
}

.dining-private__cta-copy {
  inline-size: min(100%, 32ch) !important;
}

.dining-reserve__inner {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-inline: auto;
  max-inline-size: 42.5rem;
  min-inline-size: 0;
  position: relative;
  text-align: center;
}

.dining-reserve__inner > * {
  margin-block-end: 0;
}

.dining-reserve__inner > p:not(.eyebrow) {
  inline-size: min(100%, 54ch);
}

.dining-crescent {
  block-size: 3rem;
  border: 2px solid var(--color-cyan);
  border-inline-start-color: transparent;
  border-radius: 50%;
  inline-size: 3rem;
  opacity: 0.65;
  transform: rotate(-30deg);
}

.dining-reserve__routes {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  justify-content: center;
  min-inline-size: 0;
}

.dining-reserve__routes > * {
  color: var(--color-ink);
  font-size: var(--text-label);
  font-weight: 700;
  min-block-size: 2.75rem;
  min-inline-size: 0;
}

.dining-reserve__routes > * + * {
  border-inline-start: var(--border-default);
  padding-inline-start: var(--space-4);
}

@media (min-width: 48rem) {
  .dining-hero__media {
    aspect-ratio: 16 / 10;
  }

  .dining-occasions__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-occasions__cards > * {
    inline-size: 100%;
    min-inline-size: 0;
  }

  .dining-poker-food__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-poker-food__cards > * {
    inline-size: 100%;
    min-inline-size: 0;
  }

  .dining-dietary__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-dietary__cards > * {
    inline-size: 100%;
    min-inline-size: 0;
  }

  .dining-drinks__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dining-drinks__cards > * {
    inline-size: 100%;
    min-inline-size: 0;
  }
}

@media (min-width: 56.25rem) {
  .dining-dietary__callout {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    align-items: center;
  }

  .dining-dietary__actions {
    align-items: stretch;
  }

  .dining-reserve__routes > * + * {
    border-inline-start: var(--border-default);
  }
}

@media (min-width: 58.75rem) {
  .dining-late__grid {
    grid-template-columns: minmax(21.25rem, 5fr) minmax(0, 7fr);
  }

  .dining-late__panel {
    grid-column: 1;
    grid-row: 1;
  }

  .dining-late__media {
    grid-column: 2;
    grid-row: 1;
  }

  .dining-late__dessert {
    grid-column: 2;
    grid-row: 2;
  }
}

@media (min-width: 60rem) {
  .dining-seasonal__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }

  .dining-seasonal__copy {
    grid-column: 1;
  }

  .dining-seasonal__media {
    align-self: stretch;
    grid-column: 2;
  }
}

@media (min-width: 61.25rem) {
  .dining-poker-food__top {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .dining-poker-food__heading {
    grid-column: 1;
  }

  .dining-poker-food__cards {
    grid-column: 2;
  }

  .dining-bridge__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .dining-bridge__lead {
    grid-column: 1;
  }

  .dining-bridge__rail {
    grid-column: 2;
  }
}

@media (min-width: 62.5rem) {
  .dining-shared__grid {
    grid-template-columns: minmax(0, 7fr) minmax(17.5rem, 5fr);
    gap: var(--space-7);
  }

  .dining-shared__main {
    grid-column: 1;
  }

  .dining-shared__note {
    grid-column: 2;
  }

  .dining-drinks__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dining-drinks__cards > * {
    inline-size: 100%;
    min-inline-size: 0;
  }
}

@media (min-width: 64rem) {
  .dining-hero__grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
  }

  .dining-hero__copy {
    grid-column: 1;
  }

  .dining-hero__media {
    grid-column: 2;
  }
}

@media (min-width: 75rem) {
  .dining-occasions__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .dining-occasion-card,
  .dining-guidance-card,
  .dining-dietary-card,
  .dining-drink-card {
    padding: var(--space-6);
  }

  .dining-private__panels {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: var(--space-5);
  }

  .dining-private__panel:first-child {
    grid-column: 1;
  }

  .dining-private__panel:last-child {
    grid-column: 2;
  }
}

@media (max-width: 47.999rem) {
  .dining-hero__actions,
  .dining-reserve__routes {
    align-items: stretch;
    flex-direction: column;
  }

  .dining-hero__actions > *,
  .dining-reserve__routes > * {
    inline-size: 100%;
  }

  .dining-hero__actions .button,
  .dining-poker-food__cta .button,
  .dining-late__booking .button,
  .dining-private__panel .button,
  .dining-reserve__inner > .button {
    min-block-size: 3rem;
  }

  .dining-reserve__routes > * {
    align-items: center;
    border: 1px solid var(--color-ink);
    border-radius: var(--radius-card);
    display: inline-flex;
    justify-content: center;
    padding: 0.75rem 1.25rem;
    text-decoration: none;
  }

  .dining-reserve__routes > * + * {
    border-inline-start: 1px solid var(--color-ink);
    padding-inline-start: 1.25rem;
  }
}

@media (hover: hover) and (pointer: fine) {
  .dining-seasonal__media img,
  .dining-late__media img {
    transition: transform var(--transition-slow);
  }

  .dining-seasonal__media:hover img,
  .dining-late__media:hover img {
    transform: scale(1.02);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dining-seasonal__media img,
  .dining-late__media img {
    transition: none;
  }

  .dining-seasonal__media:hover img,
  .dining-late__media:hover img {
    transform: none;
  }
}
