.hero {
  position: relative;
  min-height: 100vh; min-height: 100dvh;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  padding: 120px clamp(20px, 4vw, 40px) 80px;
  overflow: hidden;
}
.hero-inner { position: relative; z-index: 2; max-width: 820px; }
.hero .eyebrow { margin-bottom: 24px; }
.hero h1 { margin-bottom: 24px; }
.hero-sub {
  font-size: clamp(1rem, 1.5vw, 1.1875rem);
  color: var(--color-text-secondary);
  margin-bottom: 20px;
}
.hero-body {
  font-size: var(--text-body);
  color: var(--color-text-secondary);
  line-height: var(--lh-body);
  max-width: 640px; margin: 0 auto 40px;
}
.hero-cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

.trust-section { padding: var(--space-section) 0; }
.trust-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 48px);
}
.trust-card {
  padding: clamp(24px, 3vw, 40px);
  background: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
}
.trust-card h3 {
  font-family: var(--font-body); font-style: normal;
  font-weight: 600; font-size: var(--text-body);
  margin-bottom: 12px;
  color: var(--color-text);
}
.trust-card p {
  font-size: var(--text-small);
  color: var(--color-text-secondary);
  line-height: var(--lh-body);
}
.trust-footnote {
  text-align: center;
  margin-top: clamp(32px, 4vw, 48px);
}
.trust-footnote a {
  font-size: var(--text-small);
  color: var(--color-text-secondary);
  text-decoration: underline; text-underline-offset: 3px;
  transition: color 0.2s;
}
.trust-footnote a:hover { color: var(--color-text); }

.leistungen-section { padding: var(--space-section) 0; }
.leistungen-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 3vw, 48px);
}
.leistung-card {
  padding: clamp(24px, 3vw, 40px);
  background: var(--color-card-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-card);
  display: flex; flex-direction: column; gap: 16px;
}
.leistung-card h3 {
  font-family: var(--font-body); font-style: normal;
  font-weight: 600; font-size: var(--text-body);
  color: var(--color-text);
}
.leistung-card p {
  font-size: var(--text-small);
  color: var(--color-text-secondary);
  line-height: var(--lh-body); flex: 1;
}

.kontakt-section {
  padding: var(--space-section) 0;
  text-align: center;
}
.kontakt-body {
  font-size: var(--text-body);
  color: var(--color-text-secondary);
  margin-bottom: 40px;
}
.kontakt-address {
  font-style: normal;
  font-size: var(--text-body);
  color: var(--color-text-secondary);
  line-height: 2;
  margin-bottom: 32px;
}
.kontakt-address a {
  text-decoration: underline; text-underline-offset: 3px;
  transition: color 0.2s;
}
.kontakt-address a:hover { color: var(--color-text); }
.kontakt-address strong { color: var(--color-text); font-weight: 600; }

.legal-page { padding: 120px 0 var(--space-section); }
.legal-page .container { max-width: var(--max-prose); }
.legal-page h1 { margin-bottom: 8px; }
.legal-page .legal-date {
  font-size: var(--text-small);
  color: var(--color-text-muted);
  margin-bottom: clamp(40px, 6vw, 64px);
}
.legal-page h2 {
  font-family: var(--font-body); font-style: normal;
  font-weight: 600; font-size: 1.25rem;
  margin-top: 48px; margin-bottom: 16px;
}
.legal-page p {
  color: var(--color-text-secondary);
  margin-bottom: 16px;
}
.legal-page a {
  text-decoration: underline; text-underline-offset: 3px;
  transition: color 0.2s;
}
.legal-page a:hover { color: var(--color-text); }
.legal-page ul {
  list-style: disc; padding-left: 1.5em;
  color: var(--color-text-secondary);
  margin-bottom: 16px;
}
.legal-page ul li { margin-bottom: 4px; }
