/**
 * NovaBP Home — About Nova
 *
 * Section 3 of the Home page: a 580px copy column beside a 440px photograph
 * whose lower half fades to black and carries a row of statistics.
 *
 * Built on `novabp-tax-base` for the section shell, header stack and button.
 *
 * Figma reference: NOVABP - Landing Page (Copy), node 16:8183
 * — copy column 16:8217, media 16:8235, stat bar 26:8782, divider 26:8787.
 */

.nova-home-about {
	--nova-home-about-media-height: 440px;
	--nova-home-about-scrim: #00000f;
	--nova-home-about-divider: #ffffff;
}

.nova-home-about__inner {
	display: flex;
	align-items: center;
	gap: 80px;
}

/*
 * A fixed basis rather than a share: Figma draws the column at 580px and lets
 * the photograph take the rest, so the copy measure holds while the image
 * absorbs the extra width on a wide screen. `min-width: 0` stops a long word in
 * the heading from pushing the basis out.
 */
.nova-home-about__copy {
	flex: 0 1 580px;
	min-width: 0;
}

/* ---------------------------------------------------------------------------
 * Media
 * ------------------------------------------------------------------------ */

/*
 * The fade and the photograph share one `background-image` stack so their order
 * is fixed. The photograph arrives as a custom property because it is a widget
 * setting; the fade is a literal, and listing the fade first puts it on top.
 */
.nova-home-about__media {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
	height: var(--nova-home-about-media-height);
	border: 4px solid #e0e2e7;
	border-radius: 24px;
	background-color: #f7f7f7;
	background-image:
		linear-gradient(180deg, rgb(0 0 0 / 0) 50%, var(--nova-home-about-scrim) 100%),
		var(--nova-home-about-image, none);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

/* ---------------------------------------------------------------------------
 * Statistics
 * ------------------------------------------------------------------------ */

.nova-home-about .nova-home-about__stats {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 32px 28px;
}

/*
 * Each statistic takes an equal share so the dividers land on even intervals
 * regardless of how long the labels run.
 */
.nova-home-about__stat {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.nova-home-about .nova-home-about__stat-value {
	margin: 0;
	font-family: var(--nova-tax-font);
	font-size: 36px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: rgb(255 255 255 / 0.99);
}

.nova-home-about .nova-home-about__stat-label {
	margin: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: rgb(255 255 255 / 0.7);
}

/*
 * A drawn hairline, not a border: Figma fades it out at both ends, which a
 * border cannot do. 70px tall and 1px wide, at half opacity.
 */
.nova-home-about__divider {
	flex: 0 0 1px;
	align-self: center;
	width: 1px;
	height: 70px;
	background-image: linear-gradient(180deg,
			rgb(255 255 255 / 0) 0%,
			var(--nova-home-about-divider) 50%,
			rgb(255 255 255 / 0) 100%);
	opacity: 0.5;
}

/* ---------------------------------------------------------------------------
 * Responsive
 * ------------------------------------------------------------------------ */

@media (max-width: 1366px) {
	.nova-home-about__inner {
		gap: 48px;
	}

	.nova-home-about__copy {
		flex-basis: 42%;
	}

	.nova-home-about .nova-home-about__stat-value {
		font-size: 30px;
	}
}

@media (max-width: 1024px) {

	/*
	 * Below the tablet break the pair stacks: the copy column gives up its
	 * basis and the photograph goes full width under it.
	 */
	.nova-home-about__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 32px;
	}

	.nova-home-about__copy {
		flex-basis: auto;
	}

	.nova-home-about {
		--nova-home-about-media-height: 400px;
	}
}

@media (max-width: 767px) {
	.nova-home-about {
		--nova-home-about-media-height: 340px;
	}

	.nova-home-about .nova-home-about__stats {
		gap: 12px;
		padding: 20px 16px;
	}

	.nova-home-about .nova-home-about__stat-value {
		font-size: 24px;
	}

	.nova-home-about .nova-home-about__stat-label {
		font-size: 13px;
	}

	.nova-home-about__divider {
		height: 48px;
	}
}
