/* Legal pages (privacy policy, terms): same BAM Atelier tokens as the landing, loaded after main.css. */
.legal-header { position: sticky; top: 0; z-index: 10; padding: 14px max(16px, calc((100vw - 820px) / 2)); display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--bg) 92%, transparent); backdrop-filter: blur(12px); }
.legal-header nav { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 600; }
.legal { width: min(calc(100% - 32px), 820px); margin: 0 auto; padding: 56px 0 96px; }
.legal h1 { margin: 12px 0 8px; font-size: clamp(38px, 6vw, 58px); line-height: 1.05; }
.legal .updated { margin: 0 0 36px; color: var(--text-muted); font-size: 14px; }
.legal h2 { margin: 40px 0 12px; font-size: 26px; }
.legal p, .legal li { color: var(--text-muted); font-size: 16px; line-height: 1.7; }
.legal strong { color: var(--text); }
.legal ul { padding-left: 22px; }
.legal a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.legal table { width: 100%; margin: 12px 0; border-collapse: collapse; font-size: 14px; }
.legal th, .legal td { padding: 10px 12px; border: 1px solid var(--border); text-align: left; vertical-align: top; color: var(--text-muted); }
.legal th { background: var(--surface-subtle); color: var(--text); }
.legal .table-wrap { overflow-x: auto; }
.legal-box { margin: 24px 0; padding: 18px 20px; border: 1px solid var(--bam-gold-line); border-radius: var(--bam-radius-lg); background: var(--accent-soft); }
.legal-box p { margin: 0; color: var(--text); }
[data-legal-lang][hidden] { display: none; }
