/* Prose-Layout für Impressum/Datenschutz — nutzt dieselben Tokens/Header/Footer wie die Startseite. */
.legal-hero {
  padding-block: clamp(3rem, 8vh, 5rem) clamp(2rem, 5vh, 3rem);
  border-bottom: 1px solid var(--line-faint);
  background: var(--bg-1);
}
.legal-hero .kicker { margin-bottom: 0.9rem; }
.legal-hero h1 {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: clamp(1.9rem, 4.4vw, 2.8rem);
  letter-spacing: -0.01em;
  color: var(--text-primary);
}

.legal-body { padding-block: clamp(2.5rem, 6vh, 4rem) clamp(4rem, 10vh, 6rem); background: var(--bg-1); }
.legal-content { max-width: 68ch; }

.legal-content h2 {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.2rem;
  color: var(--text-primary);
  margin-top: 2.4rem;
}
.legal-content h2:first-child { margin-top: 0; }
.legal-content p { color: var(--text-secondary); margin-top: 0.9rem; line-height: 1.7; }
.legal-content a { color: var(--c-lightblue); border-bottom: 1px solid var(--line-soft); }
.legal-content a:hover { border-color: var(--c-lightblue); }
.legal-content ul { margin-top: 0.9rem; display: grid; gap: 0.5rem; }
.legal-content li { color: var(--text-secondary); padding-left: 1.1rem; position: relative; line-height: 1.6; }
.legal-content li::before { content: "—"; position: absolute; left: 0; color: var(--c-lightblue); }

.legal-content dl.fact-sheet {
  margin-top: 1.4rem;
  border: 1px solid var(--panel-border);
  background: var(--panel-bg);
  padding: 1.4rem 1.6rem;
  border-radius: var(--radius);
  display: grid;
  gap: 0.55rem;
  font-family: var(--font-mono);
  font-size: 0.86rem;
}
.legal-content dl.fact-sheet div { display: flex; gap: 0.5em; flex-wrap: wrap; }
.legal-content dl.fact-sheet dt { color: var(--text-secondary); opacity: 0.75; }
.legal-content dl.fact-sheet dd { margin: 0; color: var(--text-primary); }

.legal-notice {
  margin-top: 1.6rem;
  padding: 1rem 1.2rem;
  border: 1px solid var(--panel-border);
  border-left: 2px solid var(--c-lightblue);
  background: var(--panel-bg);
  border-radius: var(--radius);
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.6;
}

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  min-height: 44px;
  margin-top: 2.6rem;
  font-family: var(--font-mono);
  font-size: 0.82rem;
  color: var(--text-secondary);
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.back-link:hover { color: var(--text-primary); border-color: var(--c-lightblue); }
