/* Text pages: /privacy and the 404. Mobile first. Tokens only, no nesting, no !important. */

/* Footer stays at the bottom on short pages (the 404) */
.page { display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; }
.page > main { flex: 1 0 auto; }

/* Privacy: one readable column */
.prose { width: 100%; max-width: calc(68ch + 2 * var(--space-4)); margin-inline: auto;
  padding: var(--space-12) var(--space-4) clamp(var(--space-12), 7vw, 96px); }
.prose h1 { font-size: var(--fs-h2); line-height: 1.2; }
.prose h2 { margin: var(--space-10) 0 0; font-size: var(--fs-h3); line-height: 1.3; }
.prose p, .prose ul { margin: var(--space-3) 0 0; }
.prose ul { padding-left: 1.25em; }
.prose li + li { margin-top: var(--space-2); }
.prose a { color: var(--text-primary); text-decoration: underline; overflow-wrap: anywhere; }
.prose a:hover { color: var(--live); }
.prose .updated { margin-top: var(--space-2); font-size: var(--fs-small); color: var(--text-muted); }

/* 404 */
.notfound { width: 100%; max-width: calc(36rem + 2 * var(--space-4)); margin-inline: auto;
  padding: clamp(var(--space-12), 12vh, 128px) var(--space-4) var(--space-12); }
.notfound .sys { margin: 0 0 var(--space-6); font: 500 var(--fs-hud)/1 var(--font-mono); letter-spacing: var(--tracking-wide); color: var(--text-muted); }
.notfound p { margin: var(--space-4) 0 0; color: var(--text-secondary); }
.notfound .notfound__home { margin-top: var(--space-8); }
