.home-page { background: var(--color-espresso); overflow: hidden; }
.home-page section { position: relative; }
.home-page img { width: 100%; max-width: 100%; object-fit: cover; }
.home-page .text-link { min-height: 2.75rem; align-items: center; }

.home-hero { min-height: 82vh; display: grid; grid-template-columns: minmax(0, 1fr); align-items: end; isolation: isolate; }
.home-hero__image, .home-hero__wash, .home-hero__container { grid-area: 1 / 1; }
.home-hero__image { width: 100%; height: 82vh; object-fit: cover; object-position: center right; z-index: -2; }
.home-hero__wash { height: 100%; background: linear-gradient(90deg, rgba(36,25,20,.96) 0%, rgba(36,25,20,.83) 32%, rgba(36,25,20,.26) 62%, rgba(36,25,20,.1) 100%), linear-gradient(0deg, rgba(36,25,20,.8), transparent 48%); z-index: -1; }
.home-hero__container { width: min(100% - (var(--gutter) * 2), var(--container-max)); margin-inline: auto; padding-block: var(--space-10); }
.home-hero__copy { width: min(100%, 54ch); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-hero__copy > * { min-width: 0; margin: 0; }
.home-hero__copy h1 { font-size: clamp(3rem, 5.8vw, 4rem); }
.home-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); min-width: 0; }
.home-hero__actions > * { min-width: 0; }
.home-hero__restaurant-link { margin-top: var(--space-1); }

.home-house { background: linear-gradient(120deg, rgba(216,201,173,.035), transparent 45%), var(--color-espresso); }
.home-house__intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: end; }
.home-house__intro > * { min-width: 0; }
.home-house__heading { width: min(100%, 64ch); }
.home-house__pull { margin: 0; padding-left: var(--space-6); border-left: var(--border-brass); color: var(--color-linen); font-family: var(--font-heading); font-size: clamp(2rem, 3.4vw, 3.4rem); font-style: italic; line-height: 1.05; }
.home-house__panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-proposition { min-width: 0; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); padding: var(--space-6); border: var(--border-brass); background: var(--color-walnut); transition: border-color var(--transition-base), transform var(--transition-base); }
.home-proposition > * { min-width: 0; margin: 0; }
.home-proposition h3 { font-size: var(--text-h4); }
.home-proposition p:not(.home-proposition__label) { width: min(100%, 32ch); }
.home-proposition__label { color: var(--color-aged-brass); font-size: var(--text-label); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-proposition--lounge { background: var(--color-forest); }
.home-proposition--tables { background: rgba(52,35,28,.45); }
.home-proposition:hover { border-color: var(--color-antique-cream); transform: translateY(-2px); }

.home-journey { border-top: var(--border-quiet); }
.home-journey__intro { width: min(100%, 58ch); margin-inline: auto; text-align: center; }
.home-journey__intro .eyebrow { justify-content: center; }
.home-stages { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); margin: var(--space-8) 0 0; padding: 0; list-style: none; }
.home-stage { min-width: 0; grid-column: auto; display: flex; flex-direction: column; gap: var(--space-4); }
.home-stage figure { min-width: 0; margin: 0; padding: var(--space-2); border: var(--border-brass); background: var(--color-walnut); }
.home-stage figure img { aspect-ratio: 4 / 5; height: auto; }
.home-stage figcaption { margin: var(--space-3) 0 0; color: var(--color-aged-brass); font-size: var(--text-label); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-stage__copy { min-width: 0; }
.home-stage__copy h3 { font-size: var(--text-h5); }
.home-stage__copy p { width: min(100%, 30ch); }

.home-restaurant { background: var(--color-walnut); }
.home-restaurant__paper { width: calc(100% - 16.6667%); min-width: 0; margin-inline: auto; padding: var(--space-8); border: var(--border-brass); }
.home-restaurant__top { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-7); padding-bottom: var(--space-7); border-bottom: 1px solid rgba(33,23,19,.25); }
.home-restaurant__top > * { min-width: 0; }
.home-restaurant__top .lead { width: min(100%, 62ch); margin: 0; }
.home-restaurant__reasons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); padding-top: var(--space-7); }
.home-restaurant__reasons article { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-restaurant__reasons article > * { min-width: 0; margin: 0; }
.home-restaurant__reasons span { color: var(--color-aged-brass); font-family: var(--font-heading); font-size: 2rem; }
.home-restaurant__reasons h3 { font-size: var(--text-h5); }
.home-restaurant__reasons p { width: min(100%, 29ch); }
.home-restaurant__links { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }
.home-restaurant .text-link { color: #6b431f; }
.home-restaurant .text-link:hover { color: var(--color-ink); }

.home-poker { background: var(--color-espresso); }
.home-poker__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); }
.home-poker__grid > * { min-width: 0; }
.home-poker__intro { width: min(100%, 64ch); padding-right: var(--space-6); border-right: var(--border-brass); }
.home-poker__principles { min-width: 0; display: flex; flex-direction: column; gap: var(--space-4); }
.home-principle { min-width: 0; display: grid; grid-template-columns: minmax(4rem, 2fr) minmax(0, 5fr); gap: var(--space-4); padding: var(--space-5); border: var(--border-quiet); background: var(--color-walnut); }
.home-principle > * { min-width: 0; }
.home-principle > span { color: var(--color-aged-brass); font-family: var(--font-heading); font-size: 2rem; }
.home-principle div { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.home-principle div > * { min-width: 0; margin: 0; }
.home-principle h3 { font-size: var(--text-h5); }
.home-principle p { width: min(100%, 30ch); }
.home-principle--burgundy { background: var(--color-burgundy); border-color: rgba(241,229,204,.35); }

.home-craft { padding-block: var(--space-10); background: linear-gradient(180deg, var(--color-espresso), var(--color-walnut)); }
.home-craft__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--space-6); align-items: center; }
.home-craft__grid > * { min-width: 0; }
.home-craft__figure { margin: 0; padding: var(--space-2); border: var(--border-brass); background: var(--color-walnut); }
.home-craft__figure img { min-height: 32.5rem; aspect-ratio: 4 / 5; object-position: center; transition: transform var(--transition-base); }
.home-craft__caption { min-width: 0; padding: var(--space-6); border: var(--border-brass); background: var(--color-smoked-glass); }
.home-craft__caption > * { min-width: 0; }
.home-craft__caption p:not(.eyebrow) { width: min(100%, 44ch); }
.home-craft__links { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.home-craft__links > * { min-width: 0; }

.home-social { background: var(--color-espresso); text-align: center; }
.home-social__statement { width: min(100%, 56ch); margin-inline: auto; }
.home-social__statement .eyebrow { justify-content: center; }
.home-social__statement h2 { width: min(100%, 42ch); margin-inline: auto; font-style: italic; }
.home-social__statement p { width: min(100%, 56ch); margin-inline: auto; }
.home-social__routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(var(--space-8) * 1.5); width: calc(100% - 16.6667%); margin: var(--space-8) auto 0; text-align: left; }
.home-route { min-width: 0; min-height: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-6); border: var(--border-brass); text-decoration: none; transition: border-color var(--transition-base), transform var(--transition-base); }
.home-route > * { min-width: 0; margin: 0; }
.home-route > span:first-child { color: var(--color-aged-brass); font-size: var(--text-label); font-weight: 700; letter-spacing: .14em; }
.home-route h3 { font-size: var(--text-h4); }
.home-route p { width: min(100%, 28ch); }
.home-route--walnut { background: var(--color-walnut); }
.home-route--burgundy { background: var(--color-burgundy); }
.home-route:hover { border-color: var(--color-antique-cream); transform: translateY(-2px); }

.home-faq { background: var(--color-walnut); }
.home-faq__panel { width: calc(100% - 33.3334%); min-width: 0; margin-inline: auto; padding: var(--space-8); border: var(--border-brass); }
.home-faq__intro { width: min(100%, 60ch); }
.home-accordion { min-width: 0; margin-top: var(--space-6); }
.home-accordion__item { border-top: 1px solid rgba(33,23,19,.25); }
.home-accordion__item:last-child { border-bottom: 1px solid rgba(33,23,19,.25); }
.home-accordion__item button { width: 100%; min-width: 0; min-height: 3.25rem; display: flex; justify-content: space-between; align-items: center; gap: var(--space-4); padding: var(--space-4) 0; background: transparent; color: var(--color-ink); font-family: var(--font-heading); font-size: var(--text-h6); font-weight: 600; line-height: 1.15; text-align: left; }
.home-accordion__item button span { flex: 0 0 auto; color: #6b431f; font-family: var(--font-body); font-size: 1.5rem; }
.home-accordion__answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows var(--transition-base), opacity var(--transition-base); }
.home-accordion__answer > p { min-height: 0; overflow: hidden; width: min(100%, 64ch); margin: 0; }
.home-accordion__item.is-open .home-accordion__answer { grid-template-rows: 1fr; opacity: 1; }
.home-accordion__item.is-open .home-accordion__answer > p { padding-bottom: var(--space-5); }
.home-faq__more { margin: var(--space-6) 0 0; }

.home-destinations { background: var(--color-espresso); }
.home-destinations__intro { width: min(100%, 56ch); }
.home-destinations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-destination { min-width: 0; min-height: 18rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; gap: var(--space-5); padding: var(--space-6); border: var(--border-brass); text-decoration: none; transition: border-color var(--transition-base), transform var(--transition-base), background-color var(--transition-base); }
.home-destination > * { min-width: 0; margin: 0; }
.home-destination h3 { font-size: var(--text-h4); }
.home-destination p { width: min(100%, 28ch); }
.home-destination--walnut { background: var(--color-walnut); }
.home-destination--forest { background: var(--color-forest); }
.home-destination--burgundy { background: var(--color-burgundy); }
.home-destination:hover { border-color: var(--color-antique-cream); transform: translateY(-2px); }
.home-destination__links { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); }

.home-plan { background: var(--color-burgundy); }
.home-plan__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: center; }
.home-plan__grid > * { min-width: 0; }
.home-plan__copy { width: min(100%, 54ch); }
.home-plan__form-wrap { min-width: 0; padding: var(--space-6); border: var(--border-brass); }
.home-plan__form { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-plan__form > * { min-width: 0; margin: 0; }
.home-plan__helper { width: min(100%, 52ch); }
.home-form__grid { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-form__grid > * { min-width: 0; }
.home-form__wide { grid-column: 1 / -1; }
.home-plan__form :is(input, select, textarea) { color: var(--color-ink); min-height: 3rem; }
.home-plan__form textarea { min-height: 7.5rem; }
.home-form__status { color: var(--color-burgundy-deep); font-weight: 700; }
.home-form__status.is-error { color: #7a1826; }
.home-plan__routes { margin-top: var(--space-6); padding-top: var(--space-5); border-top: 1px solid rgba(33,23,19,.25); }
.home-plan__routes p { margin-bottom: var(--space-2); }
.home-plan__routes > div { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); }
.home-plan__routes .text-link { color: #6b431f; }

@media (max-width: 70rem) {
  .home-hero__wash { background: linear-gradient(90deg, rgba(36,25,20,.94), rgba(36,25,20,.65) 56%, rgba(36,25,20,.18)), linear-gradient(0deg, rgba(36,25,20,.86), transparent 55%); }
  .home-hero__copy { width: min(100%, 62ch); }
  .home-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 67.5rem) {
  .home-house__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-proposition--tables { grid-column: 1 / -1; }
  .home-proposition--tables p { width: min(100%, 50ch); }
  .home-restaurant__paper { width: 100%; }
  .home-restaurant__reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-restaurant__reasons article:last-child { grid-column: 1 / -1; }
  .home-poker__grid, .home-plan__grid { grid-template-columns: minmax(0, 1fr); }
  .home-poker__intro { padding-right: 0; border-right: 0; border-bottom: var(--border-brass); padding-bottom: var(--space-6); }
  .home-poker__intro .lead { width: min(100%, 64ch); }
  .home-craft__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-craft__caption { width: 100%; margin: 0; }
  .home-destinations__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-destination--burgundy { grid-column: 1 / -1; }
}

@media (max-width: 60rem) {
  .home-house__intro { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
  .home-social__routes { width: 100%; gap: var(--space-5); }
  .home-faq__panel { width: 100%; }
}

@media (max-width: 47.5rem) {
  .home-hero { min-height: 68vh; }
  .home-hero__image { height: 68vh; object-position: 60% top; }
  .home-hero__wash { background: linear-gradient(180deg, rgba(36,25,20,.04) 20%, rgba(36,25,20,.88) 64%, rgba(36,25,20,.98) 100%); }
  .home-hero__container { padding-block: var(--space-8) var(--space-6); }
  .home-hero__copy { width: 100%; gap: var(--space-3); }
  .home-hero__copy h1 { font-size: 2.25rem; }
  .home-hero__copy .lead { font-size: 1rem; }
  .home-hero__actions { width: 100%; flex-direction: column; align-items: stretch; }
  .home-hero__actions > * { width: 100%; }
  .home-house__intro, .home-house__panels, .home-restaurant__top, .home-restaurant__reasons, .home-social__routes, .home-destinations__grid, .home-form__grid { grid-template-columns: minmax(0, 1fr); }
  .home-house__intro { gap: var(--space-5); }
  .home-house__pull { padding-left: var(--space-4); }
  .home-house__panels { margin-top: var(--space-6); }
  .home-proposition--tables, .home-restaurant__reasons article:last-child, .home-destination--burgundy { grid-column: auto; }
  .home-proposition, .home-restaurant__paper, .home-faq__panel { padding: var(--space-5); }
  .home-stages { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); margin-top: var(--space-6); }
  .home-restaurant__top { gap: var(--space-5); }
  .home-restaurant__reasons { padding-top: var(--space-5); }
  .home-restaurant__reasons article { padding-bottom: var(--space-5); border-bottom: 1px solid rgba(33,23,19,.25); }
  .home-poker__grid { gap: var(--space-6); }
  .home-principle { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); padding: var(--space-5); }
  .home-principle p { width: min(100%, 35ch); }
  .home-craft { padding-block: var(--section-space); }
  .home-craft__figure img { min-height: 0; aspect-ratio: 4 / 5; }
  .home-craft__caption { padding: var(--space-5); }
  .home-craft__links { flex-direction: column; align-items: stretch; }
  .home-craft__links .button { width: 100%; }
  .home-social__routes { width: 100%; margin-top: var(--space-6); }
  .home-route { min-height: 0; padding: var(--space-5); }
  .home-faq__panel { padding: var(--space-5); }
  .home-accordion__item button { min-height: 3.25rem; font-size: 1.1rem; }
  .home-destination { min-height: 11.875rem; padding: var(--space-5); }
  .home-plan__grid { gap: var(--space-6); }
  .home-plan__form-wrap { padding: var(--space-5); }
  .home-form__wide { grid-column: auto; }
  .home-plan__routes > div { flex-direction: column; align-items: flex-start; }
}

@media (hover: hover) {
  .home-craft__figure:hover img { transform: translateY(-2px); }
}

@media (prefers-reduced-motion: reduce) {
  .home-proposition:hover, .home-route:hover, .home-destination:hover, .home-craft__figure:hover img { transform: none; }
  .home-accordion__answer { transition: none; }
}