.legal-page { --white: #fff; }
.legal-main { max-width: 1040px; }
.legal-hero { padding: 64px 0 36px; max-width: 800px; }
.legal-hero h1 { font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1.1; margin: 14px 0 20px; }
.legal-hero .lead { margin-bottom: 24px; }
.legal-toc { border: 1px solid var(--line); border-radius: 12px; background: var(--white); padding: 24px; }
.legal-toc h2 { font-size: 1.1rem; margin: 0 0 16px; }
.legal-toc ol { columns: 2; column-gap: 40px; padding-left: 24px; }
.legal-toc li { break-inside: avoid; padding: 5px 0; line-height: 1.5; }
.legal-toc a, .legal-article a { color: var(--green); text-underline-offset: 3px; }
.legal-article { max-width: 840px; margin: 36px auto 60px; overflow-wrap: anywhere; }
.legal-article section { padding: 24px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 120px; }
.legal-article h2 { font-size: clamp(1.3rem, 3vw, 1.7rem); margin: 0 0 18px; line-height: 1.3; }
.legal-article h3 { font-size: 1.1rem; margin: 22px 0 12px; }
.legal-article p, .legal-article li { color: var(--muted); line-height: 1.8; font-size: .97rem; }
.legal-article p { margin-bottom: 16px; }
.legal-article ul, .legal-article ol { margin: 12px 0 20px; padding-left: 24px; }
.legal-article li { margin: 6px 0; }
.legal-article strong { color: var(--ink); }
.legal-article blockquote { margin: 20px 0; padding: 18px 22px; border-left: 3px solid var(--green); background: var(--white); line-height: 1.7; }
.legal-article table { width: 100%; border-collapse: collapse; margin: 20px 0; table-layout: fixed; font-size: .9rem; }
.legal-article th, .legal-article td { text-align: left; padding: 12px; border: 1px solid var(--line); vertical-align: top; line-height: 1.6; }
.legal-article th { background: var(--white); }
.legal-article button { white-space: normal; }
.legal-article .legal-settings { padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.legal-settings p:last-child { margin-bottom: 0; }
.legal-back { margin-top: 28px; }
@media (max-width: 600px) {
    .legal-hero { padding-top: 40px; }
    .legal-toc { padding: 18px; }
    .legal-toc ol { columns: 1; }
    .legal-article th, .legal-article td { padding: 8px; font-size: .8rem; }
}
@media print {
    .global-header, .footer, .skip-link, #printLegal, .legal-back, .legal-toc, .legal-settings { display: none; }
    .legal-main, .legal-article { width: 100%; max-width: none; margin: 0; }
    .legal-hero { padding: 0; }
    .legal-article section { break-inside: avoid-page; padding: 16px 0; }
    .legal-article p, .legal-article li { color: #222; }
    a { color: #222; }
}
