.home-page {
  overflow: clip;
}

.home-page section[id] {
  scroll-margin-top: 6rem;
}

.home-hero {
  padding-block: var(--space-9) var(--space-8);
}

.home-hero__grid,
.home-dining__grid,
.home-hosted__grid,
.home-evenings__grid,
.home-reservation__grid,
.home-groups__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.home-hero__copy {
  grid-column: 1 / span 5;
  align-self: center;
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-6);
  border-width: var(--border-strong);
}

.home-hero__copy > * { margin: 0; min-width: 0; }
.home-hero__copy .eyebrow { margin-bottom: 0; }
.home-hero__copy h1 { max-width: 28ch; }
.home-hero__lead { max-width: 52ch; }
.home-hero__actions { display: flex; flex-wrap: wrap; min-width: 0; gap: var(--space-3); }
.home-hero__actions > * { flex: 1 1 11rem; min-width: 0; }
.home-hero__flow-link { align-self: flex-start; font-weight: 700; }
.home-hero__note { max-width: 20.625rem; padding: var(--space-4); border: var(--border-ink); border-radius: var(--radius-soft); background: var(--color-paper); line-height: var(--leading-small); }
.home-hero__note strong { display: block; margin-bottom: var(--space-2); }
.home-hero__image { grid-column: 7 / span 6; width: 100%; min-width: 0; margin: 0; align-self: stretch; }
.home-hero__image img { object-position: 65% 50%; }

.home-pathways__intro { width: min(100%, 40rem); margin-bottom: var(--space-7); }
.home-pathways__intro > :last-child { margin-bottom: 0; }
.home-pathways__grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-pathway { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-pathway > * { margin: 0; min-width: 0; }
.home-pathway a { margin-top: auto; align-self: flex-start; font-weight: 700; }
.home-pathway--dining { grid-column: 1 / span 4; }
.home-pathway--lounge { grid-column: 5 / span 3; margin-top: var(--space-5); }
.home-pathway--hosted { grid-column: 8 / span 5; }
.home-tab { display: inline-flex; align-self: flex-start; padding: var(--space-2) var(--space-3); border: var(--border-ink); background: var(--color-mint); font-size: var(--text-xs); font-weight: 700; line-height: 1; }
.home-tab--sun { background: var(--color-sun); }
.home-tab--paper { background: var(--color-paper); }

.home-dining__image { grid-column: 1 / span 7; width: 100%; min-width: 0; margin: 0; align-self: center; }
.home-dining__image img { object-position: 40% 58%; }
.home-dining__copy { grid-column: 8 / span 5; align-self: center; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); margin-left: calc(var(--space-5) * -1); }
.home-dining__copy > * { margin: 0; min-width: 0; }
.home-dining__copy h2 { max-width: 16ch; }
.home-dining__lead { max-width: 48ch; }
.home-dining__body { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); padding-top: var(--space-4); border-top: var(--rule-ink); }
.home-dining__body p { max-width: 44ch; margin: 0; }
.home-dining__copy > a { align-self: flex-start; font-weight: 700; }
.home-dining__callout { padding: var(--space-4); border: var(--border-ink); background: var(--color-mint); }

.home-hosted__main { grid-column: 1 / span 8; display: flex; flex-direction: column; min-width: 0; gap: var(--space-5); }
.home-hosted__main > * { margin: 0; min-width: 0; }
.home-hosted__main h2 { max-width: 20ch; }
.home-hosted__definition { max-width: 64ch; }
.home-hosted__main h3 { margin-top: var(--space-2); }
.home-hosted__points { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-hosted__points > div { min-width: 0; padding-top: var(--space-3); border-top: var(--rule-ink); }
.home-hosted__points p { max-width: 48ch; margin: var(--space-2) 0 0; }
.home-hosted__formats { display: grid; min-width: 0; grid-template-columns: 1.1fr 1fr 1fr; gap: var(--space-3); }
.home-hosted__formats > article { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); padding: var(--space-4); border: var(--border-ink); background: var(--color-paper-muted); }
.home-hosted__formats p { margin: 0; }
.home-hosted__formats a { margin-top: auto; font-weight: 700; }
.home-format-label { display: inline-flex; align-self: flex-start; padding: var(--space-2) var(--space-3); background: var(--color-sun); border: var(--border-ink); font-size: var(--text-xs); font-weight: 700; line-height: 1; }
.home-hosted__aside { grid-column: 10 / span 3; align-self: start; display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.home-hosted__aside > * { margin: 0; }
.home-hosted__aside p { max-width: 26ch; }

.home-evenings__copy { grid-column: 1 / span 5; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); align-self: center; }
.home-evenings__copy > * { margin: 0; min-width: 0; }
.home-evenings__copy h2 { max-width: 16ch; }
.home-evenings__lead { max-width: 50ch; }
.home-evenings__steps { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.home-evenings__steps p { margin: 0; padding-bottom: var(--space-3); border-bottom: var(--rule-ink); }
.home-evenings__note { padding: var(--space-3) var(--space-4); border: var(--border-ink); background: var(--color-mint); }
.home-evenings__action-copy { max-width: 42ch; }
.home-evenings__copy .button { align-self: flex-start; }
.home-evenings__image { grid-column: 7 / span 6; width: 100%; min-width: 0; margin: 0; align-self: center; }
.home-evenings__image img { object-position: 50% 50%; }

.home-flow__grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: stretch; }
.home-flow__lead,
.home-flow__step { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-flow__lead > *, .home-flow__step > * { margin: 0; min-width: 0; }
.home-flow__lead { grid-column: 1 / span 3; }
.home-flow__step:nth-child(2) { grid-column: 4 / span 3; }
.home-flow__step:nth-child(3) { grid-column: 7 / span 3; }
.home-flow__step:nth-child(4) { grid-column: 10 / span 3; }
.home-flow__number { font-family: var(--font-display); font-size: 3.5rem; line-height: 1; }
.home-flow__tab { display: inline-flex; align-self: flex-start; padding: var(--space-2) var(--space-3); border: var(--border-ink); background: var(--color-mint); font-weight: 700; line-height: 1; }
.home-flow__tab--sun { background: var(--color-sun); }
.home-flow__tab--paper { background: var(--color-paper); }
.home-flow__step a { align-self: flex-start; margin-top: auto; font-weight: 700; }
.home-flow__links { display: flex; flex-direction: column; min-width: 0; gap: var(--space-2); margin-top: auto; }
.home-flow__links a { margin: 0; }
.home-flow__clarification { width: calc((100% - (var(--space-5) * 2)) / 2); min-width: 0; margin: var(--space-5) 0 0 auto; padding: var(--space-4); border: var(--border-ink); border-radius: var(--radius-soft); background: var(--color-paper); }

.home-groups { padding-block: 0; }
.home-groups__band { padding-block: var(--space-8); background: var(--color-ink); color: var(--color-white); }
.home-groups__copy { grid-column: 1 / span 6; display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-groups__copy > * { margin: 0; min-width: 0; }
.home-groups__copy .eyebrow, .home-groups__copy h2 { color: var(--color-white); }
.home-groups__copy p { max-width: 54ch; }
.home-groups__action-copy { font-weight: 700; }
.home-groups__copy .button { align-self: flex-start; }
.home-groups__inset { grid-column: 8 / span 5; min-width: 0; padding: var(--space-5); border: var(--border-ink); background: var(--color-paper); color: var(--color-ink); box-shadow: var(--shadow-hard); }
.home-groups__inset h3 { margin-bottom: var(--space-4); }
.home-groups__prompts { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); }
.home-groups__prompts p { margin: 0; padding-bottom: var(--space-3); border-bottom: var(--rule-ink); }
.home-groups__prompts p:last-child { padding-bottom: 0; border-bottom: 0; }

.home-discovery__intro { width: min(100%, 39rem); margin-bottom: var(--space-7); }
.home-discovery__intro > * { min-width: 0; }
.home-discovery__intro .status-tag { margin-bottom: var(--space-3); }
.home-discovery__intro > :last-child { margin-bottom: 0; }
.home-discovery__grid { display: grid; min-width: 0; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-discovery__grid article { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-discovery__grid article > * { margin: 0; min-width: 0; }
.home-discovery__grid article a:last-child { align-self: flex-start; margin-top: auto; font-weight: 700; }
.home-discovery__primary { grid-column: 1 / span 5; }
.home-discovery__secondary { grid-column: 6 / span 3; margin-top: var(--space-4); }
.home-discovery__tertiary { grid-column: 9 / span 4; }

.home-reservation { background: var(--color-paper-muted); }
.home-reservation__intro { grid-column: 1 / span 5; align-self: start; }
.home-reservation__intro h2 { max-width: 14ch; }
.home-reservation__intro p { max-width: 50ch; }
.home-reservation__venue { display: inline-flex; margin-bottom: var(--space-4); padding: var(--space-2) var(--space-3); border: var(--border-ink); background: var(--color-sun); font-weight: 700; }
.home-reservation__panel { grid-column: 7 / span 5; background: var(--color-white); }
.home-reservation__panel form { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); }
.home-reservation__panel form > * { min-width: 0; margin: 0; }
.home-reservation__required { font-size: var(--text-xs); }
.home-reservation__field + .home-reservation__field { margin-top: 0; }
.home-reservation__date-time { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-reservation__date-time > *, .home-reservation__party { min-width: 0; }
.home-reservation__party { width: min(100%, 16rem); }
.home-reservation__recreation-note { padding: var(--space-4); border: var(--border-ink); background: var(--color-mint); }
.home-reservation__submit { display: flex; flex-direction: column; min-width: 0; gap: var(--space-3); align-items: flex-start; }
.home-reservation__submit p { margin: 0; max-width: 55ch; }
.home-reservation__confirmation { padding: var(--space-5); border: var(--border-ink); border-radius: var(--radius-soft); background: var(--color-mint); box-shadow: var(--shadow-hard-small); }
.home-reservation__confirmation h3 { margin-bottom: var(--space-3); }
.home-reservation__confirmation p { margin-bottom: var(--space-3); }
.home-reservation__confirmation dl { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-3); margin: 0 0 var(--space-4); }
.home-reservation__confirmation dl > div { min-width: 0; padding: var(--space-3); border: var(--border-ink); background: var(--color-paper); }
.home-reservation__confirmation dt { font-size: var(--text-xs); font-weight: 700; }
.home-reservation__confirmation dd { margin: var(--space-1) 0 0; font-weight: 700; }

.home-final__panel { display: flex; flex-direction: column; min-width: 0; gap: var(--space-4); width: min(100%, 62.5rem); margin-inline: auto; text-align: center; }
.home-final__panel > * { margin: 0; min-width: 0; }
.home-final__panel h2, .home-final__panel p { width: min(100%, 38.75rem); margin-inline: auto; }
.home-final__actions { display: flex; justify-content: center; min-width: 0; gap: var(--space-4); }
.home-final__actions > * { flex: 0 1 14rem; min-width: 11.875rem; }

@media (max-width: 999px) {
  .home-hero__grid,
  .home-dining__grid,
  .home-hosted__grid,
  .home-evenings__grid,
  .home-reservation__grid,
  .home-groups__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }

  .home-hero__copy { grid-column: 1 / span 3; padding: var(--space-5); }
  .home-hero__image { grid-column: 4 / span 3; }
  .home-hero__note { max-width: 100%; }
  .home-pathways__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-pathway--dining { grid-column: 1 / span 3; }
  .home-pathway--lounge { grid-column: 4 / span 3; margin-top: 0; }
  .home-pathway--hosted { grid-column: 1 / span 6; }
  .home-dining__image { grid-column: 1 / span 6; }
  .home-dining__copy { grid-column: 1 / span 6; margin-left: 0; }
  .home-hosted__main { grid-column: 1 / span 6; }
  .home-hosted__aside { grid-column: 1 / span 3; }
  .home-evenings__copy { grid-column: 1 / span 6; }
  .home-evenings__image { grid-column: 1 / span 6; }
  .home-flow__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-flow__lead { grid-column: 1 / span 3; }
  .home-flow__step:nth-child(2) { grid-column: 4 / span 3; }
  .home-flow__step:nth-child(3) { grid-column: 1 / span 3; }
  .home-flow__step:nth-child(4) { grid-column: 4 / span 3; }
  .home-flow__clarification { width: 100%; margin-left: 0; }
  .home-groups__copy { grid-column: 1 / span 6; }
  .home-groups__inset { grid-column: 1 / span 6; }
  .home-discovery__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-discovery__primary { grid-column: 1 / span 6; }
  .home-discovery__secondary { grid-column: 1 / span 3; margin-top: 0; }
  .home-discovery__tertiary { grid-column: 4 / span 3; }
  .home-reservation__intro { grid-column: 1 / span 6; }
  .home-reservation__panel { grid-column: 1 / span 6; }
}

@media (max-width: 699px) {
  .home-hero { padding-block: var(--space-7) var(--space-6); }
  .home-hero__grid,
  .home-dining__grid,
  .home-hosted__grid,
  .home-evenings__grid,
  .home-reservation__grid,
  .home-groups__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-hero__copy, .home-hero__image, .home-dining__image, .home-dining__copy, .home-hosted__main, .home-hosted__aside, .home-evenings__copy, .home-evenings__image, .home-reservation__intro, .home-reservation__panel, .home-groups__copy, .home-groups__inset { grid-column: 1; }
  .home-hero__copy { padding: var(--space-5); }
  .home-hero__copy h1 { max-width: none; }
  .home-hero__lead { max-width: none; }
  .home-hero__actions { flex-direction: column; }
  .home-hero__actions > * { width: 100%; flex-basis: auto; }
  .home-hero__image { order: 2; }
  .home-pathways__intro, .home-discovery__intro { width: 100%; margin-bottom: var(--space-6); }
  .home-pathways__grid, .home-flow__grid, .home-discovery__grid { grid-template-columns: minmax(0, 1fr); }
  .home-pathway--dining, .home-pathway--lounge, .home-pathway--hosted, .home-flow__lead, .home-flow__step:nth-child(2), .home-flow__step:nth-child(3), .home-flow__step:nth-child(4), .home-discovery__primary, .home-discovery__secondary, .home-discovery__tertiary { grid-column: 1; }
  .home-dining__copy { order: 1; }
  .home-dining__image { order: 2; }
  .home-dining__copy h2, .home-evenings__copy h2, .home-hosted__main h2, .home-reservation__intro h2 { max-width: none; }
  .home-dining__lead, .home-dining__body p, .home-hosted__definition, .home-hosted__points p, .home-evenings__lead, .home-evenings__action-copy, .home-groups__copy p, .home-reservation__intro p { max-width: none; }
  .home-hosted__formats { grid-template-columns: minmax(0, 1fr); }
  .home-hosted__aside p { max-width: none; }
  .home-evenings__copy .button, .home-groups__copy .button { width: 100%; }
  .home-flow__number { font-size: 2rem; }
  .home-flow__clarification { margin-top: var(--space-5); }
  .home-groups__band { padding-block: var(--space-6); }
  .home-groups__inset { padding: var(--space-4); box-shadow: var(--shadow-hard-small); }
  .home-reservation__panel { padding: var(--space-4); }
  .home-reservation__date-time { grid-template-columns: minmax(0, 1fr); }
  .home-reservation__party { width: 100%; }
  .home-reservation__submit button { width: 100%; }
  .home-reservation__confirmation dl { grid-template-columns: minmax(0, 1fr); }
  .home-final__panel { padding: var(--space-5) var(--space-4); }
  .home-final__panel h2, .home-final__panel p { width: 100%; }
  .home-final__actions { flex-direction: column; gap: var(--space-3); }
  .home-final__actions > * { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page * { scroll-behavior: auto; }
}
