/* ============================================================
   LEGAL PAGES — Terms, Privacy, Legal Notice
   Reuses site.css tokens/nav/footer/button classes; this file
   only adds the reading layout for long-form legal prose.
   ============================================================ */

.legal-nav .wrap{ justify-content:space-between; }

.legal-main{ padding:64px 0 100px; }
.legal-wrap{ max-width:820px; margin:0 auto; padding:0 24px; }

.legal-head{ margin-bottom:36px; }
.legal-head .kicker{
  font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--dim); margin:0 0 10px;
}
.legal-head h1{
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:clamp(30px,4vw,42px);
  color:var(--head); margin:0 0 12px; line-height:1.1;
}
.legal-head .meta{ font-size:13px; color:var(--faint); }
.legal-head .meta b{ color:var(--dim); font-weight:600; }

.legal-toc{
  background:var(--card-2); border:1px solid var(--line); border-radius:14px;
  padding:18px 22px; margin:28px 0 44px;
}
.legal-toc .lbl{
  display:block; font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); margin-bottom:10px;
}
.legal-toc ol{ margin:0; padding:0; list-style:none; columns:2; column-gap:28px; }
.legal-toc li{ break-inside:avoid; margin-bottom:6px; }
.legal-toc a{ font-size:13.5px; color:var(--body); text-decoration:none; }
.legal-toc a:hover{ color:var(--head); text-decoration:underline; }
@media (max-width:560px){ .legal-toc ol{ columns:1; } }

.legal-body{ color:var(--body); font-size:15px; line-height:1.7; }
.legal-body section{ margin-bottom:40px; scroll-margin-top:24px; }
.legal-body h2{
  font-family:'Baloo 2',sans-serif; font-weight:700; font-size:21px; color:var(--head);
  margin:0 0 14px; padding-top:4px; display:flex; align-items:baseline; gap:10px;
}
.legal-body h2 .no{ font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--faint); font-weight:600; }
.legal-body h3{ font-size:16px; font-weight:700; color:var(--head); margin:22px 0 8px; }
.legal-body p{ margin:0 0 14px; }
.legal-body ul, .legal-body ol{ margin:0 0 14px; padding-left:22px; }
.legal-body li{ margin-bottom:6px; }
.legal-body a{ color:var(--proflow-soft); text-decoration:underline; text-decoration-color:color-mix(in srgb, var(--proflow-soft) 40%, transparent); text-underline-offset:2px; }
.legal-body a:hover{ text-decoration-color:var(--proflow-soft); }
.legal-body strong{ color:var(--head); font-weight:700; }
.legal-body .callout{
  background:var(--card-2); border:1px solid var(--line); border-left:3px solid var(--electric-soft);
  border-radius:10px; padding:14px 18px; margin:0 0 16px; font-size:13.5px; color:var(--dim);
}
.legal-body .callout.warn{ border-left-color:var(--amber); }
.legal-body table{
  table-layout:fixed; width:100%; border-collapse:collapse; margin:0 0 16px; font-size:13.5px;
}
.legal-body th, .legal-body td{
  text-align:left; padding:9px 12px; border-bottom:1px solid var(--line-soft);
  overflow-wrap:break-word; word-break:break-word;
}
.legal-body th{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); font-weight:600; }
.legal-body .company-card{
  background:var(--card); border:1px solid var(--line); border-radius:14px; padding:22px 24px; margin:0 0 20px;
  display:grid; grid-template-columns:auto 1fr; gap:6px 18px; font-size:14px;
}
.legal-body .company-card dt{ font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--faint); align-self:start; padding-top:2px; }
.legal-body .company-card dd{ margin:0; color:var(--head); font-weight:600; }

.legal-cross{
  display:flex; flex-wrap:wrap; gap:10px; margin-top:56px; padding-top:24px; border-top:1px solid var(--line);
}
.legal-cross a{
  font-size:13px; font-weight:600; color:var(--body); text-decoration:none; padding:9px 16px;
  border:1px solid var(--line); border-radius:100px;
}
.legal-cross a:hover{ border-color:var(--dim); color:var(--head); }

@media print{
  .legal-nav, footer, .legal-toc, .legal-cross{ display:none !important; }
  body{ background:#fff; color:#000; }
  .legal-body{ color:#000; }
  .legal-body h2, .legal-body h1, .legal-head h1{ color:#000; }
}
