.home-page {
  overflow: clip;
  background: linear-gradient(160deg, var(--color-ink-night) 0%, var(--color-smoky-purple) 100%);
}

.home-page .eyebrow { margin-bottom: var(--space-3); }
.home-page h2 { max-width: 14ch; }
.home-page a:focus-visible { outline: 2px solid var(--color-accent-bright); outline-offset: 3px; }

.home-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-accent-bright);
  font-weight: 600;
}

.home-hero {
  position: relative;
  min-height: 47.5rem;
  overflow: hidden;
  isolation: isolate;
  background: var(--color-ink-night);
}
.home-hero__scene,
.home-hero__band { position: absolute; inset: 0; pointer-events: none; }
.home-hero__scene {
  z-index: -4;
  background: linear-gradient(90deg, rgb(9 7 15 / 96%) 0%, rgb(9 7 15 / 70%) 52%, rgb(9 7 15 / 50%) 100%), url('/public/media/hero-nocturnal-dining-room.webp') center / cover no-repeat;
}
.home-hero__band {
  z-index: -3;
  width: 78vw;
  height: 26vw;
  max-width: 75rem;
  max-height: 25rem;
  inset: auto;
  opacity: 0;
  transition: opacity 600ms ease, transform 600ms ease;
}
.home-hero__band--dish {
  top: 4%; left: 20%;
  transform: rotate(-14deg) translateX(-1%);
  background: linear-gradient(90deg, rgb(9 7 15 / 82%), rgb(33 18 56 / 28%), rgb(9 7 15 / 86%)), url('/public/media/hero-dish-diagonal.webp') center / cover no-repeat;
}
.home-hero__band--poker {
  top: 48%; left: 25%;
  width: 74vw;
  height: 24vw;
  max-width: 71rem;
  transform: rotate(13deg) translateX(1%);
  background: linear-gradient(90deg, rgb(9 7 15 / 84%), rgb(33 18 56 / 34%), rgb(9 7 15 / 88%)), url('/public/media/hero-poker-table-diagonal.webp') center / cover no-repeat;
}
.home-hero.is-ready .home-hero__band { opacity: .64; }
.home-hero.is-ready .home-hero__band--dish { transform: rotate(-14deg) translateX(0); }
.home-hero.is-ready .home-hero__band--poker { transform: rotate(13deg) translateX(0); }
.home-hero__container { display: flex; min-height: 47.5rem; align-items: center; }
.home-hero__copy { width: 46%; min-width: 31.25rem; max-width: 38.75rem; margin-left: 10%; padding-block: var(--space-9); }
.home-hero__copy h1 { border-left: 1px solid var(--color-accent-bright); padding-left: var(--space-4); }
.home-hero__copy .lead { max-width: 38rem; }
.home-hero__actions { margin-top: var(--space-5); }
.home-hero__note { max-width: 32rem; margin-top: var(--space-4); color: var(--color-mist); font-size: var(--text-14); }
.home-hero__marker {
  position: absolute;
  z-index: -1;
  top: 43%; left: 66%;
  display: flex;
  min-width: 12rem;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-3);
  border: var(--border-accent);
  background: rgb(9 7 15 / 86%);
  color: var(--color-cold-white);
  font-size: var(--text-12);
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  opacity: 0;
  transition: opacity 600ms ease 250ms, box-shadow 600ms ease 250ms;
}
.home-hero.is-ready .home-hero__marker { opacity: 1; box-shadow: var(--shadow-glow); }
.home-sigil { color: var(--color-neon-violet); font-size: 1.35rem; line-height: 1; }

.home-layers__intro { width: 100%; max-width: 40rem; }
.home-layers__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-7); }
.home-layer { min-width: 0; padding-right: var(--space-6); border-right: var(--border-subtle); }
.home-layer:last-child { padding-right: 0; border-right: 0; }
.home-layer p:not(.home-layer__number) { max-width: 39ch; }
.home-layer__number { margin-bottom: var(--space-4); color: var(--color-accent-bright); font-size: var(--text-12); font-weight: 700; letter-spacing: .12em; }

.home-menu-feature__grid { display: grid; grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); gap: var(--space-8); align-items: center; }
.home-menu-feature__media { width: 100%; margin: 0; overflow: hidden; aspect-ratio: 16 / 10; }
.home-menu-feature__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--transition-base); }
.home-menu-feature__media:hover img { transform: scale(1.01); }
.home-menu-feature__copy { min-width: 0; max-width: 32.5rem; }
.home-menu-feature__copy .lead { max-width: 60ch; }
.home-menu-feature__direction { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); margin-top: var(--space-6); padding-top: var(--space-5); border-top: var(--border-subtle); }
.home-menu-feature__direction > * { min-width: 0; margin: 0; }
.home-menu-feature__direction p { max-width: 45ch; color: var(--color-mist); }
.home-menu-feature__direction .button { width: fit-content; }

.home-interior { position: relative; overflow: hidden; background: var(--color-smoky-purple); }
.home-interior__image { position: absolute; inset: 0; z-index: 0; background: linear-gradient(90deg, rgb(9 7 15 / 97%) 0%, rgb(9 7 15 / 88%) 45%, rgb(9 7 15 / 24%) 100%), url('/public/media/interior-cold-light-salon.webp') center / cover no-repeat; }
.home-interior__container { position: relative; z-index: 1; }
.home-interior__panel { width: 48%; min-width: 0; max-width: 37.5rem; padding-block: var(--space-7); }
.home-interior__items { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.home-interior__items > article { min-width: 0; padding-bottom: var(--space-5); border-bottom: var(--border-subtle); }
.home-interior__items > article:last-child { padding-bottom: 0; border-bottom: 0; }
.home-interior__items article > :last-child { margin-bottom: 0; }
.home-item-label { margin-bottom: var(--space-2); color: var(--color-accent-bright); font-size: var(--text-12); font-weight: 700; letter-spacing: .12em; line-height: var(--leading-meta); text-transform: uppercase; }

.home-lounge { background: var(--color-ink-night); }
.home-lounge__intro { width: 100%; max-width: 45rem; }
.home-lounge__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: var(--space-7); border: var(--border-subtle); background: var(--color-smoky-purple); }
.home-table-module { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border-right: var(--border-subtle); }
.home-table-module:last-child { border-right: 0; }
.home-table-module > * { min-width: 0; margin: 0; }
.home-table-module p:not(.home-layer__number):not(.home-item-label) { max-width: 38ch; color: var(--color-mist); }
.home-table-module .home-text-link { margin-top: auto; }
.home-lounge__notice { display: flex; min-width: 0; align-items: flex-start; gap: var(--space-3); margin-top: var(--space-5); padding: var(--space-4); border: var(--border-accent); color: var(--color-mist); }
.home-lounge__notice > * { min-width: 0; margin: 0; }
.home-lounge__notice > span { color: var(--color-neon-violet); }

.home-private__grid { display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); gap: var(--space-7); align-items: start; }
.home-private__copy { min-width: 0; max-width: 35rem; }
.home-private__copy .lead { max-width: 60ch; }
.home-private__media { grid-column: 2; grid-row: 1 / span 2; width: 100%; margin: 0; aspect-ratio: 3 / 4; overflow: hidden; }
.home-private__media img { width: 100%; height: 100%; object-fit: cover; }
.home-private__steps { display: flex; min-width: 0; max-width: 31.25rem; flex-direction: column; gap: var(--space-5); margin-top: var(--space-5); }
.home-private__steps > * { min-width: 0; }
.home-private__steps article { padding-bottom: var(--space-5); border-bottom: var(--border-subtle); }
.home-private__steps article > :last-child { margin-bottom: 0; }
.home-private__steps .button { width: fit-content; }

.home-gallery__intro { max-width: 38.75rem; }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 29fr) minmax(0, 29fr); gap: var(--space-5); margin-top: var(--space-7); }
.home-gallery__card { display: flex; min-width: 0; flex-direction: column; color: inherit; text-decoration: none; }
.home-gallery__card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; filter: saturate(.82) hue-rotate(6deg); transition: transform var(--transition-base), filter var(--transition-base); }
.home-gallery__card:hover img { transform: scale(1.01); filter: saturate(1) hue-rotate(0deg); }
.home-gallery__caption { display: flex; min-width: 0; flex-direction: column; gap: var(--space-2); padding-top: var(--space-4); color: var(--color-mist); font-size: var(--text-14); line-height: var(--leading-small); }
.home-gallery__caption strong { color: var(--color-cold-white); font-family: var(--font-heading); font-size: var(--text-24); font-weight: 400; line-height: var(--leading-card-title); }

.home-faq { background: var(--color-smoky-purple); }
.home-faq__container { padding-block: var(--space-6); }
.home-faq__intro { max-width: 40rem; }
.home-faq__list { width: 100%; max-width: 51.25rem; margin-top: var(--space-6); }
.home-faq__list details { margin: 0; }
.home-faq__list summary { min-height: 3.25rem; }
.home-faq__list details p { max-width: 48rem; color: var(--color-mist); }

.home-paths__intro { max-width: 38.75rem; }
.home-paths__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.home-path { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: var(--border-subtle); }
.home-path > * { min-width: 0; margin: 0; }
.home-path p:not(.home-item-label) { max-width: 52ch; color: var(--color-mist); }
.home-path--restaurant { background: rgb(21 16 32 / 56%); }
.home-path--lounge { background: linear-gradient(145deg, rgb(33 18 56 / 82%), rgb(21 16 32 / 90%)); }
.home-path__links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-3); margin-top: auto; }
.home-path__links a { display: inline-flex; min-width: 0; min-height: 2.75rem; align-items: center; gap: var(--space-2); font-weight: 600; }

.home-contact { position: relative; overflow: hidden; background: radial-gradient(circle at 77% 45%, rgb(154 114 216 / 15%), transparent 18rem), linear-gradient(135deg, var(--color-ink-violet), var(--color-smoky-purple)); }
.home-contact__container { position: relative; }
.home-contact__copy { width: 52%; min-width: 0; max-width: 38.75rem; }
.home-contact__copy .lead { max-width: 62ch; }
.home-contact__details { display: flex; min-width: 0; max-width: 26.25rem; flex-direction: column; gap: var(--space-2); margin: var(--space-5) 0; color: var(--color-mist); font-style: normal; }
.home-contact__details a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.home-contact__copy > .home-text-link { margin-top: var(--space-3); }
.home-contact__sigil { position: absolute; top: 50%; right: 8%; display: grid; width: 15rem; height: 15rem; place-items: center; transform: translateY(-50%); border: 1px solid rgb(194 155 255 / 18%); color: rgb(194 155 255 / 28%); font-size: 7rem; line-height: 1; }
.home-contact__sigil span { position: absolute; font-size: 4rem; }

@media (max-width: 61.25rem) {
  .home-hero { min-height: 42rem; }
  .home-hero__container { min-height: 42rem; }
  .home-hero__copy { width: 64%; min-width: 0; margin-left: 6%; }
  .home-hero__band--dish { left: 25%; }
  .home-hero__band--poker { width: 54vw; height: 20vw; left: 57%; }
  .home-hero__marker { top: 30%; left: 70%; }
}

@media (max-width: 60rem) {
  .home-lounge__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-table-module:nth-child(2) { border-right: 0; }
  .home-table-module:nth-child(3) { grid-column: 1 / -1; border-top: var(--border-subtle); }
}

@media (max-width: 57.5rem) {
  .home-layers__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-layer:first-child { grid-column: 1 / -1; border-right: 0; border-bottom: var(--border-subtle); padding-bottom: var(--space-5); }
  .home-layer:nth-child(2) { border-right: var(--border-subtle); }
  .home-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-gallery__card--interior { grid-column: 1 / -1; }
  .home-gallery__card--interior img { aspect-ratio: 16 / 9; }
  .home-paths__grid { grid-template-columns: 1fr; }
}

@media (max-width: 56.25rem) {
  .home-private__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-private__copy { max-width: 35rem; }
  .home-private__media { grid-column: 1; grid-row: 2; aspect-ratio: 16 / 10; }
  .home-private__steps { grid-column: 1; grid-row: 3; margin-top: 0; }
}

@media (max-width: 55rem) {
  .home-menu-feature__grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .home-menu-feature__copy { max-width: 38.75rem; }
  .home-menu-feature__media { aspect-ratio: 16 / 9; }
}

@media (max-width: 52.5rem) {
  .home-interior { background: var(--color-smoky-purple); }
  .home-interior__image { position: relative; height: auto; aspect-ratio: 16 / 9; background: url('/public/media/interior-cold-light-salon.webp') center / cover no-repeat; }
  .home-interior__container { width: 100%; margin: 0; padding: 0; }
  .home-interior__panel { width: min(100% - (2 * var(--container-padding)), var(--container-max); max-width: none; margin-inline: auto; padding-block: var(--space-7); }
}

@media (max-width: 47.5rem) {
  .home-contact__copy { width: 100%; }
  .home-contact__sigil { display: none; }
}

@media (max-width: 42.5rem) {
  .home-hero { min-height: 0; padding-top: 16.875rem; }
  .home-hero__scene { height: 16.875rem; bottom: auto; background: linear-gradient(180deg, rgb(9 7 15 / 18%), var(--color-ink-night) 100%), url('/public/media/hero-nocturnal-dining-room.webp') center / cover no-repeat; }
  .home-hero__band { top: 2.5rem; height: 7rem; max-height: none; }
  .home-hero__band--dish { width: 115vw; left: -14vw; transform: rotate(-11deg); }
  .home-hero__band--poker { top: 8rem; left: 18vw; width: 95vw; height: 6.5rem; transform: rotate(11deg); }
  .home-hero.is-ready .home-hero__band--dish { transform: rotate(-11deg); }
  .home-hero.is-ready .home-hero__band--poker { transform: rotate(11deg); }
  .home-hero__marker { top: 11.7rem; left: auto; right: var(--container-padding); min-width: 0; font-size: .625rem; }
  .home-hero__container { min-height: 0; align-items: flex-start; }
  .home-hero__copy { width: 100%; max-width: none; margin-left: 0; padding-block: var(--space-7); text-align: left; }
  .home-hero__copy h1 { font-size: var(--text-36); line-height: 1.05; }
  .home-hero__copy .lead { font-size: 1.0625rem; }
  .home-hero__actions { display: flex; flex-direction: column; align-items: stretch; max-width: 22.5rem; }
  .home-hero__actions > * { width: 100%; }
  .home-layers__grid,
  .home-lounge__grid,
  .home-gallery__grid { grid-template-columns: 1fr; }
  .home-layer,
  .home-layer:first-child,
  .home-layer:nth-child(2),
  .home-table-module,
  .home-table-module:nth-child(2),
  .home-table-module:nth-child(3) { grid-column: 1; padding-right: 0; border-right: 0; border-bottom: var(--border-subtle); }
  .home-layer { padding-bottom: var(--space-5); }
  .home-layer:last-child,
  .home-table-module:last-child { padding-bottom: 0; border-bottom: 0; }
  .home-table-module { padding: var(--space-5); }
  .home-gallery__card--interior { grid-column: 1; }
  .home-gallery__card img,
  .home-gallery__card--interior img { aspect-ratio: 4 / 3; }
  .home-menu-feature__media,
  .home-private__media { aspect-ratio: 4 / 3; }
  .home-menu-feature__direction .button,
  .home-private__steps .button,
  .home-contact .button { width: 100%; max-width: 22.5rem; }
  .home-path { padding: var(--space-5); }
  .home-path__links { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__band,
  .home-hero__marker,
  .home-menu-feature__media img,
  .home-gallery__card img { transition: none; }
  .home-menu-feature__media:hover img,
  .home-gallery__card:hover img { transform: none; }
}
