/* Existing ivory/charcoal/rust brand tokens; policy-page additions only. */
.legal-page { padding-block: clamp(2.5rem, 5vw, 4.75rem); }
.legal-page .wrap--narrow { max-width: 49rem; }
.legal-page .section__title { max-width: 18ch; margin-bottom: 0.8rem; }
.legal-meta { color: var(--muted); font-size: 0.875rem; margin-bottom: 1.25rem; }
.legal-nav { display: flex; flex-wrap: wrap; gap: 0.25rem 1.5rem; border-block: 1px solid var(--line); padding-block: 0.6rem; margin-block: 1.5rem 2rem; }
.legal-nav a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }
.legal-nav a[aria-current="page"] { color: var(--ink); }
.legal-page .prose { max-width: 66ch; font-size: clamp(1rem, 0.96rem + 0.2vw, 1.125rem); line-height: 1.75; }
.legal-page .prose h2 { font-size: clamp(1.25rem, 1.15rem + 0.45vw, 1.55rem); line-height: 1.35; margin-block: 2rem 0.65rem; }
.legal-page .prose h3 { font-size: 1.1em; line-height: 1.4; margin-block: 1.35rem 0.55rem; }
.legal-page .prose p { overflow-wrap: anywhere; }
.legal-review { background: var(--accent-soft); border-inline-start: 3px solid var(--accent); padding: 0.85rem 1rem; margin-block: 0 1.5rem; color: var(--ink); }
[data-sms-review] { border: 1px dashed var(--line-strong); padding: 0.75rem; border-radius: var(--radius-sm); overflow-wrap: anywhere; }
.legal-consent-preview label { display: flex; gap: 0.75rem; align-items: flex-start; font-size: 1rem; line-height: 1.65; }
.legal-consent-preview input[type="checkbox"] { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; margin-top: 0.25rem; accent-color: var(--accent); }
@media (max-width: 599px) { .legal-page .section__title { font-size: 2rem; } }
@media (prefers-reduced-motion: reduce) { .legal-page { scroll-behavior: auto; } }
