.home-page { overflow: clip; }
.home-page .eyebrow { font-weight: 700; }
.home-page .display-title { font-size: clamp(3rem, 6.1vw, 4.5rem); }
.home-page h2 { font-size: clamp(2rem, 3.3vw, 2.6rem); }
.home-page .media-frame { width: 100%; min-width: 0; margin: 0; }
.home-page .media-frame img { transition: transform var(--transition-base); }

.home-hero { position: relative; padding: var(--space-10) 0 var(--space-7); overflow: hidden; }
.home-hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: end; }
.home-hero__content { grid-column: 1 / span 5; min-width: 0; position: relative; z-index: 1; }
.home-hero__content .intro { max-width: 38ch; }
.home-hero__actions { margin-top: var(--space-5); }
.home-hero__media { grid-column: 6 / span 7; min-width: 0; height: 35rem; margin-right: calc((100vw - min(100vw - (var(--container-padding) * 2), var(--container-max))) / -2); }
.home-hero__media img { object-position: 72% center; }
.home-hero__facts { grid-column: 1 / -1; display: grid; grid-template-columns: 2fr repeat(3, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-6); border-top: 1px solid rgba(248,247,243,.45); }
.home-hero__fact { display: flex; min-width: 0; flex-direction: column; gap: var(--space-1); padding: var(--space-4); border-right: 1px solid rgba(248,247,243,.45); font-size: var(--text-sm); line-height: 1.43; }
.home-hero__fact:first-child { padding-left: 0; }
.home-hero__fact:last-child { border-right: 0; }
.home-hero__fact strong { font-family: var(--font-heading); }

.home-restaurant__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-restaurant__media { grid-column: 1 / span 5; min-width: 0; height: 39rem; margin-top: var(--space-7); }
.home-restaurant__media img { object-position: center; }
.home-restaurant__content { grid-column: 7 / span 6; min-width: 0; }
.home-restaurant__lead { max-width: 62ch; }
.home-restaurant__lead h3 { margin-top: var(--space-6); }
.home-restaurant__modules { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); margin-left: calc((100% + var(--space-5)) / 6); }
.home-restaurant__conversation { grid-column: 1 / span 3; min-width: 0; border-top: 2px solid var(--color-terracotta); padding-top: var(--space-4); }
.home-restaurant__conversation p { max-width: 40ch; }
.home-restaurant__reserve { grid-column: 4 / span 3; display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-5); color: var(--color-white); background: var(--color-cobalt); }
.home-restaurant__reserve > * { margin: 0; }
.home-restaurant__reserve p { max-width: 34ch; }
.home-restaurant__reserve .button { align-self: flex-start; }

.home-lounge { overflow: hidden; }
.home-lounge__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-lounge__intro { grid-column: 1 / span 4; min-width: 0; }
.home-lounge__intro .intro { max-width: 44ch; }
.home-lounge__media { grid-column: 7 / span 5; min-width: 0; height: 23rem; margin-top: var(--space-7); }
.home-lounge__media img { object-position: center; }
.home-lounge__features { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; margin-top: var(--space-5); }
.home-lounge__panel { min-width: 0; padding: var(--space-5); border: 1px solid var(--color-line); }
.home-lounge__panel > :last-child { margin-bottom: 0; }
.home-lounge__panel--white { grid-column: 1 / span 5; background: var(--color-white); }
.home-lounge__panel--dark { grid-column: 6 / span 4; color: var(--color-white); border-color: var(--color-graphite); background: var(--color-graphite); }
.home-lounge__panel--link { grid-column: 10 / span 3; align-self: end; border-top: 3px solid var(--color-terracotta); }
.home-lounge__panel--link p { max-width: 30ch; }

.home-flow__heading { width: 33.333%; min-width: 0; }
.home-flow__heading p { max-width: 42ch; }
.home-flow__stages { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); border-top: var(--border); }
.home-flow__stage { display: grid; grid-template-columns: 1fr; min-width: 0; gap: var(--space-3); padding-top: var(--space-5); }
.home-flow__number { color: var(--color-cobalt); font-family: var(--font-heading); font-size: 3rem; font-weight: 700; letter-spacing: -0.05em; line-height: 1; }
.home-flow__stage:nth-child(2) .home-flow__number { color: var(--color-graphite); }
.home-flow__stage:nth-child(3) .home-flow__number { color: var(--color-terracotta); }
.home-flow__stage p { max-width: 34ch; }

.home-community { overflow: hidden; }
.home-community__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.home-community__media { grid-column: 1 / span 6; min-width: 0; height: 34rem; margin-left: calc((100vw - min(100vw - (var(--container-padding) * 2), var(--container-max))) / -2); }
.home-community__media img { object-position: center; }
.home-community__content { grid-column: 8 / span 5; min-width: 0; }
.home-community__content .intro { max-width: 46ch; }
.home-community__modules { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-5); }
.home-community__social { grid-column: 1 / span 2; min-width: 0; padding: var(--space-4); color: var(--color-graphite); background: var(--color-white); }
.home-community__social > :last-child, .home-community__private > :last-child { margin-bottom: 0; }
.home-community__social p { max-width: 32ch; }
.home-community__private { grid-column: 3 / span 3; display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-4); color: var(--color-white); background: var(--color-cobalt); }
.home-community__private > * { margin: 0; }
.home-community__private p { max-width: 36ch; }
.home-community__private .button { align-self: flex-start; }

.home-tables__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.home-tables__content { grid-column: 1 / span 5; min-width: 0; padding-left: var(--space-4); border-left: 2px solid var(--color-cobalt); }
.home-tables__content .intro { max-width: 48ch; }
.home-tables__media { grid-column: 7 / span 6; min-width: 0; }
.home-tables__media img { height: 36rem; object-position: center; }
.home-tables__points { display: grid; grid-template-columns: 1fr; gap: var(--space-5); margin-top: var(--space-6); }
.home-tables__point { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); min-width: 0; gap: var(--space-3); }
.home-tables__point > span { color: var(--color-cobalt); font-family: var(--font-heading); font-weight: 700; }
.home-tables__point p { max-width: 38ch; }

.home-paths__heading { width: 41.666%; min-width: 0; color: var(--color-white); }
.home-paths__heading h2 { max-width: 18ch; }
.home-paths__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.home-paths__card { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); border: 1px solid transparent; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.home-paths__card > * { margin: 0; }
.home-paths__card p { max-width: 34ch; }
.home-paths__card .text-link { margin-top: auto; min-height: 2.75rem; align-items: end; }
.home-paths__card--restaurant { grid-column: 1 / span 7; background: var(--color-sand); color: var(--color-graphite); }
.home-paths__card--lounge { grid-column: 8 / span 5; background: var(--color-white); color: var(--color-graphite); border-top: 3px solid var(--color-cobalt-dark); }
.home-paths__card--gather { grid-column: 1 / span 4; color: var(--color-white); background: var(--color-terracotta); }
.home-paths__card--guide { grid-column: 5 / span 8; color: var(--color-white); background: var(--color-graphite); }
.home-paths__card--gather .eyebrow, .home-paths__card--guide .eyebrow, .home-paths__card--gather .text-link, .home-paths__card--guide .text-link { color: var(--color-white); }

.home-visit__grid { display: grid; grid-template-columns: 3fr 5fr 4fr; min-width: 0; }
.home-visit__address, .home-visit__copy, .home-visit__actions { min-width: 0; padding: 0 var(--space-5); }
.home-visit__address { padding-left: 0; }
.home-visit__copy, .home-visit__actions { border-left: var(--border); }
.home-visit__address address { font-family: var(--font-heading); font-size: var(--text-card-title); font-weight: 700; letter-spacing: -0.035em; line-height: 1.2; }
.home-visit__copy p { max-width: 55ch; }
.home-visit__actions { display: flex; flex-direction: column; gap: var(--space-2); align-items: flex-start; }
.home-visit__actions > * { margin: 0; }
.home-visit__actions > a { min-height: 2.75rem; display: inline-flex; align-items: center; font-weight: 700; text-decoration: underline; text-underline-offset: .18em; }
.home-visit__actions p { max-width: 30ch; }
.home-visit__buttons { display: flex; width: 100%; min-width: 0; flex-direction: column; gap: var(--space-3); margin-top: var(--space-3); }
.home-visit__buttons .button { width: 100%; }

.home-faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); }
.home-faq__intro { grid-column: 1 / span 4; min-width: 0; }
.home-faq__intro p { max-width: 44ch; }
.home-faq__list { grid-column: 6 / span 7; display: grid; grid-template-columns: 1fr; min-width: 0; border-top: var(--border); }
.home-faq__item { min-width: 0; border-bottom: var(--border); }
.home-faq__item h3 { margin: 0; font-size: var(--text-base); }
.home-faq__item button { display: grid; width: 100%; min-height: 3.5rem; grid-template-columns: minmax(0, 1fr) 2rem; gap: var(--space-3); align-items: center; padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-graphite); font-family: var(--font-heading); font-size: var(--text-base); font-weight: 700; letter-spacing: -0.02em; line-height: 1.4; text-align: left; }
.home-faq__item button span { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid var(--color-line); color: var(--color-cobalt); font-family: var(--font-body); font-size: 1.35rem; font-weight: 400; }
.home-faq__answer { max-width: 62ch; padding: 0 2.75rem var(--space-5) 0; }
.home-faq__answer p { margin: 0; }

.home-closing { padding: var(--space-8) 0; }
.home-closing__content { display: flex; width: min(100% - (var(--container-padding) * 2), 51.666rem); min-width: 0; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.home-closing__content > * { margin: 0; }
.home-closing__content h2 { max-width: 18ch; color: var(--color-white); font-size: clamp(2.25rem, 4vw, 3rem); }
.home-closing__content > p:not(.eyebrow) { max-width: 42ch; font-size: var(--text-intro); line-height: var(--leading-intro); }
.home-closing__actions { justify-content: center; margin-top: var(--space-2); }

@media (hover: hover) and (pointer: fine) {
  .home-page .media-frame:hover img { transform: scale(1.035); }
  .home-lounge__panel:hover, .home-paths__card:hover { transform: translateY(-3px); border-color: var(--color-cobalt); }
  .home-lounge__panel--link .text-link:hover span, .home-flow .text-link:hover span, .home-tables .text-link:hover span, .home-paths .text-link:hover span, .home-faq .text-link:hover span { transform: translateX(3px); }
}

@media (max-width: 979px) {
  .home-hero__grid, .home-restaurant__grid, .home-lounge__grid, .home-community__grid, .home-tables__grid, .home-faq__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-hero__content { grid-column: 1 / -1; }
  .home-hero__media { grid-column: 1 / -1; height: 28rem; margin-right: 0; }
  .home-hero__facts { grid-column: 1 / -1; }
  .home-restaurant__media { grid-column: 1 / span 3; height: 31rem; margin-top: 0; }
  .home-restaurant__content { grid-column: 4 / span 3; }
  .home-restaurant__modules { grid-template-columns: repeat(6, minmax(0, 1fr)); margin-left: 0; }
  .home-restaurant__conversation { grid-column: 1 / -1; }
  .home-restaurant__reserve { grid-column: 1 / -1; }
  .home-lounge__intro { grid-column: 1 / span 3; }
  .home-lounge__media { grid-column: 4 / span 3; height: 20rem; margin-top: 0; }
  .home-lounge__features { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-lounge__panel--white { grid-column: 1 / span 3; }
  .home-lounge__panel--dark { grid-column: 4 / span 3; }
  .home-lounge__panel--link { grid-column: 1 / -1; }
  .home-flow__heading { width: 100%; }
  .home-flow__stages { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-flow__stage:nth-child(1), .home-flow__stage:nth-child(2) { grid-column: span 3; }
  .home-flow__stage:nth-child(3) { grid-column: 1 / span 3; }
  .home-community__media { grid-column: 1 / span 3; height: 27rem; margin-left: 0; }
  .home-community__content { grid-column: 4 / span 3; }
  .home-community__modules { grid-template-columns: 1fr; }
  .home-community__social, .home-community__private { grid-column: 1; }
  .home-tables__content { grid-column: 1 / -1; }
  .home-tables__media { grid-column: 1 / -1; margin-top: var(--space-4); }
  .home-tables__media img { height: 29rem; }
  .home-tables__points { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-visit__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-5); }
  .home-visit__address { grid-column: 1 / span 2; }
  .home-visit__copy { grid-column: 3 / span 4; }
  .home-visit__actions { grid-column: 3 / span 4; border-left: var(--border); }
  .home-faq__intro { grid-column: 1 / -1; }
  .home-faq__list { grid-column: 1 / -1; }
  .home-paths__heading { width: 100%; }
  .home-paths__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .home-paths__card--restaurant, .home-paths__card--lounge, .home-paths__card--gather, .home-paths__card--guide { grid-column: span 3; }
}

@media (max-width: 699px) {
  .home-hero { padding-top: var(--space-8); }
  .home-hero__grid, .home-restaurant__grid, .home-lounge__grid, .home-community__grid, .home-tables__grid, .home-faq__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-hero__content, .home-hero__media, .home-hero__facts, .home-restaurant__media, .home-restaurant__content, .home-lounge__intro, .home-lounge__media, .home-lounge__features, .home-community__media, .home-community__content, .home-tables__content, .home-tables__media, .home-faq__intro, .home-faq__list { grid-column: 1; }
  .home-hero__content .intro { max-width: 38ch; }
  .home-hero__actions { display: grid; grid-template-columns: 1fr; }
  .home-hero__actions .button { width: 100%; }
  .home-hero__facts { grid-template-columns: 1fr; margin-top: 0; }
  .home-hero__fact, .home-hero__fact:first-child { padding: var(--space-3) 0; border-right: 0; border-bottom: 1px solid rgba(248,247,243,.45); }
  .home-hero__fact:last-child { border-bottom: 0; }
  .home-hero__media { width: 100vw; height: 18rem; margin-left: calc(50% - 50vw); }
  .home-hero__media img { object-position: 66% center; }
  .home-restaurant__media { height: 25rem; order: 2; }
  .home-restaurant__content { order: 1; }
  .home-restaurant__content .eyebrow, .home-restaurant__content > h2 { display: block; }
  .home-restaurant__lead { order: 3; }
  .home-restaurant__modules { grid-template-columns: 1fr; margin-top: var(--space-5); }
  .home-restaurant__conversation, .home-restaurant__reserve { grid-column: 1; }
  .home-restaurant__reserve .button { align-self: stretch; }
  .home-lounge__media { height: 18rem; }
  .home-lounge__features { grid-template-columns: 1fr; margin-top: 0; }
  .home-lounge__panel--white, .home-lounge__panel--dark, .home-lounge__panel--link { grid-column: 1; }
  .home-flow__stages { grid-template-columns: 1fr; gap: var(--space-4); border-top: 0; margin-top: var(--space-5); }
  .home-flow__stage, .home-flow__stage:nth-child(1), .home-flow__stage:nth-child(2), .home-flow__stage:nth-child(3) { grid-column: 1; grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3); padding-top: var(--space-4); border-top: var(--border); }
  .home-flow__number { font-size: 2.25rem; }
  .home-community__media { width: 100vw; height: 20rem; margin-left: calc(50% - 50vw); }
  .home-community__modules { gap: var(--space-4); }
  .home-community__private .button { align-self: stretch; }
  .home-tables__content { padding-left: var(--space-3); }
  .home-tables__media img { height: 25rem; }
  .home-tables__points { grid-template-columns: 1fr; gap: var(--space-4); }
  .home-paths__grid { grid-template-columns: 1fr; gap: var(--space-3); margin-top: var(--space-5); }
  .home-paths__card--restaurant, .home-paths__card--lounge, .home-paths__card--gather, .home-paths__card--guide { grid-column: 1; }
  .home-paths__card .text-link { align-items: center; }
  .home-visit__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .home-visit__address, .home-visit__copy, .home-visit__actions { grid-column: 1; padding: 0; border-left: 0; }
  .home-visit__copy, .home-visit__actions { padding-top: var(--space-5); border-top: var(--border); }
  .home-faq__answer { padding-right: 0; }
  .home-closing { padding: var(--space-8) 0; }
  .home-closing__content { width: min(100% - (var(--container-padding) * 2), var(--container-max)); align-items: stretch; text-align: left; }
  .home-closing__content h2 { max-width: 14ch; }
  .home-closing__actions { display: grid; grid-template-columns: 1fr; justify-content: stretch; }
  .home-closing__actions .button { width: 100%; }
}

@media (max-width: 419px) {
  .home-flow__stage, .home-flow__stage:nth-child(1), .home-flow__stage:nth-child(2), .home-flow__stage:nth-child(3) { grid-template-columns: 1fr; }
  .home-restaurant__media { height: 21rem; }
  .home-tables__media img { height: 21rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .media-frame img, .home-lounge__panel, .home-paths__card { transition: none; }
  .home-page .media-frame:hover img, .home-lounge__panel:hover, .home-paths__card:hover { transform: none; }
}
