/* Legal reader: typography and palette follow the existing reading tokens. */
.terms-page { max-width: 48rem; margin-inline: auto; padding-block: var(--space-5); scroll-margin-top: calc(var(--space-8) + var(--space-5)); }
.terms-page h1 { font-size: var(--text-3xl); }
.terms-header { margin-bottom: var(--space-6); }
.terms-meta { color: var(--ink-2); font-size: var(--text-sm); }
.terms-draft { padding: var(--space-4); background: var(--wash); border: 1px solid var(--cobalt); border-radius: var(--radius-md); font-weight: var(--weight-heading); }
.terms-toc { margin-bottom: var(--space-7); padding: var(--space-4); background: var(--sheet); border: 1px solid var(--line); border-radius: var(--radius-md); }
.terms-toc summary { min-height: 44px; display: list-item; align-content: center; cursor: pointer; font-weight: var(--weight-heading); }
.terms-toc ol { list-style: none; padding: 0; margin: var(--space-2) 0 0; }
.terms-toc a { display: flex; align-items: center; min-height: 44px; padding-block: var(--space-2); }
.terms-body { font-size: var(--reading-size); line-height: var(--reading-line-height); }
.terms-article { margin-block: var(--space-7); scroll-margin-top: calc(var(--space-8) + var(--space-5)); }
.terms-article h2 { margin: 0 0 var(--space-5); font-size: var(--text-xl); }
.terms-article ol, .terms-article ul { padding-left: 1.75em; }
.terms-article > ol { margin: 0; }
.terms-article li + li { margin-top: var(--space-4); }
.terms-article li > ul { margin-block: var(--space-4); list-style-type: disc; }
.terms-article li > ul > li + li { margin-top: var(--space-2); }
.terms-footer { border-top: 1px solid var(--line); padding-top: var(--space-5); }
.terms-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-5); }
.terms-actions > a { min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) {
  .terms-page { padding-block: var(--space-7); }
  .terms-toc { padding: var(--space-5); }
}
@media print {
  @page { margin: 18mm; }
  html { color-scheme: light; }
  body { background: none; color: initial; }
  .member-top, .member-tabs, .terms-toc, [data-terms-print], .terms-actions { display: none !important; }
  main, .terms-page { max-width: none; margin: 0; padding: 0; overflow: visible; }
  .terms-page, .terms-page a, .terms-meta { color: inherit; }
  .terms-draft { background: none; border-color: currentColor; }
  .terms-body { font-size: 11pt; line-height: 1.7; }
  .terms-article { margin-block: var(--space-5); }
  .terms-article h2 { break-after: avoid; }
  .terms-article p, .terms-article li { orphans: 3; widows: 3; }
  .terms-footer { border-color: currentColor; }
}
