/* Construction 2 variant: editorial two-slide hero; no changes to Construction 1. */
.cv-design--compact .cv2-hero--slider{
	position:relative;
	display:block;
	box-sizing:border-box;
	height:clamp(610px,calc(100svh - 106px),750px);
	min-height:610px;
	padding:0;
	overflow:hidden;
	isolation:isolate;
	background:#1c2625;
}
.cv-design--compact .cv2-hero--slider .cv-hero-slide{
	position:absolute;
	inset:0;
	opacity:0;
	visibility:hidden;
	pointer-events:none;
	transition:opacity .8s ease,visibility .8s;
}
.cv-design--compact .cv2-hero--slider .cv-hero-slide.is-active{
	opacity:1;
	visibility:visible;
	pointer-events:auto;
	z-index:1;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__visual,
.cv-design--compact .cv2-hero--slider .cv2-hero__shade{z-index:0}
.cv-design--compact .cv2-hero--slider .cv2-hero__shade{z-index:1}
.cv-design--compact .cv2-hero--slider .cv2-hero__content{
	position:relative;
	z-index:2;
	box-sizing:border-box;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:23px;
	height:100%;
	width:min(1100px,calc(100% - 64px));
	padding:50px 0 115px;
	transform:translateY(-20px);
	margin:0 auto !important;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame{
	width:min(900px,100%);
	padding:32px 38px 34px;
	background:rgba(15,20,19,.23);
	border-color:rgba(255,255,255,.68);
}
.cv-design--compact .cv2-hero--slider .cv2-hero h1,
.cv-design--compact .cv2-hero--slider h1,
.cv-design--compact .cv2-hero--slider h2{
	color:#fff;
	font-family:Impact,"Arial Narrow",sans-serif;
	font-weight:700;
	line-height:1.05;
	font-size:clamp(36px,4.5vw,61px);
	text-wrap:balance;
	max-width:18ch;
	margin:11px auto 15px;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__lead{margin-bottom:5px}
.cv-design--compact .cv2-hero--slider .cv2-hero__shade--second{
	background:linear-gradient(90deg,rgba(13,19,20,.84),rgba(13,19,20,.44) 56%,rgba(13,19,20,.62)),linear-gradient(0deg,rgba(5,9,10,.4),transparent 70%);
}
.cv-design--compact .cv2-hero--slider .cv2-hero__visual--second img{
	object-position:30% center;
	filter:saturate(.8) contrast(1.12);
	transform:scale(1.09);
}
.cv-design--compact .cv2-hero--slider .cv-hero-slide--second.is-active .cv2-hero__visual--second img{
	animation:cv2-slide-drift 9s ease-out both;
}
@keyframes cv2-slide-drift{from{transform:scale(1.10)}to{transform:scale(1.02)}}
.cv-design--compact .cv2-hero--slider .cv2-hero__content--second{
	align-items:flex-start;
	justify-content:center;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second{
	max-width:760px;
	margin:0;
	text-align:left;
	border:0;
	border-left:4px solid var(--cv2-accent,#32a8b9);
	padding:25px 30px;
	background:linear-gradient(90deg,rgba(13,20,19,.6),rgba(13,20,19,.1));
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second h2{
	max-width:16ch;
	margin:10px 0 16px;
	font-size:clamp(40px,5.2vw,68px);
	line-height:1.02;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second .cv2-hero__lead{
	margin:0 0 25px;
	max-width:44ch;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second .cv2-button--hero{
	background:var(--cv2-accent,#32a8b9);
	border:1px solid var(--cv2-accent,#32a8b9);
	color:#101819;
}
.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second .cv2-button--hero:hover{
	background:#fff;
	border-color:#fff;
}
.cv-design--compact .cv2-hero--slider .cv2-photo-note{bottom:102px;z-index:2}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__controls{
	position:absolute;
	z-index:4;
	bottom:23px;
	left:50%;
	transform:translateX(-50%);
	box-sizing:border-box;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:16px;
	width:min(1100px,calc(100% - 64px));
	padding:13px 0 0;
	border-top:1px solid rgba(255,255,255,.31);
}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__progress,
.cv-design--compact .cv2-hero--slider .cv-hero-slider__actions{display:flex;gap:10px;align-items:center}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot{
	border:0;
	background:transparent;
	color:rgba(255,255,255,.55);
	padding:9px 0;
	cursor:pointer;
	display:inline-flex;
	gap:10px;
	align-items:center;
	font:700 12px/1 Arial,sans-serif;
	letter-spacing:.08em;
}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot::after{
	content:"";
	display:block;
	background:rgba(255,255,255,.4);
	width:clamp(35px,7vw,90px);
	height:2px;
}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot.is-active{color:#fff}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot.is-active::after{background:var(--cv2-accent,#32a8b9)}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__arrow,
.cv-design--compact .cv2-hero--slider .cv-hero-slider__pause{
	display:inline-flex;
	justify-content:center;
	align-items:center;
	width:43px;
	height:42px;
	border:1px solid rgba(255,255,255,.56);
	color:#fff;
	background:rgba(15,20,21,.22);
	font-size:22px;
	cursor:pointer;
	border-radius:0;
}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__pause{font-size:16px;margin-left:5px}
.cv-design--compact .cv2-hero--slider .cv-hero-slider__arrow:hover,
.cv-design--compact .cv2-hero--slider .cv-hero-slider__pause:hover{
	background:rgba(255,255,255,.18);
	border-color:var(--cv2-accent,#32a8b9);
}
.cv-design--compact .cv2-hero--slider :is(button,a):focus-visible{
	outline:3px solid var(--cv2-accent,#32a8b9);
	outline-offset:3px;
}
html:not(.cv-js) .cv-design--compact .cv2-hero--slider .cv-hero-slider__controls{display:none}
@media(max-width:700px){
	.cv-design--compact .cv2-hero--slider{height:min(720px,calc(100svh - 90px));min-height:640px}
	.cv-design--compact .cv2-hero--slider .cv2-hero__content{
		width:calc(100% - 36px);
		padding:40px 0 120px;
		gap:15px;
		transform:translateY(-12px);
	}
	.cv-design--compact .cv2-hero--slider .cv2-hero__frame{
		padding:25px 17px 26px;
	}
	.cv-design--compact .cv2-hero--slider h1,
	.cv-design--compact .cv2-hero--slider h2,
	.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second h2{
		font-size:clamp(31px,8vw,46px);
	}
	.cv-design--compact .cv2-hero--slider .cv2-hero__frame--second{
		padding:18px;
		text-align:left;
	}
	.cv-design--compact .cv2-hero--slider .cv2-hero__lead{font-size:14px}
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__controls{width:calc(100% - 36px);bottom:86px}
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot::after{width:26px}
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__actions{gap:5px}
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__arrow,
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__pause{width:36px;height:37px}
	.cv-design--compact .cv2-hero--slider .cv2-photo-note{bottom:159px}
}
@media(max-width:360px){
	.cv-design--compact .cv2-hero--slider h1,
	.cv-design--compact .cv2-hero--slider h2{font-size:30px}
	.cv-design--compact .cv2-hero--slider .cv-hero-slider__dot::after{width:16px}
}
@media(prefers-reduced-motion:reduce){
	.cv-design--compact .cv2-hero--slider .cv-hero-slide{transition:none}
	.cv-design--compact .cv2-hero--slider .cv-hero-slide--second.is-active .cv2-hero__visual--second img{animation:none}
}

/* Keep the hero at the same generous desktop scale as the sections below. */
@media(min-width:1100px){
 .cv-design--compact .cv2-hero--slider{height:clamp(670px,calc(100svh - 106px),860px);min-height:670px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__content{width:min(1540px,calc(100% - 120px));padding-bottom:100px;transform:none;gap:30px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame{width:min(1440px,100%);padding:64px 48px 62px;background:rgb(14 19 19 / 12%);border-color:rgb(255 255 255 / 78%)}
 .cv-design--compact .cv2-hero--slider h1{font-size:clamp(64px,5vw,86px);max-width:19ch;line-height:1.02;margin-block:18px 20px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__lead{font-size:19px;max-width:65ch}
 .cv-design--compact .cv2-hero--slider .cv2-hero__tags{font-size:15px;margin-top:22px}
 .cv-design--compact .cv2-hero--slider .cv2-button--hero{font-size:15px;min-height:52px;padding-inline:28px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame--second{width:min(1050px,100%);padding:42px 50px;border:0;border-left:4px solid var(--cv2-accent,#32a8b9)}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame--second h2{font-size:clamp(64px,5vw,84px)}
}
@media(min-width:1400px){
 .cv-design--compact .cv2-hero--slider{height:clamp(760px,calc(100svh - 106px),990px);min-height:760px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__content{width:min(1800px,calc(100% - 80px));padding-bottom:110px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame{width:min(1728px,100%);padding:78px 58px 74px}
 .cv-design--compact .cv2-hero--slider h1{font-size:clamp(78px,5.8vw,103px);max-width:19ch}
 .cv-design--compact .cv2-hero--slider .cv2-hero__lead{font-size:23px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__tags{font-size:18px}
 .cv-design--compact .cv2-hero--slider .cv2-button--hero{font-size:18px;min-height:62px;padding-inline:34px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame--second{width:min(1260px,100%);padding:50px 60px}
 .cv-design--compact .cv2-hero--slider .cv2-hero__frame--second h2{font-size:clamp(76px,5.8vw,101px)}
}

/* Keep the homepage actions at the same height as the hero action. */
.cv-design--compact .cv2-home :is(
	.cv2-button,
	.cv2-text-button,
	.cv2-service__copy > a,
	.cv2-services__more a,
	.cv2-step__copy > a,
	.cc-button
),
.cv-design--compact .cv-mobile-actions__link{
	box-sizing:border-box;
	min-height:45px;
}
@media(min-width:1100px){
	.cv-design--compact .cv2-home :is(
		.cv2-button,
		.cv2-text-button,
		.cv2-service__copy > a,
		.cv2-services__more a,
		.cv2-step__copy > a,
		.cc-button
	),
	.cv-design--compact .cv-mobile-actions__link{
		min-height:52px;
	}
}

/* Give the light intro section's CTA the same clear label as other actions. */
.cv-design--compact .cv2-intro .cv2-text-button{
	justify-content:center;
	gap:18px;
	font-size:12px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
@media(min-width:1100px){
	.cv-design--compact .cv2-intro .cv2-text-button{font-size:14px}
}
@media(min-width:1400px){
	.cv-design--compact .cv2-intro .cv2-text-button{min-height:62px;font-size:18px}
}
