/* Rechtliche Seiten (Impressum, Datenschutz). Nur Layout. */
.legal { padding-block: var(--space-8) var(--space-16); }
.legal h1 { font: 800 clamp(2rem, 1.6rem + 2vw, 2.8rem)/1.1 var(--font-display); letter-spacing: -.03em; margin: var(--space-2) 0 var(--space-4); }
.legal h2 { font-size: 1.25rem; margin: var(--space-12) 0 var(--space-4); }
.legal p, .legal ul, .legal dl { max-width: var(--measure); }
.legal dl { display: grid; grid-template-columns: minmax(8rem, max-content) 1fr; gap: var(--space-2) var(--space-6); margin: 0; }
.legal dt { font-weight: 600; } .legal dd { margin: 0; }
@media (max-width: 30rem) { .legal dl { grid-template-columns: 1fr; gap: 0; } .legal dd { margin-bottom: var(--space-3); } }
.legal a { color: var(--brand); font-weight: 600; text-underline-offset: 3px; }
.legal a:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.foot-legal { display: grid; gap: var(--space-4); }
.foot-legal nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); }
.foot-legal a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; font-size: .9rem; display: inline-block; padding: var(--space-1) 0; }
.foot-legal a:hover { color: var(--brand); }
.foot-legal a:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.vh { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ab-footer > .wrap { width: 100%; }
