/* ───────────────────────────────────────────────────────────
   FlipR — Legal pages (Privacy, Terms)
   Inherits landing.css tokens (black · mint-green · Archivo/Mono).
   ─────────────────────────────────────────────────────────── */

.legal-head { position:relative; overflow:hidden; padding:clamp(2.4rem,5vw,3.8rem) 0 clamp(1.2rem,2.5vw,2rem); }
.legal-head .eyebrow { margin-bottom:.9rem; }
.legal-title { font-size:clamp(2.4rem,6vw,4.2rem); font-weight:900; line-height:.92; letter-spacing:-.04em; }
.legal-title .green { color:var(--green); }
.legal-updated {
  margin-top:1rem; font-family:"IBM Plex Mono", monospace; font-size:.72rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-mute);
  display:inline-flex; align-items:center; gap:.5rem;
}
.legal-updated .dot { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); }

.legal-body { width:min(820px, calc(100% - 44px)); margin:0 auto; padding-bottom:clamp(3rem,6vw,6rem); }

.legal-card {
  border:1px solid var(--line); border-radius:18px; background:var(--panel);
  padding:clamp(1.6rem,3.5vw,2.8rem);
}

.legal-toc {
  display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:2rem;
  padding-bottom:1.6rem; border-bottom:1px solid var(--line);
}
.legal-toc a {
  font-family:"IBM Plex Mono", monospace; font-size:.64rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-soft); border:1px solid var(--line-2); border-radius:999px; padding:.4rem .8rem;
  transition:border-color .15s, color .15s;
}
.legal-toc a:hover { border-color:var(--green); color:var(--green); }

.legal-body section { scroll-margin-top:90px; }
.legal-body section + section { margin-top:2.2rem; padding-top:2.2rem; border-top:1px solid var(--line); }

.legal-body h2 {
  display:flex; align-items:baseline; gap:.7rem;
  font-size:clamp(1.3rem,2.6vw,1.8rem); font-weight:900; letter-spacing:-.02em; line-height:1.1;
}
.legal-body h2 .num {
  font-family:"IBM Plex Mono", monospace; font-size:.8rem; font-weight:600; letter-spacing:.1em;
  color:var(--green); flex-shrink:0;
}
.legal-body h3 { margin-top:1.4rem; font-size:1.02rem; font-weight:800; letter-spacing:-.01em; color:var(--ink); }

.legal-body p { margin-top:.9rem; color:var(--ink-soft); font-size:1rem; line-height:1.7; font-weight:500; }
.legal-body p strong, .legal-body li strong { color:var(--ink); font-weight:700; }
.legal-body a { color:var(--green); text-decoration:none; border-bottom:1px solid rgba(56,236,160,.35); }
.legal-body a:hover { border-bottom-color:var(--green); }

.legal-body ul, .legal-body ol { margin:.9rem 0 0; padding-left:0; list-style:none; display:grid; gap:.6rem; }
.legal-body li { position:relative; padding-left:1.6rem; color:var(--ink-soft); font-size:1rem; line-height:1.65; font-weight:500; }
.legal-body ul li::before { content:""; position:absolute; left:.2rem; top:.62em; width:6px; height:6px; border-radius:50%; background:var(--green); }
.legal-body ol { counter-reset:li; }
.legal-body ol li { counter-increment:li; }
.legal-body ol li::before {
  content:counter(li); position:absolute; left:0; top:0;
  font-family:"IBM Plex Mono", monospace; font-size:.74rem; color:var(--green); font-weight:600;
}

.legal-callout {
  margin-top:1.2rem; border:1px dashed var(--dash); border-radius:12px;
  background:radial-gradient(120% 100% at 0% 0%, rgba(56,236,160,.05), transparent 60%);
  padding:1.1rem 1.2rem;
}
.legal-callout p { margin-top:0; }
.legal-callout .tag {
  font-family:"IBM Plex Mono", monospace; font-size:.6rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--green); display:block; margin-bottom:.5rem;
}

.legal-back {
  display:inline-flex; align-items:center; gap:.4rem; margin-bottom:1.4rem;
  font-family:"IBM Plex Mono", monospace; font-size:.7rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-mid);
}
.legal-back:hover { color:var(--green); }
