  html { scroll-behavior: smooth; }
  body { background: var(--surface-page); }
  a { color: var(--pf-violet); }
  a:hover { color: var(--pf-magenta); }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--pf-violet); outline-offset: 3px; border-radius: 4px; }
  /* Legal page typography */
  .legal h2 { font-family:var(--font-display); font-size:clamp(1.35rem, 1.1rem + 0.8vw, 1.75rem); letter-spacing:var(--ls-display); line-height:1.2; color:var(--text-strong); margin:0 0 var(--space-4); text-wrap:balance; }
  .legal h3 { font-family:var(--font-display); font-size:clamp(1.1rem, 1rem + 0.4vw, 1.3rem); letter-spacing:var(--ls-display); line-height:1.25; color:var(--text-strong); margin:clamp(1.5rem, 3vw, 2rem) 0 var(--space-2); }
  .legal p { margin:0; text-wrap:pretty; }
  .legal p + p { margin-top:var(--space-4); }
  .legal ul, .legal ol { margin:var(--space-4) 0 0; padding-left:1.4em; display:flex; flex-direction:column; gap:var(--space-2); }
  .legal a { color:var(--text-body); text-decoration:underline; text-underline-offset:0.18em; text-decoration-thickness:1px; overflow-wrap:anywhere; }
  .legal a:hover { color:var(--pf-magenta); }
  .legal strong { font-weight:700; color:var(--text-strong); }
  .legal-block + .legal-block { margin-top:clamp(2.25rem, 4.5vw, 3.25rem); }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
