main.terms-page {
  position: relative;
  overflow: clip;
}

.terms-page__intro {
  position: relative;
  padding-block: clamp(5rem, 9vw, 8rem) var(--space-8);
  border-block-end: var(--border-hairline);
  background:
    linear-gradient(108deg, rgb(40 23 34 / 94%) 0%, rgb(20 16 22 / 84%) 56%, rgb(9 10 13 / 100%) 100%);
}

.terms-page__intro::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: radial-gradient(rgb(242 233 220 / 7%) 0.55px, transparent 0.55px);
  background-size: 7px 7px;
  content: "";
  opacity: 0.35;
}

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

.terms-page__intro-copy {
  grid-column: 2 / span 7;
  width: 100%;
  max-width: 42.5rem;
  min-width: 0;
}

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

.terms-page__intro-title {
  max-width: 11ch;
  font-size: var(--text-display);
}

.terms-page__intro-lead {
  max-width: 41rem;
  color: var(--color-soft-ivory);
  font-size: var(--text-lead);
  line-height: 1.5;
}

.terms-page__document-meta {
  display: flex;
  width: 100%;
  max-width: 41rem;
  min-width: 0;
  gap: var(--space-2);
  padding-block-start: var(--space-2);
  border-block-start: var(--border-subtle);
  color: var(--color-text-subtle);
  font-size: var(--text-caption);
  line-height: 1.45;
}

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

.terms-page__document-meta-label {
  color: var(--color-accent);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

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

.terms-page__contents {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: min(100%, 64rem);
  min-width: 0;
  margin-inline: auto;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: var(--border-hairline);
  border-radius: var(--radius-control);
  background: var(--color-smoked-graphite);
}

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

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

.terms-page__contents-title {
  margin-block-end: 0;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
}

.terms-page__contents-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.terms-page__contents-list > li {
  min-width: 0;
}

.terms-page__contents-list > li:nth-child(odd) {
  border-inline-end: var(--border-hairline);
}

.terms-page__contents-link {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  min-height: 3.5rem;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-block-start: var(--border-subtle);
  color: var(--color-text-muted);
  font-size: var(--text-ui);
  font-weight: 650;
  letter-spacing: 0.035em;
  line-height: 1.4;
  text-decoration: none;
  transition: border-color var(--transition-base), background-color var(--transition-base), color var(--transition-base);
}

.terms-page__contents-link:hover {
  background: rgb(242 233 220 / 5%);
  color: var(--color-soft-ivory);
}

.terms-page__contents-index {
  flex: 0 0 auto;
  color: var(--color-accent);
  font-size: var(--text-caption);
}

.terms-page__contents-link-text {
  min-width: 0;
}

.terms-page__document-section {
  scroll-margin-top: 8rem;
  padding-block: var(--section-space);
}

.terms-page__document-section--compact {
  padding-block-start: var(--space-8);
}

.terms-page__document-section--entertainment {
  position: relative;
  background: var(--color-mulberry-black);
}

.terms-page__document-section--entertainment::after {
  position: absolute;
  top: var(--space-9);
  bottom: var(--space-9);
  left: calc(50% + min(38.75rem, (100vw - (var(--container-gutter) * 2)) / 2) - 12rem);
  width: 1px;
  background: var(--color-border);
  content: "";
}

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

.terms-page__marker {
  grid-column: 1 / span 2;
  width: 100%;
  min-width: 0;
  padding-block-start: var(--space-1);
}

.terms-page__marker .eyebrow {
  margin-block-end: 0;
}

.terms-page__marker--moss .eyebrow {
  color: var(--color-service);
}

.terms-page__document-body {
  grid-column: 3 / span 7;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: 100%;
  max-width: 45rem;
  min-width: 0;
}

.terms-page__document-body > * {
  width: 100%;
  min-width: 0;
}

.terms-page__clause {
  min-width: 0;
  padding-block-end: var(--space-6);
  border-block-end: var(--border-hairline);
}

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

.terms-page__clause-title {
  max-width: 24ch;
}

.terms-page__subclause {
  min-width: 0;
  padding-block-start: var(--space-1);
}

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

.terms-page__subclause-title {
  margin-block-end: var(--space-3);
  color: var(--color-soft-ivory);
  font-family: var(--font-body);
  font-size: var(--text-ui);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.terms-page__note-line {
  width: min(100%, 37.5rem);
  min-width: 0;
  margin: 0;
  padding-inline-start: var(--space-4);
  border-inline-start: var(--border-hairline);
  color: var(--color-soft-ivory);
  font-size: var(--text-caption);
  line-height: 1.55;
}

.terms-page__note-line strong {
  font-weight: 650;
}

.terms-page__minor-label {
  display: block;
  margin-block: 0 var(--space-2);
  color: var(--color-accent);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.terms-page__editorial-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-3);
  width: min(100%, 40rem);
  min-width: 0;
  margin-inline-start: var(--space-5);
  padding: var(--space-5);
  border: var(--border-subtle);
  border-radius: var(--radius-control);
  background: var(--color-graphite-surface);
}

.terms-page__editorial-note > * {
  min-width: 0;
}

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

.terms-page__editorial-note-title {
  margin: 0;
  color: var(--color-accent);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.25;
}

.terms-page__editorial-note p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-caption);
  line-height: 1.6;
}

.terms-page__entertainment-body {
  grid-column: 2 / span 7;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: 100%;
  max-width: 43.75rem;
  min-width: 0;
}

.terms-page__entertainment-body > * {
  width: 100%;
  min-width: 0;
}

.terms-page__entertainment-statement {
  width: min(100%, 36.25rem);
  margin: 0;
  color: var(--color-soft-ivory);
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 2.8vw, 2.2rem);
  line-height: 1.16;
}

.terms-page__final-section {
  padding-block-end: clamp(5rem, 8vw, 8rem);
}

.terms-page__final-body {
  grid-column: 2 / span 7;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-6);
  width: 100%;
  max-width: 45rem;
  min-width: 0;
}

.terms-page__final-body > * {
  width: 100%;
  min-width: 0;
}

.terms-page__closing-line {
  width: min(100%, 37.5rem);
  min-width: 0;
  margin: 0;
  padding-block-start: var(--space-5);
  border-block-start: var(--border-hairline);
  color: var(--color-text-muted);
  font-size: var(--text-caption);
  line-height: 1.6;
}

@media (max-width: 74.9375rem) {
  .terms-page__intro-container,
  .terms-page__document-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .terms-page__intro-copy {
    grid-column: 1 / span 8;
  }

  .terms-page__marker {
    grid-column: 1 / -1;
    padding-block-start: 0;
  }

  .terms-page__document-body,
  .terms-page__entertainment-body,
  .terms-page__final-body {
    grid-column: 1 / span 8;
    max-width: 45rem;
  }

  .terms-page__document-section--entertainment::after {
    display: none;
  }

  .terms-page__editorial-note {
    margin-inline-start: 0;
  }
}

@media (max-width: 59.9375rem) {
  .terms-page__contents-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__contents-list > li:nth-child(odd) {
    border-inline-end: 0;
  }

  .terms-page__contents-link {
    min-height: 3rem;
  }
}

@media (max-width: 47.9375rem) {
  .terms-page__intro {
    padding-block: var(--space-8) var(--space-7);
  }

  .terms-page__intro-container,
  .terms-page__document-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-page__intro-copy,
  .terms-page__marker,
  .terms-page__document-body,
  .terms-page__entertainment-body,
  .terms-page__final-body {
    grid-column: 1;
  }

  .terms-page__intro-title {
    max-width: 10ch;
    font-size: clamp(2.5rem, 12vw, 3rem);
  }

  .terms-page__intro-lead {
    max-width: none;
    font-size: 1.125rem;
  }

  .terms-page__document-meta {
    max-width: none;
    flex-wrap: wrap;
  }

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

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

  .terms-page__contents-link {
    min-height: 3rem;
    padding-inline: 0;
  }

  .terms-page__document-section {
    scroll-margin-top: 6rem;
  }

  .terms-page__document-body,
  .terms-page__entertainment-body,
  .terms-page__final-body {
    gap: var(--space-5);
    max-width: none;
  }

  .terms-page__clause {
    padding-block-end: var(--space-5);
  }

  .terms-page__clause-title {
    max-width: none;
    font-size: clamp(2rem, 9vw, 2.125rem);
  }

  .terms-page__editorial-note {
    width: 100%;
    padding: var(--space-5);
  }

  .terms-page__entertainment-statement,
  .terms-page__note-line,
  .terms-page__closing-line {
    width: 100%;
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
