/* Document mode: quiet legal and structured-information reading surfaces. */
.document-page {
  min-width: 0;
  background: var(--surface-0);
  color: var(--ink-700);
  overflow-wrap: anywhere;
}

.document-page .document-hero {
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
  background: var(--surface-0);
}

.document-page .document-hero .site-page-hero__copy {
  max-width: 48.5rem;
}

.document-page .document-hero__meta {
  margin: 0;
  color: var(--ink-500);
  font-family: var(--font-family-heading);
  font-size: var(--text-sm);
  line-height: 1.6;
}

.document-page .document-body {
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
}

.document-page .document-prose {
  min-width: 0;
  max-width: 48.5rem;
}

.document-page .document-prose > :first-child {
  margin-top: 0;
}

.document-page .document-prose > :last-child {
  margin-bottom: 0;
}

.document-page .document-prose h2 {
  margin: var(--space-12) 0 var(--space-5);
  color: var(--ink-900);
  font-family: var(--font-family-heading);
  font-size: clamp(1.5rem, 2.4vw, 1.875rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.015em;
  text-wrap: balance;
}

.document-page .document-prose h2:first-child {
  margin-top: 0;
}

.document-page .document-prose h2:not(:first-child) {
  padding-top: var(--space-8);
  border-top: 1px solid var(--edge);
}

.document-page .document-prose h3 {
  margin: var(--space-8) 0 var(--space-3);
  color: var(--ink-900);
  font-family: var(--font-family-heading);
  font-size: clamp(1.125rem, 1.8vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  text-wrap: pretty;
}

.document-page .document-prose p,
.document-page .document-prose li,
.document-page .document-prose dd {
  color: var(--ink-700);
  font-size: var(--text-body-md);
  line-height: 1.78;
}

.document-page .document-prose p {
  margin: 0 0 var(--space-5);
}

.document-page .document-prose ul,
.document-page .document-prose ol {
  margin: 0 0 var(--space-6);
  padding-inline-start: 1.5rem;
}

.document-page .document-prose ul {
  list-style: disc;
}

.document-page .document-prose ol {
  list-style: decimal;
}

.document-page .document-prose li {
  margin-block: var(--space-2);
  padding-inline-start: var(--space-1);
}

.document-page .document-prose li::marker {
  color: currentColor;
}

.document-page .document-prose li > ul,
.document-page .document-prose li > ol {
  margin-block: var(--space-2) 0;
}

.document-page .document-prose strong {
  color: var(--ink-900);
  font-weight: 700;
}

.document-page .document-prose a:not(.btn) {
  color: var(--role-definition-text);
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}

.document-page .document-prose a:not(.btn):hover {
  text-decoration-thickness: 0.14em;
}

.document-page .document-prose a:not(.btn):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: var(--space-1);
  border-radius: var(--r-sm);
}

.document-page .document-prose blockquote {
  margin: var(--space-4) 0 0;
  color: var(--ink-700);
}

.document-page .document-prose blockquote > :last-child {
  margin-bottom: 0;
}

@media (max-width: 520px) {
  .document-page .document-hero {
    padding-block: var(--space-12);
  }

  .document-page .document-body {
    padding-block: var(--space-10) var(--space-16);
  }

  .document-page .document-prose h2 {
    margin-top: var(--space-10);
  }

  .document-page .document-prose h2:not(:first-child) {
    padding-top: var(--space-6);
  }

  .document-page .document-prose h3 {
    margin-top: var(--space-6);
  }
}
