/* ---------- Legal pages (Impressum, Datenschutz, AGB) ---------- */

.hero--compact {
  min-height: 0;
  padding-block: clamp(7rem, 14vw, 10rem) clamp(2rem, 5vw, 3rem);
}

.hero--compact .hero__title {
  font-size: var(--fs-800);
  max-width: 20ch;
}

.hero--compact .hero__subtitle {
  font-size: var(--fs-400);
  color: var(--ink-6);
}

.legal {
  padding-block: var(--space-8) var(--space-section);
}

.legal__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  color: var(--ink-7);
  font-size: var(--fs-300);
  line-height: var(--lh-base);
}

.legal__content > section {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.legal__content h2 {
  font-size: var(--fs-500);
  font-weight: 600;
  color: var(--ink-9);
  letter-spacing: var(--track-display);
  line-height: var(--lh-snug);
  margin-block-end: var(--space-2);
}

.legal__content h3 {
  font-size: var(--fs-400);
  font-weight: 600;
  color: var(--ink-9);
  letter-spacing: -0.01em;
  line-height: var(--lh-snug);
  margin-block-start: var(--space-4);
}

.legal__content p {
  color: var(--ink-7);
  max-width: none;
}

.legal__content strong {
  color: var(--ink-9);
  font-weight: 600;
}

.legal__content a {
  color: var(--c-brand);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  text-decoration-color: color-mix(in srgb, var(--c-brand) 40%, transparent);
}

.legal__content a:hover {
  text-decoration-color: var(--c-brand);
}

.legal__content ul {
  list-style: disc;
  padding-inline-start: var(--space-6);
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.legal__content ul li {
  color: var(--ink-7);
}

.legal__content ul li::marker {
  color: var(--ink-5);
}

.legal__contact {
  background: var(--ink-1);
  border: 1px solid var(--ink-4);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-8);
  display: flex;
  flex-direction: column;
  gap: var(--space-1);
  font-style: normal;
}

.legal__contact strong {
  font-size: var(--fs-400);
  display: block;
  margin-block-end: var(--space-1);
}

.legal__meta {
  font-size: var(--fs-100);
  color: var(--ink-5);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-block-start: var(--space-4);
}
