:root {
  --bg:           oklch(97.5% 0.009 78);
  --surface:      #ffffff;
  --surface-warm: oklch(96.5% 0.014 80);
  --fg:           oklch(16% 0.022 62);
  --muted:        oklch(50% 0.018 68);
  --subtle:       oklch(74% 0.016 72);
  --border:       oklch(89% 0.016 78);
  --accent:       oklch(59% 0.168 50);
  --font-serif:  'Playfair Display', 'Iowan Old Style', Georgia, serif;
  --font-sans:   -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --max-w:       760px;
  --px:          clamp(20px, 5vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
body { margin:0; font-family: var(--font-sans); font-size:15px; line-height:1.75; color:var(--fg); background:var(--bg); -webkit-font-smoothing:antialiased; }
.wrap { max-width:var(--max-w); margin:0 auto; padding:24px var(--px) 80px; }
header.legal-head { padding:18px var(--px); border-bottom:1px solid var(--border); background:var(--surface); }
header.legal-head .brand { font-family:var(--font-serif); font-size:17px; font-weight:500; color:var(--fg); text-decoration:none; letter-spacing:-.01em; }
header.legal-head .brand strong { font-weight:600; }
header.legal-head .nav { float:right; font-size:13px; }
header.legal-head .nav a { color:var(--muted); text-decoration:none; margin-left:18px; }
header.legal-head .nav a:hover { color:var(--fg); }
h1 { font-family:var(--font-serif); font-weight:500; font-size:34px; line-height:1.12; letter-spacing:-.02em; margin:32px 0 6px; }
.kicker { font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; }
h2 { font-family:var(--font-serif); font-weight:500; font-size:22px; letter-spacing:-.01em; margin:42px 0 8px; }
h3 { font-family:var(--font-sans); font-weight:600; font-size:15px; letter-spacing:.01em; margin:28px 0 6px; color:var(--fg); }
p, li { color:var(--fg); }
.muted { color:var(--muted); }
.lead { font-size:16px; color:var(--muted); margin:0 0 28px; max-width:560px; }
a { color:var(--fg); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--accent); }
hr { border:none; border-top:1px solid var(--border); margin:42px 0; }
ul, ol { padding-left:22px; }
li { margin:4px 0; }
table { width:100%; border-collapse:collapse; font-size:14px; margin:12px 0 24px; }
table th, table td { text-align:left; padding:10px 8px; border-bottom:1px solid var(--border); vertical-align:top; }
table th { color:var(--muted); font-weight:500; width:34%; }
.todo {
  display:inline-block;
  background:#fff4d6;
  color:#7a5400;
  padding:2px 8px;
  border-radius:4px;
  font-weight:600;
  font-size:0.92em;
  border:1px dashed #d4a72c;
  font-family:var(--font-mono, monospace);
  letter-spacing:0;
}
.todo-block {
  background:#fff4d6;
  border:1px dashed #d4a72c;
  border-radius:8px;
  padding:14px 18px;
  margin:14px 0;
  font-size:14px;
  color:#5a3e00;
}
.todo-block strong { color:#7a5400; }
footer.legal-foot { padding:32px var(--px); border-top:1px solid var(--border); background:var(--surface-warm); font-size:12px; color:var(--muted); text-align:center; }
footer.legal-foot a { color:var(--muted); margin:0 10px; }
.back { display:inline-flex; align-items:center; gap:6px; font-size:13px; color:var(--muted); text-decoration:none; margin-top:32px; }
.back:hover { color:var(--fg); }
