/* Rechtsseiten (Impressum, Datenschutz): ruhiger Lesetext statt Inszenierung */

.legal-hero {
  padding-block: calc(var(--section-y) * 0.9) calc(var(--section-y) * 0.55);
}
.legal-hero .display { margin-top: 1.25rem; }
.legal-hero__meta { margin-top: 1.25rem; color: var(--fg-muted); }

.legal {
  max-width: 68ch;
  color: var(--fg-muted);
  line-height: 1.7;
}
.legal h2 {
  margin: 3rem 0 1rem;
  color: var(--fg);
  font-size: clamp(1.25rem, 1.1rem + 0.6vw, 1.6rem);
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1.25;
}
.legal h2:first-child { margin-top: 0; }
.legal h3 {
  margin: 1.75rem 0 0.5rem;
  color: var(--fg);
  font-size: 1.05rem;
  font-weight: 600;
}
.legal p, .legal ul, .legal address { margin: 0 0 1rem; }
.legal address { font-style: normal; }
.legal strong { color: var(--fg); font-weight: 600; }
.legal ul { padding-left: 1.25rem; }
.legal li { margin-bottom: 0.25rem; }
.legal li::marker { color: var(--accent-text); }
.legal a {
  color: var(--fg);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 0.2em;
  overflow-wrap: anywhere;
}
.legal a:hover { color: var(--accent-text); }
.legal .legal__caps { font-size: 0.92em; letter-spacing: 0.01em; }

.legal-card {
  padding: clamp(1.25rem, 1rem + 1.5vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg, 20px);
  background: var(--surface-raised);
  margin-bottom: 2.5rem;
}
.legal-card p:last-child { margin-bottom: 0; }
