/* Text pages: /about, /privacy, /accessibility, 404. One readable column. */
.prose-hero { padding-top: 40px; padding-bottom: 36px; display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.prose-hero h1 { font-family: var(--font-display); font-weight: 700; font-size: 44px; line-height: 1.08; letter-spacing: -0.02em; text-wrap: balance; }
.prose-updated { font-size: 14px; color: var(--text-muted); }
.prose { max-width: 760px; padding-top: 40px; padding-bottom: 64px; display: flex; flex-direction: column; gap: 36px; }
.prose section { display: flex; flex-direction: column; gap: 12px; }
.prose h2 { font-family: var(--font-display); font-weight: 700; font-size: 26px; color: var(--ink); text-wrap: balance; }
.prose p, .prose li { font-size: 17px; line-height: 1.65; color: var(--text); max-width: 68ch; }
.prose ul { margin: 0; padding-left: 1.2em; display: flex; flex-direction: column; gap: 10px; }
.prose li::marker { color: var(--brand); }
.prose a:not(.button) { color: var(--link); }
.prose strong { color: var(--ink); }
.prose-links { list-style: none; padding: 0 !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px !important; }
@media (max-width: 640px) {
  .prose-hero { padding-top: 24px; padding-bottom: 24px; }
  .prose-hero h1 { font-size: 32px; }
  .prose { padding-top: 28px; gap: 28px; }
}

/* Short pages (404): keep the footer at the bottom of the window. */
body { min-height: 100vh; display: flex; flex-direction: column; }
body > main { flex: 1 0 auto; }
