:root {
  --legal-paper: #f7eed7;
  --legal-ink: #2a2217;
  --legal-muted: #5d4f3a;
  --legal-link: #71420b;
  --legal-line: rgba(42, 34, 23, .18);
  --legal-surface: #eee2c6;
  --legal-night: #0e1814;
  --legal-display: "IM Fell English SC", Georgia, serif;
  --legal-body: "Alegreya Sans", system-ui, sans-serif;
  --legal-xs: clamp(.8rem, .77rem + .15vw, .875rem);
  --legal-sm: clamp(.9rem, .86rem + .2vw, 1rem);
  --legal-base: clamp(1rem, .96rem + .2vw, 1.125rem);
  --legal-title: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
  --legal-space-1: .25rem;
  --legal-space-2: .5rem;
  --legal-space-3: .75rem;
  --legal-space-4: 1rem;
  --legal-space-6: 1.5rem;
  --legal-space-8: 2rem;
}
html[data-legal-theme="dark"] {
  --legal-paper: #19251f;
  --legal-ink: #f3e9d2;
  --legal-muted: #c4bca8;
  --legal-link: #efc36e;
  --legal-line: rgba(243, 233, 210, .2);
  --legal-surface: #26352c;
}
@media (prefers-color-scheme: dark) {
  html:not([data-legal-theme]) {
    --legal-paper: #19251f;
    --legal-ink: #f3e9d2;
    --legal-muted: #c4bca8;
    --legal-link: #efc36e;
    --legal-line: rgba(243, 233, 210, .2);
    --legal-surface: #26352c;
  }
}
.legal-page *, .legal-page *::before, .legal-page *::after { box-sizing: border-box; }
.legal-page { margin: 0; background: var(--legal-night); color: var(--legal-ink); font-family: var(--legal-body); font-size: var(--legal-base); line-height: 1.6; }
.legal-page main { max-width: 760px; margin: var(--legal-space-6) auto; padding: var(--legal-space-8) var(--legal-space-6); background: var(--legal-paper); border-radius: 10px; box-shadow: 0 10px 40px rgba(0, 0, 0, .35); }
.legal-page h1 { font-family: var(--legal-display); font-weight: 400; font-size: var(--legal-title); line-height: 1.15; margin: var(--legal-space-3) 0 var(--legal-space-2); }
.legal-page h2 { font-family: var(--legal-body); font-size: var(--legal-base); font-weight: 800; margin: var(--legal-space-8) 0 var(--legal-space-2); }
.legal-page p, .legal-page li { margin: 0 0 var(--legal-space-3); overflow-wrap: anywhere; }
.legal-page ul { padding-left: var(--legal-space-6); }
.legal-page a { color: var(--legal-link); }
.legal-page .kick { font-size: var(--legal-xs); font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: var(--legal-muted); }
.legal-page .back { display: inline-flex; align-items: center; min-height: 44px; font-weight: 700; text-decoration: none; }
.legal-page .crier { font-size: var(--legal-sm); color: var(--legal-muted); background: var(--legal-surface); padding: var(--legal-space-4); border-radius: 6px; }
.legal-page .note { font-size: var(--legal-sm); color: var(--legal-muted); border-top: 1px solid var(--legal-line); padding-top: var(--legal-space-4); margin-top: var(--legal-space-8); }
.legal-toolbar { display: flex; align-items: center; justify-content: space-between; gap: var(--legal-space-3); }
.legal-theme { font: inherit; font-size: var(--legal-sm); color: var(--legal-ink); background: var(--legal-surface); border: 1px solid var(--legal-line); border-radius: 6px; min-height: 44px; padding: var(--legal-space-2) var(--legal-space-3); cursor: pointer; }
.legal-nav { display: flex; flex-wrap: wrap; gap: var(--legal-space-1) var(--legal-space-2); padding: var(--legal-space-3) 0; border-bottom: 1px solid var(--legal-line); }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: var(--legal-space-2) var(--legal-space-3); font: 700 var(--legal-sm)/1.3 var(--legal-body); color: var(--legal-link); border-radius: 6px; }
.legal-nav a[aria-current="page"] { background: var(--legal-surface); text-decoration: none; }
/* Sponsor page retains its existing light rate-card design. */
body:not(.legal-page) .legal-nav {
  --legal-link: #71420b;
  --legal-line: rgba(42, 34, 23, .18);
  --legal-surface: #eee2c6;
}
.legal-page a:hover, .legal-nav a:hover { text-decoration-thickness: 2px; }
.legal-page a:active, .legal-theme:active { opacity: .8; }
.legal-page :focus-visible, .legal-nav a:focus-visible { outline: 3px solid var(--legal-link); outline-offset: 3px; }
.legal-page [id] { scroll-margin-top: var(--legal-space-4); }
.legal-skip { position: absolute; left: -10000px; }
.legal-skip:focus { position: fixed; left: var(--legal-space-4); top: var(--legal-space-4); z-index: 10; background: var(--legal-paper); padding: var(--legal-space-3); }
.legal-page .legal-directory { list-style: none; padding: 0; }
.legal-directory li { padding: var(--legal-space-3) 0; border-bottom: 1px solid var(--legal-line); }
.legal-directory a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 800; }
@media (max-width: 780px) {
  .legal-page main { margin: 0; border-radius: 0; min-height: 100dvh; padding: var(--legal-space-6) var(--legal-space-4); }
}
@media print {
  .legal-page { background: white; color: black; }
  .legal-page main { box-shadow: none; margin: 0; max-width: none; background: white; color: black; }
  .legal-toolbar, .legal-nav, .legal-skip { display: none; }
}
