.elementor-widget-bac-feature-cards,
.elementor-widget-bac-feature-cards > .elementor-widget-container {
	margin: 0;
	padding: 0;
	border: 0;
}

.bac-feature-cards {
	--bac-red: #ed1c24;
	--bac-black: #050505;
	--bac-overlay-bottom: rgba(0,0,0,.96);
	--bac-overlay-middle: rgba(0,0,0,.58);
	--bac-overlay-top: rgba(0,0,0,.12);
	--bac-hover-darkness: .12;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	background: #fff;
	box-sizing: border-box;
	font-family: Inter, "Helvetica Neue", Arial, sans-serif;
}

.bac-feature-cards *,
.bac-feature-cards *::before,
.bac-feature-cards *::after { box-sizing: border-box; }

.bac-feature-cards__inner {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 96px 24px;
}

.bac-feature-cards__header { max-width: 820px; margin: 0 0 44px; padding: 0; }
.bac-feature-cards__section-eyebrow {
	margin: 0 0 12px;
	color: var(--bac-red);
	font-size: 13px;
	font-weight: 850;
	letter-spacing: .18em;
	line-height: 1.2;
	text-transform: uppercase;
}
.bac-feature-cards__heading {
	margin: 0;
	color: var(--bac-black);
	font-size: clamp(40px, 5vw, 66px);
	font-weight: 950;
	letter-spacing: -.045em;
	line-height: .98;
	text-transform: uppercase;
}
.bac-feature-cards__section-description {
	max-width: 680px;
	margin: 20px 0 0;
	color: #444;
	font-size: 18px;
	line-height: 1.55;
}

.bac-feature-cards__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	width: 100%;
	margin: 0;
	padding: 0;
}

.bac-feature-card {
	--bac-card-overlay-opacity: .82;
	--bac-card-desktop-x: 50%;
	--bac-card-desktop-y: 50%;
	--bac-card-mobile-x: 50%;
	--bac-card-mobile-y: 50%;
	position: relative;
	display: flex;
	align-items: flex-end;
	min-width: 0;
	min-height: 420px;
	margin: 0;
	padding: 0;
	border: 0 solid transparent;
	isolation: isolate;
	overflow: hidden;
	background: #111;
	color: #fff;
	text-decoration: none !important;
}

a.bac-feature-card { cursor: pointer; }
.bac-feature-card__image,
.bac-feature-card__overlay {
	position: absolute;
	inset: 0;
	z-index: -2;
	pointer-events: none;
}
.bac-feature-card__image {
	background-color: #111;
	background-image: var(--bac-card-desktop-image);
	background-position: var(--bac-card-desktop-x) var(--bac-card-desktop-y);
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale(1.001);
	transition: transform 350ms cubic-bezier(.2,.65,.3,1);
}
.bac-feature-card__overlay {
	z-index: -1;
	background: linear-gradient(to top, var(--bac-overlay-bottom) 0%, var(--bac-overlay-middle) 48%, var(--bac-overlay-top) 100%);
	opacity: var(--bac-card-overlay-opacity);
}
.bac-feature-card__overlay::after {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,var(--bac-hover-darkness));
	content: "";
	opacity: 0;
	transition: opacity 350ms ease;
}

.bac-feature-card__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 620px;
	padding: 38px;
}
.bac-feature-card__eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0 0 14px;
	color: var(--bac-red);
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .17em;
	line-height: 1.2;
	text-transform: uppercase;
}
.bac-feature-cards--accent .bac-feature-card__eyebrow::before {
	display: block;
	flex: 0 0 24px;
	width: 24px;
	height: 3px;
	background: currentColor;
	content: "";
}
.bac-feature-card__heading {
	margin: 0;
	color: #fff;
	font-size: clamp(30px, 3.1vw, 46px);
	font-weight: 950;
	letter-spacing: -.035em;
	line-height: 1;
	text-transform: uppercase;
}
.bac-feature-card__description {
	max-width: 480px;
	margin: 17px 0 0;
	color: #e7e7e7;
	font-size: 16px;
	font-weight: 450;
	line-height: 1.5;
}
.bac-feature-card__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: 20px 0 -10px;
	padding: 10px 0;
	color: var(--bac-red) !important;
	font-size: 12px;
	font-weight: 850;
	letter-spacing: .13em;
	line-height: 1.2;
	text-decoration: none !important;
	text-transform: uppercase;
}
.bac-feature-card__link::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 3px;
	background: var(--bac-red);
	content: "";
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 350ms ease;
}
.bac-feature-card__link span { font-size: 18px; transition: transform 350ms ease; }

.bac-feature-card:hover .bac-feature-card__image,
.bac-feature-card:focus-visible .bac-feature-card__image,
.bac-feature-card:focus-within .bac-feature-card__image { transform: scale(1.055); }
.bac-feature-card:hover .bac-feature-card__overlay::after,
.bac-feature-card:focus-visible .bac-feature-card__overlay::after,
.bac-feature-card:focus-within .bac-feature-card__overlay::after { opacity: 1; }
.bac-feature-card:hover .bac-feature-card__link::after,
.bac-feature-card:focus-visible .bac-feature-card__link::after,
.bac-feature-card:focus-within .bac-feature-card__link::after { transform: scaleX(1); }
.bac-feature-cards--animate-arrow .bac-feature-card:hover .bac-feature-card__link span,
.bac-feature-cards--animate-arrow .bac-feature-card:focus-visible .bac-feature-card__link span,
.bac-feature-cards--animate-arrow .bac-feature-card:focus-within .bac-feature-card__link span { transform: translateX(4px); }

.bac-feature-card:focus-visible,
.bac-feature-card__link:focus-visible {
	outline: 3px solid #fff;
	outline-offset: -7px;
}
.bac-feature-card__link:focus-visible { outline-color: var(--bac-red); outline-offset: 3px; }

@media (max-width: 1024px) {
	.bac-feature-cards__inner { padding: 76px 24px; }
	.bac-feature-cards__header { margin-bottom: 34px; }
	.bac-feature-card { min-height: 380px; }
	.bac-feature-card__content { padding: 30px; }
	.bac-feature-card__heading { font-size: clamp(28px, 4vw, 38px); }
}

@media (max-width: 767px) {
	.bac-feature-cards__inner { padding: 64px 18px; }
	.bac-feature-cards__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.bac-feature-cards__heading { font-size: clamp(36px, 11vw, 48px); }
	.bac-feature-cards__section-description { font-size: 16px; }
	.bac-feature-card { min-height: 340px; }
	.bac-feature-card__image { background-image: var(--bac-card-mobile-image); background-position: var(--bac-card-mobile-x) var(--bac-card-mobile-y); }
	.bac-feature-card__content { padding: 26px 24px 28px; }
	.bac-feature-card__heading { font-size: clamp(29px, 8.5vw, 38px); }
	.bac-feature-card__description { margin-top: 14px; font-size: 15px; }
	.bac-feature-card__link { margin-top: 16px; }
}

@media (prefers-reduced-motion: reduce) {
	.bac-feature-cards *,
	.bac-feature-cards *::before,
	.bac-feature-cards *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
