#dining-page {
  overflow: clip;
}

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

.dining-hero__grid,
.dining-menu__feature,
.dining-cellar__feature {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: center;
}

.dining-hero__content {
  grid-column: span 5;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.dining-hero__content > * { margin: 0; }
.dining-hero__content .lead { max-width: 56ch; }
.dining-hero__media { grid-column: span 7; width: 100%; min-width: 0; margin: 0; border: var(--border-subtle); }
.dining-hero__media img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; object-position: center right; }
.dining-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); width: 100%; min-width: 0; align-items: center; }
.dining-hero__service-note { display: grid; grid-template-columns: 9rem minmax(0, 1fr); gap: var(--space-3); width: 100%; padding-top: var(--space-4); border-top: var(--border-subtle); }
.dining-hero__service-note span { color: var(--color-cognac-amber); font-size: var(--text-meta); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.dining-hero__service-note p { margin: 0; font-size: var(--text-label); }

.dining-flow__heading { width: 66.666%; min-width: 0; }
.dining-flow__heading .lead { max-width: 64ch; }
.dining-flow__cards,
.dining-suite__modules,
.dining-paths__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-flow__cards > *, .dining-suite__modules > *, .dining-paths__cards > * { min-width: 0; width: 100%; }
.dining-flow__card { min-height: 100%; padding: var(--space-5); border-top: var(--border-subtle); }
.dining-flow__card p { max-width: 35ch; }
.dining-flow__card--policy { border: 1px solid rgba(143, 29, 44, .65); background: var(--color-panel-alt); box-shadow: inset 3px 0 0 var(--color-vintage-merlot); }
.dining-flow__card .button-link { min-height: 2.75rem; align-items: center; }

.dining-menu__heading { width: 58.333%; min-width: 0; }
.dining-menu__heading .lead { max-width: 62ch; }
.dining-menu__feature { margin-top: var(--space-7); align-items: stretch; }
.dining-menu__image { grid-column: span 7; width: 100%; min-width: 0; margin: 0; border: var(--border-subtle); }
.dining-menu__image img { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; }
.dining-menu__lead-card { grid-column: span 5; min-width: 0; margin: 0; }
.dining-menu__lead-card p { max-width: 38ch; }
.dining-menu__supporting { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-5); }
.dining-menu__support-card { min-width: 0; width: 100%; }
.dining-menu__support-card p:not(.metadata) { max-width: 38ch; }
.dining-menu__availability { width: 100%; min-width: 0; margin-top: var(--space-5); padding: var(--space-4); border: 1px solid var(--color-smoked-iron); background: var(--color-smoked-iron); }
.dining-menu__availability p { max-width: 76ch; margin: 0; font-size: var(--text-label); }

.dining-tasting__intro { width: 58.333%; min-width: 0; padding-left: var(--space-5); border-left: 1px solid var(--color-cognac-amber); }
.dining-tasting__intro .lead { max-width: 64ch; }
.dining-tasting__cards,
.dining-cellar__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.dining-tasting__cards > *, .dining-cellar__cards > * { width: 100%; min-width: 0; }
.dining-tasting__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.dining-tasting__card > * { margin: 0; }
.dining-tasting__card p { max-width: 38ch; }
.dining-tasting__card .button-link { min-height: 2.75rem; align-items: center; }
.dining-tasting__callout { width: 100%; min-width: 0; margin-top: var(--space-5); padding: var(--space-4) var(--space-5); border: var(--border-subtle); background: rgba(9, 10, 13, .24); }
.dining-tasting__callout p { max-width: 72ch; margin: 0; }

.dining-suite__heading { width: 58.333%; min-width: 0; }
.dining-suite__media { position: relative; width: 100%; min-width: 0; margin: var(--space-7) 0 0; border: var(--border-subtle); overflow: hidden; }
.dining-suite__media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(9,10,13,.62), rgba(9,10,13,.12) 65%); }
.dining-suite__media img { width: 100%; aspect-ratio: 2.4 / 1; object-fit: cover; object-position: center; }
.dining-suite__caption { position: absolute; z-index: 1; left: var(--space-6); bottom: var(--space-6); width: min(42ch, calc(100% - var(--space-10))); margin: 0; color: var(--color-alabaster-white); font-family: var(--font-heading); font-size: clamp(1.5rem, 2.5vw, 2rem); line-height: 1.12; }
.dining-suite__module { padding-top: var(--space-4); border-top: var(--border-subtle); }
.dining-suite__module p:not(.metadata) { max-width: 34ch; }
.dining-suite__module--accent { padding-left: var(--space-4); border-left: 1px solid var(--color-cognac-amber); }
.dining-suite__module .button-link { min-height: 2.75rem; align-items: center; }

.dining-cellar__copy { grid-column: span 6; min-width: 0; }
.dining-cellar__copy .lead { max-width: 58ch; }
.dining-cellar__image { grid-column: span 6; width: 100%; min-width: 0; margin: 0; border: var(--border-subtle); }
.dining-cellar__image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.dining-cellar__card p { max-width: 38ch; }
.dining-cellar__card--rsa { border-top-color: var(--color-vintage-merlot); }

.dining-paths__heading { width: 66.666%; min-width: 0; }
.dining-paths__heading .lead { max-width: 56ch; }
.dining-paths__card { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-height: 100%; }
.dining-paths__card > * { margin: 0; }
.dining-paths__card p { max-width: 34ch; }
.dining-paths__card .button, .dining-paths__card .button-secondary { width: 100%; margin-top: auto; }

.dining-enquiry__intro { width: 58.333%; min-width: 0; }
.dining-enquiry__intro .lead { max-width: 58ch; }
.dining-enquiry__form { width: 75%; min-width: 0; margin: var(--space-7) 0 0; }
.dining-enquiry__status:empty { display: none; }
.dining-enquiry__status { margin-bottom: var(--space-5); padding: var(--space-4); border: 1px solid var(--color-vintage-merlot); color: #d87883; font-size: var(--text-label); }
.dining-enquiry__status ul { margin: var(--space-2) 0 0; padding-left: 1.2rem; list-style: disc !important; }
.dining-enquiry__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.dining-enquiry__field { width: 100%; min-width: 0; }
.dining-enquiry__field--full, .dining-enquiry__consent { grid-column: span 2; min-width: 0; width: 100%; }
.dining-enquiry__field .helper-text { margin: var(--space-2) 0 0; }
.dining-enquiry__consent label { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; color: var(--color-sand-cream); font-weight: 400; line-height: 1.5; }
.dining-enquiry__consent input { flex: 0 0 auto; margin-top: .2rem; }
.dining-enquiry__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: var(--space-6); }
.dining-enquiry__actions > * { margin: 0; }
.dining-enquiry__actions .helper-text { max-width: 68ch; }
.dining-enquiry__routing { width: 75%; min-width: 0; margin-top: var(--space-5); padding: var(--space-4); border-top: var(--border-subtle); background: var(--color-panel-alt); }
.dining-enquiry__routing p { max-width: 68ch; margin: 0; }

.dining-faq__content { width: 75%; min-width: 0; }
.dining-faq__list { margin-top: var(--space-6); border-top: var(--border-subtle); }
.dining-faq__list details { border-bottom: var(--border-subtle); }
.dining-faq__list summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); min-height: 3.25rem; padding: var(--space-4) 0; color: var(--color-alabaster-white); cursor: pointer; font-weight: 600; list-style: none; }
.dining-faq__list summary::-webkit-details-marker { display: none; }
.dining-faq__list summary::after { content: "+"; flex: 0 0 auto; color: var(--color-cognac-amber); font-size: 1.5rem; font-weight: 400; }
.dining-faq__list details[open] summary::after { content: "−"; }
.dining-faq__answer { max-width: 68ch; padding-bottom: var(--space-4); }
.dining-faq__answer p { margin: 0; }
.dining-faq__policy-label { display: inline-block; margin-right: var(--space-2); color: #d87883; font-size: var(--text-meta); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.dining-faq__address { display: grid; grid-template-columns: 10rem minmax(0, 1fr); gap: var(--space-3); width: 100%; margin-top: var(--space-5); padding: var(--space-4); border: var(--border-subtle); background: var(--color-panel); }
.dining-faq__address span { color: var(--color-cognac-amber); font-size: var(--text-meta); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.dining-faq__address p { max-width: 76ch; margin: 0; }

.dining-closing__content { width: 66.666%; min-width: 0; margin-inline: auto; padding-top: var(--space-6); border-top: var(--border-subtle); text-align: center; }
.dining-closing__content .lead { max-width: 54ch; margin-inline: auto; }
.dining-closing__actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--space-4); width: 100%; min-width: 0; }

@media (max-width: 1024px) {
  .dining-hero__grid, .dining-menu__feature, .dining-cellar__feature { gap: var(--space-4); }
}

@media (max-width: 899px) {
  .dining-hero__grid, .dining-menu__feature, .dining-cellar__feature { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dining-hero__content, .dining-hero__media, .dining-menu__image, .dining-menu__lead-card, .dining-cellar__copy, .dining-cellar__image { grid-column: span 1; }
  .dining-hero__content .lead { max-width: 50ch; }
  .dining-menu__image img { min-height: 20rem; }
  .dining-flow__cards, .dining-suite__modules, .dining-paths__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dining-flow__cards > :nth-child(3), .dining-suite__modules > :nth-child(3), .dining-paths__cards > :nth-child(3) { grid-column: span 2; }
  .dining-tasting__cards { grid-template-columns: 1fr; }
  .dining-enquiry__form, .dining-enquiry__routing { width: 100%; }
}

@media (max-width: 760px) {
  .dining-hero__grid, .dining-menu__feature, .dining-cellar__feature, .dining-flow__cards, .dining-suite__modules, .dining-paths__cards, .dining-menu__supporting, .dining-tasting__cards, .dining-cellar__cards, .dining-enquiry__fields { grid-template-columns: 1fr; }
  .dining-hero__content, .dining-hero__media, .dining-menu__image, .dining-menu__lead-card, .dining-cellar__copy, .dining-cellar__image, .dining-flow__cards > :nth-child(3), .dining-suite__modules > :nth-child(3), .dining-paths__cards > :nth-child(3), .dining-enquiry__field--full, .dining-enquiry__consent { grid-column: span 1; }
  .dining-hero__grid { align-items: start; }
  .dining-hero__media { order: 2; }
  .dining-hero__media img, .dining-menu__image img { aspect-ratio: 4 / 3; min-height: 0; }
  .dining-cellar__image img { aspect-ratio: 3 / 2; }
  .dining-flow__heading, .dining-menu__heading, .dining-tasting__intro, .dining-suite__heading, .dining-paths__heading, .dining-enquiry__intro, .dining-faq__content, .dining-closing__content { width: 100%; }
  .dining-tasting__intro { padding-left: var(--space-4); }
  .dining-suite__media::after { display: none; }
  .dining-suite__media img { aspect-ratio: 4 / 3; object-position: center; }
  .dining-suite__caption { position: static; width: 100%; padding: var(--space-5); background: var(--color-panel); color: var(--color-alabaster-white); font-size: var(--text-card-heading); }
  .dining-suite__module--accent { padding-left: 0; border-left: 0; border-top-color: var(--color-cognac-amber); }
  .dining-enquiry__form { margin-top: var(--space-6); }
  .dining-faq__address, .dining-hero__service-note { grid-template-columns: 1fr; }
  .dining-closing__content { padding-inline: 0; }
}

@media (max-width: 620px) {
  .dining-hero__actions, .dining-closing__actions { flex-direction: column; align-items: stretch; }
  .dining-hero__actions .button, .dining-hero__actions .button-link, .dining-closing__actions .button, .dining-closing__actions .button-link { width: 100%; min-height: 2.75rem; }
  .dining-hero__actions .button-link, .dining-closing__actions .button-link { justify-content: center; }
  .dining-enquiry__actions .button { width: 100%; }
}
