/* Kontakt — page layout only (tokens from theme.css; no colours, no new sizes). */

/* Hero: the H1 ends in the number — line 1 in the h2 step of the scale, line 2 = the giant tel link. */
.kt-hero__kicker { display: block; font-size: var(--fs-2xl); }
.kt-hero__title .hero__number { display: flex; width: fit-content; max-width: 100%; margin-top: var(--sp-5); }
.kt-hero .hero__lead { margin-top: var(--sp-6); }

/* Wann anrufen: the urgent card a little wider; both card feet sit on one line. */
@media (min-width: 62em) {
	.kt-wann__grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
}
.kt-wann__mail { display: flex; align-items: center; gap: var(--sp-2); }
.kt-wann__mail a { display: inline-flex; align-items: center; min-height: var(--tap); overflow-wrap: anywhere; }

/* Einsatzgebiet: the text card overlaps the lower left edge of the night photo. */
.kt-gebiet__media { position: relative; margin: 0; }
.kt-gebiet__card { position: relative; z-index: 2; margin-top: var(--sp-4); }
@media (max-width: 56.24em) {
	.kt-gebiet__media .media { --ratio: 4 / 3; }
}
@media (min-width: 56.25em) {
	.kt-gebiet__stage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto var(--sp-9); }
	.kt-gebiet__media { grid-column: 4 / -1; grid-row: 1; }
	.kt-gebiet__media .tag { top: 18px; right: 18px; bottom: auto; left: auto; }
	.kt-gebiet__card { grid-column: 1 / span 6; grid-row: 1 / span 2; align-self: end; margin: 0; }
}

/* Was Sie sagen: one-line items sit centred in their box instead of floating at the top of a taller row. */
.kt-sagen__list > li { align-items: center; }
.kt-sagen__list > li > .badge { margin-top: 0; }
/* Was Sie sagen: the ID note follows the checklist. */
.kt-sagen__notice { margin-top: var(--sp-7); }

/* Betreiber strip: the pointer sentence under the three facts. */
.kt-betreiber__pointer { max-width: var(--measure); margin-top: var(--sp-7); }
.kt-betreiber__facts .icon-list__body span { overflow-wrap: anywhere; }

/* FAQ: head left, the three questions right. */
@media (min-width: 56.25em) {
	.kt-faq__grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); column-gap: var(--sp-9); align-items: start; }
	.kt-faq__head { margin-bottom: 0; }
}
@media (max-width: 37.49em) {
	.kt-hero__kicker { font-size: var(--fs-xl); }
}
