/* Homepage: Kuiper layout, Van Kalsbeek content */
.mainSite .homePage {
	--home-section-space: clamp(4rem, 7vw, 7rem);
	--home-light: #f1f1f1;
	--home-green: #4b9d31;
	--home-title-color: #20231f;
	overflow: clip;
}

/* One heading system: same weight and colour, with a clear size hierarchy. */
.mainSite .homePage :is(h1, h2, h3) { color: var(--home-title-color); font-weight: 800; line-height: 1.25; }
.mainSite .homePage h1 { font-size: clamp(1.85rem, 3vw, 2.4rem); }
.mainSite .homePage h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.mainSite .homePage h3 { font-size: clamp(1.2rem, 1.8vw, 1.4rem); }

/* Hero */
.mainSite #mainHeader.homeHero {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: clamp(34rem, 70vh, 46rem);
	margin: 0;
	padding: clamp(.75rem, 1.5vw, 1.25rem) 0 clamp(7rem, 12vw, 10rem);
	background-color: #242724;
	background-image: url("https://autoschadevankalsbeek.nl/wp-content/uploads/2017/06/banner-1.jpg");
	background-position: center;
	background-size: cover;
	-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 84%);
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 84%);
	color: #fff;
}

/* Keep Kuiper's rising white cut visible even if the CMS/editor clips the hero background. */
.mainSite #mainHeader.homeHero::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 1;
	height: 16%;
	background: #fff;
	-webkit-clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 100%);
	content: "";
	pointer-events: none;
}

.mainSite .homeHeroOverlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(17, 20, 18, .48), rgba(17, 20, 18, .34));
	pointer-events: none;
}

.mainSite .homeHeroInner {
	position: static;
	z-index: 2;
	display: flex;
	flex-direction: column;
	width: 100%;
}

.mainSite .homeHeroBenefitsWrap {
	position: absolute;
	top: clamp(.75rem, 1.5vw, 1.25rem);
	left: 50%;
	z-index: 2;
	transform: translateX(-50%);
}

.mainSite .homeHero .headerTxt {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	width: min(100% - 2rem, var(--content-width));
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	justify-content: flex-start;
	max-width: none;
	margin: 0;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
}

/* The inline CMS editor wraps this one field in language and tab containers. */
.mainSite .homeHero .headerTxt > .adminElementHolder,
.mainSite .homeHero .headerTxt .adminElementHolder > .tab-content,
.mainSite .homeHero .headerTxt .tab-pane.active,
.mainSite .homeHero .headerTxt .adminElements.editField {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
}
.mainSite .homeHero .headerTxt .adminElements.editField { justify-content: flex-start; }

.mainSite .homeHeroBenefits {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: start;
	gap: .65rem clamp(1rem, 2.2vw, 2.6rem);
	width: 100%;
	margin: 0 auto clamp(2.5rem, 6vh, 4rem);
	padding: 0 0 1.3rem;
	list-style: none;
	border-bottom: 1px solid rgba(255,255,255,.32);
	color: #fff;
	font-size: 1rem;
	font-weight: 600;
}

.mainSite .homeHeroBenefits li {
	display: inline-flex;
	align-items: flex-start;
	gap: .55rem;
	margin: 0;
	list-style: none;
}

.mainSite .homeHeroBenefits li > i { display: inline-grid; flex: 0 0 1.05rem; width: 1.05rem; height: 1.05rem; margin-top: .12rem; place-items: center; border-radius: 50%; background: var(--home-green); color: #fff; font-size: .62rem; line-height: .9; text-align: center; transform: translateY(1px); }
.mainSite .homeHeroBenefits p { margin: 0; }

.mainSite .homeHero .headerTxt h1 {
	max-width: 58rem;
	margin: 0 auto;
	color: #fff;
	font-size: clamp(1.85rem, 3vw, 2.4rem);
	font-weight: 800;
	line-height: 1.25;
	text-shadow: 0 1px 4px rgba(0,0,0,.28);
}

.mainSite .homeHero .headerTxt p {
	max-width: 48rem;
	margin: .65rem auto 0;
	font-size: 1rem;
	line-height: 1.7;
	text-shadow: 0 1px 4px rgba(0,0,0,.3);
}

.mainSite .homeHero .headerTxt .cta { align-self: center; margin-top: .9rem; }
.mainSite .homeHero .homeHeroPrompt,
.mainSite .homeHero .headerTxt h2 {
	margin: 0;
	padding: 0;
	color: var(--home-green);
	font-size: clamp(1.5rem, 2.4vw, 1.9rem);
	font-weight: 800;
	line-height: 1.2;
	text-shadow: 0 1px 3px rgba(0,0,0,.18);
}

/* The service prompt is fixed in the template below the hero, not editable hero copy. */
.mainSite .homeHero .headerTxt .homeHeroPrompt { display: none !important; }

.mainSite .homePage .cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .7rem;
	min-height: 2.9rem;
	margin: .75rem 0;
	padding: .8rem 1.35rem;
	border: 0;
	border-radius: .1rem;
	background: var(--home-green);
	color: #fff;
	font-size: .875rem;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.3;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color .2s ease-in-out, color .2s ease-in-out, transform .2s ease-in-out, box-shadow .2s ease-in-out;
}
.mainSite .homePage .cta:hover,
.mainSite .homePage .cta:focus-visible { background: #347821; color: #fff; transform: translateY(-2px); box-shadow: 0 .5rem 1.25rem rgba(20, 40, 17, .2); }
.mainSite .homePage .cta:focus-visible { outline: 2px solid #20231f; outline-offset: 3px; }

/* Floating service cards */
.mainSite .homeServices {
	position: relative;
	z-index: 2;
	padding: 0 0 var(--home-section-space);
	background: transparent;
}

.mainSite .homeServicesGrid {
	position: relative;
	z-index: 4;
	margin-top: clamp(-12rem, -13vw, -8rem);
}

.mainSite .homePage .homeServicesGrid > .homeServicesTitle {
	position: relative;
	z-index: 5;
	margin: 0 auto clamp(1.1rem, 2.5vw, 1.8rem);
	color: var(--home-green) !important;
	font-size: clamp(1.4rem, 2.2vw, 1.85rem) !important;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	text-shadow: 0 1px 3px rgba(0,0,0,.16);
}

.mainSite .homeServicesCms,
.mainSite .homeServicesFallback { position: relative; z-index: 4; width: 100%; }
.mainSite .homeServicesCms .customGrid {
	justify-content: center;
	align-items: flex-start;
	width: min(100%, 64rem);
	margin: 0 auto;
}

.mainSite .homeServicesCms .gridItem { margin-bottom: 0; }
.mainSite .homeServicesCms .gridItem:nth-of-type(2) { transform: translateY(1.5rem); }
.mainSite .homeServicesCms .gridItem:nth-of-type(3) { transform: translateY(3rem); }

.mainSite .homeServicesCms .blockPreset-card .blockPresetContent {
	display: flex;
	min-height: clamp(14rem, 18vw, 16rem);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: clamp(1.25rem, 2.2vw, 2rem);
	border: 0;
	background: #fff;
	box-shadow: 0 .8rem 2.2rem rgba(28, 34, 28, .11);
	text-align: center;
	transition: transform .2s ease-in-out, box-shadow .2s ease-in-out;
}
.mainSite .homeServicesCms .gridItem:hover .blockPresetContent,
.mainSite .homeServicesCms .gridItem:focus-within .blockPresetContent {
	transform: translateY(-.45rem) scale(1.025);
	box-shadow: 0 1.4rem 3rem rgba(28, 74, 34, .25);
}
.mainSite .homeServicesCms .gridItem:hover .homeServiceIcon,
.mainSite .homeServicesCms .gridItem:focus-within .homeServiceIcon,
.mainSite .homeServicesCms .gridItem:hover h3,
.mainSite .homeServicesCms .gridItem:focus-within h3 { color: var(--home-green); }
.mainSite .homeServicesCms .blockPresetContent { position: relative; }
.mainSite .homeServicesCms .blockPresetContent p { display: none; }
.mainSite .homeServicesCms .homeServiceLink {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: block !important;
	overflow: hidden;
	margin: 0;
	font-size: 0;
	text-indent: -9999px;
}
.mainSite .homeServicesCms .homeServiceLink:focus-visible { outline: 3px solid var(--home-green); outline-offset: -6px; }

/* CMS card labels stay editable; template-owned pictograms keep the three service cards consistent. */
.mainSite .homeServicesCms .gridItem:nth-of-type(1) .blockPresetContent::before,
.mainSite .homeServicesCms .gridItem:nth-of-type(2) .blockPresetContent::before,
.mainSite .homeServicesCms .gridItem:nth-of-type(3) .blockPresetContent::before {
	display: block;
	margin: 0 0 1.2rem;
	color: #929292;
	font-family: "Font Awesome 6 Pro";
	font-size: clamp(3.75rem, 5.5vw, 5rem);
	font-weight: 900;
	line-height: 1;
	transition: color .35s ease-in-out;
}
.mainSite .homeServicesCms .gridItem:nth-of-type(1) .blockPresetContent::before { content: "\f5e1"; }
.mainSite .homeServicesCms .gridItem:nth-of-type(2) .blockPresetContent::before { content: "\f5e4"; }
.mainSite .homeServicesCms .gridItem:nth-of-type(3) .blockPresetContent::before { content: "\f5d0"; }

.mainSite .homeServiceIcon {
	margin: 0 0 1.1rem;
	color: #858585;
	font-size: clamp(2.8rem, 4vw, 3.8rem);
	transition: color .35s ease-in-out;
}

.mainSite .homeServicesGrid h3 {
	margin: 0 0 .85rem;
	color: #20231f;
	font-size: 1rem;
	transition: color .35s ease-in-out;
}

.mainSite .homeServicesCms .homeServiceIcon { margin: 0 0 1rem; color: #929292; font-size: clamp(3.75rem, 5.5vw, 5rem); }
.mainSite .homeServicesCms .gridItem:hover .blockPresetContent::before,
.mainSite .homeServicesCms .gridItem:focus-within .blockPresetContent::before { color: var(--home-green); }
.mainSite .homeServicesGrid p { margin: 0; color: #686868; font-size: .9rem; line-height: 1.6; }
.mainSite .homeServiceLink { margin-top: .85rem; color: var(--home-green); font-size: .75rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.mainSite .homeServiceLink:hover, .mainSite .homeServiceLink:focus-visible { color: #347821; text-decoration: underline; }

.mainSite .homeServicesFallback {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	width: min(100%, 68rem);
	margin: 0 auto;
}
.mainSite .homeServicesFallback .homeServiceCard { min-height: clamp(16rem, 22vw, 20rem); }
.mainSite .homeServicesFallback .homeServiceCard > i { font-size: clamp(3.75rem, 5.5vw, 5rem); }
.mainSite .homeServicesGrid:has(.homeServicesCms .gridItem) .homeServicesFallback { display: none; }
.mainSite .homeServiceCard {
	display: flex;
	min-height: clamp(9rem, 15vw, 12rem);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: clamp(1.25rem, 2.2vw, 2rem);
	background: #fff;
	box-shadow: 0 1rem 2.8rem rgba(28, 34, 28, .13);
	color: #20231f;
	text-align: center;
	text-decoration: none;
	transition: color .2s ease-in-out, transform .2s ease-in-out, box-shadow .2s ease-in-out;
}
.mainSite .homeServiceCard > i { color: #929292; font-size: 2.5rem; transition: color .35s ease-in-out; }
.mainSite .homeServiceCard > span { font-size: 1rem; font-weight: 800; }
.mainSite .homeServiceCard:hover > i, .mainSite .homeServiceCard:focus-visible > i { color: var(--home-green); }
.mainSite .homeServiceCard:hover, .mainSite .homeServiceCard:focus-visible {
	color: var(--home-green);
	transform: translateY(-.55rem) scale(1.035);
	box-shadow: 0 1.5rem 3.2rem rgba(28, 74, 34, .25);
}

@media (min-width: 768px) {
	.mainSite .homeServicesFallback { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(2) { transform: translateY(1.5rem); }
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(3) { transform: translateY(3rem); }
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(2):hover,
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(2):focus-visible { transform: translateY(1rem) scale(1.035); }
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(3):hover,
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(3):focus-visible { transform: translateY(2.5rem) scale(1.035); }
}

/* Intro split section */
.mainSite .homeIntroSection {
	padding: clamp(2rem, 4vw, 3.5rem) 0 var(--home-section-space);
	background: #fff;
}

.mainSite .homeSectionHeading { margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.mainSite .homeSectionHeading h2 { margin: 0; }
.mainSite .homeSectionHeading h2 span,
.mainSite .homeSectionHeading > p:first-child { color: inherit; font-weight: inherit; }
.mainSite .homeSectionHeading h2 .homeTitleAccent { color: var(--home-green); font-weight: 800; }
.mainSite .homeSectionHeading h2 .homeTitleSub { color: #252825; font-weight: 400; }
.mainSite .homeSectionHeading > p:last-child { margin: .2rem 0 0; color: #272a27; font-size: 1rem; }
.mainSite .homeIntroHeading { max-width: 60rem; }
.mainSite .homeIntroContent { max-width: 38rem; }
.mainSite .homeIntroContent p { line-height: 1.8; }
.mainSite .homeIntroImage {
	min-height: 23rem;
	border-radius: .15rem;
	background-image: url("https://autoschadevankalsbeek.nl/wp-content/uploads/2017/06/autoschade-afgehandeld.jpg");
	background-color: #e7e9e6;
	background-position: center;
	background-size: cover;
}
.mainSite .homeIntroMedia { position: relative; z-index: 0; }
.mainSite .homeIntroMedia::before { position: absolute; z-index: -1; top: 27%; right: -2.5rem; width: 42%; height: 82%; background-image: radial-gradient(#d5d8d4 .8px, transparent .8px); background-size: 6px 6px; content: ""; }
.mainSite .homeIntroMedia > div { position: relative; z-index: 1; min-height: 25rem; }

/* Kuiper's full-width expertise band and centered contact break */
.mainSite .homeExpertiseSection { position: relative; isolation: isolate; padding: clamp(7rem, 10vw, 9rem) 0 clamp(5rem, 7vw, 6.5rem); }
.mainSite .homeExpertiseSection::before { position: absolute; z-index: -1; inset: 0; background: #f1f1f1; clip-path: polygon(0 0, 100% 5rem, 100% 100%, 0 calc(100% - 5rem)); content: ""; }
.mainSite .homeExpertiseInner { position: relative; }
.mainSite .homeExpertiseSection .homeSectionHeading { margin-bottom: clamp(2rem, 4vw, 3rem); }
.mainSite .homeExpertiseSection .homeSectionHeading h2 { color: var(--home-title-color); }
.mainSite .homeExpertiseSection .homeSectionHeading p { margin-top: .2rem; color: #272a27; font-size: 1rem; }
.mainSite .homeExpertiseGrid { justify-content: center; }
.mainSite .homeExpertiseGrid .customGrid { display: flex; align-items: stretch; width: 100%; margin: 0; }
.mainSite .homeExpertiseGrid .gridItem { margin-bottom: 0; text-align: center; }
.mainSite .homeExpertiseGrid .blockPresetContent { height: 100%; padding: .5rem clamp(.75rem, 2vw, 1.5rem) 1rem; background: transparent; box-shadow: none; }
.mainSite .homeExpertiseGrid .homeExpertiseIcon { display: block; margin: 0 auto 1.25rem; color: #979797; font-size: clamp(2.6rem, 4vw, 3.6rem); }
.mainSite .homeExpertiseGrid h3 { margin: 0 0 .8rem; }
.mainSite .homeExpertiseGrid p { color: #666; font-size: 1rem; line-height: 1.65; }
.mainSite .homeExpertiseGrid a:not(.cta) { color: var(--home-green); font-size: .8rem; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.mainSite .homeExpertiseGrid a:not(.cta):hover { text-decoration: underline; }
.mainSite .homePageBreak { position: relative; z-index: 2; margin: -3.25rem 0 0; text-align: center; }
.mainSite .homePageBreak .cta { margin: 0; }

/* Process tabs with the photo on the right */
.mainSite .homeProcessSection { padding: clamp(4rem, 7vw, 6rem) 0 clamp(3rem, 5vw, 4rem); background: #fff; }
.mainSite .homeProcessSection .homeSectionHeading { margin-bottom: clamp(2rem, 4vw, 3rem); }
.mainSite .homeProcessIntro { max-width: 30rem; margin-bottom: 1.25rem; font-weight: 700; line-height: 1.65; }
.mainSite .homeProcessSteps { min-height: 14rem; }
.mainSite .homeStepsNav { display: flex; flex-direction: column; margin: 0; padding: 0; border: 0; list-style: none; }
.mainSite .homeStepsNav li { margin: 0; padding: 0; }
.mainSite .homeStepsNav [data-step],
.mainSite .homeStepsNav [role="tab"] { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .7rem .9rem; border: 0; border-bottom: 1px solid #e7e7e7; border-radius: 0; background: transparent; color: var(--home-green); font-size: 1rem; font-weight: 800; text-align: left; text-decoration: none; transition: background-color .2s ease-in-out, color .2s ease-in-out; }
.mainSite .homeStepsNav [data-step] > i { visibility: hidden; opacity: 0; transition: opacity .15s ease-in-out; }
.mainSite .homeStepsNav [data-step].active > i { visibility: visible; opacity: 1; }
.mainSite .homeStepsNav [data-step].active,
.mainSite .homeStepsNav [role="tab"].active,
.mainSite .homeStepsNav [data-step]:hover,
.mainSite .homeStepsNav [role="tab"]:hover,
.mainSite .homeStepsNav [data-step]:focus-visible,
.mainSite .homeStepsNav [role="tab"]:focus-visible { background: var(--home-green); color: #fff; }
.mainSite .homeStepsContent { padding: 1rem .1rem; color: #555; font-size: 1rem; line-height: 1.7; }
.mainSite .homeStepsContent [data-step-panel] { display: none; }
.mainSite .homeStepsContent [data-step-panel].active { display: block; }
.mainSite .homeStepsContent [data-step-panel][hidden] { display: none !important; }
.mainSite .homeProcessVisual { position: relative; min-height: clamp(18rem, 31vw, 29rem); overflow: hidden; background-color: #eceeeb; box-shadow: 1.25rem 1.25rem 0 #f4f4f4; }
.mainSite .homeProcessImages, .mainSite .homeProcessImageStep { position: absolute; inset: 0; }
.mainSite .homeProcessImageStep { background-color: #eceeeb; background-position: center; background-size: cover; opacity: 0; transition: opacity .25s ease-in-out; }
.mainSite .homeProcessImageStep.active { opacity: 1; }
.mainSite .homeProcessVisual::after { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(0,0,0,.08),rgba(0,0,0,0)); content: ""; pointer-events: none; }
.mainSite .homeMembershipNote { margin: clamp(3rem, 5vw, 4rem) auto 0; padding-top: 1.2rem; border-top: 1px solid #e6e6e6; color: #777; font-size: .75rem; letter-spacing: .28em; text-align: center; text-transform: uppercase; }
.mainSite .homeMembershipNote img { width: auto; max-width: min(100%, 10rem); max-height: 3rem; object-fit: contain; }

/* Editable service, process and certification sections */
.mainSite .homeContent { padding: 0; background: #fff; }
.mainSite .homeContent .contentBody { display: flex; flex-direction: column; max-width: none; margin: 0; }
.mainSite .homeContentSection { position: relative; padding: var(--home-section-space) 0; }
.mainSite .homeContentSection + .homeContentSection { border: 0; }
.mainSite .homeContentSection .homeEyebrow { text-transform: none; }

.mainSite .homeInfoCards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}

.mainSite .homeInfoCard { height: 100%; padding: 0; border: 0; background: transparent; }
.mainSite .homeInfoCard h3 { margin: .75rem 0 .8rem; }
.mainSite .homeInfoCard p { margin-bottom: .75rem; color: #626262; line-height: 1.75; }
.mainSite .homeInfoCard > i { color: #858585; font-size: 3rem; }
.mainSite .homeStepNumber { color: var(--home-green); font-size: 1.6rem; font-weight: 800; }
.mainSite .homeFinePrint { margin: 1.5rem auto 0; color: #696d68; text-align: center; }
.mainSite .homeInfoCard a, .mainSite .homeClosingCta a { color: var(--home-green); font-weight: 750; }

.mainSite .homeExpertiseContent {
	margin-top: 0;
	padding-top: clamp(8rem, 12vw, 11rem);
	background: var(--home-light);
}

.mainSite .homeExpertiseContent::before {
	position: absolute;
	inset: 0 0 auto;
	height: clamp(4rem, 9vw, 8rem);
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 100%);
	content: "";
}

.mainSite .homeExpertiseContent > * { position: relative; z-index: 1; }
.mainSite .homeExpertiseContent .homeInfoCard { text-align: center; }
.mainSite .homeExpertiseContent .homeInfoCard > i { display: block; margin: 0 0 1rem; }
.mainSite .homeExpertiseContent .homeInfoCard h3 { margin-top: 0; }
.mainSite .homeExpertiseContent { order: 1; }
.mainSite .homeStepsContent { order: 3; }
.mainSite .homeMembershipContent { order: 4; }
.mainSite .homeStepsContent .homeInfoCard {
	padding: clamp(1.4rem, 2.4vw, 2rem);
	background: #fff;
	box-shadow: 0 .8rem 2rem rgba(0,0,0,.07);
}

.mainSite .homeMembershipContent { background: #fff; }
.mainSite .homeMemberCards .homeInfoCard {
	padding: clamp(1.5rem, 2.5vw, 2.2rem);
	background: #f5f5f5;
}

.mainSite .homeContactBreak {
	order: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1rem 2rem;
	width: 100vw;
	margin: 0 0 0 calc(50% - 50vw);
	padding: clamp(1.5rem, 3vw, 2.25rem) 1.25rem;
	background: var(--home-light);
	text-align: center;
}

.mainSite .homeContactBreak p { margin: 0; color: #20231f; font-size: 1rem; font-weight: 700; }
.mainSite .homeContactBreak .cta { margin: 0; }

.mainSite .homeClosingCta {
	margin: clamp(2rem, 4vw, 3.5rem) 0 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 0;
	background: #f1f1f1;
	text-align: center;
}

/* Partner logo gallery */
.mainSite .homeInsurers {
	padding: clamp(1.5rem, 3vw, 2.5rem) 0 var(--home-section-space);
	background: #fff;
	text-align: center;
}

.mainSite .homeInsurersTitle {
	margin: 0 0 2rem;
	color: var(--home-title-color);
	text-align: center;
}

.mainSite .homeInsurers .imageGallery { align-items: center; justify-content: center; }
.mainSite .homeInsurers .imageGallery .img { aspect-ratio: 2.8 / 1; margin: .75rem 0; background-color: transparent; background-position: center; background-repeat: no-repeat; background-size: contain; }
.mainSite .homeInsurerMessage { margin: 1.3rem auto 0; }
.mainSite .homeInsurerMessage p { margin: 0; color: #555; font-size: 1rem; }
.mainSite .homeInsurersMore { margin: 1rem 0 0; }
.mainSite .homeInsurersMore a { color: var(--home-green); font-weight: 800; text-decoration: none; text-transform: uppercase; }

@media (min-width: 576px) {
	.mainSite .homeInfoCards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mainSite .homeStepsContent .homeInfoCards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mainSite .homeMemberCards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 768px) {
	.mainSite .homeHero { min-height: clamp(34rem, 70vh, 46rem); }
}

@media (max-width: 767.98px) {
	.mainSite .homeServicesCms .blockPreset-card .blockPresetContent { min-height: 14rem; }
	.mainSite .homeServicesCms .homeServiceIcon,
	.mainSite .homeServicesCms .blockPresetContent::before { font-size: clamp(3.5rem, 14vw, 4.5rem); }
	.mainSite .homeServicesFallback .homeServiceCard { min-height: 14rem; }
	.mainSite .homeServicesFallback .homeServiceCard > i { font-size: clamp(3.5rem, 14vw, 4.5rem); }
}

@media (min-width: 992px) {
	.mainSite .homeInfoCards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mainSite .homeExpertiseContent .homeInfoCards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mainSite .homeIntroContent .homeEyebrow,
	.mainSite .homeIntroContent h2 { text-align: left; }
	.mainSite .homeExpertiseContent .homeInfoCard { padding: .5rem; }
}

@media (min-width: 1200px) {
	.mainSite .homeHeroBenefits { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mainSite .homeServicesGrid { margin-top: clamp(-12rem, -9vw, -8rem); }
}

@media (max-width: 767.98px) {
	.mainSite #mainHeader.homeHero {
		min-height: 32rem;
		padding: .75rem 0 5.5rem;
		-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0 90%);
	}
	.mainSite #mainHeader.homeHero::after { height: 10%; }
	.mainSite .homeHeroBenefits { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: .7rem; padding-bottom: 1rem; }
	.mainSite .homeHero .headerTxt h1 { margin: 0 auto; }
	.mainSite .homeHero .homeHeroPrompt,
	.mainSite .homeHero .headerTxt h2 { margin: 0; }
	.mainSite .homeServicesGrid { margin-top: -5rem; }
	.mainSite .homeServicesGrid .gridItem:nth-of-type(2),
	.mainSite .homeServicesGrid .gridItem:nth-of-type(3) { transform: none; }
	.mainSite .homeServicesGrid .blockPreset-card .blockPresetContent { min-height: 14rem; }
	.mainSite .homeServicesFallback { gap: .85rem; }
	.mainSite .homeServicesFallback .homeServiceCard { min-height: 14rem; }
	.mainSite .homeServicesFallback .homeServiceCard:nth-child(n) { transform: none; }
	.mainSite .homeServicesFallback .homeServiceCard:hover,
	.mainSite .homeServicesFallback .homeServiceCard:focus-visible { transform: translateY(-.4rem) scale(1.02); }
	.mainSite .homeExpertiseContent { padding-top: 7rem; }
	.mainSite .homeIntroImage { min-height: 17rem; }
	.mainSite .homeIntroMedia::before { right: -1rem; width: 35%; }
	.mainSite .homeExpertiseSection { padding: 5.5rem 0 4rem; }
	.mainSite .homeExpertiseSection::before { clip-path: polygon(0 0, 100% 2.5rem, 100% 100%, 0 calc(100% - 2.5rem)); }
	.mainSite .homePageBreak { margin-top: -2rem; }
	.mainSite .homeProcessVisual { min-height: 17rem; box-shadow: .6rem .6rem 0 #f4f4f4; }
}

@media (prefers-reduced-motion: reduce) {
	.mainSite .homePage *, .mainSite .homePage *::before, .mainSite .homePage *::after { scroll-behavior: auto; transition-duration: .01ms; }
}
