/* ═══════════════════════════════════════════════════════════════
   LUNAR — LEGAL DOCUMENT LAYER
   Extends site-core.css. Readable single-column legal/policy layout:
   compact hero with effective date, a narrow prose column with
   numbered sections, and a review-notice callout. site-core tokens.
   ═══════════════════════════════════════════════════════════════ */

/* Original site font restored (editorial serif is reserved for the blog only). */
:root { --font-editorial: var(--font-display); }

.legal-hero { position: relative; padding: clamp(36px, 5vw, 64px) 0 clamp(20px, 3vw, 30px); border-bottom: 1px solid var(--border-subtle); }
.legal-hero .eyebrow { display: inline-block; font-family: var(--font-primary); font-size: 11px; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: var(--accent-cyan); margin: 14px 0 14px; }
.legal-hero h1 { font-family: var(--font-editorial); font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.05; color: var(--text-primary); margin: 0 0 12px; }
.legal-hero .legal-updated { font-size: 13.5px; color: var(--text-tertiary); }
.legal-hero .legal-updated strong { color: var(--text-secondary); font-weight: 600; }

.legal-body { padding: clamp(32px, 4vw, 52px) 0 clamp(48px, 6vw, 72px); }
.legal-col { max-width: 760px; }

/* Review notice callout */
.legal-notice { margin: 0 0 32px; padding: 16px 20px; background: var(--bg-glass); border-left: 3px solid var(--accent); border-radius: var(--radius-sm); font-size: 14px; line-height: 1.6; color: var(--text-tertiary); }
.legal-notice strong { color: var(--text-primary); }

/* Table of contents */
.legal-toc { margin: 0 0 36px; padding: 20px 22px; background: var(--bg-card); border: 1px solid var(--border-card); border-radius: var(--radius-md); }
.legal-toc h2 { font-family: var(--font-primary); font-size: 11px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-tertiary); margin: 0 0 12px; }
.legal-toc ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.legal-toc a { color: var(--text-secondary); font-size: 14.5px; text-decoration: none; }
.legal-toc a:hover { color: var(--accent-light); text-decoration: underline; text-underline-offset: 3px; }

/* Prose */
.legal-prose { color: var(--text-secondary); font-size: 16px; line-height: 1.75; }
.legal-prose h2 { font-family: var(--font-display); font-size: clamp(1.2rem, 2.2vw, 1.5rem); font-weight: 600; letter-spacing: -0.01em; color: var(--text-primary); margin: 40px 0 14px; scroll-margin-top: calc(var(--header-height) + 20px); }
.legal-prose h2:first-child { margin-top: 0; }
.legal-prose h2 .sec-n { color: var(--accent-light); font-variant-numeric: tabular-nums; margin-right: 10px; }
.legal-prose h3 { font-family: var(--font-display); font-size: 1.08rem; font-weight: 600; color: var(--text-primary); margin: 26px 0 10px; }
.legal-prose p { margin: 0 0 16px; }
.legal-prose ul, .legal-prose ol { margin: 0 0 16px; padding-left: 24px; }
.legal-prose li { margin-bottom: 8px; line-height: 1.65; }
.legal-prose strong { color: var(--text-primary); font-weight: 600; }
.legal-prose a { color: var(--accent-light); text-decoration: underline; text-underline-offset: 3px; }
.legal-prose a:hover { color: var(--text-primary); }
.legal-prose .legal-sep { height: 1px; background: var(--border-subtle); border: 0; margin: 36px 0; }
.legal-prose address { font-style: normal; line-height: 1.7; color: var(--text-secondary); }
