/* Legal pages (CH-090): privacy, terms, disclosures. Same look as join.html. */
@font-face { font-family: Geist; src: url(/join-assets/geist-regular.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: Geist; src: url(/join-assets/geist-semibold.woff2) format("woff2"); font-weight: 600; font-display: swap; }
:root {
  --bg1: #f5f2ed; --bg2: #eaf2ed; --ink: #10261f; --ink2: #5e6b66; --card: #ffffff;
  --line: #e6e7e3; --mint: #7fd1b0; --mintTint: #e4f1eb; --leaf: #1f7a5c; --gold: #f1dfb4; --goldInk: #7a570f;
}
@media (prefers-color-scheme: dark) {
  :root { --bg1: #0b1a15; --bg2: #12261f; --ink: #eef3ef; --ink2: #a7bdb4; --card: #12261f;
    --line: #26423a; --mintTint: #1a3229; --leaf: #7fd1b0; --gold: #3a2f17; --goldInk: #e5b95c; }
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { animation: none !important; } }
body {
  margin: 0; font-family: Geist, "Helvetica Neue", Arial, sans-serif; color: var(--ink); line-height: 1.6;
  background: radial-gradient(120% 60% at 50% 0%, var(--bg2), var(--bg1) 55%) fixed;
  padding: max(24px, env(safe-area-inset-top)) 16px 56px;
}
.wrap { max-width: 720px; margin: 0 auto; }
header { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
header img { width: 44px; height: 44px; filter: drop-shadow(0 8px 12px rgba(16,38,31,.2)); }
header a { color: inherit; text-decoration: none; font-weight: 600; font-size: 17px; letter-spacing: -.01em; }
nav.tabs { display: flex; gap: 6px; flex-wrap: wrap; margin: 0 0 18px; }
nav.tabs a { padding: 10px 16px; min-height: 44px; display: inline-flex; align-items: center; border-radius: 999px;
  color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 600; background: var(--card); box-shadow: 0 0 0 1px var(--line); }
nav.tabs a[aria-current="page"] { background: var(--ink); color: var(--bg1); box-shadow: none; }
.card { background: var(--card); border-radius: 26px; padding: 28px 22px; box-shadow: 0 0 0 1px var(--line), 0 24px 44px -28px rgba(16,38,31,.45);
  animation: in .6s cubic-bezier(.2,.8,.2,1) both; }
@keyframes in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
h1 { margin: 0 0 4px; font-size: clamp(28px, 6vw, 36px); line-height: 1.1; letter-spacing: -.03em; font-weight: 600; }
.updated { margin: 0 0 18px; color: var(--ink2); font-size: 14px; }
.draft { background: var(--gold); color: var(--goldInk); border-radius: 14px; padding: 12px 14px; font-size: 14px; margin: 0 0 20px; }
.summary { background: var(--mintTint); border-radius: 18px; padding: 16px 18px; margin: 0 0 24px; }
.summary h2 { margin-top: 0; }
.summary ul { margin: 0; padding-left: 20px; }
h2 { font-size: 20px; letter-spacing: -.01em; margin: 30px 0 8px; font-weight: 600; scroll-margin-top: 16px; }
h3 { font-size: 16px; margin: 20px 0 6px; font-weight: 600; }
p, li { font-size: 16px; }
a { color: var(--leaf); }
table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 8px 0 4px; }
th, td { text-align: left; vertical-align: top; padding: 10px 8px; border-bottom: 1px solid var(--line); }
th { font-weight: 600; }
.table-scroll { overflow-x: auto; }
footer { color: var(--ink2); font-size: 14px; margin-top: 22px; text-align: center; }
