/* Shared legal typography; each application owns its page shell and palette. */
.ml-legal-page { width: min(820px, calc(100% - 48px)); max-width: 820px; margin-inline: auto; padding-block: 65px 80px; }
.ml-legal-content { font-size: max(var(--ml-font-min), 1.25rem); }
.ml-legal-content h1 { font-size: max(var(--ml-font-min), clamp(2.25rem, 6vw, 3.1875rem)); line-height: 1.1; letter-spacing: -.045em; margin: 0 0 28px; overflow-wrap: anywhere; }
.ml-legal-content h2 { font-size: max(var(--ml-font-min), 1.5rem); line-height: 1.25; letter-spacing: -.025em; margin: 35px 0 15px; overflow-wrap: anywhere; }
.ml-legal-content h3 { font-size: max(var(--ml-font-min), 1.375rem); line-height: 1.3; margin: 28px 0 12px; }
.ml-legal-content :is(p, li, address) { font-size: max(var(--ml-font-min), 1.25rem); line-height: 1.9; color: var(--muted, var(--text-muted, inherit)); }
.ml-legal-content p, .ml-legal-content address { margin-block: 0 20px; }
.ml-legal-content address { font-style: normal; }
.ml-legal-content a { text-decoration: underline; text-underline-offset: 5px; overflow-wrap: anywhere; }
.ml-legal-content :is(.eyebrow, .legal-updated) { font-size: var(--ml-font-min); line-height: 1.7; }
.ml-legal-content .contact-output { display: grid; gap: 0; }
.ml-legal-content .contact-output p { margin: 0; }
.ml-legal-content .contact-email { display: inline; padding: 0; font-size: inherit; font-weight: 700; }
.ml-legal-content .legal-updated { margin-top: 35px; padding-top: 24px; border-top: 1px solid var(--line, var(--border, #d8ddda)); }
@media (max-width: 600px) {
    .ml-legal-page { width: calc(100% - 40px); padding-block: 40px 64px; }
}
