/* Content and footer refinement based on Knippschild's current company wording. */
html { background: #091d31; }
.kc-ref { box-sizing: border-box; }

.kc-ref__card { height: 342px; }
.kc-ref__card > div {
	position: absolute;
	z-index: 2;
	bottom: 0;
	left: 0;
	right: 0;
	min-height: 116px;
	padding: 17px 18px 18px;
	background: #f4f8fb;
	color: #102f50;
}
.kc-ref__card > div b {
	position: static;
	display: block;
	padding: 0 0 8px;
	background: transparent;
	color: #173f6e;
	font-size: 1.12rem;
	line-height: 1;
	letter-spacing: -.035em;
}
.kc-ref__card > div span {
	display: block;
	max-width: 30ch;
	font-size: .78rem;
	font-weight: 600;
	line-height: 1.4;
}

.kc-ref__quality {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100%;
	max-width: 1180px;
	margin: 0 0 96px;
	border-top: 1px solid #c4d6e4;
	border-bottom: 1px solid #c4d6e4;
}
.kc-ref__quality article { padding: 48px clamp(28px, 4vw, 58px); }
.kc-ref__quality article + article { border-left: 1px solid #c4d6e4; background: #eef5fa; }
.kc-ref__quality h2 { max-width: 13ch; margin-bottom: 20px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.kc-ref__quality p:not(.kc-ref__eyebrow) { max-width: 45ch; margin: 0; color: #405d79; font-size: .9rem; line-height: 1.65; }

/* There is one clear site footer, not a second footer inside the Elementor module. */
.kc-footer {
	margin-top: 0;
	margin-bottom: 0;
	padding: 58px 0 24px;
	background: #091d31;
	color: #c6d9e7;
}
.kc-footer-main {
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: clamp(28px, 4vw, 64px);
	padding-bottom: 36px;
}
.kc-footer-intro .kc-brand { margin-bottom: 17px; }
.kc-footer-intro > p { max-width: 29ch; line-height: 1.55; }
.kc-footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.kc-footer-column h3 { margin-bottom: 8px; color: #8dbde0; }
.kc-footer-column p { line-height: 1.6; }
.kc-footer-column a { line-height: 1.4; }
.kc-footer-certifications {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	padding: 17px 0;
	border-top: 1px solid rgba(198, 217, 231, .18);
	border-bottom: 1px solid rgba(198, 217, 231, .18);
}
.kc-footer-certifications span {
	padding: 7px 10px;
	border: 1px solid rgba(141, 189, 224, .45);
	color: #e6f2fa;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .06em;
}
.kc-footer-bottom { padding-top: 18px; }

@media (max-width: 900px) {
	.kc-ref__quality { margin-bottom: 72px; }
	.kc-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.kc-ref__card { height: 295px; }
	.kc-ref__quality { grid-template-columns: 1fr; margin-bottom: 60px; }
	.kc-ref__quality article { padding: 34px 24px; }
	.kc-ref__quality article + article { border-left: 0; border-top: 1px solid #c4d6e4; }
	.kc-footer { padding-top: 44px; }
	.kc-footer-main { grid-template-columns: 1fr; gap: 28px; }
	.kc-footer-certifications { gap: 7px; }
	.kc-footer-certifications span { font-size: .61rem; }
}
