/* ===========================================================================
   Legal pages (privacy, terms). Long-form reading, so this deliberately breaks
   from the site's dense mono body copy: wider line-height, a narrower measure,
   and real spacing between sections. Nobody reads a privacy policy set in
   13.5px monospace at 1000px wide.
   =========================================================================== */

.legal { max-width:760px; padding-block:110px 40px; }
.legal h1 { font-size:clamp(28px,4.4vw,40px); font-weight:700; line-height:1.2; }
.legal-date { color:var(--ink-dim); font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; margin-top:12px; }

.legal-lede { color:var(--ink-mid); font-size:14.5px; line-height:1.85; margin-top:32px; }

.legal h2 { font-size:19px; font-weight:700; margin:56px 0 18px;
  padding-top:28px; border-top:1px solid var(--line-soft); }
.legal h3 { font-size:14.5px; font-weight:700; color:var(--ink); margin:30px 0 12px; }

.legal p { color:var(--ink-mid); font-size:14px; line-height:1.85; margin-bottom:16px; }
.legal p b, .legal li b { color:var(--ink); font-weight:700; }
.legal i { color:var(--ink); font-style:italic; }

.legal ul { margin:0 0 18px; padding-left:22px; }
.legal li { color:var(--ink-mid); font-size:14px; line-height:1.8; margin-bottom:11px; }
.legal li::marker { color:var(--amber-dim); }

/* The summary box up top — the part most people will actually read. */
.legal-summary { margin-top:40px; background:var(--panel); border:1px solid var(--line-soft);
  border-left:2px solid var(--amber); border-radius:12px; padding:28px 32px; }
.legal-summary h2 { font-size:12px; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-dim); margin:0 0 18px; padding:0; border:0; }
.legal-summary ul { margin:0; }
.legal-summary li:last-child { margin-bottom:0; }

.legal-table-wrap { overflow-x:auto; margin:0 0 20px; }
.legal-table { border-collapse:collapse; width:100%; min-width:520px; font-size:13px; }
.legal-table th { text-align:left; font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ink-dim); font-weight:700;
  padding:0 16px 12px 0; border-bottom:1px solid var(--line); }
.legal-table td { padding:16px 16px 16px 0; color:var(--ink-mid); line-height:1.7;
  border-bottom:1px solid var(--line-soft); vertical-align:top; }
.legal-table td:last-child { padding-right:0; word-break:break-word; }

.legal-contact { background:var(--panel); border:1px solid var(--line-soft);
  border-radius:10px; padding:22px 26px; line-height:1.9; }

@media (max-width:640px) {
  .legal { padding-block:70px 20px; }
  .legal-summary { padding:22px 20px; }
}
