.home-page { overflow: clip; }
.home-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.home-page .home-hero { position: relative; min-height: 49rem; padding-top: clamp(3rem, 8vw, 7rem); overflow: hidden; }
.home-page .home-hero__layout { position: relative; z-index: 2; min-height: 32rem; display: grid; grid-template-columns: minmax(0, 7fr) minmax(15.625rem, 5fr); align-items: start; }
.home-page .home-hero__copy { grid-column: 1; width: min(100%, 38rem); min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-5); }
.home-page .home-hero__copy h1, .home-page .home-hero__copy p { margin: 0; }
.home-page .home-hero__copy h1 { max-width: 11ch; }
.home-page .home-hero__copy .lead { max-width: 56ch; }
.home-page .home-hero__eyebrow { max-width: 34ch; }
.home-page .home-hero__actions { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.home-page .home-hero__actions > * { min-width: 0; }
.home-page .home-hero__relic { width: 3rem; min-width: 3rem; color: var(--color-accent-bright); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; text-align: center; }
.home-page .home-hero__dish { grid-column: 2; justify-self: end; width: min(100%, 19.375rem); min-width: 0; margin: 0; border: 1px solid var(--color-border); overflow: hidden; aspect-ratio: 4 / 5; box-shadow: var(--shadow-panel); }
.home-page .home-hero__dish img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-hero__table { position: absolute; z-index: 1; right: 0; bottom: 0; width: min(88%, 88rem); height: 20rem; margin: 0; overflow: hidden; }
.home-page .home-hero__table::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,12,24,.92), rgba(18,12,24,.2) 65%), linear-gradient(0deg, rgba(18,12,24,.92), transparent 58%); content: ""; }
.home-page .home-hero__table img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-hero__number { position: absolute; z-index: 0; top: 2rem; left: max(1rem, calc((100vw - var(--container-max)) / 2)); color: rgba(242,198,109,.07); font-family: var(--font-heading); font-size: clamp(13rem, 24vw, 20rem); font-weight: 600; line-height: .7; pointer-events: none; }
.home-page .home-hero__smoke { position: absolute; z-index: 0; top: 8%; right: 8%; width: 31rem; height: 31rem; border-radius: 50%; background: radial-gradient(circle, rgba(169,79,53,.14), transparent 67%); pointer-events: none; }
.home-page .home-story__grid, .home-page .home-faq__grid, .home-page .home-contact__grid { display: grid; grid-template-columns: minmax(22.5rem, 5fr) minmax(0, 7fr); gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.home-page .home-story__intro, .home-page .home-faq__heading, .home-page .home-contact__details { min-width: 0; }
.home-page .home-story__intro .lead { max-width: 58ch; }
.home-page .home-story__entries { min-width: 0; display: flex; flex-direction: column; gap: var(--space-6); }
.home-page .home-story__entry { position: relative; width: min(100%, 50ch); min-width: 0; padding-left: 4rem; }
.home-page .home-story__entry:nth-child(2) { margin-left: 3rem; }
.home-page .home-story__entry:nth-child(3) { margin-left: 1rem; }
.home-page .home-story__entry h3 { margin-bottom: var(--space-3); }
.home-page .home-story__entry p { margin-bottom: 0; }
.home-page .home-story__mark { position: absolute; top: .1rem; left: 0; color: var(--color-accent-bright); font-family: var(--font-heading); font-size: 2rem; }
.home-page .home-kitchen { position: relative; background: linear-gradient(180deg, transparent, rgba(42,25,49,.28)); }
.home-page .home-kitchen__heading { width: min(100%, 38.75rem); min-width: 0; }
.home-page .home-kitchen__heading .lead { max-width: 50ch; }
.home-page .home-kitchen__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); align-items: start; margin-top: var(--space-7); }
.home-page .home-kitchen__card { position: relative; min-width: 0; min-height: 24rem; border-top: 2px solid var(--color-accent); background: var(--color-plum-900); overflow: hidden; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.home-page .home-kitchen__card--offset { margin-top: var(--space-6); }
.home-page .home-kitchen__card:hover { border-color: var(--color-accent-bright); transform: translateY(-4px); }
.home-page .home-kitchen__texture { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(18,12,24,.2), rgba(18,12,24,.96)), url('/src/media/signature-dish-embers.webp') center / cover; opacity: .7; }
.home-page .home-kitchen__content { position: relative; min-height: 24rem; display: flex; flex-direction: column; justify-content: flex-end; gap: var(--space-3); padding: var(--space-5); }
.home-page .home-kitchen__content h3, .home-page .home-kitchen__content p { margin: 0; }
.home-page .home-kitchen__content p:not(.eyebrow) { max-width: 34ch; }
.home-page .home-kitchen__cta, .home-page .home-table-games__cta, .home-page .home-gallery__cta { margin-top: var(--space-6); }
.home-page .home-lounge__composition { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; }
.home-page .home-lounge__media { grid-column: 1 / span 2; width: min(100%, 72rem); min-width: 0; margin: 0; aspect-ratio: 3 / 2; overflow: hidden; border: 1px solid var(--color-border); }
.home-page .home-lounge__media img { width: 100%; height: 100%; object-fit: cover; }
.home-page .home-lounge__panel { z-index: 1; grid-column: 2; width: 100%; min-width: 0; margin: -11rem 0 2rem -3rem; display: flex; flex-direction: column; gap: var(--space-4); }
.home-page .home-lounge__panel > * { margin: 0; }
.home-page .home-lounge__panel article { padding-left: var(--space-4); border-left: 2px solid var(--color-accent); }
.home-page .home-lounge__panel article h3 { margin-bottom: var(--space-2); }
.home-page .home-lounge__panel article p { margin-bottom: 0; max-width: 38ch; }
.home-page .home-poker { background: linear-gradient(90deg, rgba(42,25,49,.42), transparent 70%); }
.home-page .home-poker__heading { width: min(100%, 38.75rem); min-width: 0; }
.home-page .home-poker__heading .lead { max-width: 52ch; }
.home-page .home-poker__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-poker__step { min-width: 0; padding-right: var(--space-5); border-right: 1px solid var(--color-border); }
.home-page .home-poker__step:last-child { border-right: 0; padding-right: 0; }
.home-page .home-poker__step > span { display: block; margin-bottom: var(--space-4); color: var(--color-accent-bright); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-page .home-poker__step h3 { margin-bottom: var(--space-3); }
.home-page .home-poker__step p { max-width: 42ch; }
.home-page .home-poker__step .button { margin-top: var(--space-2); }
.home-page .home-table-games__heading { width: min(100%, 38.75rem); min-width: 0; }
.home-page .home-table-games__heading .lead { max-width: 52ch; }
.home-page .home-table-games__cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-page .home-table-games__card { position: relative; min-width: 0; min-height: 20rem; padding: clamp(1.5rem, 4vw, 3rem); border: 1px solid var(--color-border); background: var(--color-plum-800); overflow: hidden; transition: transform var(--transition-fast), border-color var(--transition-fast); }
.home-page .home-table-games__card:hover { border-color: var(--color-border-strong); transform: translateY(-2px); }
.home-page .home-table-games__symbol { display: block; margin-bottom: var(--space-5); color: var(--color-accent-bright); font-family: var(--font-heading); font-size: 4rem; line-height: .6; }
.home-page .home-table-games__card h3 { margin-bottom: var(--space-3); }
.home-page .home-table-games__card p { max-width: 40ch; margin-bottom: 0; }
.home-page .home-private__panel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-7); }
.home-page .home-private__panel > * { margin: 0; }
.home-page .home-private__heading { width: min(100%, 45rem); min-width: 0; }
.home-page .home-private__heading .lead { max-width: 54ch; }
.home-page .home-private__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.home-page .home-private__cards article { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-3); padding: var(--space-5); border: 1px solid rgba(242,198,109,.16); }
.home-page .home-private__cards article > * { margin: 0; }
.home-page .home-private__cards article > span { color: var(--color-accent-bright); font-family: var(--font-heading); font-size: 1.5rem; }
.home-page .home-private__cards p { max-width: 38ch; }
.home-page .home-private__cards .button { margin-top: auto; }
.home-page .home-gallery__heading { width: min(100%, 38rem); min-width: 0; }
.home-page .home-gallery__heading .lead { max-width: 48ch; }
.home-page .home-gallery__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.home-page .home-gallery__item { position: relative; min-width: 0; display: block; border: 1px solid var(--color-border); overflow: hidden; color: var(--color-text); text-decoration: none; }
.home-page .home-gallery__item img { width: 100%; height: 100%; transition: transform var(--transition-fast); }
.home-page .home-gallery__item:hover { border-color: var(--color-border-strong); }
.home-page .home-gallery__item:hover img { transform: scale(1.03); }
.home-page .home-gallery__item span { position: absolute; right: 0; bottom: 0; left: 0; padding: var(--space-4); background: linear-gradient(0deg, rgba(18,12,24,.96), rgba(18,12,24,.05)); color: var(--color-lilac-100); font-size: var(--text-small); line-height: var(--leading-small); }
.home-page .home-gallery__item--panorama { grid-column: 1 / span 7; aspect-ratio: 16 / 9; }
.home-page .home-gallery__item--portrait { grid-column: 8 / span 5; aspect-ratio: 4 / 5; }
.home-page .home-gallery__item--detail { grid-column: 8 / span 5; aspect-ratio: 3 / 2; }
.home-page .home-faq { background: rgba(28,18,35,.58); }
.home-page .home-faq__heading .lead { max-width: 50ch; }
.home-page .home-faq__list { min-width: 0; width: min(100%, 47.5rem); display: flex; flex-direction: column; gap: var(--space-3); }
.home-page .home-faq__item { min-width: 0; border: 1px solid var(--color-border); background: var(--color-plum-900); }
.home-page .home-faq__button { width: 100%; min-height: 3rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--space-4); padding: var(--space-4); color: var(--color-text); font-weight: 700; text-align: left; }
.home-page .home-faq__icon { color: var(--color-accent-bright); font-size: 1.5rem; transition: transform var(--transition-fast); }
.home-page .home-faq__button[aria-expanded="true"] .home-faq__icon { transform: rotate(45deg); }
.home-page .home-faq__answer { padding: 0 var(--space-4) var(--space-4); }
.home-page .home-faq__answer p { max-width: 58ch; margin: 0; }
.home-page .home-contact { position: relative; }
.home-page .home-contact__details .lead { max-width: 50ch; }
.home-page .home-contact__address { max-width: 48ch; margin: var(--space-6) 0; padding: var(--space-4); border-left: 2px solid var(--color-accent); background: rgba(42,25,49,.55); color: var(--color-text); }
.home-page .home-contact__methods { display: flex; flex-direction: column; gap: var(--space-3); }
.home-page .home-contact__methods p { margin: 0; }
.home-page .home-contact__methods span { color: var(--color-accent-bright); }
.home-page .home-contact__form { min-width: 0; display: flex; flex-direction: column; gap: var(--space-5); }
.home-page .home-contact__form-heading, .home-page .home-contact__form-heading > * { margin: 0; }
.home-page .home-contact__form-heading { display: flex; flex-direction: column; gap: var(--space-3); }
.home-page .home-contact__form-heading p:not(.eyebrow) { max-width: 44ch; }
.home-page .home-contact__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-page .home-contact__field { min-width: 0; }
.home-page .home-contact__field--wide { grid-column: 1 / span 2; }
.home-page .home-contact__field label span { color: var(--color-text-subtle); font-weight: 400; }
.home-page .home-contact__field input, .home-page .home-contact__field textarea { min-height: 3rem; font-size: 1rem; }
.home-page .home-contact__error { min-height: 1.4rem; margin: var(--space-1) 0 0; color: var(--color-amber-300); font-size: var(--text-small); line-height: var(--leading-small); }
.home-page .home-contact__status { min-height: 1.65rem; margin: 0; color: var(--color-accent-bright); }
.home-page .home-final { padding: clamp(4rem, 9vw, 7.5rem) 0; }
.home-page .home-final__panel { display: flex; flex-direction: column; align-items: center; gap: var(--space-5); padding: clamp(2rem, 6vw, 5rem) var(--space-5); border-top: 2px solid var(--color-accent); background: var(--color-plum-900); text-align: center; }
.home-page .home-final__panel > * { margin: 0; }
.home-page .home-final__panel h2 { max-width: 18ch; }
.home-page .home-final__panel p:not(.eyebrow) { max-width: 46ch; }
.home-page .home-final__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-3); }
.home-page .home-final__actions > * { min-width: 0; }
@media (max-width: 61.25rem) { .home-page .home-kitchen__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .home-kitchen__card--offset { margin-top: 0; } .home-page .home-kitchen__card:last-child { grid-column: 1 / span 2; width: min(100%, calc(50% - var(--space-3))); } }
@media (max-width: 57.5rem) { .home-page .home-story__grid, .home-page .home-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-page .home-story__entry, .home-page .home-story__entry:nth-child(2), .home-page .home-story__entry:nth-child(3) { width: min(100%, 50ch); margin-left: 0; } .home-page .home-lounge__composition { grid-template-columns: minmax(0, 1fr); } .home-page .home-lounge__media { grid-column: 1; } .home-page .home-lounge__panel { grid-column: 1; margin: -1rem var(--space-4) 0; width: calc(100% - (2 * var(--space-4))); } .home-page .home-poker__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); } .home-page .home-poker__step { padding: 0 0 var(--space-5) 4rem; border-right: 0; border-bottom: 1px solid var(--color-border); position: relative; } .home-page .home-poker__step:last-child { padding-bottom: 0; border-bottom: 0; } .home-page .home-poker__step > span { position: absolute; top: .15rem; left: 0; } .home-page .home-private__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .home-private__cards article:last-child { grid-column: 1 / span 2; width: min(100%, calc(50% - var(--space-3))); } }
@media (max-width: 53.75rem) { .home-page .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-page .home-gallery__item--panorama { grid-column: 1 / span 2; } .home-page .home-gallery__item--portrait, .home-page .home-gallery__item--detail { grid-column: auto; } .home-page .home-contact__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-7); } }
@media (max-width: 47.9375rem) { .home-page .home-hero { min-height: 46rem; padding-top: var(--space-6); } .home-page .home-hero__layout { min-height: auto; display: flex; flex-direction: column; gap: var(--space-5); } .home-page .home-hero__copy { order: 2; width: 100%; } .home-page .home-hero__copy h1 { max-width: 12ch; font-size: clamp(3.4rem, 14vw, 5rem); line-height: .9; } .home-page .home-hero__copy .lead { max-width: none; } .home-page .home-hero__dish { order: 1; align-self: flex-end; width: 68vw; max-width: 19rem; } .home-page .home-hero__table { position: relative; right: auto; bottom: auto; width: 100%; height: 15rem; margin-top: var(--space-6); } .home-page .home-hero__number { top: 5rem; font-size: 11rem; opacity: .45; } .home-page .home-hero__smoke { opacity: .5; } .home-page .home-hero__actions { width: 100%; } .home-page .home-hero__actions .button { flex: 1 1 14rem; } .home-page .home-kitchen__cards, .home-page .home-table-games__cards, .home-page .home-private__cards { grid-template-columns: minmax(0, 1fr); } .home-page .home-kitchen__card:last-child, .home-page .home-private__cards article:last-child { grid-column: auto; width: 100%; } .home-page .home-kitchen__card, .home-page .home-kitchen__content { min-height: 18rem; } .home-page .home-lounge__panel { margin: -1rem 0 0; width: 100%; } .home-page .home-gallery__grid { grid-template-columns: minmax(0, 1fr); } .home-page .home-gallery__item--panorama, .home-page .home-gallery__item--portrait, .home-page .home-gallery__item--detail { grid-column: 1; } .home-page .home-gallery__item span { position: static; display: block; background: var(--color-plum-800); } .home-page .home-contact__fields { grid-template-columns: minmax(0, 1fr); } .home-page .home-contact__field--wide { grid-column: auto; } }
@media (max-width: 37.5rem) { .home-page .home-final__actions { width: 100%; flex-direction: column; } .home-page .home-final__actions .button { width: 100%; } .home-page .home-hero__actions { flex-direction: column; align-items: stretch; } .home-page .home-hero__actions .button { width: 100%; } .home-page .home-hero__relic { align-self: center; } }
@media (prefers-reduced-motion: reduce) { .home-page .home-hero__smoke { display: none; } }