:root {
  --ink: #191b23;
  --ink-2: #454854;
  --paper: #fbfbf9;
  --card: #ffffff;
  --hairline: #e7e7e2;
  --accent: #4f46e5;
  --accent-dark: #3f3ac4;
  --accent-soft: #eceafd;
}
* { box-sizing: border-box; }
body.legal {
  margin: 0; background: var(--paper); color: var(--ink);
  font-family: 'Inter', -apple-system, 'Segoe UI', Arial, sans-serif;
  font-size: 16px; line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
.legal-top {
  max-width: 780px; margin: 0 auto; padding: 28px 24px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.legal-top .logo-lockup { display: inline-flex; align-items: center; gap: .45rem;
  text-decoration: none; color: var(--ink); }
.legal-top .logo-mark { width: 30px; height: 30px; }
.legal-top .logo-word { font-weight: 800; font-size: 1.28rem; letter-spacing: -.02em; }
.backlink { color: var(--ink-2); text-decoration: none; font-size: .95rem; font-weight: 500; }
.backlink:hover { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }

.legal-main { max-width: 780px; margin: 0 auto; padding: 36px 24px 64px; }
.legal-main .eyebrow { font-size: .78rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: var(--accent); margin: 0 0 10px; }
.legal-main h1 {
  font-family: 'Instrument Serif', Georgia, serif; font-weight: 400;
  font-size: 2.6rem; line-height: 1.1; margin: 0 0 6px; letter-spacing: -0.01em;
}
.updated { color: var(--ink-2); font-size: .9rem; margin: 0 0 30px; }
.legal-main h2 {
  font-size: 1.18rem; font-weight: 700; letter-spacing: -.01em;
  margin: 34px 0 10px; padding-top: 18px; border-top: 1px solid var(--hairline);
}
.legal-main h3 { font-size: 1rem; font-weight: 700; margin: 22px 0 6px; }
.legal-main p, .legal-main li { color: var(--ink); }
.legal-main ul { margin: 8px 0 14px; padding-left: 22px; }
.legal-main li { margin: 5px 0; }
.legal-main a { color: var(--accent-dark); }
.legal-main strong { font-weight: 700; }
.callout {
  background: var(--accent-soft); border-radius: 12px; padding: 14px 18px;
  margin: 18px 0; font-size: .95rem;
}
.legal-foot {
  max-width: 780px; margin: 0 auto; padding: 18px 24px 40px;
  color: var(--ink-2); font-size: .85rem;
  border-top: 1px solid var(--hairline);
}
.legal-foot a { color: var(--ink-2); }
@media (max-width: 560px) { .legal-main h1 { font-size: 2rem; } }