:root {
  --red: #8b1a1a;
  --cream: #fdf6ec;
  --ink: #2c2c2c;
  --muted: #5a5a5a;
  --paper: #fffef9;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: Arial, sans-serif; line-height: 1.7; }
a { color: var(--red); }
a:focus-visible, button:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
.legal-header { background: var(--paper); border-bottom: 1px solid rgba(0,0,0,.1); padding: 1rem 5vw; }
.legal-header-inner { max-width: 900px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.legal-brand { color: var(--red); font-family: Georgia, serif; font-size: 1.2rem; font-weight: 700; text-decoration: none; }
.legal-nav { display: flex; gap: .5rem; flex-wrap: wrap; }
.legal-nav a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: .35rem .65rem; border: 1px solid rgba(0,0,0,.16); border-radius: 999px; text-decoration: none; }
main { max-width: 900px; margin: 0 auto; padding: 3rem 5vw 4rem; }
h1, h2 { font-family: Georgia, serif; line-height: 1.25; }
h1 { font-size: clamp(2rem, 6vw, 3rem); margin: 0 0 1rem; }
h2 { color: var(--red); margin-top: 2.4rem; }
.legal-intro { color: var(--muted); font-size: 1.05rem; }
.legal-warning { margin: 2rem 0; padding: 1rem 1.2rem; border-left: 5px solid #b26a00; background: #fff4d8; }
.legal-section { scroll-margin-top: 1rem; padding-top: .25rem; }
.legal-section + .legal-section { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid rgba(0,0,0,.14); }
.legal-list { padding-left: 1.25rem; }
.legal-footer { background: var(--ink); color: rgba(255,255,255,.76); text-align: center; padding: 2rem 5vw; }
.legal-footer a { color: #fff; min-height: 44px; display: inline-flex; align-items: center; padding: .25rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
