/* Final layout and brand refinement for the Elementor home-page module. */
.elementor-element-kc_ref_home,
.elementor-element-kc_ref_home > .elementor-widget-container,
.elementor-element-kc_ref_home .kc-ref {
	width: 100% !important;
	max-width: none !important;
}

.kc-ref {
	--ref-blue: #173f6e;
	--ref-dark: #091d31;
	--ref-lime: #8dbde0;
	--ref-pale: #e5f1f9;
	--ref-ink: #173f6e;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 56px clamp(24px, 6vw, 112px) 0;
}

/* The actual brand logo belongs to the site header; avoid a duplicate in the page body. */
.kc-ref > .kc-ref__logo:first-child { display: none; }

.kc-ref__split,
.kc-ref__possibility,
.kc-ref__career {
	width: 100%;
	max-width: 1180px;
}

.kc-ref__split { margin-bottom: 88px; }
.kc-ref__possibility { margin-bottom: 92px; }
.kc-ref__panel { padding: clamp(38px, 5vw, 64px); }
.kc-ref__possibility .kc-ref__panel { padding: clamp(38px, 5vw, 64px); }

.kc-ref h1 { color: #9bc8e8; font-size: clamp(2.25rem, 4vw, 3.25rem); }
.kc-ref h2,
.kc-ref__services-head h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
.kc-ref__eyebrow { color: #557da5; }
.kc-ref__panel p,
.kc-ref__career-copy p,
.kc-ref__contact p { font-size: .88rem; line-height: 1.65; }
.kc-ref__possibility .kc-ref__panel { background: var(--ref-pale); }
.kc-ref__career-copy h2,
.kc-ref__contact h2 em { color: #8dbde0; }

.kc-ref__services {
	width: 100%;
	max-width: 1280px;
	margin-bottom: 88px;
	padding-bottom: 48px;
	background-image: radial-gradient(#c6d9e7 1px, transparent 1px);
}

.kc-ref__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.kc-ref__card { height: 280px; }
.kc-ref__card b { padding: 15px 17px; background: #8dbde0; color: #092743; font-size: 1rem; letter-spacing: -.02em; }

.kc-ref__stats {
	max-width: 980px;
	margin: 0 0 98px;
	gap: 30px;
}
.kc-ref__stats b { font-size: clamp(2.6rem, 4.5vw, 4rem); }
.kc-ref__stats span { color: #405d79; }

.kc-ref__career { margin-bottom: 100px; }
.kc-ref__contact { max-width: 720px; margin-bottom: 106px; }
.kc-ref__footer { width: 100%; max-width: 1280px; }

@media (max-width: 900px) {
	.kc-ref { padding-inline: clamp(20px, 4vw, 42px); }
	.kc-ref__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
	.kc-ref { padding: 34px 18px 0; }
	.kc-ref__split,
	.kc-ref__possibility,
	.kc-ref__career { margin-bottom: 56px; }
	.kc-ref__services { margin-bottom: 60px; padding-bottom: 30px; }
	.kc-ref__cards { grid-template-columns: 1fr; gap: 14px; }
	.kc-ref__card { height: 245px; }
	.kc-ref__stats { grid-template-columns: 1fr; margin-bottom: 62px; gap: 24px; }
	.kc-ref__contact { margin-bottom: 72px; }
}
