/*
 * Home "How we work" (patterns/home-insight.php). Values from the old
 * homepage-insight-to-execution-section.tsx. From lg the section is 300vh
 * and its content sticks for the first 200vh while
 * assets/js/patterns/home-insight.js raises the second and third steps.
 */
.sp-home-insight {
	position: relative;
	background: var(--wp--preset--color--white);
}
.sp-home-insight .sp-home-insight__pin {
	position: relative;
	overflow: hidden;
	padding-block: 40px;
	background: var(--wp--preset--color--white);
}
.sp-home-insight .sp-home-insight__container {
	position: relative;
	z-index: 10;
}

/* Section title (old SectionTitle, no description). */
.sp-home-insight .sp-home-insight__head.sp-home-insight__head {
	max-width: 26rem;
	margin-bottom: 40px;
}
.sp-home-insight .sp-home-insight__label.sp-home-insight__label {
	margin-bottom: 20px;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: currentColor;
	opacity: 0.6;
}
.sp-home-insight .sp-home-insight__title {
	font-size: var(--wp--preset--font-size--heading-2);
	line-height: 1.05;
	font-weight: 600;
	letter-spacing: -0.025em;
	white-space: pre-line;
}

/* Steps. */
.sp-home-insight .sp-home-insight__cards {
	display: grid;
	gap: 12px;
}
.sp-home-insight .sp-home-insight__card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 260px;
	padding: 8px 12px 24px;
	overflow: hidden;
}
.sp-home-insight .sp-home-insight__line {
	position: absolute;
	inset: 0 auto 0 0;
	width: 2px;
	margin: 0;
	overflow: hidden;
	pointer-events: none;
}
.sp-home-insight .sp-home-insight__line img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.sp-home-insight .sp-home-insight__step.wp-block-cover {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 97px;
	height: 77px;
	min-height: 0;
	margin-bottom: 24px;
	padding: 0;
	overflow: visible;
}
.sp-home-insight .sp-home-insight__step > .wp-block-cover__image-background {
	object-fit: contain;
}
.sp-home-insight .sp-home-insight__step > .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	color: var(--wp--preset--color--white);
}
.sp-home-insight .sp-home-insight__number {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 36px;
	line-height: 40px;
	font-weight: 600;
	color: var(--wp--preset--color--white);
}
.sp-home-insight .sp-home-insight__card-title {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -0.025em;
}
.sp-home-insight .sp-home-insight__card-text {
	margin-top: 8px;
	font-size: var(--wp--preset--font-size--body-large);
	line-height: 1.28;
	color: color-mix(in srgb, var(--wp--preset--color--black) 50%, transparent);
}

/* Closing line. */
.sp-home-insight .sp-home-insight__closing {
	padding-top: 80px;
	text-align: left;
}
.sp-home-insight .sp-home-insight__closing-line,
.sp-home-insight .sp-home-insight__closing-accent {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 0.95;
	font-weight: 500;
	letter-spacing: -0.025em;
	white-space: pre-line;
	color: var(--wp--preset--color--black-light);
}
.sp-home-insight .sp-home-insight__closing-accent { color: var(--wp--preset--color--primary); }

@media (min-width: 1024px) {
	.sp-home-insight { height: 300vh; }
	/* Clear the fixed header (84px) by 16px while pinned, as How we help does;
	   the container's own bottom padding is enough below. */
	.sp-home-insight .sp-home-insight__pin {
		position: sticky;
		top: 0;
		height: 100vh;
		padding-top: 100px;
		padding-bottom: 0;
	}
	.sp-home-insight .sp-home-insight__container {
		display: grid;
		grid-template-rows: auto minmax(0, 1fr) auto;
		row-gap: clamp(1rem, 2.5vh, 2rem);
		height: 100%;
		padding-bottom: clamp(1rem, 3vh, 2.5rem);
	}
	.sp-home-insight .sp-home-insight__title {
		font-size: clamp(3rem, 7vh, 4.5rem);
		line-height: 0.92;
	}
	.sp-home-insight .sp-home-insight__cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: 24px;
		min-height: 0;
		overflow: hidden;
	}
	.sp-home-insight .sp-home-insight__card {
		min-height: 220px;
		padding: 4px 16px 16px;
	}
	.sp-home-insight .sp-home-insight__step.wp-block-cover {
		width: 80px;
		height: 64px;
		margin-bottom: 16px;
	}
	.sp-home-insight .sp-home-insight__card-title { font-size: clamp(2rem, 3vw, 2.75rem); }
	.sp-home-insight .sp-home-insight__card-text { font-size: clamp(0.95rem, 1.25vw, 1.0625rem); }
	.sp-home-insight .sp-home-insight__closing {
		align-self: end;
		padding-top: 0;
		text-align: right;
	}
	.sp-home-insight .sp-home-insight__closing-line,
	.sp-home-insight .sp-home-insight__closing-accent { font-size: clamp(2rem, 5.2vh, 3.4rem); }

	/* Steps after the first wait below until home-insight.js raises them. */
	html.sp-js .sp-home-insight .sp-home-insight__card:nth-child(n+2) {
		visibility: hidden;
		opacity: 0;
		transform: translateY(115%);
		will-change: transform;
	}
}
@media (min-width: 1280px) {
	.sp-home-insight .sp-home-insight__card-text { max-width: 60%; }
}

.editor-styles-wrapper .sp-home-insight { height: auto; }
.editor-styles-wrapper .sp-home-insight .sp-home-insight__pin { position: static; height: auto; }
