.home-page {
  overflow: clip;
  background: var(--color-charcoal);
}

.home-page .technical-label {
  margin-block-end: var(--space-3);
}

.home-page .home-text-link {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
  border-bottom: 2px solid var(--color-hazard-yellow);
  color: var(--color-worn-white);
  font-family: var(--font-body);
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
}

.home-page .home-text-link:hover {
  color: var(--color-hazard-yellow);
}

.home-hero,
.home-closing {
  position: relative;
  isolation: isolate;
  display: grid;
  max-height: 11;
  overflow: hidden;
  background: var(--color-charcoal);
}

.home-hero > *,
.home-closing > * {
  grid-area: 1 / 1;
}

.home-hero__image,
.home-closing__image {
  min-width: 0;
  object-fit: cover;
  filter: grayscale(.25) contrast(1.1) brightness(.78);
}

.home-hero__shade,
.home-closing__shade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(17,17,19,.95) 0%, rgba(17,17,19,.82) 34%, rgba(17,17,19,.2) 72%, rgba(17,17,19,.38) 100%);
}

.home-hero__container,
.home-closing__container {
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: end;
  padding-block: clamp(5rem, 12vh, 9rem) var(--space-16);
}

.home-hero__panel {
  grid-column: 1 / span 5;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.home-hero__panel > * {
  margin: 0;
}

.home-hero h1 {
  max-inline-size: 13ch;
  font-size: clamp(3rem, 8vw, 7.5rem);
}

.home-hero__lead {
  max-inline-size: 52ch;
  color: var(--color-worn-white);
}

.home-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  padding-block-start: var(--space-2);
}

.home-hero__actions > * { min-width: 0; }

.home-hero__actions span,
.home-hero__meta {
  color: var(--color-muted-steel);
  font-size: var(--text-xs);
  letter-spacing: .08em;
  line-height: 1.5;
  text-transform: uppercase;
}

.home-place__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-12) var(--space-6);
}

.home-place__header {
  grid-column: 1 / span 4;
  min-width: 0;
}

.home-place__header p:not(.technical-label) { max-inline-size: 62ch; }

.home-place__items {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-place__item {
  min-width: 0;
  padding: 0 var(--space-6);
}

.home-place__item:first-child { padding-inline-start: 0; }
.home-place__item + .home-place__item { border-inline-start: var(--border-default); }
.home-place__item p { max-inline-size: 34ch; }

.home-signature__header {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-8);
  align-items: start;
  margin-block-end: var(--space-12);
}

.home-signature__header > div:first-child { grid-column: 1 / span 5; min-width: 0; }
.home-signature__intro { grid-column: 8 / span 4; min-width: 0; }
.home-signature__intro p { max-inline-size: 46ch; }

.home-signature__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: var(--space-6);
}

.home-dish { min-width: 0; }
.home-dish--one { grid-column: 1 / span 4; }
.home-dish--image { grid-column: 5 / span 5; }
.home-dish--three { grid-column: 10 / span 3; padding: var(--space-6); border: var(--border-default); background: var(--color-heavy-grey); }
.home-dish p:not(.technical-label) { max-inline-size: 38ch; }
.home-dish--three p:not(.technical-label) { max-inline-size: 32ch; }

.home-dish__line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-3);
  align-items: start;
  margin-block-end: var(--space-4);
}

.home-dish__line h3 { margin: 0; }
.home-dish__line strong { color: var(--color-hazard-yellow); font-size: var(--text-xs); letter-spacing: .06em; line-height: 1.4; text-align: end; }
.home-dish__figure { aspect-ratio: 4 / 5; margin: 0; }
.home-dish__figure img { filter: grayscale(.08) contrast(1.08) brightness(.84); }
.home-dish__caption { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); padding: var(--space-6); border: var(--border-default); border-top: 0; background: var(--color-charcoal); }
.home-dish__caption > * { margin: 0; }

.home-menu__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-12) var(--space-6);
}

.home-menu__lead { grid-column: 1 / span 6; min-width: 0; }
.home-menu__lead p:not(.technical-label) { max-inline-size: 50ch; }
.home-menu__link { grid-column: 9 / span 4; min-width: 0; align-self: center; border-inline-start: 2px solid var(--color-hazard-yellow); padding: var(--space-4) var(--space-6); color: var(--color-worn-white); font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 800; line-height: .9; text-decoration: none; text-transform: uppercase; }
.home-menu__link:hover { color: var(--color-hazard-yellow); }
.home-menu__panels { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 5fr)); gap: calc(100% / 12); }
.home-menu__panel { min-width: 0; padding: var(--space-6); border: var(--border-default); background: var(--color-heavy-grey); }
.home-menu__panel p:not(.technical-label) { max-inline-size: 38ch; }

.home-atmosphere__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-8);
  align-items: start;
}

.home-atmosphere__figure { grid-column: 1 / span 7; aspect-ratio: 16 / 10; margin: 0; }
.home-atmosphere__figure figcaption { position: absolute; z-index: 1; inset: auto var(--space-4) var(--space-3); color: var(--color-worn-white); font-size: var(--text-xs); letter-spacing: .1em; }
.home-atmosphere__copy { grid-column: 9 / span 4; display: flex; min-width: 0; flex-direction: column; gap: var(--space-6); padding: var(--space-6); border: var(--border-default); background: var(--color-charcoal); }
.home-atmosphere__copy > * { margin: 0; }
.home-atmosphere__copy article { min-width: 0; }
.home-atmosphere__copy article + article { padding-block-start: var(--space-6); border-top: var(--border-default); }
.home-atmosphere__copy article h3 { margin-block-end: var(--space-3); }
.home-atmosphere__copy article p { max-inline-size: 44ch; margin: 0; }
.home-atmosphere__linkpanel { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding-block-start: var(--space-6); border-top: var(--border-default); }
.home-atmosphere__linkpanel p { max-inline-size: 40ch; margin: 0; color: var(--color-muted-steel); }

.home-casino__header { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8); align-items: end; margin-block-end: var(--space-12); }
.home-casino__header > div { grid-column: 1 / span 6; min-width: 0; }
.home-casino__header p:not(.technical-label) { max-inline-size: 60ch; }
.home-casino__header > a { grid-column: 10 / span 3; min-width: 0; align-self: end; }
.home-casino__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-6); align-items: end; }
.home-casino__item, .home-casino__roulette { min-width: 0; }
.home-casino__item > span, .home-casino__roulette span { display: block; margin-block-end: var(--space-3); color: var(--color-hazard-yellow); font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5rem); font-weight: 800; line-height: .8; }
.home-casino__item p, .home-casino__roulette p:not(.technical-label) { max-inline-size: 36ch; }
.home-casino__roulette { display: flex; flex-direction: column; gap: var(--space-4); }
.home-casino__roulette figure { aspect-ratio: 4 / 5; margin: 0; }
.home-casino__roulette > div { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); }
.home-casino__roulette > div > * { margin: 0; }

.home-evening__header { max-inline-size: 5.5in; margin-block-end: var(--space-12); }
.home-evening__grid { position: relative; display: grid; grid-template-columns: 3fr 5fr 3fr; gap: var(--space-6); align-items: start; }
.home-evening__grid::before { position: absolute; z-index: 0; inset: 1.25rem 0 auto; height: 1px; background: repeating-linear-gradient(90deg, var(--color-hazard-yellow) 0 28px, transparent 28px 44px); content: ""; opacity: .8; }
.home-evening__item { position: relative; z-index: 1; min-width: 0; padding-top: var(--space-8); background: var(--color-heavy-grey); }
.home-evening__item--center { padding-inline: var(--space-6); }
.home-evening__item p:not(.technical-label) { max-inline-size: 38ch; }

.home-location__panel { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); padding: var(--space-12); border: var(--border-default); border-inline-start: 2px solid var(--color-hazard-yellow); background-color: var(--color-heavy-grey); background-image: radial-gradient(rgba(241,241,241,.05) .8px, transparent .8px); background-size: 9px 9px; }
.home-location__main { grid-column: 1 / span 6; min-width: 0; }
.home-location__main p:not(.technical-label) { max-inline-size: 50ch; }
.home-location__address { grid-column: 8 / span 4; min-width: 0; align-self: center; padding-inline-start: var(--space-4); border-inline-start: 2px solid var(--color-hazard-yellow); color: var(--color-worn-white); font-size: var(--text-lg); font-style: normal; line-height: 1.6; }
.home-location__button { grid-column: 1 / span 3; min-width: 0; }

.home-contact__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-8) var(--space-6); }
.home-contact__lead { grid-column: 1 / span 6; min-width: 0; }
.home-contact__lead p:not(.technical-label) { max-inline-size: 55ch; }
.home-contact__cards { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); }
.home-contact__card { display: flex; min-width: 0; min-height: 8rem; flex-direction: column; justify-content: center; gap: var(--space-3); padding: var(--space-6); border: var(--border-default); color: var(--color-worn-white); text-decoration: none; }
.home-contact__card:hover { border-color: var(--color-hazard-yellow); color: var(--color-worn-white); }
.home-contact__card span { color: var(--color-hazard-yellow); font-size: var(--text-xs); font-weight: 600; letter-spacing: .12em; }
.home-contact__card strong { font-size: clamp(1rem, 2vw, 1.35rem); font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.home-contact__action { grid-column: 1 / span 5; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-6); padding-top: var(--space-6); border-top: var(--border-default); }
.home-contact__action p { max-inline-size: 48ch; margin: 0; color: var(--color-muted-steel); }

.home-closing { min-height: 52vh; }
.home-closing__shade { background: linear-gradient(90deg, rgba(17,17,19,.94) 0%, rgba(17,17,19,.78) 42%, rgba(17,17,19,.24) 100%); }
.home-closing__container { align-items: center; padding-block: var(--space-16); }
.home-closing__panel { grid-column: 1 / span 5; display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); }
.home-closing__panel > * { margin: 0; }
.home-closing h2 { max-inline-size: 16ch; font-size: clamp(3rem, 6vw, 6rem); }
.home-closing__panel p:not(.technical-label) { max-inline-size: 48ch; }

@media (max-width: 68.75rem) {
  .home-hero__panel { grid-column: 1 / span 6; }
  .home-place__header { grid-column: 1 / span 6; }
  .home-signature__header > div:first-child { grid-column: 1 / span 5; }
  .home-signature__intro { grid-column: 7 / span 5; }
  .home-signature__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-dish--one { grid-column: 1 / span 4; }
  .home-dish--three { grid-column: 5 / span 4; }
  .home-dish--image { grid-column: 1 / -1; grid-row: 2; }
  .home-menu__lead { grid-column: 1 / span 7; }
  .home-menu__link { grid-column: 9 / span 4; }
  .home-atmosphere__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-atmosphere__figure { grid-column: 1 / -1; }
  .home-atmosphere__copy { grid-column: 1 / span 6; }
  .home-casino__header > div { grid-column: 1 / span 6; }
  .home-casino__header > a { grid-column: 9 / span 4; }
  .home-location__main { grid-column: 1 / span 7; }
  .home-location__address { grid-column: 2 / span 6; }
}

@media (max-width: 62.5rem) {
  .home-place__items { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; }
  .home-place__item { padding: var(--space-6) 0; }
  .home-place__item:first-child { padding-block-start: 0; padding-inline-end: var(--space-6); }
  .home-place__item:nth-child(2) { padding-block-start: 0; padding-inline-start: var(--space-6); }
  .home-place__item:nth-child(3) { grid-column: 1 / -1; border-inline-start: 0; border-top: var(--border-default); }
  .home-menu__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-menu__lead { grid-column: 1 / -1; }
  .home-menu__link { grid-column: 1 / -1; }
  .home-menu__panels { grid-column: 1 / -1; gap: var(--space-6); }
  .home-casino__header { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-casino__header > div { grid-column: 1 / -1; }
  .home-casino__header > a { grid-column: 1 / span 4; }
  .home-casino__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-casino__roulette { grid-column: 1 / -1; grid-row: 1; }
  .home-casino__roulette figure { aspect-ratio: 16 / 8; }
  .home-casino__item { grid-column: span 4; }
  .home-evening__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-evening__item { grid-column: 1 / span 6; }
  .home-evening__item--center { grid-column: 2 / span 6; }
  .home-location__panel { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-location__main { grid-column: 1 / -1; }
  .home-location__address { grid-column: 1 / span 6; }
  .home-location__button { grid-column: 1 / span 4; }
  .home-contact__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .home-contact__lead { grid-column: 1 / span 6; }
  .home-contact__action { grid-column: 1 / span 5; }
}

@media (max-width: 47.99rem) {
  .home-page .section,
  .home-page .section-lg { padding-block: clamp(4rem, 15vw, 5rem); }
  .home-hero,
  .home-closing { min-height: 56vh; }
  .home-hero__shade,
  .home-closing__shade { background: linear-gradient(180deg, rgba(17,17,19,.25) 0%, rgba(17,17,19,.68) 42%, rgba(17,17,19,.98) 66%, rgba(17,17,19,1) 100%); }
  .home-hero__container,
  .home-closing__container { grid-template-columns: minmax(0, 1fr); align-items: end; padding-block: 12rem var(--space-6); }
  .home-hero__panel,
  .home-closing__panel { grid-column: 1; gap: var(--space-4); padding: var(--space-6); background: rgba(17,17,19,.94); }
  .home-hero h1 { max-inline-size: 11ch; font-size: clamp(3rem, 15vw, 4.6rem); }
  .home-hero__lead { max-inline-size: 100%; }
  .home-hero__actions { width: 100%; align-items: stretch; }
  .home-hero__actions .button { width: 100%; min-height: 3.25rem; max-height: 3.25rem; }
  .home-place__grid,
  .home-signature__header,
  .home-signature__grid,
  .home-menu__grid,
  .home-atmosphere__grid,
  .home-casino__header,
  .home-casino__grid,
  .home-evening__grid,
  .home-location__panel,
  .home-contact__grid { grid-template-columns: minmax(0, 1fr); }
  .home-place__header,
  .home-place__items,
  .home-signature__header > div:first-child,
  .home-signature__intro,
  .home-dish--one,
  .home-dish--image,
  .home-dish--three,
  .home-menu__lead,
  .home-menu__link,
  .home-menu__panels,
  .home-atmosphere__figure,
  .home-atmosphere__copy,
  .home-casino__header > div,
  .home-casino__header > a,
  .home-casino__roulette,
  .home-casino__item,
  .home-evening__item,
  .home-evening__item--center,
  .home-location__main,
  .home-location__address,
  .home-location__button,
  .home-contact__lead,
  .home-contact__cards,
  .home-contact__action { grid-column: 1; }
  .home-place__items,
  .home-menu__panels,
  .home-contact__cards { grid-template-columns: minmax(0, 1fr); }
  .home-place__item,
  .home-place__item:first-child,
  .home-place__item:nth-child(2),
  .home-place__item:nth-child(3) { padding: var(--space-6) 0; border-inline-start: 0; border-top: var(--border-default); }
  .home-place__item:first-child { padding-block-start: 0; border-top: 0; }
  .home-signature__header { gap: var(--space-6); margin-block-end: var(--space-8); }
  .home-signature__grid { gap: var(--space-6); }
  .home-dish--three { padding: var(--space-6); }
  .home-dish__line { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); }
  .home-dish__line strong { text-align: start; }
  .home-dish__caption { gap: var(--space-4); }
  .home-menu__link { min-height: 2.75rem; font-size: clamp(1.9rem, 10vw, 2.7rem); }
  .home-menu__panels { gap: 0; }
  .home-menu__panel + .home-menu__panel { border-top: 0; }
  .home-atmosphere__figure { min-height: 17.5rem; aspect-ratio: 3 / 2; }
  .home-atmosphere__copy { padding: var(--space-6); }
  .home-casino__header { gap: var(--space-6); margin-block-end: var(--space-8); }
  .home-casino__grid { gap: var(--space-8); }
  .home-casino__roulette figure { aspect-ratio: 4 / 5; }
  .home-evening__grid { gap: var(--space-6); }
  .home-evening__grid::before { display: none; }
  .home-evening__item,
  .home-evening__item--center { padding: var(--space-6) 0 0; }
  .home-evening__item--center { padding-inline-start: var(--space-3); }
  .home-location__panel { gap: var(--space-6); padding: var(--space-6); background-size: 14px 14px; }
  .home-location__address { padding-inline-start: var(--space-4); }
  .home-location__button,
  .home-contact__action .button,
  .home-closing .button { width: 100%; min-height: 3.25rem; max-height: 3.25rem; }
  .home-contact__cards { gap: var(--space-4); }
  .home-contact__card { min-height: 6.5rem; }
  .home-contact__action { align-items: stretch; }
  .home-closing__container { padding-block: 12rem var(--space-6); }
  .home-closing h2 { max-inline-size: 13ch; font-size: clamp(2.8rem, 13vw, 4.4rem); }
}

@media (prefers-reduced-motion: reduce) {
  .home-page *, .home-page *::before, .home-page *::after { transition: none; }
}
