.terms-page {
  background: var(--surface-page);
}

.terms-page :is(a, button):focus-visible {
  outline: var(--focus-outline);
  outline-offset: var(--focus-offset);
}

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

.terms-masthead__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.terms-masthead__copy {
  grid-column: 1;
  min-width: 0;
  max-width: 46rem;
}

.terms-masthead__title {
  margin-block-end: var(--space-4);
  color: var(--color-warm-ivory);
  font-size: clamp(2.5rem, 6vw, 4rem);
}

.terms-masthead__date {
  margin-block-end: var(--space-4);
  color: var(--color-warm-ivory);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.terms-masthead__date span {
  color: var(--color-champagne-beige);
}

.terms-masthead__rule {
  width: min(100%, 16rem);
  margin-block: 0 var(--space-5);
  background: var(--color-champagne-beige);
}

.terms-masthead__intro {
  max-width: 46rem;
  margin-block-end: 0;
  color: var(--color-warm-ivory);
  font-size: var(--text-body-large);
  line-height: var(--leading-relaxed);
}

.terms-use__grid,
.terms-responsibility__grid,
.terms-website__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
}

.terms-use__reading,
.terms-responsibility__reading,
.terms-website__primary,
.terms-website__support {
  min-width: 0;
  width: 100%;
}

.terms-use__reading > .eyebrow,
.terms-responsibility > .container--form > .eyebrow,
.terms-conduct .eyebrow,
.terms-website .eyebrow,
.terms-attendance .eyebrow {
  margin-block-end: var(--space-3);
}

.terms-rule {
  display: grid;
  grid-template-columns: minmax(2.5rem, 3.5rem) minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block: var(--space-6);
  border-block-start: var(--border-default);
}

.terms-rule:first-of-type {
  margin-block-start: var(--space-6);
}

.terms-rule__number {
  min-width: 0;
  color: var(--color-muted-eucalyptus);
  font-family: var(--font-heading);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

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

.terms-rule__body h3 {
  margin-block-end: var(--space-3);
}

.terms-rule__body p {
  margin-block-end: 0;
}

.terms-use__note {
  align-self: end;
  min-width: 0;
  max-width: 18rem;
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-muted-eucalyptus);
  background: var(--surface-quiet);
}

.terms-use__note p {
  margin-block-end: 0;
}

.terms-use__note-label {
  margin-block-end: var(--space-2) !important;
  color: var(--color-deep-ocean);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.terms-attendance h2,
.terms-poker h2,
.terms-responsibility h2,
.terms-conduct h2,
.terms-website h2 {
  margin-block-end: var(--space-6);
}

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

.terms-attendance__panel {
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
}

.terms-attendance__panel > :last-child {
  margin-block-end: 0;
}

.terms-attendance__label,
.terms-poker__label,
.terms-responsibility__label,
.terms-website__domain {
  margin-block-end: var(--space-3);
  color: var(--color-deep-ocean);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.terms-attendance__panel:nth-child(2) {
  border-block-start: 2px solid var(--color-champagne-beige);
}

.terms-attendance__panel a,
.terms-poker__condition a,
.terms-contact__details a {
  font-weight: 700;
}

.terms-poker__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.terms-poker__intro {
  min-width: 0;
  width: 100%;
  max-width: 42rem;
}

.terms-poker__intro p:last-child {
  margin-block-end: var(--space-6);
}

.terms-poker__space {
  display: none;
}

.terms-poker__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  min-width: 0;
  padding: var(--space-5);
  border: 1px solid var(--color-deep-ocean);
  border-radius: var(--radius-lg);
  background-color: var(--color-deep-ocean);
  background-image: linear-gradient(rgba(205, 187, 150, 0.14) 1px, transparent 1px), linear-gradient(90deg, rgba(205, 187, 150, 0.14) 1px, transparent 1px);
  background-size: 4rem 4rem;
}

.terms-poker__condition {
  display: grid;
  grid-template-columns: minmax(2.75rem, 3.5rem) minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-5);
  border-block-start: 1px solid rgba(205, 187, 150, 0.62);
}

.terms-poker__condition:first-child {
  padding-block-start: 0;
  border-block-start: 0;
}

.terms-poker__condition:last-child {
  padding-block-end: 0;
}

.terms-poker__condition > div {
  min-width: 0;
  max-width: 46rem;
}

.terms-poker__number {
  color: var(--color-champagne-beige);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.terms-poker__condition h3 {
  color: var(--color-warm-ivory);
  margin-block-end: var(--space-3);
}

.terms-poker__condition p {
  margin-block-end: 0;
  color: var(--color-warm-ivory);
}

.terms-poker__condition .terms-poker__label {
  margin-block-end: var(--space-2);
  color: #b8cec0;
}

.terms-age-notice {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  min-width: 0;
  width: 100%;
  max-width: 60rem;
  margin-inline: auto;
  margin-block-end: var(--space-7);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-lg);
  background: var(--surface-quiet);
}

.terms-age-notice__marker {
  display: flex;
  width: 3.25rem;
  min-width: 3.25rem;
  height: 3.25rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--color-deep-ocean);
  color: var(--color-warm-ivory);
  font-size: var(--text-label);
  font-weight: 700;
}

.terms-age-notice__copy {
  min-width: 0;
  max-width: 40rem;
}

.terms-age-notice__copy h3 {
  font-size: clamp(1.75rem, 4vw, 2.5rem);
}

.terms-age-notice__copy p {
  margin-block-end: 0;
}

.terms-responsibility__block {
  min-width: 0;
  width: 100%;
  padding-block: var(--space-5);
  border-block-start: var(--border-default);
}

.terms-responsibility__block:first-child {
  padding-block-start: 0;
  border-block-start: 0;
}

.terms-responsibility__block:last-child {
  padding-block-end: 0;
}

.terms-responsibility__block h3 {
  margin-block-end: var(--space-3);
}

.terms-responsibility__block p:last-child {
  margin-block-end: 0;
}

.terms-responsibility__descriptor {
  display: flex;
  min-width: 0;
  width: 100%;
  flex-direction: column;
  align-self: end;
  gap: var(--space-2);
  padding-block-start: var(--space-5);
  border-block-start: 1px solid var(--color-muted-eucalyptus);
  color: var(--color-deep-ocean);
  font-size: var(--text-meta);
  font-weight: 700;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.terms-conduct__list {
  display: flex;
  min-width: 0;
  width: 100%;
  flex-direction: column;
}

.terms-conduct__item {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-2);
  min-width: 0;
  width: 100%;
  padding-block: var(--space-6);
  border-block-start: var(--border-default);
}

.terms-conduct__number {
  min-width: 0;
  color: var(--color-muted-eucalyptus);
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
}

.terms-conduct__content {
  min-width: 0;
  width: 100%;
}

.terms-conduct__content h3 {
  margin-block-end: var(--space-3);
}

.terms-conduct__content p:last-child {
  margin-block-end: 0;
}

.terms-conduct__note {
  margin-block-start: var(--space-4);
  color: var(--color-deep-ocean);
  font-size: var(--text-label);
  font-weight: 700;
}

.terms-website__primary {
  padding: var(--space-5);
  border-inline-start: 2px solid var(--color-muted-eucalyptus);
}

.terms-website__primary > :last-child,
.terms-website__card > :last-child {
  margin-block-end: 0;
}

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

.terms-website__card {
  min-width: 0;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-md);
  background: var(--surface-raised);
}

.terms-website__card--updates {
  border-block-start: 2px solid var(--color-burnt-terracotta);
}

.terms-contact__callout {
  min-width: 0;
  width: 100%;
  max-width: 45rem;
  margin-inline: auto;
  padding: var(--space-5);
  border-radius: var(--radius-lg);
  background: var(--surface-muted);
}

.terms-contact__callout > :last-child {
  margin-block-end: 0;
}

.terms-contact__intro {
  max-width: 44rem;
}

.terms-contact__details {
  display: flex;
  min-width: 0;
  width: 100%;
  flex-direction: column;
  gap: var(--space-3);
  margin-block: var(--space-6);
}

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

.terms-contact__row dt,
.terms-contact__row dd {
  min-width: 0;
  margin: 0;
}

.terms-contact__row dt {
  color: var(--color-deep-ocean);
  font-size: var(--text-label);
}

.terms-contact__row dd {
  overflow-wrap: anywhere;
}

.terms-contact__row a {
  display: inline-flex;
  min-height: 2.75rem;
  align-items: center;
}

.terms-contact__rule {
  margin-block: 0 var(--space-4);
  background: var(--color-champagne-beige);
}

.terms-contact__close {
  margin-block-end: 0;
  font-size: var(--text-label);
}

@media (min-width: 30rem) {
  .terms-age-notice {
    grid-template-columns: 3.25rem minmax(0, 1fr);
  }
}

@media (min-width: 48rem) {
  .terms-masthead {
    padding-block: var(--space-9) var(--space-8);
  }

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

  .terms-attendance__panel--events {
    grid-column: 1 / span 1;
  }

  .terms-conduct__item {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: var(--space-4);
  }

  .terms-contact__row {
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: var(--space-4);
  }
}

@media (min-width: 53.75rem) {
  .terms-use__grid,
  .terms-responsibility__grid,
  .terms-website__grid {
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    column-gap: var(--space-7);
  }

  .terms-use__reading,
  .terms-responsibility__reading,
  .terms-website__primary {
    grid-column: 1;
  }

  .terms-use__note,
  .terms-responsibility__descriptor,
  .terms-website__support {
    grid-column: 2;
  }

  .terms-responsibility__descriptor {
    padding-block-start: 0;
    border-block-start: 0;
    border-inline-start: 1px solid var(--color-muted-eucalyptus);
    padding-inline-start: var(--space-5);
  }
}

@media (min-width: 56.25rem) {
  .terms-poker__intro-grid {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  }

  .terms-poker__intro {
    grid-column: 1;
  }

  .terms-poker__space {
    display: block;
    grid-column: 2;
    min-width: 0;
  }

  .terms-poker__panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: var(--space-6);
  }

  .terms-poker__condition {
    min-height: 100%;
    padding: var(--space-5);
    border-block-start: 0;
    border-inline-start: 1px solid rgba(205, 187, 150, 0.62);
  }

  .terms-poker__condition:nth-child(odd) {
    border-inline-start: 0;
  }

  .terms-poker__condition:nth-child(-n + 2) {
    border-block-end: 1px solid rgba(205, 187, 150, 0.62);
  }

  .terms-poker__condition:first-child,
  .terms-poker__condition:last-child {
    padding-block: var(--space-5);
  }
}

@media (min-width: 60rem) {
  .terms-attendance__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .terms-attendance__panel--events {
    grid-column: 3;
  }
}

@media (min-width: 64rem) {
  .terms-masthead {
    padding-block: var(--space-9) 5rem;
  }

  .terms-masthead__grid {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: var(--space-5);
  }

  .terms-masthead__copy {
    grid-column: 1 / span 7;
  }
}

@media (max-width: 29.9375rem) {
  .terms-rule {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .terms-rule__number {
    font-size: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page * {
    transition: none !important;
  }
}
