  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); }
  .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:0 0 var(--space-2); }
  .legal p { margin:0; }
  .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-block + .legal-block { margin-top:clamp(2rem, 4vw, 2.75rem); }
  @media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } }
