.home-page {
  background: var(--color-ink-950);
}

.home-page .section-rule::before {
  margin-bottom: var(--space-4);
}

.home-hero {
  position: relative;
  isolation: isolate;
  min-height: 45rem;
  overflow: hidden;
  background: var(--color-steel-900);
}

.home-hero__video,
.home-hero__shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.home-hero__video {
  object-fit: cover;
  object-position: 68% center;
  filter: saturate(.7) contrast(1.08) brightness(.58);
}

.home-hero__shade {
  z-index: 1;
  background:
    linear-gradient(90deg, rgba(8, 10, 12, .96) 0%, rgba(8, 10, 12, .84) 46%, rgba(8, 10, 12, .35) 75%, rgba(8, 10, 12, .5) 100%),
    linear-gradient(118deg, transparent 0 66%, rgba(255, 210, 26, .74) 66% 66.25%, transparent 66.25% 100%);
}

.home-hero__container {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  min-height: 45rem;
}

.home-hero__panel {
  display: flex;
  flex: 0 1 42.5rem;
  flex-direction: column;
  gap: var(--space-5);
  width: min(56%, 42.5rem);
  min-width: 0;
  padding: var(--space-7) 0;
}

.home-hero__start {
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
  min-width: 0;
}

.home-hero__start > * { min-width: 0; }
.home-hero__start .number-marker { flex: 0 0 auto; }
.home-hero__start-copy { flex: 1 1 0; min-width: 0; padding-top: var(--space-1); }
.home-hero__start-copy p { max-width: 26.25rem; margin-bottom: 0; font-size: var(--text-nav); line-height: var(--line-nav); }
.home-hero__copy { width: min(100%, 38.75rem); }
.home-hero__copy h1 { max-width: 45rem; margin-bottom: var(--space-4); text-transform: uppercase; }
.home-hero__lead { max-width: 38.75rem; margin-bottom: 0; color: var(--color-white-strong); font-size: var(--text-lead); line-height: var(--line-lead); }
.home-hero__actions { width: fit-content; max-width: 100%; }
.home-hero__actions > .button { flex: 0 1 auto; }
.home-hero__note { max-width: 26.25rem; margin-bottom: 0; font-size: var(--text-meta); line-height: var(--line-meta); }

.home-route { padding-top: clamp(4rem, 7vw, 6rem); }
.home-route__heading { width: min(100%, 38rem); }
.home-route__heading h2 { margin-bottom: 0; text-transform: uppercase; }
.home-route__track {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}
.home-route__track::before {
  position: absolute;
  top: 2.65rem;
  right: 4%;
  left: 4%;
  z-index: -1;
  height: 2px;
  background: var(--color-tension-yellow);
  content: "";
  transform: skewX(-22deg);
}
.home-route__stop { min-width: 0; padding: var(--space-5); border-top: var(--border-default); background: var(--color-ink-950); }
.home-route__stop--poker { margin-top: var(--space-6); background: var(--color-steel-900); }
.home-route__stop--night { margin-top: var(--space-3); border-bottom: 2px solid var(--color-tension-yellow); }
.home-route__stop .number-marker { display: block; margin-bottom: var(--space-3); font-size: clamp(3.5rem, 5vw, 4.25rem); }
.home-route__stop h3 { margin-bottom: var(--space-3); }
.home-route__stop p { max-width: 17.5rem; margin-bottom: 0; }

.home-decision__grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: var(--space-7);
  align-items: start;
}
.home-decision__info { display: flex; flex-direction: column; gap: var(--space-6); min-width: 0; }
.home-decision__intro { width: min(100%, 28.75rem); }
.home-decision__intro .number-marker { display: block; margin-bottom: var(--space-3); }
.home-decision__intro h2 { margin-bottom: var(--space-4); text-transform: uppercase; }
.home-decision__lead { max-width: 26.875rem; margin-bottom: 0; font-size: var(--text-lead); line-height: var(--line-lead); }
.home-menu-panel { display: flex; flex-direction: column; gap: var(--space-4); width: 100%; min-width: 0; }
.home-menu-panel h3,
.home-menu-panel p { margin: 0; }
.home-menu-panel p { max-width: 21.25rem; }
.home-menu-panel .button { width: fit-content; max-width: 100%; }
.home-inquiry { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; padding: var(--space-5); border-width: 2px; }
.home-inquiry__heading { width: min(100%, 24rem); }
.home-inquiry__heading h2 { margin-bottom: var(--space-3); text-transform: uppercase; }
.home-inquiry__heading p { margin-bottom: 0; }
.home-inquiry__message { margin: 0; }
.home-inquiry__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.home-inquiry__field { min-width: 0; }
.home-inquiry__field--wide { grid-column: 1 / -1; }
.home-inquiry__field label { margin-bottom: var(--space-2); }
.home-inquiry__optional { color: var(--color-white-muted); font-weight: 400; }
.home-inquiry .button { width: 100%; }

.home-kitchen__grid { display: grid; grid-template-columns: minmax(0, 54fr) minmax(0, 46fr); gap: var(--space-7); align-items: center; }
.home-kitchen__visuals { position: relative; display: grid; grid-template-columns: minmax(0, 72fr) minmax(0, 28fr); gap: var(--space-3); min-width: 0; padding-right: var(--space-3); }
.home-kitchen__visuals figure { min-width: 0; margin: 0; }
.home-kitchen__food { aspect-ratio: 4 / 3; border-radius: 0; box-shadow: 6px 6px 0 var(--color-tension-yellow); }
.home-kitchen__cocktail { align-self: end; aspect-ratio: 3 / 4; border-radius: 0; box-shadow: 6px 6px 0 var(--color-steel-600); }
.home-kitchen__copy { width: min(100%, 36.25rem); }
.home-kitchen__copy h2 { margin-bottom: var(--space-4); text-transform: uppercase; }
.home-kitchen__copy > p { max-width: 36.25rem; }
.home-kitchen__secondary { display: flex; flex-direction: column; gap: var(--space-3); max-width: 26.25rem; padding-left: var(--space-5); border-left: var(--border-default); }
.home-kitchen__secondary .status-label { align-self: flex-start; }
.home-kitchen__cta { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 26.25rem); margin-top: var(--space-6); padding-top: var(--space-5); border-top: 2px solid var(--color-tension-yellow); }
.home-kitchen__cta h3,
.home-kitchen__cta p { margin: 0; }
.home-kitchen__cta .button { align-self: flex-start; }

.home-dining__heading { width: min(100%, 38rem); }
.home-dining__heading h2 { margin-bottom: 0; text-transform: uppercase; }
.home-dining__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) minmax(0, .85fr); gap: var(--space-5); align-items: end; margin-top: var(--space-7); }
.home-dining__card { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: var(--space-5); border: var(--border-default); background: var(--color-steel-900); }
.home-dining__card h3,
.home-dining__card p { margin: 0; }
.home-dining__card p { max-width: 21.25rem; }
.home-dining__card--one { min-height: 22rem; }
.home-dining__card--two { min-height: 25rem; border-top: 2px solid var(--color-tension-yellow); background: var(--color-steel-800); }
.home-dining__card--three { min-height: 19rem; }
.home-dining__card--three .button { width: fit-content; max-width: 100%; margin-top: auto; }

.home-lounge__heading { width: min(100%, 38rem); }
.home-lounge__heading h2 { margin-bottom: 0; text-transform: uppercase; }
.home-lounge__grid { display: grid; grid-template-columns: minmax(0, 48fr) minmax(0, 52fr); gap: var(--space-6); align-items: stretch; margin-top: var(--space-7); }
.home-lounge__poker { display: grid; grid-template-rows: auto auto; min-width: 0; border: var(--border-default); background: var(--color-steel-900); }
.home-lounge__media { width: 100%; aspect-ratio: 4 / 3; margin: 0; border: 0; border-radius: 0; }
.home-lounge__poker-copy { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding: var(--space-5); }
.home-lounge__poker-copy h3,
.home-lounge__poker-copy p { margin: 0; }
.home-lounge__poker-copy p { max-width: 26.25rem; }
.home-lounge__side { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: var(--space-5); min-width: 0; }
.home-lounge__panel { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; margin: 0; }
.home-lounge__panel h3,
.home-lounge__panel p { margin: 0; }
.home-lounge__panel p { max-width: 27.5rem; }
.home-lounge__link { display: inline-flex; align-items: center; width: fit-content; max-width: 100%; min-height: 2.75rem; margin-top: auto; border-bottom: 2px solid var(--color-tension-yellow); font-family: var(--font-heading); font-size: var(--text-nav); font-style: italic; font-weight: 800; letter-spacing: .03em; text-decoration: none; }

.home-event__grid { display: grid; grid-template-columns: minmax(0, 55fr) minmax(0, 45fr); gap: var(--space-6); align-items: stretch; }
.home-event__media { width: 100%; min-width: 0; aspect-ratio: 16 / 9; margin: 0; border-radius: 0; }
.home-event__panel { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; margin: 0; }
.home-event__panel h2,
.home-event__panel p { margin: 0; }
.home-event__panel > p { max-width: 31.25rem; }
.home-event__action { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 29rem); margin-top: auto; padding-top: var(--space-5); border-top: 2px solid var(--color-tension-yellow); }
.home-event__action h3,
.home-event__action p { margin: 0; }
.home-event__action .button { align-self: flex-start; }
.home-event__contact-note { color: var(--color-white-muted); font-size: var(--text-meta); line-height: var(--line-meta); }

.home-gallery__intro { width: min(100%, 33.75rem); }
.home-gallery__intro h2 { margin-bottom: var(--space-4); text-transform: uppercase; }
.home-gallery__intro p { margin-bottom: 0; }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, .75fr); gap: var(--space-4); align-items: stretch; margin-top: var(--space-7); }
.home-gallery__item { position: relative; display: block; width: 100%; min-width: 0; overflow: hidden; padding: 0; border: var(--border-default); border-radius: 0; background: var(--color-steel-900); color: var(--color-white-strong); text-align: left; }
.home-gallery__item img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.08); transition: transform var(--transition-panel); }
.home-gallery__item::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,10,12,.84), transparent 56%); content: ""; pointer-events: none; }
.home-gallery__item span { position: absolute; z-index: 1; right: var(--space-3); bottom: var(--space-3); left: var(--space-3); width: min(100%, 10rem); color: var(--color-tension-yellow); font-family: var(--font-heading); font-size: var(--text-nav); font-style: italic; font-weight: 800; letter-spacing: .05em; line-height: 1; }
.home-gallery__item:hover img { transform: scale(1.035); }
.home-gallery__item--food { aspect-ratio: 16 / 9; }
.home-gallery__item--poker { aspect-ratio: 4 / 3; }
.home-gallery__item--cocktail { aspect-ratio: 3 / 4; }

.home-faq__grid { display: grid; grid-template-columns: minmax(0, 28fr) minmax(0, 72fr); gap: var(--space-7); align-items: start; }
.home-faq__heading { width: 100%; }
.home-faq__heading h2 { margin-bottom: var(--space-4); text-transform: uppercase; }
.home-faq__heading p { max-width: 18rem; margin-bottom: 0; }
.home-faq__list { width: min(100%, 53.75rem); justify-self: end; min-width: 0; border-top: var(--border-default); }
.home-faq__item { min-width: 0; border-bottom: var(--border-default); }
.home-faq__question { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%; min-height: 3.25rem; padding: var(--space-4) 0; border: 0; background: transparent; color: var(--color-white-strong); font-family: var(--font-heading); font-size: clamp(1.3rem, 2vw, 1.75rem); font-style: italic; font-weight: 800; line-height: var(--line-section); text-align: left; }
.home-faq__question span { flex: 0 0 1.5rem; color: var(--color-tension-yellow); font-family: var(--font-body); font-size: 1.5rem; font-style: normal; font-weight: 400; text-align: center; }
.home-faq__question[aria-expanded="true"] span { transform: rotate(45deg); }
.home-faq__answer { overflow: hidden; transition: grid-template-rows var(--transition-panel); }
.home-faq__answer p { width: min(100%, 42.5rem); margin: 0; padding: 0 0 var(--space-5); }

.home-final { padding-top: clamp(4rem, 7vw, 6rem); }
.home-final__panel { display: flex; justify-content: center; min-width: 0; padding: clamp(2rem, 5vw, 4rem); border: var(--border-default); background: var(--color-steel-900); }
.home-final__panel::before { display: block; flex: 0 0 auto; width: 4rem; height: 2px; margin-right: var(--space-5); background: var(--color-tension-yellow); content: ""; transform: skewX(-24deg); transform-origin: left center; }
.home-final__copy { display: flex; flex: 0 1 47.5rem; flex-direction: column; gap: var(--space-4); min-width: 0; }
.home-final__copy h2,
.home-final__copy p { margin: 0; }
.home-final__copy h2 { max-width: 40rem; text-transform: uppercase; }
.home-final__copy > p { max-width: 33.75rem; }
.home-final__actions { width: fit-content; max-width: 100%; }
.home-final__actions > .button { flex: 0 1 auto; }

.home-lightbox { position: fixed; z-index: 100; inset: 0; }
.home-lightbox__backdrop { position: absolute; inset: 0; background: rgba(8, 10, 12, .92); }
.home-lightbox__dialog { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; width: min(100% - 2.5rem, 70rem); min-height: 100%; margin: auto; gap: var(--space-3); }
.home-lightbox__figure { width: 100%; max-height: calc(100vh - 4rem); margin: 0; }
.home-lightbox__image { width: 100%; max-height: calc(100vh - 7rem); object-fit: contain; }
.home-lightbox__figure figcaption { margin-top: var(--space-3); color: var(--color-white-strong); font-family: var(--font-heading); font-size: var(--text-nav); font-style: italic; font-weight: 800; letter-spacing: .05em; text-align: center; }
.home-lightbox__close,
.home-lightbox__nav { border: 1px solid var(--color-steel-600); background: var(--color-steel-900); color: var(--color-white-strong); }
.home-lightbox__close { position: absolute; z-index: 1; top: var(--space-4); right: 0; width: 2.75rem; min-height: 2.75rem; font-size: 2rem; line-height: 1; }
.home-lightbox__nav { width: 2.75rem; min-height: 2.75rem; font-size: 1.5rem; }

@media (max-width: 64rem) {
  .home-hero { min-height: auto; padding-top: 24rem; }
  .home-hero__video { height: 24rem; object-position: center; }
  .home-hero__shade { background: linear-gradient(0deg, var(--color-ink-950) 0%, rgba(8,10,12,.18) 54%, rgba(8,10,12,.55) 100%); }
  .home-hero__container { align-items: flex-end; min-height: auto; padding-inline: 0; }
  .home-hero__panel { width: 100%; max-width: none; padding: var(--space-5) var(--container-padding) var(--space-7); background: var(--color-steel-900); }
  .home-decision__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-decision__info { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .home-decision__intro { width: 100%; }
  .home-kitchen__grid { grid-template-columns: minmax(0, 1fr); }
  .home-kitchen__visuals { width: min(100%, 48rem); }
  .home-kitchen__copy { width: min(100%, 36.25rem); }
  .home-lounge__grid { grid-template-columns: minmax(0, 1fr); }
  .home-lounge__side { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; }
}

@media (max-width: 56.25rem) {
  .home-route__track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-route__track::before { display: none; }
  .home-route__stop--poker { margin-top: 0; }
  .home-route__stop--night { grid-column: 1 / -1; width: calc(50% - var(--space-3)); margin-top: 0; }
  .home-dining__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-dining__card--three { grid-column: 1 / -1; width: calc(50% - var(--space-3)); }
  .home-event__grid { grid-template-columns: minmax(0, 1fr); }
  .home-event__media { aspect-ratio: 3 / 2; }
  .home-faq__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-faq__heading p { max-width: 30rem; }
  .home-faq__list { justify-self: start; }
}

@media (max-width: 48rem) {
  .home-hero { padding-top: 17.5rem; }
  .home-hero__video { height: 17.5rem; }
  .home-hero__panel { gap: var(--space-4); }
  .home-hero__start { gap: var(--space-3); }
  .home-hero__start .number-marker { font-size: 3.5rem; }
  .home-hero__copy h1 { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .home-hero__lead { font-size: 1.125rem; }
  .home-hero__actions { width: 100%; }
  .home-hero__actions > .button { flex-basis: 100%; }
  .home-route__track { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding-left: var(--space-5); border-left: 2px solid var(--color-tension-yellow); }
  .home-route__stop,
  .home-route__stop--night { grid-column: auto; width: 100%; padding: 0 0 0 var(--space-4); border: 0; background: transparent; }
  .home-route__stop--night { border-bottom: 0; }
  .home-decision__info { grid-template-columns: minmax(0, 1fr); }
  .home-inquiry__fields { grid-template-columns: minmax(0, 1fr); }
  .home-inquiry__field--wide { grid-column: auto; }
  .home-menu-panel .button { width: 100%; }
  .home-kitchen__grid { gap: var(--space-6); }
  .home-kitchen__visuals { grid-template-columns: minmax(0, 1fr); gap: var(--space-4); padding-right: var(--space-3); }
  .home-kitchen__cocktail { width: 72%; }
  .home-kitchen__cta .button { width: 100%; }
  .home-dining__grid { grid-template-columns: minmax(0, 1fr); }
  .home-dining__card,
  .home-dining__card--three { grid-column: auto; width: 100%; min-height: 0; }
  .home-dining__card--three .button { width: 100%; }
  .home-lounge__side { grid-template-columns: minmax(0, 1fr); }
  .home-lounge__link { width: 100%; }
  .home-event__media { aspect-ratio: 16 / 9; }
  .home-event__action .button { width: 100%; }
  .home-gallery__grid { grid-template-columns: minmax(0, 1fr); }
  .home-gallery__item--food { aspect-ratio: 16 / 9; }
  .home-gallery__item--poker { aspect-ratio: 4 / 3; }
  .home-gallery__item--cocktail { width: 100%; aspect-ratio: 3 / 4; }
  .home-final__panel { display: block; }
  .home-final__panel::before { width: 3rem; margin: 0 0 var(--space-5); }
  .home-final__actions { width: 100%; }
  .home-final__actions > .button { flex-basis: 100%; }
  .home-lightbox__dialog { grid-template-columns: minmax(0, 1fr); width: min(100% - 1.25rem, 40rem); }
  .home-lightbox__nav { position: absolute; z-index: 1; top: 50%; }
  .home-lightbox__nav--previous { left: var(--space-2); }
  .home-lightbox__nav--next { right: var(--space-2); }
}

@media (prefers-reduced-motion: reduce) {
  .home-hero__video { display: none; }
  .home-hero { background: linear-gradient(135deg, var(--color-steel-900), var(--color-ink-950)); }
}
