/* One shared horizontal rhythm for header, modules and footer. */
:root { --kc-page-gutter: clamp(24px, 5.8vw, 112px); }
.kc-shell { width: min(calc(100% - var(--kc-page-gutter) - var(--kc-page-gutter)), var(--kc-max)); }
.kc-ref { padding-inline: var(--kc-page-gutter); }
.kc-ref__emotion-copy { padding-inline: var(--kc-page-gutter); }
.kc-ref__split,
.kc-ref__possibility,
.kc-ref__career,
.kc-ref__services,
.kc-ref__quality,
.kc-ref__stats { width: 100%; max-width: none; }
.kc-ref__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kc-ref__stats b,
.kc-ref__stats b i { font-variant-numeric: tabular-nums; }
.kc-ref__stats b i { font: inherit; font-style: normal; }

/* Use the supplied original Knippschild logo at a readable, brand-appropriate size. */
.kc-logo-image { display: block; flex: 0 0 auto; line-height: 0; }
.kc-logo-image img { display: block; width: clamp(180px, 16vw, 252px); height: auto; }
.kc-logo-image--footer { margin-bottom: 18px; }
.kc-logo-image--footer img { width: 208px; filter: brightness(0) invert(1); opacity: .95; }

.kc-ref__career-copy:after { display: none; }

@media (max-width: 900px) {
	.kc-header .kc-shell { height: 80px; gap: 16px; }
	.kc-logo-image img { width: 178px; }
	.kc-nav { gap: 14px; font-size: .76rem; }
	.kc-nav .kc-button { min-height: 38px; padding: 10px 12px; font-size: .68rem; }
}

@media (max-width: 700px) {
	:root { --kc-page-gutter: 18px; }
	.kc-logo-image img { width: 184px; }
	.kc-logo-image--footer img { width: 190px; }
	.kc-ref__stats { grid-template-columns: 1fr; }
}
