/* Impressum & Datenschutz: ruhige Leseseite im Stil der Landingpage */
.legal { background: var(--sand); padding-block: clamp(40px, 6vw, 80px); }
.legal-wrap { max-width: 780px; }
.legal h1 { margin: 0 0 20px; font-family: var(--display); font-weight: 400; font-size: clamp(44px, 7vw, 72px); line-height: 1; text-transform: uppercase; hyphens: manual; }
.legal h2 { margin: 40px 0 12px; font-size: 21px; font-weight: 800; letter-spacing: -.01em; scroll-margin-top: 90px; }
.legal p, .legal li { max-width: 68ch; color: var(--ink-2); font-size: 16px; line-height: 1.65; }
.legal p strong, .legal li strong { color: var(--ink); }
.legal ul { padding-left: 20px; }
.legal li { margin-bottom: 6px; }
.legal a { color: var(--ink); font-weight: 600; text-decoration-color: var(--orange); text-underline-offset: 3px; }
.legal-lead { font-size: 18px !important; color: var(--ink) !important; }
.toc { margin: 28px 0 8px; padding: 20px 24px; background: var(--paper); border: 1px solid var(--line); border-radius: var(--r-md); }
.toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 32px; }
.toc li { margin: 0 0 6px; break-inside: avoid; font-size: 15px; }
.toc a { font-weight: 600; text-decoration: none; }
.toc a:hover { text-decoration: underline; }
.legal-stand { margin-top: 40px; font-size: 14px !important; color: #8a8a90 !important; }
.legal-back { margin-top: 24px; }
@media (max-width: 600px) { .toc ol { columns: 1; } }
