.home-page {
  overflow: clip;
}

.home-page .home-hero {
  position: relative;
  min-height: 47.5rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: end;
  isolation: isolate;
  color: var(--color-cream);
}

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

.home-hero__image {
  z-index: -2;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(1.04);
}

.home-hero__veil {
  z-index: -1;
  background: linear-gradient(90deg, rgba(24, 12, 12, 0.92) 0%, rgba(24, 12, 12, 0.76) 36%, rgba(24, 12, 12, 0.2) 71%, rgba(24, 12, 12, 0.06) 100%);
}

.home-hero__container {
  width: min(100% - (2 * var(--page-padding)), var(--container-max));
  padding-block: var(--space-10);
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: min(100%, 35rem);
  min-width: 0;
}

.home-hero__content > * { margin: 0; min-width: 0; }
.home-hero__content h1 { font-size: clamp(3rem, 6vw, 4.5rem); line-height: 1; }
.home-hero__content .lead { max-width: 31.25rem; }
.home-hero__actions { width: 100%; }
.home-hero__meta { color: var(--color-text-muted); font-size: var(--text-meta); line-height: var(--line-meta); }

.home-restaurant__intro { width: min(100%, 38.75rem); }
.home-restaurant__columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-8);
}
.home-restaurant__columns > * { min-width: 0; }
.home-restaurant__item { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding-right: var(--space-5); border-right: 1px solid var(--color-border-dark); }
.home-restaurant__item > * { margin: 0; min-width: 0; }
.home-restaurant__item:last-child { padding-right: 0; border-right: 0; }
.home-restaurant__item h3 { font-size: var(--text-h4); }
.home-roman { color: var(--color-gold-old); font-family: var(--font-heading); font-size: 2rem; line-height: 1; }
.home-corner { width: 1.75rem; height: 1.75rem; border-top: 1px solid var(--color-gold-old); border-left: 1px solid var(--color-gold-old); }
.home-inline-link { color: inherit; text-decoration-color: var(--color-gold-old); text-decoration-thickness: 1px; text-underline-offset: 0.25em; }
.home-inline-link:hover { color: var(--color-gold-old); }

.home-kitchen__heading { width: min(100%, 42.5rem); }
.home-kitchen__heading .lead { max-width: 33.75rem; }
.home-kitchen__layout { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: calc(var(--space-7) + var(--space-3)); margin-top: var(--space-8); align-items: start; }
.home-kitchen__layout > * { min-width: 0; width: 100%; }
.home-kitchen__media { aspect-ratio: 4 / 5; }
.home-kitchen__media img { height: 100%; }
.home-kitchen__copy { display: flex; flex-direction: column; gap: var(--space-7); min-width: 0; padding-top: var(--space-5); }
.home-kitchen__copy > * { min-width: 0; }
.home-kitchen__menu-copy { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 33.75rem); }
.home-kitchen__menu-copy > * { margin: 0; }
.home-kitchen__signature { display: flex; flex-direction: column; gap: var(--space-3); width: min(100%, 25rem); padding: var(--space-5); border: 1px solid var(--color-border-dark); background: var(--color-cream); }
.home-kitchen__signature > * { margin: 0; }
.home-signature-kicker { color: var(--color-gold-old); font-family: var(--font-heading); font-size: var(--text-h5); font-style: italic; }
.home-kitchen__closing { width: min(100%, 40.625rem); margin-top: var(--space-7); padding-top: var(--space-5); border-top: 1px solid var(--color-border-gold); }
.home-kitchen__closing p { margin: 0; }

.home-interiors__layout { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--space-7); align-items: end; }
.home-interiors__layout > * { min-width: 0; width: 100%; }
.home-interiors__copy { display: flex; flex-direction: column; gap: var(--space-5); }
.home-interiors__copy > * { margin: 0; min-width: 0; }
.home-interiors__copy .lead { max-width: 35rem; }
.home-interiors__points { display: flex; flex-direction: column; gap: var(--space-5); min-width: 0; }
.home-interiors__point { display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding-top: var(--space-4); border-top: 1px solid var(--color-border-light); }
.home-interiors__point > * { margin: 0; }
.home-interiors__point h3 { font-size: var(--text-h5); }
.home-interiors__point--velvet { padding: var(--space-5); border-top: 0; background: var(--color-burgundy-velvet); }
.home-interiors__media { min-height: 38.75rem; height: 100%; }
.home-interiors__media img { height: 100%; }

.home-cocktails { position: relative; overflow: hidden; background: var(--color-burgundy-dark); color: var(--color-cream); }
.home-cocktails__layout { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 2fr); gap: var(--space-8); padding-block: clamp(var(--space-8), 9vw, var(--space-10)); }
.home-cocktails__layout > * { min-width: 0; }
.home-cocktails__copy { display: flex; flex-direction: column; gap: var(--space-4); width: min(100%, 33.75rem); }
.home-cocktails__copy > * { margin: 0; }
.home-cocktails__quote { align-self: end; margin: 0 0 var(--space-4); padding-left: var(--space-5); }
.home-cocktails__quote p { margin: 0; }
.home-cocktails__glass { position: absolute; right: 6%; top: 50%; width: 3rem; height: 7rem; border: 1px solid var(--color-border-gold); border-top: 0; opacity: 0.65; transform: translateY(-50%); }
.home-cocktails__glass::before { content: ''; position: absolute; left: 50%; top: -1.5rem; width: 1px; height: 8.5rem; background: var(--color-border-gold); }

.home-evenings__heading { width: min(100%, 37.5rem); }
.home-evenings__heading .lead { max-width: 37.5rem; }
.home-evenings__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); align-items: start; }
.home-evenings__cards > * { min-width: 0; }
.home-evenings__card { display: flex; flex-direction: column; gap: var(--space-4); min-height: 22rem; padding: var(--space-5); border: 1px solid var(--color-border-dark); }
.home-evenings__card > * { margin: 0; }
.home-evenings__card h3 { font-size: var(--text-h4); }
.home-evenings__card .home-inline-link { margin-top: auto; }
.home-evenings__card--paper { background: var(--color-cream); }
.home-evenings__card--marble { background: var(--color-cream-marble); transform: translateY(var(--space-5)); }
.home-evenings__card--velvet { border-color: var(--color-border-gold); background: var(--color-burgundy-velvet); color: var(--color-cream); }
.home-evenings__card:hover { border-color: var(--color-gold-old); }

.home-poker-intro { background: linear-gradient(125deg, var(--color-burgundy-dark) 0%, var(--color-burgundy-dark) 66%, #3d535e 150%); }
.home-poker-intro__heading { width: min(100%, 40rem); }
.home-poker-intro__heading .lead { max-width: 40rem; }
.home-poker-intro__rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); margin-top: var(--space-8); }
.home-poker-intro__rules > * { min-width: 0; }
.home-poker-intro__rule { display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; padding-top: var(--space-5); border-top: 1px solid rgba(241, 230, 208, 0.28); }
.home-poker-intro__rule > * { margin: 0; }
.home-poker-intro__rule h3 { font-size: var(--text-h4); }
.home-poker-intro__rule .badge { align-self: flex-start; }
.home-inline-link--blue { text-decoration-color: var(--color-blue-muted); }

.home-lounge__heading { width: min(100%, 42.5rem); }
.home-lounge__scene { position: relative; margin-top: var(--space-8); min-height: 33.25rem; }
.home-lounge__media { width: 100%; height: 33.25rem; }
.home-lounge__media img { height: 100%; }
.home-lounge__panel { position: absolute; display: flex; flex-direction: column; gap: var(--space-4); margin: 0; }
.home-lounge__panel > * { margin: 0; }
.home-lounge__panel--main { left: var(--space-5); bottom: var(--space-5); width: min(100% - (2 * var(--space-5)), 26.875rem); }
.home-lounge__panel--card { right: var(--space-5); bottom: var(--space-5); width: min(100% - (2 * var(--space-5)), 20.625rem); border-color: rgba(241, 230, 208, 0.45); }
.home-lounge__panel .button--poker { align-self: flex-start; }

.home-journey__heading { width: min(100%, 42.5rem); }
.home-journey__heading .lead { max-width: 38rem; }
.home-journey__steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-journey__steps > * { min-width: 0; }
.home-journey__step { position: relative; display: flex; flex-direction: column; gap: var(--space-3); min-width: 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border-gold); }
.home-journey__step > * { margin: 0; }
.home-journey__step span { color: var(--color-gold-old); font-family: var(--font-heading); font-size: 1.8rem; line-height: 1; }
.home-journey__step h3 { font-size: var(--text-h5); }
.home-journey__step--blue { border-color: var(--color-blue-muted); }
.home-journey__step--blue span { color: var(--color-blue-muted); }

.home-gallery { background: var(--color-walnut); color: var(--color-cream); }
.home-gallery__intro { width: min(100%, 32.5rem); }
.home-gallery__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-6); margin-top: var(--space-8); align-items: start; }
.home-gallery__grid > * { min-width: 0; }
.home-gallery__item { display: block; width: 100%; color: var(--color-cream); text-decoration: none; }
.home-gallery__item img { width: 100%; }
.home-gallery__item span { display: block; width: min(100%, 13.75rem); margin-top: var(--space-3); color: var(--color-text-muted); font-size: var(--text-meta); line-height: var(--line-meta); }
.home-gallery__item--restaurant { aspect-ratio: auto; }
.home-gallery__item--restaurant img { aspect-ratio: 4 / 3; }
.home-gallery__item--poker { margin-top: var(--space-8); }
.home-gallery__item--poker img { aspect-ratio: 3 / 4; }

.home-next { background: var(--color-burgundy-dark); }
.home-next__heading { width: min(100%, 37.5rem); }
.home-next__panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-8); }
.home-next__panels > * { min-width: 0; }
.home-next__panel { display: flex; flex-direction: column; gap: var(--space-5); min-height: 21rem; padding: var(--space-6); }
.home-next__panel > * { margin: 0; }
.home-next__panel h3 { font-size: var(--text-h3); }
.home-next__panel--restaurant { background: var(--color-cream); color: var(--color-walnut); }
.home-next__panel--poker { background: var(--color-blue-muted); color: var(--color-cream); }
.home-next__actions { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); margin-top: auto; min-width: 0; }
.home-next__actions > * { min-width: 0; }
.home-inline-link--cream { text-decoration-color: var(--color-cream); }
.home-next__contact-note { width: min(100%, 37.5rem); margin: var(--space-7) auto 0; padding-top: var(--space-5); border-top: 1px solid var(--color-border-gold); }
.home-next__contact-note p { margin: 0; }

@media (max-width: 61.24rem) {
  .home-page .home-hero { min-height: 40.625rem; }
  .home-hero__image { object-position: 63% center; }
  .home-hero__veil { background: linear-gradient(0deg, rgba(24, 12, 12, 0.94) 0%, rgba(24, 12, 12, 0.78) 44%, rgba(24, 12, 12, 0.18) 100%); }
  .home-hero__container { padding-block: var(--space-8); }
  .home-kitchen__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-kitchen__copy { padding-top: 0; }
  .home-kitchen__media { max-width: 42rem; }
  .home-interiors__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-interiors__media { grid-row: 1; min-height: 0; aspect-ratio: 4 / 5; }
  .home-interiors__media img { height: 100%; }
}

@media (max-width: 57.49rem) {
  .home-restaurant__columns, .home-evenings__cards, .home-poker-intro__rules { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-restaurant__item { padding: var(--space-5) 0 0; border-top: 1px solid var(--color-border-dark); border-right: 0; }
  .home-restaurant__item:first-child { border-top: 0; padding-top: 0; }
  .home-evenings__card { min-height: 0; }
  .home-evenings__card--marble { transform: none; }
}

@media (max-width: 54.99rem) {
  .home-lounge__scene { display: flex; flex-direction: column; gap: var(--space-5); min-height: 0; }
  .home-lounge__media { height: auto; aspect-ratio: 4 / 5; }
  .home-lounge__panel { position: static; width: 100%; }
  .home-lounge__panel--main { border-radius: 0; }
  .home-lounge__panel--card { border-radius: 0; background: rgba(80, 107, 120, 0.32); }
}

@media (max-width: 53.11rem) {
  .home-gallery__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .home-gallery__item--poker { margin-top: 0; max-width: 36rem; }
}

@media (min-width: 43.75rem) and (max-width: 62.49rem) {
  .home-journey__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-gallery__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--space-3); }
  .home-gallery__item { flex: 0 0 min(78vw, 32rem); scroll-snap-align: start; }
  .home-gallery__item--poker { margin-top: var(--space-6); }
}

@media (max-width: 43.69rem) {
  .home-journey__steps { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-journey__step { padding-left: var(--space-5); border-top: 0; border-left: 1px solid var(--color-border-gold); }
  .home-journey__step--blue { border-left-color: var(--color-blue-muted); }
}

@media (max-width: 47.49rem) {
  .home-next__panels { grid-template-columns: minmax(0, 1fr); }
  .home-next__panel { min-height: 0; padding: var(--space-5); }
}

@media (max-width: 49.94rem) {
  .home-cocktails__layout { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .home-cocktails__quote { align-self: start; margin: 0; }
  .home-cocktails__glass { display: none; }
}

@media (max-width: 47.99rem) {
  .home-page .home-hero { min-height: 40.625rem; aspect-ratio: 4 / 5; }
  .home-hero__image { object-position: 61% center; }
  .home-hero__content { gap: var(--space-4); width: 100%; }
  .home-hero__content h1 { font-size: clamp(2.625rem, 12vw, 3rem); }
  .home-hero__content .lead { max-width: none; font-size: 1rem; }
  .home-hero__meta { font-size: 0.8125rem; }
  .home-kitchen__heading, .home-restaurant__intro, .home-evenings__heading, .home-poker-intro__heading, .home-lounge__heading, .home-journey__heading, .home-next__heading { width: 100%; }
  .home-kitchen__media, .home-interiors__media { max-width: none; }
  .home-kitchen__signature { width: 100%; }
  .home-lounge__panel .button--poker { align-self: stretch; }
  .home-next__actions { align-items: stretch; }
}

@media (prefers-reduced-motion: reduce) {
  .home-evenings__card--marble { transform: none; }
}
