/* ================================================================
   KONTAKT-SEITE — kt- Präfix
   Baut auf reise.css (Tokens, Buttons, Icon-Ringe) und legal.css (Seitenrahmen, Intro) auf.
   ================================================================ */
.kt-main { padding: 80px 0 120px; background: var(--r-cream); flex: 1; }
.kt-shell { max-width: 1160px; }

.kt-lead {
  max-width: 56ch; margin: 20px 0 0;
  font-size: var(--fs-lg); line-height: 1.7; color: var(--r-fg2);
}

.kt-grid {
  display: grid; gap: 24px; margin-top: 56px;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.kt-card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 14px;
  background: var(--r-white); border: 1px solid var(--r-line);
  border-radius: 12px; box-shadow: var(--r-shadow-sm);
  padding: 32px 30px;
  transition: box-shadow .3s var(--r-ease), transform .3s var(--r-ease);
}
.kt-card:hover { box-shadow: var(--r-shadow-md); transform: translateY(-2px); }

.kt-icon { width: 52px; height: 52px; margin-bottom: 6px; }
.kt-icon svg {
  width: 24px; height: 24px; fill: none; stroke: currentColor;
  stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}

.kt-card h2 { margin: 0; font-size: var(--fs-h3); }
.kt-card p { margin: 0; max-width: none; color: var(--r-fg2); font-size: var(--fs-base); line-height: 1.75; }
/* Spezifischer als ".kt-card p", sonst würde dessen Farbe/Größe gewinnen */
.kt-card p.eyebrow { margin: 0; color: var(--r-beige-700); font-size: var(--fs-eyebrow); line-height: 1.4; }
.kt-card p.kt-address { font-family: var(--r-font-geo); font-weight: 500; color: var(--r-ink); word-break: break-word; }
.kt-card .btn { margin-top: auto; padding-top: 16px; }

@media (max-width: 640px) {
  .kt-main { padding: 48px 0 80px; }
  .kt-grid { margin-top: 36px; }
  .kt-card { padding: 26px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .kt-card { transition: none; }
  .kt-card:hover { transform: none; }
}
