.home-page { background: var(--color-background); }
.home-page .home-hero { position: relative; min-height: 45rem; overflow: hidden; display: flex; align-items: stretch; }
.home-hero__image, .home-hero__veil { position: absolute; inset: 0; width: 100%; height: 100%; }
.home-hero__image { object-fit: cover; object-position: center right; }
.home-hero__veil { background: rgba(11, 12, 13, 0.42); }
.home-hero__layout { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: space-between; width: 100%; padding-block: clamp(var(--space-9), 12vw, var(--space-11)) var(--space-6); max-width:1250px;}
.home-hero__copy { min-width: 0; }
.home-hero__copy .lead { max-width: 32.5rem; }
.home-hero__statement { max-width: 32.5rem; padding-block: var(--space-3); border-block: 1px solid var(--color-border); color: var(--color-text); font-weight: 600; }
.home-hero__actions { margin-top: var(--space-5); }
.home-hero__index { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; border-block: 1px solid var(--color-border); }
.home-hero__index-item { min-width: 0; padding: var(--space-3) var(--space-4); border-inline-end: 1px solid var(--color-border); color: var(--color-text-soft); font-size: var(--font-size-small); font-weight: 600; letter-spacing: var(--letter-spacing-label); text-align: center; text-transform: uppercase; }
.home-hero__index-item:last-child { border-inline-end: 0; }
.home-hero__index-item--active { background: var(--color-white-100); color: var(--color-black-absolute); }
.home-evening__heading { width: 50%; max-width: 35rem; min-width: 0; }
.home-evening__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-evening__step { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.home-number { margin-bottom: var(--space-4); color: var(--color-text-muted); font-size: var(--font-size-meta); font-weight: 600; letter-spacing: var(--letter-spacing-label); }
.home-lounge__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: center; }
.home-lounge__copy { grid-column: 1; width: 100%; max-width: 36.25rem; min-width: 0; }
.home-lounge__details { display: flex; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); }
.home-lounge__details > div { min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border); }
.home-lounge__details h3 { margin-bottom: var(--space-2); font-size: 1.5rem; }
.home-lounge__details p { margin-bottom: 0; color: var(--color-text-soft); }
.home-text-link { display: inline-flex; min-height: 3rem; align-items: center; margin-top: var(--space-5); border-bottom: 1px solid transparent; color: var(--color-text); font-size: var(--font-size-small); font-weight: 600; letter-spacing: var(--letter-spacing-label); text-decoration: none; text-transform: uppercase; }
.home-text-link:hover { border-color: var(--color-white-100); }
.home-lounge__media { grid-column: 3; width: 100%; aspect-ratio: 4 / 5; margin: 0; }
.home-venue { padding-top: 0; }
.home-venue__image-wrap { width: 100%; aspect-ratio: 16 / 9; max-height: 45rem; }
.home-venue__content { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 4fr) minmax(0, 2fr); align-items: end; margin-top: -10rem; }
.home-venue__fact { grid-column: 1; min-width: 0; padding: var(--space-6); background: var(--color-surface-raised); border: 1px solid var(--color-border); }
.home-venue__fact p { margin: 0; font-family: var(--font-heading); font-size: clamp(2rem, 3vw, 3rem); line-height: 1.1; }
.home-venue__explanation { grid-column: 3; width: 100%; max-width: 28.75rem; min-width: 0; padding-bottom: var(--space-3); }
.home-venue__explanation p { margin: 0; color: var(--color-text-soft); }
.home-restaurant__heading { width: 50%; max-width: 37.5rem; min-width: 0; }
.home-restaurant__principles { display: flex; flex-direction: column; gap: 0; width: 100%; margin-top: var(--space-7); }
.home-restaurant__principles > div { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 3fr) minmax(0, 6fr); min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--color-border); }
.home-restaurant__principles h3 { grid-column: 1; margin: 0; font-size: 1.75rem; }
.home-restaurant__principles p { grid-column: 3; margin: 0; color: var(--color-text-soft); }
.home-restaurant__action { margin-top: var(--space-6); }
.home-paths__heading { width: 41.6667%; max-width: 35rem; min-width: 0; }
.home-paths__panels { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); margin-top: var(--space-7); }
.home-paths__panel { display: flex; min-width: 0; min-height: 23rem; flex-direction: column; align-items: flex-start; gap: var(--space-5); padding: var(--space-7); }
.home-paths__panel h3, .home-paths__panel p { margin: 0; }
.home-paths__panel p { max-width: 27.5rem; color: var(--color-text-soft); }
.home-paths__panel .button { margin-top: auto; }
.home-paths__panel--primary { background: var(--color-surface); border: 1px solid var(--color-border); }
.home-paths__panel--secondary { background: var(--color-surface-raised); }
.home-poker-route__copy { width: 41.6667%; max-width: 35rem; min-width: 0; }
.home-poker-route__copy .button { margin-top: var(--space-3); }
.home-table-types__heading { width: 50%; max-width: 38.75rem; min-width: 0; }
.home-table-types__columns { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); margin-top: var(--space-7); }
.home-table-types__columns article { min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border); }
.home-table-types__columns article:first-child { grid-column: 1; }
.home-table-types__columns article:last-child { grid-column: 3; }
.home-table-types__columns p { max-width: 26.875rem; color: var(--color-text-soft); }
.home-table-types__closing { width: 50%; max-width: 38.75rem; margin-top: var(--space-6); padding-top: var(--space-4); border-top: 1px solid var(--color-border); color: var(--color-text-muted); }
.home-private__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr) minmax(0, 5fr); align-items: center; }
.home-private__media { grid-column: 1; width: 100%; margin: 0; aspect-ratio: 3 / 2; }
.home-private__copy { grid-column: 3; width: 100%; max-width: 36.25rem; min-width: 0; }
.home-private__points { display: flex; flex-direction: column; gap: var(--space-3); margin-block: var(--space-6); }
.home-private__points > div { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-top: var(--space-3); border-top: 1px solid var(--color-border); }
.home-private__points span { color: var(--color-text-muted); font-size: var(--font-size-meta); font-weight: 600; }
.home-private__points p { margin: 0; color: var(--color-text-soft); }
.home-gallery-route__heading { width: 50%; max-width: 33.75rem; min-width: 0; }
.home-gallery-route__views { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.home-gallery-route__views > div { min-width: 0; min-height: 14rem; padding: var(--space-5); border: 1px solid var(--color-border); background: var(--color-surface); }
.home-gallery-route__views > div:nth-child(2) { background: var(--color-surface-raised); }
.home-gallery-route__views h3 { font-size: 1.75rem; }
.home-gallery-route__views p:last-child { margin-bottom: 0; color: var(--color-text-soft); }
.home-faq__heading { width: 100%; max-width: 38.75rem; min-width: 0; margin-inline: auto; text-align: center; }
.home-faq__list { width: 100%; max-width: 53.75rem; min-width: 0; margin: var(--space-7) auto 0; border-top: 1px solid var(--color-border); }
.home-faq__item { min-width: 0; border-bottom: 1px solid var(--color-border); }
.home-faq__trigger { display: flex; width: 100%; min-width: 0; min-height: 3.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); background: transparent; color: var(--color-text); font-size: var(--font-size-body); font-weight: 600; text-align: left; }
.home-faq__trigger > span:first-child { min-width: 0; }
.home-faq__state { flex: 0 0 auto; color: var(--color-text-soft); font-size: var(--font-size-meta); letter-spacing: var(--letter-spacing-label); text-transform: uppercase; }
.home-faq__panel { padding: var(--space-5); background: var(--color-surface-raised); }
.home-faq__panel p { max-width: 38.75rem; margin: 0; color: var(--color-text-soft); }
.home-contact__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 1fr) minmax(0, 6fr); align-items: start; }
.home-contact__information { grid-column: 1; width: 100%; max-width: 32.5rem; min-width: 0; }
.home-contact__details { display: flex; flex-direction: column; gap: 0; margin-top: var(--space-6); }
.home-contact__details > div { min-width: 0; padding-block: var(--space-3); border-top: 1px solid var(--color-border); }
.home-contact__details dd { margin: var(--space-1) 0 0; color: var(--color-text-soft); overflow-wrap: anywhere; }
.home-contact__form { grid-column: 3; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); padding: var(--space-6); background: var(--color-surface-raised); border: 1px solid var(--color-border); }
.home-contact__form-intro h3, .home-contact__form-intro p { margin: 0; }
.home-contact__form-intro { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); }
.home-contact__form-intro p { color: var(--color-text-soft); font-size: var(--font-size-small); }
.home-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-field { min-width: 0; }
.home-field--message { width: 100%; }
.home-field__error { min-height: 1.25rem; margin: var(--space-1) 0 0; color: var(--color-white-100); font-size: var(--font-size-meta); font-weight: 600; line-height: var(--line-height-meta); }
.home-field input[aria-invalid="true"], .home-field select[aria-invalid="true"], .home-field textarea[aria-invalid="true"] { border-color: var(--color-white-100); }
.home-contact__status { min-height: 1.625rem; margin: 0; color: var(--color-text-soft); font-weight: 600; }
.home-contact__status[data-state="error"] { color: var(--color-white-100); }
@media (max-width: 57.5rem) { .home-lounge__grid, .home-private__grid, .home-contact__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-lounge__copy, .home-lounge__media, .home-private__media, .home-private__copy, .home-contact__information, .home-contact__form { grid-column: 1; } .home-lounge__media, .home-private__media { order: 2; max-width: 38.75rem; } .home-private__copy { order: 1; } .home-contact__form { max-width: 46rem; } .home-paths__panels { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 56.25rem) { .home-hero__copy, .home-evening__heading, .home-restaurant__heading, .home-paths__heading, .home-poker-route__copy, .home-table-types__heading, .home-gallery-route__heading { width: 100%; } .home-evening__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 50rem) { .home-venue__content { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); margin-top: 0; padding-top: var(--space-5); } .home-venue__fact, .home-venue__explanation { grid-column: 1; max-width: none; } .home-venue__explanation { padding-bottom: 0; } .home-venue__image-wrap { aspect-ratio: 3 / 2; } }
@media (max-width: 47.99rem) { .home-page .home-hero { min-height: 41.25rem; } .home-hero__image { object-position: center; } .home-hero__layout { padding-block: var(--space-8) var(--space-5); } .home-hero__copy { width: 100%; } .home-hero__copy h1 { font-size: 2.75rem; line-height: 1.09; } .home-hero__actions { flex-direction: column; align-items: stretch; } .home-hero__actions > * { width: 100%; } .home-hero__index-item { padding-inline: var(--space-2); font-size: var(--font-size-meta); } .home-evening__steps, .home-gallery-route__views { grid-template-columns: minmax(0, 1fr); } .home-evening__steps { gap: var(--space-5); } .home-restaurant__principles > div { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); } .home-restaurant__principles h3, .home-restaurant__principles p { grid-column: 1; } .home-restaurant__action { width: 100%; } .home-paths__panel { min-height: 0; padding: var(--space-5); } .home-table-types__columns { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); } .home-table-types__columns article:first-child, .home-table-types__columns article:last-child { grid-column: 1; } .home-table-types__closing { width: 100%; } .home-contact__fields { grid-template-columns: minmax(0, 1fr); } .home-contact__form { padding: var(--space-4); } }
@media (max-width: 45rem) { .home-gallery-route__views { gap: var(--space-4); } }
@media (max-width: 40rem) { .home-lounge__media { aspect-ratio: 4 / 5; } .home-faq__trigger { min-height: 3.5rem; padding-inline: var(--space-3); } }
@media (prefers-reduced-motion: reduce) { .home-hero__image { transition: none; } }
