/* Shared styles for TemKeep legal / compliance pages */
:root {
  --brand: #0f766e;
  --brand-700: #115e56;
  --accent: #fbbf24;
  --ink: #0c1f1c;
  --ink-soft: #3f5650;
  --paper: #fbfdfc;
  --line: #e3ede9;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.65;
}
.legal-header { background: #fff; border-bottom: 1px solid var(--line); }
.legal-header .inner {
  max-width: 820px; margin: 0 auto; padding: 16px 24px;
  display: flex; align-items: center; gap: 10px;
}
.legal-header .brand-word {
  font-family: 'Fraunces', Georgia, serif; font-weight: 700;
  font-size: 1.3rem; color: var(--ink); text-decoration: none; letter-spacing: -.3px;
}
.legal-header .brand-word .accent { color: var(--brand); }
.legal-header .home { margin-left: auto; font-size: .9rem; font-weight: 600; color: var(--brand-700); text-decoration: none; }

main.legal { max-width: 820px; margin: 0 auto; padding: 48px 24px 80px; }
.legal h1 { font-family: 'Fraunces', Georgia, serif; font-size: 2.1rem; line-height: 1.15; margin: 0 0 6px; letter-spacing: -.5px; }
.legal .updated { color: var(--ink-soft); font-size: .92rem; margin: 0 0 8px; }
.legal .lede { font-size: 1.08rem; color: var(--ink-soft); margin: 0 0 28px; }
.legal h2 { font-family: 'Fraunces', Georgia, serif; font-size: 1.35rem; margin: 40px 0 10px; }
.legal h3 { font-size: 1.05rem; margin: 24px 0 6px; }
.legal p, .legal li { font-size: 1rem; color: #1c2e2a; }
.legal ul, .legal ol { padding-left: 22px; }
.legal li { margin: 5px 0; }
.legal a { color: var(--brand-700); font-weight: 600; }
.legal table { border-collapse: collapse; width: 100%; margin: 16px 0; font-size: .95rem; }
.legal th, .legal td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; vertical-align: top; }
.legal th { background: #f1f7f5; font-weight: 700; }
.legal .note { background: #f1f7f5; border-left: 3px solid var(--brand); padding: 12px 16px; border-radius: 6px; margin: 20px 0; font-size: .96rem; }
.legal .toc { background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 16px 20px; margin: 0 0 28px; }
.legal .toc strong { display: block; margin-bottom: 6px; font-size: .82rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-soft); }
.legal .toc ol { margin: 0; columns: 2; column-gap: 28px; }
@media (max-width: 560px) { .legal .toc ol { columns: 1; } }

.legal-footer { border-top: 1px solid var(--line); background: #fff; }
.legal-footer .inner {
  max-width: 820px; margin: 0 auto; padding: 22px 24px;
  display: flex; flex-wrap: wrap; gap: 18px; align-items: center; font-size: .9rem;
}
.legal-footer a { color: var(--ink-soft); text-decoration: none; font-weight: 600; }
.legal-footer a:hover { color: var(--brand); }
.legal-footer .cr { margin-left: auto; color: var(--ink-soft); font-weight: 400; }
