/* Shared styles for the legal pages. Same tokens as the home page. */
:root {
  --bg: #ffffff; --text: #0a0a0a; --muted: #6b6b6b; --border-soft: rgba(0, 0, 0, 0.08);
  --button-bg: #0a0a0a; --button-text: #ffffff; --focus: #0a0a0a;
  --sans: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --serif: "Source Serif 4", Georgia, "Times New Roman", serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg: #0a0a0a; --text: #f5f5f5; --muted: #a3a3a3; --border-soft: rgba(255, 255, 255, 0.1); --button-bg: #f5f5f5; --button-text: #0a0a0a; --focus: #f5f5f5; color-scheme: dark; }
}
:root[data-theme="dark"] { --bg: #0a0a0a; --text: #f5f5f5; --muted: #a3a3a3; --border-soft: rgba(255, 255, 255, 0.1); --button-bg: #f5f5f5; --button-text: #0a0a0a; --focus: #f5f5f5; color-scheme: dark; }
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { background: var(--bg); color: var(--text); font-family: var(--sans); font-size: 17px; line-height: 1.6; letter-spacing: -0.01em; }
a { color: var(--text); text-decoration: underline; text-underline-offset: 3px; }
a:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
.lnav { max-width: 1200px; margin: 0 auto; padding: 19px 36px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.logo { display: inline-flex; align-items: baseline; gap: 8px; text-decoration: none; }
.logo .mark { font-family: var(--serif); font-style: italic; font-weight: 600; font-size: 30px; letter-spacing: -0.08em; line-height: 1; }
.logo .sub { font-size: 14px; font-weight: 600; letter-spacing: -0.02em; color: var(--muted); }
.back { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border-radius: 999px; background: var(--button-bg); color: var(--button-text); font-size: 14px; font-weight: 500; letter-spacing: -0.02em; text-decoration: none; }
main.legal { max-width: 720px; margin: 0 auto; padding: 56px 36px 72px; }
main.legal h1 { margin: 0 0 12px; font-size: clamp(38px, 6vw, 56px); line-height: 1.04; letter-spacing: -0.055em; font-weight: 600; text-wrap: balance; }
main.legal .meta { margin: 0 0 40px; color: var(--muted); font-size: 15px; }
main.legal h2 { margin: 40px 0 8px; font-size: 24px; line-height: 1.2; letter-spacing: -0.04em; font-weight: 600; }
main.legal p, main.legal li { max-width: 62ch; }
main.legal p { margin: 0 0 16px; }
main.legal ul { margin: 0 0 16px; padding-left: 22px; }
main.legal li { margin: 0 0 8px; }
main.legal .lead { font-size: 20px; line-height: 1.5; }
footer.site { max-width: 1200px; margin: 0 auto; padding: 36px 36px 56px; border-top: 1px solid var(--border-soft); color: var(--muted); font-size: 14px; }
footer.site p { margin: 0 0 10px; max-width: 74ch; }
footer.site strong { color: var(--text); }
.legal-links { display: flex; flex-wrap: wrap; gap: 6px 20px; }
@media (max-width: 809px) {
  .lnav { padding: 14px 20px; }
  .logo .mark { font-size: 24px; }
  .logo .sub { font-size: 12px; }
  main.legal { padding: 40px 20px 56px; }
  footer.site { padding-inline: 20px; }
}
@media (prefers-contrast: more) { :root { --border-soft: rgba(128, 128, 128, 0.7); --muted: #404040; } }
