/* Impressum und Datenschutz: dieselbe ruhige Seite wie die Startseite, nur Text. */
.legal-page {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.legal-page .wrap { width: 100%; max-width: 1440px; margin-inline: auto; padding-inline: var(--pad); }
.legal-page .site-header .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; height: max(var(--head), 72px); }
.legal-page .brand { display: inline-flex; align-items: center; gap: .55em; font-size: var(--brand); font-weight: 650; letter-spacing: .16em; text-transform: uppercase; line-height: 1.2; color: var(--ink); text-decoration: none; }
.legal-page .brand-mark { width: auto; height: 1.45em; flex: none; }
.legal-page .back { font-size: 14px; color: var(--muted); text-decoration: none; }
.legal-page .back:hover, .legal-page .brand:hover { color: var(--muted); }
.legal-main { max-width: 720px; padding-block: clamp(48px, 6vw, 96px) clamp(72px, 8vw, 128px); overflow-wrap: break-word; }
.legal-main h1, .legal-main h2 { font-family: inherit; color: var(--ink); }
.legal-main h1 { margin: 0; font-size: var(--h2); font-weight: 300; letter-spacing: -0.035em; line-height: 1.05; }
.legal-main .legal-subtitle { display: block; margin: 16px 0 48px; font-size: 14px; color: var(--muted); }
.legal-main h2 { margin: 40px 0 8px; font-size: 18px; font-weight: 500; letter-spacing: -0.01em; line-height: 1.3; }
.legal-main p, .legal-main li { margin: 0 0 8px; font-size: 16px; color: var(--muted); }
.legal-main ul { margin: 8px 0 12px; padding-left: 20px; list-style: disc; }
.legal-main strong { color: var(--ink); font-weight: 500; }
.legal-main a { color: var(--ink); text-decoration: underline; text-decoration-color: var(--rule); text-underline-offset: 3px; }
.legal-main a:hover { text-decoration-color: currentColor; }
.legal-main .notice { margin-top: 8px; padding: 16px 20px; border: 1px solid var(--rule); }
.legal-main .notice p { margin: 0; color: var(--ink); }
.legal-page .site-footer { border-top: 1px solid var(--rule); font-size: 13px; line-height: 1.2; color: var(--muted); }
.legal-page .site-footer .wrap { display: flex; flex-wrap: wrap; gap: 8px 28px; padding-block: var(--foot-pad); }
.legal-page .site-footer a { color: var(--muted); text-decoration: none; }
.legal-page .site-footer a:hover { color: var(--ink); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
