/* Legal pages: same palette and type as the landing page, tuned for long-form reading. */
/* Header and footer participate in normal flow here (the landing page fixes them over a
   100vh hero) so long-form content is never covered and the page scrolls to fit. */
body { display: flex; flex-direction: column; min-height: 100vh; }
.site-header { position: sticky; }
.site-footer { position: static; margin-top: auto; }
.legal-wrap { width: 100%; max-width: 46rem; margin: 0 auto; padding: 2.5rem 1.5rem 4rem; position: relative; z-index: 2; }
.legal-wrap h1 { font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 600; letter-spacing: -0.02em; margin: 0 0 0.4rem; }
.legal-updated { font-family: var(--mono); font-size: 0.8rem; color: var(--muted-dim);
  text-transform: uppercase; letter-spacing: 0.08em; margin: 0 0 2.5rem; }
.legal-wrap h2 { font-size: 1.15rem; font-weight: 600; margin: 2.75rem 0 0.75rem;
  padding-top: 1.5rem; border-top: 1px solid oklch(0.75 0.22 145 / 14%); }
.legal-wrap h2:first-of-type { border-top: 0; padding-top: 0; }
.legal-wrap p, .legal-wrap li { color: var(--muted); line-height: 1.75; font-size: 0.97rem; }
.legal-wrap li { margin-bottom: 0.4rem; }
.legal-wrap strong { color: var(--fg); font-weight: 500; }
.legal-wrap a { color: var(--green); text-decoration: none; border-bottom: 1px solid oklch(0.75 0.22 145 / 35%); }
.legal-wrap a:hover { border-bottom-color: var(--green); }
.legal-key { font-family: var(--mono); font-size: 0.9rem; background: rgba(8, 12, 16, 0.55);
  border: 1px solid oklch(0.75 0.22 145 / 18%); border-radius: 10px; padding: 1rem 1.25rem; margin: 1.25rem 0; }
.legal-key p { margin: 0.35rem 0; color: var(--fg); }
.legal-back { display: inline-block; font-family: var(--mono); font-size: 0.82rem;
  color: var(--muted-dim); margin-bottom: 2rem; border: 0; }
.legal-back:hover { color: var(--green); }
@media (prefers-reduced-motion: reduce) { #matrix-rain { display: none; } }
