.home-page {
  overflow: hidden;
}

.home-page .section {
  position: relative;
}

.home-page .surface {
  min-width: 0;
}

.home-page .button {
  min-height: 2.875rem;
}

.home-hero {
  position: relative;
  padding-block: var(--space-6) var(--space-8);
}

.home-hero::before,
.home-place::before,
.home-final__panel::after {
  position: absolute;
  content: "";
  pointer-events: none;
}

.home-hero::before {
  inset: 0 0 auto;
  height: 22rem;
  background: radial-gradient(circle at 80% 28%, rgb(18 59 50 / 38%), transparent 52%);
}

.home-hero__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.home-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: var(--space-6);
  border-radius: var(--radius-lg);
}

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

.home-hero__content h1 {
  max-width: 46rem;
  font-size: clamp(2.5rem, 9vw, 3.5rem);
}

.home-hero__content .lead {
  max-width: 40rem;
}

.home-hero__notice {
  max-width: 28rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-copper);
  color: var(--color-muted-ivory);
  font-size: var(--text-helper);
  line-height: 1.55;
}

.home-hero__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
}

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

.home-hero__media,
.home-table__media,
.home-poker__media,
.home-atmosphere__media {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-graphite);
  box-shadow: var(--shadow-cinematic);
}

.home-hero__media {
  min-height: 17.5rem;
}

.home-hero__media::after,
.home-atmosphere__media::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(180deg, rgb(11 13 12 / 5%), rgb(11 13 12 / 78%));
  pointer-events: none;
}

.home-hero__media img,
.home-table__media img,
.home-poker__media img,
.home-atmosphere__media img {
  width: 100%;
  height: 100%;
  min-width: 0;
  object-fit: cover;
}

.home-hero__media img {
  position: absolute;
  inset: 0;
  object-position: 72% center;
}

.home-place::before {
  top: 7rem;
  right: -8rem;
  width: 20rem;
  height: 20rem;
  border: 1px solid rgb(184 115 79 / 16%);
  transform: rotate(45deg);
}

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

.home-place__intro,
.home-place__panels,
.home-table__heading,
.home-table__details,
.home-poker__heading,
.home-atmosphere__heading,
.home-reservation__heading,
.home-practical__heading,
.home-audience__heading {
  min-width: 0;
}

.home-place__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

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

.home-place__copy {
  max-width: 42.5rem;
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-copper);
}

.home-place__copy p {
  margin: 0;
}

.home-place__panels {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.home-place__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

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

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

.home-table__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 38.75rem;
}

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

.home-table__media {
  min-height: 15rem;
}

.home-table__media img {
  position: absolute;
  inset: 0;
  object-position: 62% center;
}

.home-table__details {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.home-table__food,
.home-table__drinks {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.home-table__food {
  max-width: 30rem;
}

.home-table__food > *,
.home-table__drinks > * {
  margin: 0;
}

.home-table__drinks {
  max-width: 26.25rem;
}

.home-table__action {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  max-width: 45rem;
  min-width: 0;
}

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

.home-audience__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 38.75rem;
  margin-block-end: var(--space-6);
}

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

.home-audience__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
}

.home-audience__tile {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  min-height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-graphite);
  transition: border-color var(--transition-base), background-color var(--transition-base);
}

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

.home-audience__tile--burgundy {
  background: linear-gradient(145deg, rgb(74 31 42 / 84%), var(--color-graphite));
}

.home-audience__tile--emerald {
  background: linear-gradient(145deg, rgb(18 59 50 / 88%), var(--color-graphite));
}

.home-audience__tile:hover {
  border-color: rgb(216 180 119 / 48%);
}

.home-poker__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 42.5rem;
  margin-block-end: var(--space-6);
}

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

.home-poker__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-5);
}

.home-poker__media {
  min-height: 13.75rem;
  box-shadow: none;
}

.home-poker__media img {
  position: absolute;
  inset: 0;
  object-position: center;
}

.home-poker__main,
.home-poker__rule,
.home-poker__program {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.home-poker__main > *,
.home-poker__rule > *,
.home-poker__program > * {
  margin: 0;
}

.home-poker__main {
  max-width: 33.75rem;
}

.home-poker__side {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
}

.home-poker__rule {
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid rgb(212 124 120 / 65%);
}

.home-poker__program {
  padding: var(--space-4);
  border: 1px solid rgb(216 180 119 / 25%);
  border-radius: var(--radius-sm);
  background: rgb(11 13 12 / 20%);
}

.home-poker__placeholder,
.home-practical__placeholder {
  color: var(--color-champagne);
  font-size: var(--text-helper);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-helper);
  overflow-wrap: anywhere;
}

.home-atmosphere__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 37.5rem;
  margin-block-end: var(--space-6);
}

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

.home-atmosphere__scene {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.home-atmosphere__media {
  min-height: 16.25rem;
}

.home-atmosphere__media img {
  position: absolute;
  inset: 0;
  object-position: 60% center;
}

.home-atmosphere__cards {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
}

.home-atmosphere__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
  padding: var(--space-5);
}

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

.home-atmosphere__card:hover {
  border-color: rgb(216 180 119 / 48%);
}

.home-reservation__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  max-width: 38.75rem;
  margin-block-end: var(--space-6);
}

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

.home-reservation__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.home-reservation__primary,
.home-reservation__secondary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

.home-reservation__primary > *,
.home-reservation__secondary > * {
  margin: 0;
}

.home-reservation__help {
  max-width: 45rem;
  margin-block: var(--space-5) 0;
}

.home-practical__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  max-width: 37.5rem;
  margin-block-end: var(--space-6);
}

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

.home-practical__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.home-practical__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  width: 100%;
  min-width: 0;
}

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

.home-practical__card address {
  color: var(--color-ivory);
  font-style: normal;
  font-weight: var(--weight-semibold);
  line-height: 1.65;
}

.home-practical__card a {
  overflow-wrap: anywhere;
}

.home-principles__wrap {
  width: min(100% - (var(--container-padding) * 2), 56.25rem);
  margin-inline: auto;
}

.home-principles__wrap > h2 {
  margin-block-end: var(--space-6);
}

.home-principles__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
}

.home-principles__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: 100%;
  min-width: 0;
  padding: var(--space-5) 0;
  border-block-start: 1px solid var(--color-border);
}

.home-principles__row h3,
.home-principles__row div,
.home-principles__row div > * {
  min-width: 0;
  margin: 0;
}

.home-principles__row div {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.home-principles__row--burgundy {
  padding-inline: var(--space-5);
  border-radius: var(--radius-md);
  background: rgb(74 31 42 / 32%);
}

.home-final {
  padding-block-start: var(--space-7);
}

.home-final__panel {
  position: relative;
  overflow: hidden;
  padding: var(--space-7) var(--space-5);
}

.home-final__panel::after {
  right: -5rem;
  bottom: -5rem;
  width: 13rem;
  height: 13rem;
  border: 1px solid rgb(184 115 79 / 50%);
  transform: rotate(45deg);
}

.home-final__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
  width: 100%;
  min-width: 0;
  max-width: 43.75rem;
  margin-inline: auto;
  text-align: center;
}

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

.home-final__content > p:not(.home-final__note) {
  max-width: 35rem;
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.home-final__note {
  max-width: 26.25rem;
  color: var(--color-muted-ivory);
  font-size: var(--text-helper);
  line-height: var(--leading-helper);
}

.home-reveal {
  opacity: 1;
}

.home-reveal.is-pending {
  opacity: 0;
  transform: translateY(2px);
}

.home-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 220ms ease-out, transform 220ms ease-out;
}

@media (min-width: 27.5rem) {
  .home-hero__actions {
    flex-direction: row;
    align-items: stretch;
  }

  .home-hero__actions > * {
    width: auto;
  }
}

@media (min-width: 43.75rem) {
  .home-audience__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-table__details,
  .home-atmosphere__cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-table__food,
  .home-table__drinks {
    max-width: none;
  }

  .home-poker__side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .home-hero {
    padding-block: var(--space-7) var(--space-9);
  }

  .home-hero__content {
    padding: var(--space-7);
  }

  .home-final__panel {
    padding: var(--space-8);
  }
}

@media (min-width: 56.25rem) {
  .home-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .home-hero__content {
    grid-column: 1;
  }

  .home-hero__media {
    grid-column: 2;
    min-height: 34rem;
  }

  .home-place__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-reservation__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .home-practical__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-practical__card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .home-principles__row {
    grid-template-columns: minmax(14rem, 30%) minmax(0, 1fr);
    gap: var(--space-6);
  }
}

@media (min-width: 61.25rem) {
  .home-poker__panel {
    grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr);
  }

  .home-poker__main {
    grid-column: 1;
    grid-row: 1;
  }

  .home-poker__side {
    grid-column: 2;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr);
  }

  .home-poker__media {
    grid-column: 3;
    grid-row: 1;
    min-height: 100%;
  }
}

@media (min-width: 68.75rem) {
  .home-hero__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--space-6);
    min-height: 42.5rem;
  }

  .home-hero__content {
    grid-column: 1 / span 6;
    max-width: 47.5rem;
  }

  .home-hero__media {
    grid-column: 8 / span 5;
    min-height: 38rem;
  }

  .home-place__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }

  .home-place__intro {
    grid-column: 1 / span 6;
  }

  .home-place__panels {
    grid-column: 8 / span 5;
    grid-template-columns: minmax(0, 1fr);
  }

  .home-place__panel--emerald {
    margin-inline-start: var(--space-5);
  }

  .home-table__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
  }

  .home-table__heading {
    grid-column: 1 / span 4;
  }

  .home-table__media {
    grid-column: 6 / span 7;
    grid-row: 1;
    min-height: 29rem;
  }

  .home-table__details {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  }

  .home-table__action {
    grid-column: 1 / -1;
  }

  .home-audience__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .home-atmosphere__scene {
    position: relative;
    display: block;
    padding-block-end: 5rem;
  }

  .home-atmosphere__media {
    min-height: 39rem;
  }

  .home-atmosphere__cards {
    position: absolute;
    z-index: 1;
    bottom: 0;
    left: var(--space-6);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(66.666%, 52rem);
  }

  .home-practical__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-practical__card:nth-child(3) {
    grid-column: 3;
  }
}

@media (max-width: 43.6875rem) {
  .home-hero__actions .button,
  .home-final__content .button {
    width: 100%;
  }

  .home-final__content h2 {
    font-size: clamp(2.375rem, 10vw, 2.75rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-reveal,
  .home-reveal.is-pending,
  .home-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .home-page .surface--glass {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
}
