/* Legal pages, refreshed 2026-11-03 to match the new home (home.css tokens).
   Loaded after styles.css. Black #0C0C0C and silver #E2E3E7 only. */
.legal-body {
    --ink: #0C0C0C;
    --silver: #E2E3E7;
    --bg: var(--ink);
    --fg: var(--silver);
    --dim: rgba(226, 227, 231, 0.70);
    --rule: rgba(226, 227, 231, 0.14);
    --rule-strong: rgba(226, 227, 231, 0.32);
    --text-primary: var(--fg);
    --text-dim: var(--dim);
    --text-soft: rgba(226, 227, 231, 0.82);
    background: var(--bg);
    color: var(--fg);
}
[data-theme="light"] .legal-body {
    --bg: var(--silver);
    --fg: var(--ink);
    --dim: rgba(12, 12, 12, 0.72);
    --rule: rgba(12, 12, 12, 0.14);
    --rule-strong: rgba(12, 12, 12, 0.34);
    --text-soft: rgba(12, 12, 12, 0.82);
}
.legal-body .nav { background: var(--bg); border-bottom: 1px solid var(--rule); backdrop-filter: none; -webkit-backdrop-filter: none; }

.legal-page { padding: 120px 20px 80px; }
.legal-container { max-width: 760px; }

.legal-back { color: var(--dim); margin-bottom: 48px; }
.legal-back:hover { color: var(--fg); }

.legal-kicker { color: var(--dim); letter-spacing: 0.02em; }
.legal-title {
    font-size: clamp(2.2rem, 7vw, 3.4rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.01em;
    margin-bottom: 14px;
}
.legal-lead { color: var(--text-soft); font-size: 1.05rem; }
.legal-meta { border-color: var(--rule-strong); gap: 10px 32px; padding: 16px 0; }
.legal-meta dt { color: var(--dim); }
.legal-meta a { border-bottom-color: var(--rule-strong); }

/* Summary: a ruled note, not a card */
.legal-summary {
    margin: 36px 0;
    padding: 4px 0 4px;
    padding-inline-start: 20px;
    border: 0;
    border-inline-start: 3px solid var(--fg);
    border-radius: 0;
    background: none;
}
.legal-summary strong { font-size: 1rem; }

/* Table of contents as a ruled list */
.legal-toc { margin: 40px 0 0; border-top: 1px solid var(--rule-strong); padding-top: 18px; }
.legal-toc h2 { color: var(--dim); }
.legal-toc li { border-bottom: 1px solid var(--rule); padding: 9px 0; }
.legal-toc li::before { color: var(--dim); font-variant-numeric: tabular-nums; }
.legal-toc a { color: var(--fg); }
.legal-toc a:hover { border-bottom-color: var(--fg); }

/* Sections */
.legal-section { margin-top: 64px; }
.legal-section h2 {
    font-size: clamp(1.35rem, 4vw, 1.7rem);
    font-weight: 800;
    line-height: 1.35;
    padding-top: 18px;
    border-top: 1px solid var(--rule-strong);
    margin-bottom: 18px;
}
.legal-section h2 .num { color: var(--dim); font-weight: 600; }
.legal-section p, .legal-section li { color: var(--text-soft); }
.legal-section strong { color: var(--fg); }
.legal-section a { color: var(--fg); border-bottom-color: var(--rule-strong); }
.legal-section a:hover { border-bottom-color: var(--fg); }
.legal-dl dt { color: var(--fg); }
.legal-dl dd { color: var(--text-soft); border-bottom: 1px solid var(--rule); padding-bottom: 14px; }

.legal-table th, .legal-table td { border-color: var(--rule); }
.legal-table th { background: none; color: var(--fg); border-bottom: 1px solid var(--rule-strong); }

.legal-choice > div { border-color: var(--rule-strong); border-radius: 0; }

.legal-footer { border-top: 1px solid var(--rule); }
.legal-footer a { color: var(--dim); }
.legal-footer a:hover { color: var(--fg); }

@media (max-width: 640px) {
    .legal-page { padding-top: 96px; }
    .legal-toc ol { columns: 1; }
}

.logo-on-light { display: none; }
[data-theme="light"] .logo-on-dark { display: none; }
[data-theme="light"] .logo-on-light { display: block; }
[data-theme="light"] .legal-kicker img { filter: invert(1); }

/* Section numbers: isolate LTR digits so "1." does not flip in RTL */
.legal-section h2 .num { unicode-bidi: isolate; display: inline-block; margin-inline-end: 10px; }
.legal-section h2 .num { padding-inline-end: 12px; margin-inline-end: 12px; border-inline-end: 1px solid var(--rule-strong); }
.legal-section h2 .num { direction: inherit; }
