/* Legal pages. Deliberately plain: a policy people can actually read.
   Same palette as the rest of TheraBoard so it does not feel bolted on. */
:root {
  --bg:#0d0b09; --surface:#191614; --line:#2c2621;
  --ink:#f7f5f0; --ink2:#b6ada2; --ink3:#8a8076;
  --accent:#c98a52; --accent-soft:#2a1f16;
}
* { box-sizing:border-box; margin:0; padding:0; }
body {
  font-family:Inter,-apple-system,sans-serif; background:var(--bg); color:var(--ink);
  line-height:1.7; padding:0 20px 90px; -webkit-font-smoothing:antialiased;
}
.wrap { max-width:760px; margin:0 auto; }

header.top {
  display:flex; align-items:center; gap:12px; padding:22px 0 0; margin-bottom:44px;
}
.brand {
  font-family:'Dancing Script',cursive; font-size:1.5rem; font-weight:700;
  color:var(--ink); text-decoration:none;
}
.top .sp { flex:1; }
.top a.back { color:var(--ink3); text-decoration:none; font-size:.85rem; }
.top a.back:hover { color:var(--accent); }

.kicker { font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--ink3); }
h1 {
  font-family:Fraunces,Georgia,serif; font-size:2.1rem; font-weight:700;
  letter-spacing:-.03em; margin:6px 0 10px; line-height:1.15;
}
.updated { color:var(--ink3); font-size:.83rem; margin-bottom:30px; }

.lede {
  font-size:1.02rem; color:var(--ink2); border-left:2px solid var(--accent);
  padding:2px 0 2px 18px; margin-bottom:40px;
}

h2 {
  font-family:Fraunces,Georgia,serif; font-size:1.22rem; font-weight:700;
  letter-spacing:-.02em; margin:38px 0 12px; scroll-margin-top:20px;
}
h3 { font-size:.98rem; font-weight:600; margin:22px 0 7px; }
p { margin-bottom:14px; color:var(--ink2); }
p strong, li strong { color:var(--ink); font-weight:600; }
ul, ol { margin:0 0 16px 20px; color:var(--ink2); }
li { margin-bottom:8px; }
a { color:var(--accent); }

table { width:100%; border-collapse:collapse; margin:6px 0 20px; font-size:.9rem; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
th { color:var(--ink); font-weight:600; font-size:.8rem; letter-spacing:.02em; }
td { color:var(--ink2); }

.callout {
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:18px 20px; margin:22px 0;
}
.callout p:last-child { margin-bottom:0; }
.callout.warn { border-color:#5c4326; background:#1d1611; }

.toc { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 20px; margin-bottom:34px; }
.toc ul { margin:0; list-style:none; columns:2; column-gap:26px; }
.toc li { margin-bottom:6px; }
.toc a { text-decoration:none; font-size:.88rem; }
.toc a:hover { text-decoration:underline; }
@media (max-width:560px) { .toc ul { columns:1; } h1 { font-size:1.7rem; } }

footer.legal-foot {
  margin-top:56px; padding-top:22px; border-top:1px solid var(--line);
  display:flex; gap:18px; flex-wrap:wrap; align-items:center;
  color:var(--ink3); font-size:.84rem;
}
footer.legal-foot a { text-decoration:none; }
footer.legal-foot .sp { flex:1; }
