/* Legal pages (Impressum / Datenschutz) — long-form legal text needs a
   narrower measure and calmer, non-uppercase headings instead of the
   oversized marketing h1/h2 scale used on the rest of the site. */
.legal-content { max-width: 720px; }

.legal-content h2 { display: flex; align-items: center; gap: 14px; font-size: clamp(1.25rem,2vw,1.55rem); line-height: 1.3; text-transform: none; letter-spacing: normal; color: var(--charcoal); margin: 46px 0 16px; padding-top: 30px; border-top: 1px solid var(--line); }

.legal-content h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }

.legal-content .legal-num { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--teal-soft); color: var(--teal); font-family: 'Outfit', sans-serif; font-size: .95rem; font-weight: 800; }

.legal-content p { color: var(--gray); font-size: 1rem; }

.legal-content a { color: var(--teal); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(61,180,176,.35); text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }

.legal-content a:hover { color: var(--orange); text-decoration-color: rgba(229,149,96,.5); }

.legal-content .legal-meta { display: inline-flex; align-items: center; gap: 8px; margin-top: 40px; padding: 10px 18px; border-radius: 999px; background: var(--mint); color: var(--teal); font-size: .85rem; font-weight: 700; }
