.terms-page {
  min-width: 0;
  padding-bottom: var(--space-9);
  background: var(--color-ink-950);
}

.terms-page__hero {
  padding-block: var(--space-8) var(--space-7);
  border-bottom: 1px solid var(--color-border);
}

.terms-page__hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  gap: var(--space-6);
}

.terms-page__hero-grid > * {
  min-width: 0;
}

.terms-page__hero-copy {
  grid-column: 1;
  width: 100%;
  max-width: 47.5rem;
}

.terms-page__eyebrow,
.terms-page__effective {
  margin: 0;
  color: var(--color-amber-400);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.terms-page__eyebrow {
  margin-bottom: var(--space-3);
}

.terms-page__effective {
  display: flex;
  width: fit-content;
  min-width: 0;
  gap: var(--space-2);
  align-items: center;
  margin-bottom: var(--space-5);
  padding-inline-start: var(--space-3);
  border-inline-start: 3px solid var(--color-amber-400);
}

.terms-page__hero-copy h1 {
  margin-bottom: var(--space-4);
}

.terms-page__intro {
  width: 100%;
  max-width: 40rem;
}

.terms-page__reader-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(1.5rem, 1fr) minmax(0, 8fr);
  align-items: start;
  padding-top: var(--space-8);
}

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

.terms-toc {
  grid-column: 1;
  width: 100%;
  min-width: 0;
  position: sticky;
  top: calc(var(--header-height) + var(--space-5));
}

.terms-toc__toggle {
  display: none;
}

.terms-toc__panel {
  width: 100%;
}

.terms-toc__list {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
  border-inline-start: 1px solid var(--color-border);
}

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

.terms-toc__list a {
  display: block;
  width: 100%;
  min-width: 0;
  padding: var(--space-2) var(--space-3);
  border-inline-start: 3px solid transparent;
  color: var(--color-paper-300);
  font-size: var(--text-sm);
  font-weight: 600;
  line-height: var(--leading-sm);
  text-decoration: none;
  transition: border-color var(--transition-fast), color var(--transition-fast), background-color var(--transition-fast);
}

.terms-toc__list a:hover,
.terms-toc__list a[aria-current="true"] {
  border-inline-start-color: var(--color-amber-400);
  background: rgb(214 168 79 / 6%);
  color: var(--color-paper-100);
}

.terms-document {
  grid-column: 3;
  width: 100%;
  max-width: 45rem;
}

.terms-section {
  width: 100%;
  min-width: 0;
  scroll-margin-top: calc(var(--header-height) + var(--space-6));
}

.terms-section + .terms-section {
  margin-top: var(--space-8);
  padding-top: var(--space-8);
  border-top: 1px solid var(--color-border);
}

.terms-section > h2 {
  margin-bottom: var(--space-5);
}

.terms-section > h3,
.terms-numbered__item > h3,
.terms-divider-block > h3,
.terms-permission > h3 {
  margin-bottom: var(--space-3);
}

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

.terms-numbered__item {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-inline-start: var(--space-7);
}

.terms-numbered__item::before {
  position: absolute;
  inset-block-start: 0.1rem;
  inset-inline-start: 0;
  display: grid;
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  place-items: center;
  border: 1px solid rgb(214 168 79 / 55%);
  border-radius: var(--radius-sm);
  background: rgb(214 168 79 / 8%);
  color: var(--color-amber-400);
  font-family: var(--font-heading);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: 1;
}

.terms-numbered__item:nth-child(1)::before { content: "1"; }
.terms-numbered__item:nth-child(2)::before { content: "2"; }
.terms-numbered__item:nth-child(3)::before { content: "3"; }

.terms-callout--acceptance,
.terms-callout--important {
  width: 100%;
  max-width: 40rem;
  margin: 0;
}

.terms-info-panel,
.terms-danger-panel,
.terms-external-panel,
.terms-contact-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding: var(--space-5);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-slate-800);
}

.terms-info-panel {
  border-inline-start: 3px solid var(--color-mist-400);
}

.terms-danger-panel {
  border-inline-start: 3px solid var(--color-danger-400);
}

.terms-external-panel {
  border-color: var(--color-border);
}

.terms-contact-panel {
  width: min(100%, 40rem);
  margin-top: var(--space-5);
}

.terms-info-panel__label,
.terms-danger-panel__label,
.terms-external-panel__label,
.terms-contact-panel__label {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-xs);
  text-transform: uppercase;
}

.terms-danger-panel__label {
  color: var(--color-danger-400);
}

.terms-info-panel > h3,
.terms-danger-panel > h3,
.terms-external-panel > h3,
.terms-contact-panel > h3 {
  margin: 0;
}

.terms-info-panel > p,
.terms-danger-panel > p,
.terms-external-panel > p,
.terms-contact-panel > p {
  margin: 0;
}

.terms-note {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: flex-start;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
  padding: var(--space-4);
  border-inline-start: 3px solid var(--color-mist-400);
  background: rgb(121 169 160 / 6%);
}

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

.terms-note p {
  margin: 0;
  color: var(--color-paper-300);
  font-size: var(--text-sm);
  line-height: var(--leading-sm);
}

.terms-marker-list {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
}

.terms-marker-list li {
  position: relative;
  width: 100%;
  min-width: 0;
  padding-inline-start: var(--space-4);
  color: var(--color-paper-300);
}

.terms-marker-list li::before {
  position: absolute;
  inset-block-start: 0.7em;
  inset-inline-start: 0;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--color-danger-400);
  content: "";
}

.terms-divider-block {
  width: 100%;
  min-width: 0;
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-border);
}

.terms-permission {
  width: 100%;
  max-width: 35rem;
  min-width: 0;
  margin-top: var(--space-6);
}

.terms-contact-panel__email {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  min-width: 0;
  padding: var(--space-2) 0;
  color: var(--color-amber-400);
  font-weight: 700;
  overflow-wrap: anywhere;
}

@media (max-width: 56.1875rem) {
  .terms-page__reader-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
    padding-top: var(--space-6);
  }

  .terms-toc {
    grid-column: 1;
    position: static;
  }

  .terms-toc__toggle {
    display: flex;
    width: 100%;
    min-width: 0;
    justify-content: space-between;
    border-color: var(--color-border);
    background: var(--color-slate-800);
    color: var(--color-paper-100);
  }

  .terms-toc__chevron {
    width: 0.65rem;
    height: 0.65rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-0.15rem);
    transition: transform var(--transition-fast);
  }

  .terms-toc__toggle[aria-expanded="true"] .terms-toc__chevron {
    transform: rotate(225deg) translateY(-0.15rem);
  }

  .terms-toc__panel {
    margin-top: var(--space-2);
  }

  .terms-toc__panel[hidden] {
    display: none;
  }

  .terms-toc__list {
    padding-block: var(--space-2);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: var(--color-ink-900);
  }

  .terms-document {
    grid-column: 1;
    max-width: 45rem;
  }
}

@media (max-width: 47.99rem) {
  .terms-page {
    padding-bottom: var(--space-7);
  }

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

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

  .terms-page__hero-copy {
    grid-column: 1;
    max-width: 100%;
  }

  .terms-page__hero-copy h1 {
    font-size: var(--text-2xl);
    line-height: var(--leading-display);
  }

  .terms-page__intro {
    max-width: 100%;
  }

  .terms-page__effective {
    flex-wrap: wrap;
  }

  .terms-section + .terms-section {
    margin-top: var(--space-6);
    padding-top: var(--space-6);
  }

  .terms-section > h2 {
    font-size: 1.5rem;
    line-height: 1.2;
  }

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

  .terms-numbered__item {
    padding-inline-start: var(--space-6);
  }

  .terms-numbered__item::before {
    width: 1.6rem;
    min-width: 1.6rem;
    height: 1.6rem;
    font-size: var(--text-md);
  }

  .terms-info-panel,
  .terms-danger-panel,
  .terms-external-panel,
  .terms-contact-panel {
    padding: var(--space-4);
  }

  .terms-contact-panel {
    width: 100%;
  }

  .terms-note {
    flex-direction: column;
    gap: var(--space-2);
  }

  .terms-marker-list {
    gap: var(--space-2);
  }
}
