/**
 * Key Features section.
 *
 * @package Fundamento
 */

.key-features {
	background-color: var(--color-bg-default);
	padding: var(--space-160) var(--space-40);
	text-align: center;
}

.key-features__inner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
}

.key-features__heading {
	max-width: 52.75rem;
	margin: 0 auto var(--space-16);
	font-family: var(--font-family-display);
	font-size: var(--text-display-h1-alt-size);
	font-weight: 400;
	line-height: var(--text-display-h2-lh);
	letter-spacing: 0;
	color: var(--color-text-brand);
}

.key-features__desc {
	max-width: 45.25rem;
	margin: 0 auto var(--space-64);
	font-family: var(--font-family-body);
	font-size: var(--text-body-md-size);
	font-weight: 400;
	line-height: 1.4;
	color: var(--color-text-brand);
	text-align: center;
}

.key-features__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--space-32);
	max-width: 74rem;
	margin: 0 auto;
}

.key-features__card {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	background: transparent;
}

.key-features__image {
	width: 100%;
	aspect-ratio: 3 / 3;
	margin-bottom: var(--space-12);
	overflow: hidden;
	border-radius: 12px;
}

.key-features__image-media {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Cards with an inline animated SVG (Dynamic Journey Routing, Outcome Optimisation). */
.key-features__image--animated {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--space-32);
	background-color: var(--color-bg-inverse);
	cursor: pointer;
}

.key-features__svg {
	display: block;
	width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

.key-features__card-title {
	margin: 0 ;
	font-family: var(--font-family-body);
	font-size: var(--text-display-h7-size);
	font-weight: 500;
	line-height: var(--text-body-lg-lh);
	letter-spacing: 0;
	color: var(--color-text-brand);
	text-align: left;
}

.key-features__card-text {
	margin: 0;
	font-family: var(--font-family-body);
	font-size: var(--text-body-md-size);
	font-weight: 400;
	line-height: 1.4;
	color: var(--color-text-brand);
	text-align: left;
}

.key-features__card-text + .key-features__card-text {
	margin-top: var(--space-8);
}

/* Tablet */
@media (max-width: 1024px) {
	.key-features {
		padding: var(--space-64) var(--space-32);
	}

	.key-features__heading {
		font-size: var(--text-display-h3-size);
		line-height: var(--text-display-h3-lh);
		letter-spacing: var(--text-display-h3-ls);
	}

	.key-features__grid {
		grid-template-columns: 1fr;
	}
}

/* Mobile */
@media (max-width: 768px) {
	.key-features {
		padding: var(--space-48) var(--space-20);
	}

	.key-features__heading {
		font-size: var(--text-display-h4-size);
		line-height: var(--text-display-h4-lh);
		letter-spacing: var(--text-display-h4-ls);
	}

	.key-features__image {
		aspect-ratio: 16 / 9;
	}
}
