.home-page {
  overflow: hidden;
}

.home-page a:not(.button) {
  color: inherit;
  text-decoration-color: var(--color-copper);
  text-decoration-thickness: 1px;
}

.home-page a:not(.button):hover {
  color: var(--color-copper);
}

.home-hero {
  position: relative;
  min-height: 48rem;
  isolation: isolate;
  background: var(--color-navy);
  color: var(--color-white);
}

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

.home-hero__image {
  object-position: 66% center;
}

.home-hero__shade {
  z-index: 1;
  background: linear-gradient(90deg, rgba(16, 27, 43, 0.88) 0%, rgba(16, 27, 43, 0.66) 40%, rgba(16, 27, 43, 0.18) 72%, rgba(16, 27, 43, 0.08) 100%);
}

.home-hero__container {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 48rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--space-5);
  align-content: center;
  padding-block: var(--space-9);
}

.home-hero__copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 35rem;
}

.home-hero__orientation,
.home-materials__label,
.home-holdem__format {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-copper-bright);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-utility);
  text-transform: uppercase;
}

.home-hero__orientation {
  margin-bottom: var(--space-5);
}

.home-hero__copy h1 {
  margin-bottom: var(--space-5);
  font-size: clamp(3.7rem, 6.1vw, 4.5rem);
}

.home-hero__copy .rule {
  width: 5rem;
  margin-bottom: var(--space-5);
}

.home-hero__copy .lead {
  max-width: 34rem;
  margin-bottom: var(--space-5);
}

.home-hero__actions {
  align-items: stretch;
}

.home-hero__ribbon {
  grid-column: 1 / -1;
  align-self: end;
  min-width: 0;
  overflow-x: auto;
  padding-top: var(--space-6);
  border-top: 1px solid var(--color-border-dark);
  color: var(--color-white);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-utility);
  white-space: nowrap;
}

.home-hero__ribbon span {
  margin-inline: var(--space-2);
  color: var(--color-copper-bright);
}

.home-dinner__grid,
.home-offline__grid,
.home-holdem__grid,
.home-process__grid,
.home-materials__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6) var(--space-5);
}

.home-dinner__intro {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 37.5rem;
}

.home-dinner__image {
  grid-column: 8 / span 5;
  grid-row: 1 / span 2;
  min-width: 0;
  margin: 0;
}

.home-dinner__image img {
  width: 100%;
  height: 100%;
  min-height: 38rem;
  object-position: center;
}

.home-dinner__steps {
  grid-column: 1 / span 7;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-width: 0;
  align-self: end;
}

.home-dinner__step {
  min-width: 0;
  max-width: 23.75rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.home-dinner__step .chip-marker {
  margin-bottom: var(--space-4);
}

.home-offline__lead {
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 35rem;
}

.home-offline__image {
  grid-column: 8 / span 5;
  grid-row: 1 / span 2;
  min-width: 0;
  margin: 0;
}

.home-offline__image img {
  width: 100%;
  min-height: 38rem;
  height: 100%;
  object-position: 62% center;
}

.home-offline__modules {
  grid-column: 1 / span 7;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
}

.home-offline__module {
  min-width: 0;
  max-width: 25rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border-dark);
}

.home-offline__module .button {
  margin-top: var(--space-2);
}

.home-holdem__intro {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 32.5rem;
}

.home-holdem__programmes {
  grid-column: 7 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  min-width: 0;
}

.home-holdem__programme {
  min-width: 0;
  max-width: 26.875rem;
  padding: var(--space-5) 0 0 var(--space-5);
  border-left: 1px solid var(--color-border);
}

.home-holdem__programme:first-child {
  padding-left: 0;
  border-left: 0;
  padding-right: var(--space-5);
}

.home-holdem__programme .rule {
  margin-bottom: var(--space-5);
}

.home-holdem__format {
  margin-bottom: var(--space-5);
  color: var(--color-eucalyptus);
}

.home-holdem__link {
  grid-column: 1 / -1;
  width: fit-content;
  min-width: 0;
  margin-top: var(--space-4);
  color: var(--color-copper);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-decoration: none;
  text-transform: uppercase;
}

.home-holdem__link span {
  margin-left: var(--space-2);
}

.home-rooms {
  position: relative;
  min-height: 42.5rem;
  isolation: isolate;
  background: var(--color-navy);
  color: var(--color-white);
}

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

.home-rooms__image {
  object-position: center;
}

.home-rooms__overlay {
  z-index: 1;
  background: linear-gradient(90deg, rgba(16, 27, 43, 0.83) 0%, rgba(16, 27, 43, 0.55) 42%, rgba(16, 27, 43, 0.27) 100%);
}

.home-rooms__container {
  position: relative;
  z-index: 2;
  display: grid;
  min-height: 42.5rem;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-7) var(--space-5);
  align-content: space-between;
  padding-block: 7rem;
}

.home-rooms__intro {
  grid-column: 1 / span 12;
}

.home-rooms__descriptors {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-top: 1px solid var(--color-border-dark);
}

.home-rooms__descriptor {
  min-width: 0;
  max-width: 21.25rem;
  padding: var(--space-5) var(--space-5) 0 0;
}

.home-rooms__descriptor + .home-rooms__descriptor {
  padding-left: var(--space-5);
  border-left: 1px solid var(--color-border-dark);
}

.home-rooms__descriptor .button {
  margin-top: var(--space-2);
}

.home-process__intro {
  grid-column: 1 / span 12;
}

.home-process__rows {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr;
  min-width: 0;
}

.home-process__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 9fr) minmax(0, 2fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-border);
}

.home-process__marker {
  grid-column: 1;
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-copper);
  font-size: var(--text-utility);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
}



.home-process__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  min-width: 0;
  margin-top: var(--space-4);
  font-size: var(--text-meta);
  font-weight: 700;
}

.home-materials__statement {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 32.5rem;
}

.home-materials__label {
  margin-bottom: var(--space-5);
  color: var(--color-eucalyptus);
}

.home-materials__statement .display {
  margin-bottom: var(--space-5);
}

.home-materials__image {
  grid-column: 7 / -1;
  grid-row: 1;
  min-width: 0;
  margin: 0;
}

.home-materials__image img {
  width: 100%;
  min-height: 38rem;
  height: 100%;
  object-position: center;
}

.home-materials__notes {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
  margin-top: var(--space-3);
}

.home-materials__note {
  min-width: 0;
  max-width: 18.75rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.home-closing__container {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-height: 20rem;
  overflow: hidden;
}

.home-closing__copy {
  z-index: 1;
  grid-column: 1 / span 6;
  min-width: 0;
  max-width: 32.5rem;
}

.home-closing__actions {
  margin-top: var(--space-5);
}

.home-closing__watermark {
  position: absolute;
  right: 5%;
  bottom: -10rem;
  width: 28rem;
  aspect-ratio: 1;
  border: 1px solid rgba(201, 130, 88, 0.22);
  border-radius: 50%;
}

.home-closing__watermark::before {
  position: absolute;
  inset: 8%;
  border: 1px solid rgba(201, 130, 88, 0.14);
  border-radius: inherit;
  content: "";
}

@media (max-width: 1024px) {
  .home-hero__container {
    min-height: 45rem;
  }

  .home-hero__copy {
    grid-column: 1 / span 7;
    max-width: 34rem;
  }

  .home-dinner__intro {
    grid-column: 1 / span 7;
  }

  .home-dinner__image {
    grid-column: 9 / span 4;
  }

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

  .home-dinner__step:first-child {
    grid-column: 1 / -1;
    max-width: 28rem;
  }

  .home-offline__lead {
    grid-column: 1 / span 7;
  }

  .home-offline__image {
    grid-column: 9 / span 4;
  }

  .home-offline__modules {
    grid-column: 1 / span 8;
  }

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

  .home-holdem__programmes {
    grid-column: 7 / -1;
  }

  .home-rooms__overlay {
    background: linear-gradient(90deg, rgba(16, 27, 43, 0.94) 0%, rgba(16, 27, 43, 0.9) 41%, rgba(16, 27, 43, 0.34) 41%, rgba(16, 27, 43, 0.24) 100%);
  }

  .home-rooms__intro {
    grid-column: 1 / span 5;
  }

  .home-rooms__descriptor {
    max-width: none;
  }

  .home-process__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 10fr) minmax(0, 1fr);
  }

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

  .home-materials__image {
    grid-column: 8 / -1;
  }

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

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

  .home-closing__copy {
    grid-column: 1 / span 8;
  }
}

@media (max-width: 760px) {
  .home-hero {
    min-height: 44rem;
  }

  .home-hero__image {
    object-position: 62% center;
  }

  .home-hero__shade {
    background: linear-gradient(180deg, rgba(16, 27, 43, 0.02) 0%, rgba(16, 27, 43, 0.16) 35%, rgba(16, 27, 43, 0.9) 58%, rgba(16, 27, 43, 0.98) 100%);
  }

  .home-hero__container {
    display: flex;
    min-height: 44rem;
    flex-direction: column;
    justify-content: flex-end;
    gap: var(--space-5);
    padding-top: 16rem;
    padding-bottom: var(--space-5);
  }

  .home-hero__copy {
    width: 100%;
    max-width: 21.25rem;
  }

  .home-hero__copy h1 {
    font-size: clamp(2.875rem, 12vw, 3.25rem);
  }

  .home-hero__copy .lead {
    max-width: 21.25rem;
  }

  .home-hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .home-hero__ribbon {
    width: 100%;
    padding-top: var(--space-4);
  }

  .home-dinner__grid,
  .home-offline__grid,
  .home-holdem__grid,
  .home-process__grid,
  .home-materials__grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .home-dinner__image,
  .home-offline__image,
  .home-materials__image {
    grid-column: 1;
    grid-row: auto;
    order: -1;
  }

  .home-dinner__image img,
  .home-materials__image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 4 / 5;
  }

  .home-offline__image img {
    min-height: 0;
    height: auto;
    aspect-ratio: 3 / 4;
  }

  .home-dinner__intro,
  .home-offline__lead,
  .home-holdem__intro,
  .home-process__intro,
  .home-materials__statement,
  .home-closing__copy {
    grid-column: 1;
    width: 100%;
    max-width: 37.5rem;
  }

  .home-dinner__steps,
  .home-offline__modules,
  .home-holdem__programmes,
  .home-materials__notes {
    grid-column: 1;
    grid-template-columns: 1fr;
    width: 100%;
  }

  .home-dinner__step,
  .home-dinner__step:first-child,
  .home-offline__module,
  .home-materials__note,
  .home-materials__note:nth-child(3) {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .home-holdem__programme,
  .home-holdem__programme:first-child {
    width: 100%;
    max-width: none;
    padding: var(--space-5) 0 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .home-holdem__programme:first-child {
    border-top: 0;
  }

  .home-holdem__link {
    grid-column: 1;
    display: flex;
    width: 100%;
    min-height: 3rem;
    align-items: center;
    justify-content: center;
    padding: var(--space-3) var(--space-4);
    border: 1px solid var(--color-copper);
    text-align: center;
  }

  .home-rooms {
    display: flex;
    min-height: 0;
    flex-direction: column;
  }

  .home-rooms__image {
    position: relative;
    height: auto;
    aspect-ratio: 4 / 5;
    object-position: 62% center;
  }

  .home-rooms__overlay {
    display: none;
  }

  .home-rooms__container {
    display: grid;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: var(--space-6);
    padding-block: var(--space-8);
  }

  .home-rooms__intro,
  .home-rooms__descriptors {
    grid-column: 1;
    width: 100%;
  }

  .home-rooms__intro {
    max-width: 37.5rem;
  }

  .home-rooms__descriptors {
    grid-template-columns: 1fr;
    border-top: 1px solid var(--color-border-dark);
  }

  .home-rooms__descriptor,
  .home-rooms__descriptor + .home-rooms__descriptor {
    width: 100%;
    max-width: none;
    padding: var(--space-5) 0 0;
    border-left: 0;
    border-top: 1px solid var(--color-border-dark);
  }

  .home-rooms__descriptor:first-child {
    border-top: 0;
  }

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

  .home-process__row {
    grid-template-columns: 1fr;
    gap: var(--space-4);
    padding-block: var(--space-5);
  }

  .home-process__marker,
  .home-process__content {
    grid-column: 1;
    width: 100%;
    max-width: none;
  }

  .home-process__marker {
    justify-content: flex-start;
  }

  .home-closing__container {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .home-closing__watermark {
    display: none;
  }

  .home-closing__actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .home-offline__image img,
  .home-dinner__image img,
  .home-materials__image img {
    transition: transform var(--transition-base);
  }

  .home-offline__image:hover img,
  .home-dinner__image:hover img,
  .home-materials__image:hover img {
    transform: scale(1.015);
  }
}
