/* ACTS Hero — Image Overlay CTA */
.cew-ioh{
	width:100%;
	margin:0;
	padding:0;
	font-family:"PP Neue Montreal",Arial,sans-serif;
}

.cew-ioh,
.cew-ioh *{
	box-sizing:border-box;
}

.cew-ioh-inner{
	position:relative;
	isolation:isolate;
	width:100%;
	min-height:520px;
	overflow:hidden;
	background:#2d1184;
}

/* Every visual layer is absolutely positioned, but each keeps its OWN job. */
.cew-ioh-bg,
.cew-ioh-color-overlay,
.cew-ioh-gradient-overlay,
.cew-ioh-pattern{
	position:absolute;
	inset:0;
	pointer-events:none;
}

/* 1) Actual hero photo */
.cew-ioh-bg{
	z-index:0;
	background-image:var(--cew-ioh-desktop-image);
	background-repeat:no-repeat;
	background-size:cover;
	background-position:var(--cew-ioh-bg-x,50%) var(--cew-ioh-bg-y,50%);
	filter:
		grayscale(var(--cew-ioh-gray,100%))
		brightness(var(--cew-ioh-brightness,88%))
		contrast(var(--cew-ioh-contrast,108%))
		saturate(var(--cew-ioh-saturation,0%));
	transform:scale(1.002);
	transform-origin:center;
}

/* 2) Purple duotone/tint */
.cew-ioh-color-overlay{
	z-index:1;
	background:#4a2bc4;
	opacity:.82;
	mix-blend-mode:color;
}

/* 3) Dark readability gradient */
.cew-ioh-gradient-overlay{
	z-index:2;
	--cew-ioh-gradient-start:0%;
	--cew-ioh-gradient-end:70%;
	background:linear-gradient(
		var(--cew-ioh-gradient-angle,90deg),
		var(--cew-ioh-gradient-one,rgba(24,0,86,.96)) var(--cew-ioh-gradient-start),
		var(--cew-ioh-gradient-two,rgba(60,23,166,0)) var(--cew-ioh-gradient-end)
	);
	opacity:1;
}

/* 4) Herringbone texture only — never replaces the hero photo */
.cew-ioh-pattern{
	z-index:3;
	background-image:var(--cew-ioh-texture-image);
	background-size:250px auto;
	background-repeat:repeat;
	background-position:var(--cew-ioh-pattern-x,50%) var(--cew-ioh-pattern-y,50%);
	opacity:.34;
	mix-blend-mode:soft-light;
}

.cew-ioh-content-wrap{
	position:relative;
	z-index:4;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	width:100%;
	min-height:inherit;
	padding:48px 64px;
}

.cew-ioh-content{
	width:100%;
	max-width:640px;
	min-width:0;
	text-align:left;
	color:#fff;
}

.cew-ioh-eyebrow{
	display:block;
	margin:0 0 12px;
	color:#fff;
	font-size:12px;
	line-height:1.35;
	font-weight:400;
	letter-spacing:.02em;
	text-transform:uppercase;
}

.cew-ioh-heading{
	display:block;
	margin:0 0 18px;
	padding:0;
	color:#fff;
	font-size:44px;
	line-height:1.06;
	font-weight:400;
	letter-spacing:-.025em;
}

.cew-ioh-description{
	display:block;
	max-width:600px;
	margin:0 0 24px;
	color:#fff;
	font-size:16px;
	line-height:1.45;
	font-weight:400;
}

.cew-ioh-buttons{
	display:flex;
	flex-direction:row;
	align-items:flex-start;
	flex-wrap:wrap;
	gap:16px;
	margin:0;
}

.cew-ioh-button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:48px;
	text-decoration:none;
	border-style:solid;
	border-width:1px;
	transition:
		color .25s ease,
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
	cursor:pointer;
}

.cew-ioh-button:hover{
	text-decoration:none;
}

.cew-ioh-button:focus-visible{
	outline:2px solid currentColor;
	outline-offset:3px;
}

.cew-ioh-button-one{
	min-width:145px;
	padding:14px 24px;
	color:#18004c;
	background:#fff;
	border-color:#fff;
}

.cew-ioh-button-one:hover{
	color:#fff;
	background:#18004c;
	border-color:#fff;
}

.cew-ioh-button-two{
	min-width:152px;
	padding:14px 24px;
	color:#fff;
	background:transparent;
	border-color:#fff;
}

.cew-ioh-button-two:hover{
	color:#18004c;
	background:#fff;
	border-color:#fff;
}

.cew-ioh-button svg{
	width:1em;
	height:1em;
	fill:currentColor;
}

.cew-ioh-mobile-copy{
	display:none;
}

/* Tablet */
@media(max-width:1024px){
	.cew-ioh-gradient-overlay{
		background:linear-gradient(
			var(--cew-ioh-gradient-angle-tablet,var(--cew-ioh-gradient-angle,90deg)),
			var(--cew-ioh-gradient-one,rgba(24,0,86,.96)) var(--cew-ioh-gradient-start,0%),
			var(--cew-ioh-gradient-two,rgba(60,23,166,0)) var(--cew-ioh-gradient-end,70%)
		);
	}

	.cew-ioh-content-wrap{
		padding:42px 40px;
	}

	.cew-ioh-heading{
		font-size:40px;
	}
}

/* Mobile */
@media(max-width:767px){
	.cew-ioh-inner{
		min-height:520px;
	}

	.cew-ioh-bg{
		background-image:var(--cew-ioh-mobile-image);
	}

	.cew-ioh-gradient-overlay{
		background:linear-gradient(
			var(--cew-ioh-gradient-angle-mobile,0deg),
			var(--cew-ioh-gradient-one,rgba(24,0,86,.96)) var(--cew-ioh-gradient-start,0%),
			var(--cew-ioh-gradient-two,rgba(60,23,166,0)) var(--cew-ioh-gradient-end,70%)
		);
	}

	.cew-ioh-content-wrap{
		justify-content:center;
		align-items:flex-end;
		padding:28px 24px 42px;
	}

	.cew-ioh-content{
		max-width:100%;
		text-align:center;
	}

	.cew-ioh-heading{
		font-size:28px;
		line-height:1.08;
		letter-spacing:-.02em;
	}

	.cew-ioh-description{
		max-width:100%;
		font-size:15px;
		line-height:1.45;
	}

	.cew-ioh-buttons{
		justify-content:center;
		flex-direction:row;
		flex-wrap:nowrap;
		gap:16px;
	}

	.cew-ioh-button{
		min-height:48px;
	}

	.cew-ioh-desktop-copy{
		display:none;
	}

	.cew-ioh-mobile-copy{
		display:inline;
	}
}

@media(max-width:380px){
	.cew-ioh-buttons{
		gap:10px;
	}

	.cew-ioh-button{
		min-width:0!important;
		flex:1 1 0;
		padding-left:12px!important;
		padding-right:12px!important;
	}
}

@media(prefers-reduced-motion:reduce){
	.cew-ioh-button{
		transition:none!important;
	}
}
