.terms-page {
  position: relative;
  isolation: isolate;
  padding-bottom: var(--space-9);
  background-color: var(--color-paper);
}

.terms-page::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgba(23, 35, 51, 0.035) 0.6px, transparent 0.7px);
  background-size: 7px 7px;
  content: "";
}

.terms-page__hero {
  padding-block: var(--space-8) var(--space-7);
  border-bottom: var(--border-default);
  background: linear-gradient(180deg, var(--color-paper) 0%, color-mix(in srgb, var(--color-paper) 88%, var(--color-navy-soft)) 100%);
}

.terms-page__document-head {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 47.5rem;
  min-width: 0;
  gap: var(--space-4);
}

.terms-page__document-head > * {
  min-width: 0;
}

.terms-page__breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.terms-page__breadcrumb a {
  color: var(--color-navy);
}

.terms-page__document-head .eyebrow {
  margin: 0;
}

.terms-page__document-head h1 {
  max-width: 47.5rem;
  margin: 0;
  color: var(--color-navy);
  font-size: clamp(2.5rem, 5vw, 3.5rem);
}

.terms-page__lead {
  width: 100%;
  max-width: 42.5rem;
  margin: 0;
  font-size: var(--text-lead);
  line-height: 1.56;
}

.terms-page__effective-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: var(--space-2) var(--space-5);
  padding-block: var(--space-3);
  border-top: var(--border-gold);
  border-bottom: var(--border-default);
  color: var(--color-navy);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.terms-page__effective-meta > span {
  min-width: 0;
}

.terms-page__acceptance {
  width: 100%;
  max-width: 45rem;
  margin: 0;
}

.terms-page__independence {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  gap: var(--space-3);
  margin: var(--space-2) 0 0;
}

.terms-page__independence > * {
  min-width: 0;
  margin: 0;
}

.terms-page__independence h2 {
  font-size: var(--text-subtitle);
}

.terms-page__index {
  padding-block: var(--space-7);
}

.terms-page__index-inner {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 47.5rem;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-default);
  border-radius: var(--radius-panel);
  background: var(--color-paper-bright);
}

.terms-page__index-inner > * {
  min-width: 0;
  margin: 0;
}

.terms-page__index-inner h2 {
  color: var(--color-navy);
}

.terms-page__index-intro {
  width: 100%;
  max-width: 38.75rem;
}

.terms-page__anchor-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style-position: inside;
  border-top: var(--border-default);
  counter-reset: legal-index;
}

.terms-page__anchor-list > li {
  min-width: 0;
  min-height: 3rem;
  padding: 0;
  border-bottom: var(--border-default);
  list-style: none;
  counter-increment: legal-index;
}

.terms-page__anchor-list > li:nth-child(odd) {
  padding-right: var(--space-5);
  border-right: var(--border-default);
}

.terms-page__anchor-list > li:nth-child(even) {
  padding-left: var(--space-5);
}

.terms-page__anchor-list > li::before {
  display: inline-block;
  width: 2rem;
  color: var(--color-aged-gold);
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 700;
  content: "0" counter(legal-index);
}

.terms-page__anchor-list a {
  display: inline-flex;
  align-items: center;
  width: calc(100% - 2.25rem);
  min-width: 0;
  min-height: 3rem;
  color: var(--color-navy);
  font-size: var(--text-sm);
  font-weight: 700;
  vertical-align: top;
}

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

.terms-page__legal-section + .terms-page__legal-section {
  border-top: var(--border-default);
}

.terms-page__section-layout {
  display: grid;
  grid-template-columns: 4rem minmax(0, 45rem);
  width: 100%;
  min-width: 0;
  column-gap: var(--space-4);
}

.terms-page__section-layout > * {
  min-width: 0;
}

.terms-page__section-number {
  width: 4rem;
  margin: 0;
  color: var(--color-aged-gold);
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
}

.terms-page__section-copy {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 45rem;
  min-width: 0;
  gap: var(--space-6);
}

.terms-page__section-copy > * {
  min-width: 0;
  margin: 0;
}

.terms-page__section-copy .rule-heading {
  width: 100%;
  margin: 0;
}

.terms-page__section-copy h2 {
  color: var(--color-navy);
}

.terms-page__section-copy h3 {
  margin-bottom: var(--space-3);
  color: var(--color-navy);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
}

.terms-page__clause,
.terms-page__availability-note {
  width: 100%;
  max-width: 45rem;
}

.terms-page__clause--ruled {
  padding-top: var(--space-6);
  border-top: var(--border-default);
}

.terms-page__prohibited-list {
  width: 100%;
  max-width: 46.25rem;
  margin-bottom: var(--space-4);
  padding-left: 1.35rem;
}

.terms-page__prohibited-list li::marker {
  color: var(--color-navy);
  content: "▪  ";
}

.terms-page__scope-note,
.terms-page__prelaunch-warning,
.terms-page__content-request {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.terms-page__scope-note > *,
.terms-page__prelaunch-warning > *,
.terms-page__content-request > * {
  min-width: 0;
  margin: 0;
}

.terms-page__classification,
.terms-page__third-party-card,
.terms-page__decision-note {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  gap: var(--space-3);
}

.terms-page__classification > *,
.terms-page__third-party-card > *,
.terms-page__decision-note > * {
  min-width: 0;
  margin: 0;
}

.terms-page__classification {
  max-width: 47.5rem;
  background: var(--color-navy-soft);
}

.terms-page__badge-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  min-width: 0;
  gap: var(--space-2);
}

.terms-page__badge-row > * {
  min-width: 0;
}

.terms-page__uncertainty-marker {
  color: var(--color-danger);
  font-size: var(--text-sm);
  font-weight: 700;
}

.terms-page__editorial-emphasis {
  margin-bottom: 0;
  color: var(--color-navy);
}

.terms-page__third-party-card {
  max-width: 45rem;
  border-top: 4px solid var(--color-navy);
}

.terms-page__play-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 47.5rem;
  min-width: 0;
  gap: var(--space-4);
  padding: var(--space-5);
  border-radius: var(--radius-panel);
}

.terms-page__play-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-page__play-panel .eyebrow {
  color: var(--color-aged-gold);
}

.terms-page__play-panel h3 {
  color: var(--color-paper-bright);
  font-family: var(--font-heading);
  font-size: var(--text-subtitle);
}

.terms-page__play-panel .button {
  align-self: flex-start;
  min-height: 3rem;
}

.terms-page__external-note {
  color: color-mix(in srgb, var(--color-paper-bright) 78%, var(--color-navy-soft));
  font-size: var(--text-sm);
}

.terms-page__decision-note {
  max-width: 45rem;
}

.terms-page__availability-note {
  padding-top: var(--space-5);
  border-top: var(--border-default);
  color: var(--color-muted-ink);
}

.terms-page__availability-note h3 {
  color: var(--color-navy);
}

.terms-page__legal-section--closing {
  padding-top: var(--space-9);
}

.terms-page__date-highlight {
  color: var(--color-navy);
  font-weight: 700;
}

.terms-page__address-note {
  color: var(--color-muted-ink);
  font-size: var(--text-sm);
}

.terms-page__contact-panel {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
  gap: var(--space-4);
  margin-top: var(--space-2);
}

.terms-page__contact-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-page__contact-panel h3 {
  font-family: var(--font-heading);
  font-size: var(--text-subtitle);
}

.terms-page__contact-panel .button {
  align-self: flex-start;
}

.terms-page [id] {
  scroll-margin-top: 7rem;
}

@media (max-width: 64rem) {
  .terms-page__section-layout {
    grid-template-columns: minmax(0, 45rem);
    row-gap: var(--space-3);
  }

  .terms-page__section-number {
    width: 100%;
  }
}

@media (max-width: 42.5rem) {
  .terms-page__hero {
    padding-block: var(--space-7) var(--space-6);
  }

  .terms-page__document-head {
    gap: var(--space-3);
  }

  .terms-page__document-head h1 {
    font-size: clamp(2.25rem, 11vw, 2.5rem);
    line-height: 1.1;
  }

  .terms-page__lead {
    font-size: var(--text-lead);
    line-height: 1.56;
  }

  .terms-page__effective-meta {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-2);
  }

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

  .terms-page__index {
    padding-block: var(--space-6);
  }

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

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

  .terms-page__anchor-list > li:nth-child(odd),
  .terms-page__anchor-list > li:nth-child(even) {
    padding-right: 0;
    padding-left: 0;
    border-right: 0;
  }

  .terms-page__legal-section {
    padding-block: var(--space-7);
  }

  .terms-page__legal-section--closing {
    padding-top: var(--space-8);
  }

  .terms-page__section-copy {
    gap: var(--space-5);
  }

  .terms-page__section-copy h2 {
    font-size: clamp(1.875rem, 8vw, 2rem);
  }

  .terms-page__prohibited-list {
    padding-left: 1.2rem;
  }

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

  .terms-page__play-panel .button,
  .terms-page__contact-panel .button {
    align-self: stretch;
    width: 100%;
  }

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

@media print {
  .terms-page::before {
    display: none;
  }

  .terms-page__play-panel {
    color: #000;
    border: 1px solid #000;
    background: #fff;
  }

  .terms-page__play-panel h3,
  .terms-page__play-panel .eyebrow,
  .terms-page__external-note {
    color: #000;
  }
}
