/* Page · /kontakt — one compact Soft Sage section: heading + contact details (42%) beside the map (58%).
   Loaded only on the Kontakt page; tokens, navbar, footer and the shared contact rows come from home.css. */

.kt { background: var(--sage); padding: 64px 0 80px; }
.kt__grid { display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr); column-gap: var(--space-64); align-items: stretch; }
.kt__details { min-width: 0; }
.kt__title {
  margin: var(--space-12) 0 0; max-width: 520px;
  font-family: var(--font-serif); font-weight: 400; font-size: 48px; line-height: 1.1; letter-spacing: -0.01em; color: var(--charcoal); text-wrap: balance;
}
.kt__lead { margin-top: var(--space-16); max-width: 44ch; }
.kt-list { margin-top: var(--space-32); }
.kt-list .contact__row { padding: var(--space-20) 0; }
.kt-list .contact__row:first-child { padding-top: var(--space-20); border-top: 1px solid var(--hairline); }
.kt-list .contact__row:last-child { border-bottom: 0; padding-bottom: 0; }
.kt-actions { margin-top: var(--space-32); flex-wrap: nowrap; }
.kt__map-col { display: flex; }
.kt-map { height: auto; min-height: 560px; flex: 1; background: var(--porcelain); }

/* Tablet + mobile (<1200): one column, details first, map directly below */
@media (max-width: 1199px) {
  .kt { padding: 56px 0 72px; }
  .kt__grid { grid-template-columns: minmax(0, 1fr); row-gap: var(--space-40); }
  .kt__details { max-width: 600px; }
  .kt__title { font-size: 42px; }
  .kt-map { min-height: 440px; }
}
@media (max-width: 767px) {
  .kt { padding: 40px 0 56px; }
  .kt__grid { row-gap: var(--space-32); }
  .kt__title { font-size: 34px; line-height: 1.12; }
  .kt-list { margin-top: var(--space-24); }
  .kt-actions { flex-wrap: wrap; margin-top: var(--space-24); }
  .kt-map { min-height: 340px; }
}
