/* GF Service Banner (Figma 82:19821) — 438 | 865 | 438 images (557 tall), awards row 878 + 878 */
.gf-sbanner {
	--gf-sbanner-gap: 17px;
}

.gf-sbanner__row {
	display: grid;
	grid-template-columns: var(--gf-sbanner-side, minmax(0, 438fr)) minmax(0, 865fr) var(--gf-sbanner-side, minmax(0, 438fr));
	gap: var(--gf-sbanner-gap);
	height: 557px;
}

.gf-sbanner__box {
	position: relative;
	overflow: hidden;
	border: 1px solid #d4d4d4;
	border-radius: 12px;
}

.gf-sbanner__box--side {
	background-color: #b9b9b9;
}

.gf-sbanner__box--middle {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 50px;
	background-color: var(--gf-navy);
}

/* Extra specificity: beats Elementor/theme `img { height: auto }` resets */
.gf-sbanner .gf-sbanner__box .gf-sbanner__img {
	position: absolute;
	inset: 0;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
}

.gf-sbanner .gf-sbanner__box--middle .gf-sbanner__img {
	opacity: .15;
}

.gf-sbanner__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 32px;
	max-width: 753px;
	text-align: center;
}

.gf-sbanner__title {
	margin: 0;
	font-family: var(--gf-font-alt);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.03;
	letter-spacing: -.72px;
	color: var(--gf-white);
}

.gf-sbanner__desc {
	max-width: 725px;
	margin: 0;
	font-family: var(--gf-font-body);
	font-size: 18px;
	line-height: 1.24;
	letter-spacing: -.18px;
	color: var(--gf-white);
}

.gf-sbanner__buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

/* Awards row */
.gf-sbanner__awards {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 19px;
	margin-top: var(--gf-sbanner-gap);
}

.gf-sbanner__awards.has-medal {
	padding-bottom: 49.5px;
}

.gf-sbanner__award,
.gf-sbanner__rating {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 212px;
	overflow: hidden;
	border: 1px solid #d4d4d4;
	border-radius: 12px;
	container-type: inline-size;
}

.gf-sbanner__award {
	gap: 5.24cqw;
	padding: 20px 48px 20px 49px;
	background-color: #cfac6e;
}

.gf-sbanner__award-logo {
	flex: 0 1 517px;
	width: 58.9cqw;
	max-width: 517px;
	height: auto;
	mix-blend-mode: multiply;
}

.gf-sbanner__award-copy,
.gf-sbanner__rating-score,
.gf-sbanner__highlight {
	display: flex;
	flex-direction: column;
}

.gf-sbanner__award-copy {
	flex: 0 0 217px;
	color: #845e2b;
}

.gf-sbanner__award-year,
.gf-sbanner__rating-value,
.gf-sbanner__highlight-title {
	font-family: var(--gf-font-alt);
	font-size: 36px;
	font-weight: 700;
	line-height: 1.16;
	letter-spacing: -1.44px;
}

.gf-sbanner__award-year {
	color: #845e2b;
}

.gf-sbanner__award-text {
	font-family: var(--gf-font-alt);
	font-size: 21px;
	font-weight: 400;
	line-height: 1.24;
	letter-spacing: -.42px;
	color: #845e2b;
}

.gf-sbanner__rating {
	gap: 41px;
	padding: 20px 44px;
	background-color: #323232;
}

.gf-sbanner__rating-score {
	flex: 0 0 132px;
	gap: 2px;
}

.gf-sbanner__rating-score img {
	display: block;
}

.gf-sbanner__rating-value {
	color: var(--gf-white);
}

.gf-sbanner__rating-text {
	font-family: var(--gf-font-alt);
	font-size: 24px;
	line-height: 1.24;
	letter-spacing: -.48px;
	white-space: nowrap;
	color: var(--gf-white);
}

.gf-sbanner__highlight {
	gap: 8px;
	max-width: 616px;
}

.gf-sbanner__highlight-title {
	color: #cfac6e;
}

.gf-sbanner__highlight-text {
	font-family: var(--gf-font-body);
	font-size: 18px;
	line-height: 1.24;
	letter-spacing: -.18px;
	color: #cfac6e;
}

/* Medal between the two cards */
.gf-sbanner__medal {
	position: absolute;
	top: 102px;
	left: 50%;
	z-index: 2;
	width: 159.3px;
	height: 159.3px;
	transform: translateX(-50%);
	pointer-events: none;
}

.gf-sbanner__medal-ribbon {
	position: absolute;
	top: 0;
	left: 12.9px;
	max-width: none;
}

.gf-sbanner__medal-badge {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(.42deg);
}

.gf-sbanner__medal-logo {
	position: absolute;
	top: 25px;
	left: 58.5px;
	width: 43px;
	height: 58px;
	overflow: hidden;
	mix-blend-mode: overlay;
}

.gf-sbanner__medal-logo img {
	position: absolute;
	top: 0;
	left: -16.67%;
	width: 133.33%;
	max-width: none;
	height: 100%;
}

/* Responsive */
@media (max-width: 1599px) {
	.gf-sbanner__award-text,
	.gf-sbanner__rating-text {
		font-size: 18px;
	}

	.gf-sbanner__award-year,
	.gf-sbanner__rating-value,
	.gf-sbanner__highlight-title {
		font-size: 30px;
	}

	.gf-sbanner__highlight-text {
		font-size: 16px;
	}

	.gf-sbanner__rating {
		gap: 28px;
		padding: 20px 30px;
	}

	.gf-sbanner__award {
		padding: 20px 30px;
	}

	.gf-sbanner__award-copy {
		flex-basis: 190px;
	}
}

@media (max-width: 1199px) {
	.gf-sbanner__row {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: 380px 300px;
		height: auto;
	}

	.gf-sbanner__box--middle {
		grid-column: 1 / -1;
		order: -1;
	}

	.gf-sbanner__awards {
		grid-template-columns: 1fr;
	}

	.gf-sbanner__awards.has-medal {
		padding-bottom: 0;
	}

	.gf-sbanner__medal {
		display: none;
	}
}

@media (max-width: 767px) {
	.gf-sbanner__row {
		grid-template-rows: auto 220px;
	}

	.gf-sbanner__box--middle {
		padding: 50px 20px;
	}

	.gf-sbanner__title {
		font-size: 28px;
	}

	.gf-sbanner__desc {
		font-size: 15px;
	}

	.gf-sbanner__buttons > a {
		flex: 1 1 100%;
	}

	.gf-sbanner__award,
	.gf-sbanner__rating {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding: 24px 20px;
	}

	.gf-sbanner__award-logo {
		width: 100%;
		flex-basis: auto;
	}

	.gf-sbanner__award-copy,
	.gf-sbanner__rating-score {
		flex-basis: auto;
	}

	.gf-sbanner__award-year,
	.gf-sbanner__rating-value,
	.gf-sbanner__highlight-title {
		font-size: 26px;
	}
}
