.terms-page {
  --terms-rule: var(--colour-line-light);
  background: var(--colour-ivory-50);
}

.terms-page a {
  text-decoration-thickness: 1px;
}

.terms-page a:hover {
  text-decoration-thickness: 2px;
}

.terms-intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 10vw, 9rem);
}

.terms-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.terms-intro__copy {
  grid-column: 2 / span 7;
  position: relative;
  z-index: 1;
  min-width: 0;
  max-width: 54rem;
}

.terms-intro__label {
  margin: 0 0 var(--space-4);
  color: var(--colour-brick-600);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-small);
  text-transform: uppercase;
}

.terms-intro h1 {
  max-width: 42rem;
}

.terms-intro__lede {
  max-width: 52rem;
  margin-bottom: var(--space-6);
  color: var(--colour-ivory-100);
  font-size: var(--text-body-large);
  line-height: var(--leading-body-large);
}

.terms-intro__scope {
  display: grid;
  grid-template-columns: 3rem minmax(0, 40rem);
  align-items: start;
  gap: var(--space-4);
  max-width: 46rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-line-dark);
  min-width: 0;
}

.terms-intro__scope-number {
  color: var(--colour-cobalt-400);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.terms-intro__scope p {
  margin: 0;
  color: var(--colour-ivory-200);
}

.terms-intro__letter {
  position: absolute;
  right: 3%;
  bottom: -0.2em;
  z-index: 0;
  color: var(--colour-ivory-100);
  font-family: var(--font-heading);
  font-size: clamp(14rem, 27vw, 26rem);
  font-weight: 700;
  line-height: 0.75;
  letter-spacing: -0.12em;
  opacity: 0.06;
  pointer-events: none;
}

.terms-reading__grid,
.terms-reservations__grid,
.terms-poker__grid,
.terms-guidance__grid,
.terms-close__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
}

.terms-reading__heading {
  grid-column: 3 / span 6;
  min-width: 0;
  max-width: 48rem;
}

.terms-reading__heading .lede {
  max-width: 48rem;
}

.terms-clause-list {
  grid-column: 2 / span 7;
  min-width: 0;
}

.terms-clause {
  display: grid;
  grid-template-columns: minmax(3.5rem, 1fr) minmax(0, 6fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-6);
  border-top: 1px solid var(--terms-rule);
}

.terms-clause:last-child {
  border-bottom: 1px solid var(--terms-rule);
}

.terms-clause__number,
.terms-poker-rule__number {
  min-width: 0;
  color: var(--colour-cobalt-600);
  font-family: var(--font-heading);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  line-height: 1.3;
}

.terms-clause__content {
  min-width: 0;
  max-width: 48rem;
}

.terms-clause__content h3,
.terms-practical-unit h3,
.terms-reservations__full-unit h3,
.terms-poker__featured h3,
.terms-poker-rule h3,
.terms-guidance__responsible h3,
.terms-close h2,
.terms-content__update h3 {
  margin-bottom: var(--space-3);
}

.terms-clause__content p:last-child {
  margin-bottom: 0;
}

.terms-clause__meta {
  margin: 0 0 var(--space-3);
  color: var(--colour-brick-600);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-small);
  text-transform: uppercase;
}

.terms-reservations__intro {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 50rem;
}

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

.terms-practical-unit {
  min-width: 0;
  max-width: 34rem;
  padding-top: var(--space-5);
  border-top: 1px solid var(--colour-line-light);
}

.terms-practical-unit--rule {
  border-left: 3px solid var(--colour-cobalt-600);
  padding-top: 0;
  padding-left: var(--space-4);
}

.terms-practical-unit p:last-child,
.terms-reservations__full-unit p:last-child,
.terms-reservations__note p:last-child {
  margin-bottom: 0;
}

.terms-reservations__full-unit {
  grid-column: 2 / span 7;
  min-width: 0;
  max-width: 48rem;
  padding-top: var(--space-6);
  border-top: 1px solid var(--colour-line-light);
}

.terms-reservations__note {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--colour-line-light);
  background: var(--colour-ivory-50);
}

.terms-reservations__note h3,
.terms-reservations__note p {
  margin: 0;
}

.terms-reservations__note a {
  color: var(--colour-cobalt-600);
  font-weight: 600;
}

.terms-poker__intro {
  grid-column: 2 / span 6;
  min-width: 0;
  max-width: 46rem;
}

.terms-poker__featured {
  grid-column: 2 / span 5;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  overflow: hidden;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 4px solid var(--colour-cobalt-600);
  background: var(--colour-charcoal-850);
}

.terms-poker__featured > * {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.terms-poker__featured h3,
.terms-poker__featured p {
  margin: 0;
}

.terms-poker__kicker {
  color: var(--colour-cobalt-400);
  font-family: var(--font-heading);
  font-size: var(--text-small);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
  line-height: var(--leading-small);
  text-transform: uppercase;
}

.terms-poker__featured h3 {
  max-width: 26rem;
}

.terms-poker__featured p:last-child {
  max-width: 40rem;
}

.terms-poker__letter {
  position: absolute;
  right: -0.08em;
  bottom: -0.18em;
  z-index: 0;
  color: var(--colour-cobalt-400);
  font-family: var(--font-heading);
  font-size: clamp(10rem, 17vw, 17rem);
  font-weight: 700;
  line-height: 0.8;
  letter-spacing: -0.12em;
  opacity: 0.15;
  pointer-events: none;
}

.terms-poker__rules {
  grid-column: 7 / span 5;
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
}

.terms-poker-rule {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  padding-block: var(--space-5);
  border-top: 1px solid var(--colour-line-dark);
}

.terms-poker-rule:last-child {
  border-bottom: 1px solid var(--colour-line-dark);
}

.terms-poker-rule__copy {
  min-width: 0;
  max-width: 32rem;
}

.terms-poker-rule__copy p:last-child {
  margin-bottom: 0;
}

.terms-poker-rule--brick {
  border-left: 3px solid var(--colour-brick-600);
  padding-left: var(--space-4);
}

.terms-poker a {
  color: var(--colour-ivory-100);
}

.terms-guidance__grid {
  gap: var(--space-6);
}

.terms-guidance__age,
.terms-guidance__responsible {
  min-width: 0;
}

.terms-guidance__age {
  grid-column: 2 / span 5;
  display: grid;
  grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 2fr);
  gap: var(--space-5);
  align-items: start;
  padding: var(--space-6);
  background: var(--colour-ivory-200);
}

.terms-guidance__age-number {
  min-width: 0;
  color: var(--colour-cobalt-600);
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 5.5vw, 6rem);
  font-weight: 700;
  letter-spacing: var(--tracking-display);
  line-height: 0.88;
}

.terms-guidance__age-copy {
  min-width: 0;
  max-width: 32rem;
}

.terms-guidance__age-copy h2 {
  font-size: var(--text-h3);
}

.terms-guidance__age-copy p:last-child,
.terms-guidance__responsible p:last-child {
  margin-bottom: 0;
}

.terms-guidance__responsible {
  grid-column: 7 / span 5;
  max-width: 32rem;
  padding-top: var(--space-6);
  border-top: 3px solid var(--colour-brick-600);
}

.terms-guidance__responsible .eyebrow {
  margin-bottom: var(--space-4);
}

.terms-guidance__emphasis {
  margin-top: var(--space-6);
  color: var(--colour-ink-100);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 600;
  letter-spacing: var(--tracking-h4);
  line-height: var(--leading-h4);
}

.terms-conduct .terms-clause-list,
.terms-content .terms-clause-list {
  grid-column: 2 / span 7;
}

.terms-conduct__closing {
  margin-top: var(--space-5);
  color: var(--colour-ink-100);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 600;
  letter-spacing: var(--tracking-h4);
  line-height: var(--leading-h4);
}

.terms-content__outlined {
  padding: var(--space-5);
  border: 1px solid var(--colour-line-light);
}

.terms-content__update {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  min-width: 0;
  max-width: 38rem;
  margin-top: var(--space-6);
  margin-left: calc((100% / 7) + var(--space-4));
  padding: var(--space-5);
  border-top: 3px solid var(--colour-brick-600);
  background: var(--colour-ivory-200);
}

.terms-content__update h3,
.terms-content__update p {
  margin: 0;
}

.terms-close {
  padding-block: clamp(4.5rem, 8vw, 8rem);
}

.terms-close__copy {
  grid-column: 2 / span 6;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
  min-width: 0;
  max-width: 42rem;
}

.terms-close__copy .eyebrow,
.terms-close__copy h2,
.terms-close__copy > p {
  margin: 0;
}

.terms-close__copy .eyebrow {
  color: var(--colour-ivory-100);
}

.terms-close__copy > p {
  max-width: 42rem;
  color: var(--colour-ivory-100);
  font-size: var(--text-body-large);
  line-height: var(--leading-body-large);
}

.terms-close__action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 10rem;
  min-height: 3rem;
  padding: 0.6875rem var(--space-4);
  border: 1px solid var(--colour-ivory-100);
  border-radius: var(--radius-control);
  background: var(--colour-ivory-100);
  color: var(--colour-charcoal-950);
  font-family: var(--font-heading);
  font-weight: 600;
  text-decoration: none;
  transition: background-color var(--transition-control), color var(--transition-control), box-shadow var(--transition-control);
}

.terms-close__action:hover {
  box-shadow: inset 0 0 0 2px var(--colour-ivory-100);
  background: transparent;
  color: var(--colour-ivory-100);
}

.terms-close__action:focus-visible {
  outline: 2px solid var(--colour-ivory-100);
  outline-offset: 3px;
}

.terms-close__reminder {
  width: 100%;
  max-width: 42rem;
  padding-top: var(--space-5);
  border-top: 1px solid rgb(255 249 239 / 45%);
}

.terms-close__reminder p {
  margin: 0;
  color: var(--colour-ivory-100);
}

@media (max-width: 63.9375rem) {
  .terms-intro__grid,
  .terms-reading__grid,
  .terms-reservations__grid,
  .terms-poker__grid,
  .terms-guidance__grid,
  .terms-close__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .terms-intro__copy,
  .terms-reservations__intro,
  .terms-poker__intro,
  .terms-close__copy {
    grid-column: 2 / span 6;
  }

  .terms-intro__letter {
    right: 2%;
    font-size: clamp(11rem, 26vw, 18rem);
  }

  .terms-reading__heading {
    grid-column: 2 / span 6;
  }

  .terms-clause-list,
  .terms-conduct .terms-clause-list,
  .terms-content .terms-clause-list {
    grid-column: 1 / span 7;
  }

  .terms-reservations__pair {
    grid-column: 2 / span 6;
  }

  .terms-reservations__full-unit,
  .terms-reservations__note {
    grid-column: 2 / span 6;
  }

  .terms-poker__featured {
    grid-column: 2 / span 6;
  }

  .terms-poker__rules {
    grid-column: 2 / span 6;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
  }

  .terms-poker-rule {
    grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
    border-bottom: 1px solid var(--colour-line-dark);
  }

  .terms-poker-rule:last-child {
    grid-column: 1 / span 2;
  }

  .terms-guidance__age {
    grid-column: 2 / span 6;
  }

  .terms-guidance__responsible {
    grid-column: 2 / span 6;
    max-width: 38rem;
  }

  .terms-content__update {
    margin-left: calc((100% / 7) + var(--space-4));
  }
}

@media (max-width: 53.75rem) {
  .terms-reservations__pair {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .terms-practical-unit,
  .terms-practical-unit--rule {
    max-width: 48rem;
  }

  .terms-poker__rules {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .terms-poker-rule:last-child {
    grid-column: auto;
  }
}

@media (max-width: 47.5rem) {
  .terms-guidance__grid {
    gap: var(--space-5);
  }

  .terms-guidance__age,
  .terms-guidance__responsible {
    grid-column: 2 / span 6;
  }

  .terms-guidance__age {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .terms-guidance__age-number {
    font-size: 4rem;
  }
}

@media (max-width: 39.9375rem) {
  .terms-intro {
    padding-block: var(--space-8);
  }

  .terms-intro__grid,
  .terms-reading__grid,
  .terms-reservations__grid,
  .terms-poker__grid,
  .terms-guidance__grid,
  .terms-close__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .terms-intro__copy,
  .terms-reading__heading,
  .terms-clause-list,
  .terms-conduct .terms-clause-list,
  .terms-content .terms-clause-list,
  .terms-reservations__intro,
  .terms-reservations__pair,
  .terms-reservations__full-unit,
  .terms-reservations__note,
  .terms-poker__intro,
  .terms-poker__featured,
  .terms-poker__rules,
  .terms-guidance__age,
  .terms-guidance__responsible,
  .terms-close__copy {
    grid-column: 1;
  }

  .terms-intro h1 {
    font-size: clamp(3rem, 15vw, 4.4rem);
  }

  .terms-intro__lede {
    font-size: 1.125rem;
  }

  .terms-intro__scope {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .terms-intro__letter {
    right: 1%;
    bottom: -0.08em;
    font-size: 30vw;
    opacity: 0.05;
  }

  .terms-reading__heading,
  .terms-reservations__intro,
  .terms-poker__intro {
    max-width: none;
  }

  .terms-clause {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    padding-block: var(--space-5);
  }

  .terms-clause__number,
  .terms-poker-rule__number {
    font-size: var(--text-small);
  }

  .terms-clause__content,
  .terms-practical-unit,
  .terms-reservations__full-unit,
  .terms-poker-rule__copy {
    max-width: none;
  }

  .terms-reservations__pair {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .terms-reservations__note {
    padding: var(--space-4);
  }

  .terms-poker__featured {
    padding: var(--space-5);
  }

  .terms-poker__letter {
    font-size: 32vw;
  }

  .terms-poker__rules {
    grid-template-columns: 1fr;
  }

  .terms-poker-rule {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .terms-poker-rule--brick {
    padding-left: var(--space-3);
  }

  .terms-guidance__age {
    padding: var(--space-5);
  }

  .terms-guidance__responsible {
    max-width: none;
  }

  .terms-content__outlined {
    padding: var(--space-4);
  }

  .terms-content__update {
    max-width: none;
    margin-left: 0;
    padding: var(--space-4);
  }

  .terms-close {
    padding-block: var(--space-8);
  }

  .terms-close__copy {
    max-width: none;
  }

  .terms-close__copy > p {
    max-width: none;
    font-size: 1.125rem;
  }

  .terms-close__action {
    width: 100%;
    min-height: 3rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page *,
  .terms-page *::before,
  .terms-page *::after {
    transition-duration: 0.01ms !important;
  }
}
