:root {
  color-scheme: light;
  --background: #ffffff;
  --surface: #f7f9fc;
  --text: #172033;
  --muted: #526078;
  --link: #075fc7;
  --border: #d6deea;
  --focus: #f59e0b;
}
* { box-sizing: border-box; }
html { font-size: 16px; }
body {
  margin: 0;
  background: var(--background);
  color: var(--text);
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.65;
}
.legal-page {
  width: min(76ch, calc(100% - 2rem));
  margin: 0 auto;
  padding: 2rem 0 3rem;
  overflow-wrap: anywhere;
}
h1, h2 { line-height: 1.25; color: var(--text); }
h1 { margin: 1.75rem 0 1rem; font-size: clamp(1.8rem, 5vw, 2.45rem); }
h2 { margin: 2rem 0 0.75rem; font-size: clamp(1.25rem, 3vw, 1.55rem); }
p { margin: 0 0 1rem; }
a { color: var(--link); text-decoration: underline; text-underline-offset: 0.16em; }
a:hover { text-decoration-thickness: 0.14em; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 2px; }
table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; }
th, td { border: 1px solid var(--border); padding: 0.65rem; text-align: left; vertical-align: top; }
th { background: var(--surface); }
.skip-link { position: absolute; left: 0.75rem; top: -5rem; padding: 0.65rem 0.9rem; background: var(--text); color: #ffffff; z-index: 100; }
.skip-link:focus { top: 0.75rem; }
.site-footer { width: min(76ch, calc(100% - 2rem)); margin: 0 auto; padding: 1rem 0 2rem; border-top: 1px solid var(--border); color: var(--muted); font-size: 0.9rem; }
@media (max-width: 42rem) {
  .legal-page { padding-top: 1.25rem; }
  table { display: block; overflow-x: auto; }
}
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
