/**
 * Variant CSS: stats--figure-beside-photo
 *
 * Two-column split: on one side a dominant hero figure (figure + label +
 * context) with two smaller support stats stacked beneath, separated from the
 * hero by a hairline and from each other by a divider; on the other side a
 * supporting photo that fills the column. Structurally distinct from
 * hero-figure-plus-breakdown (hero + 3 ledger rows, no photo) and
 * feature-figure-with-support (hero + 3 supports, no photo): here the numbers
 * sit next to a real image so the proof gets human/visual context.
 * Static — no JS counters. EVERY selector scoped to
 * .universal-stats--figure-beside-photo.
 */

body.aibt-universal .universal-stats--figure-beside-photo {
	padding-block: calc(clamp(3rem, 7vw, 5rem) * var(--density, 1));
}

/* Split — center-aligned so the figures stack and the photo share a midline. */
body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__split {
	gap: clamp(2rem, 5vw, 4rem) !important;
	align-items: center !important;
}

/* Intro type. */
body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 0 clamp(1.6rem, 3.5vw, 2.4rem) 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__headline em {
	font-style: normal;
	color: var(--accent) !important;
}

/* Hero figure — the dominant number. */
body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__hero {
	padding-bottom: calc(clamp(1.4rem, 3vw, 2rem) * var(--density, 1));
	margin-bottom: clamp(1.4rem, 3vw, 2rem);
	border-bottom: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__hero-figure {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: clamp(3.2rem, 7.5vw, 5.4rem) !important;
	line-height: 0.92 !important;
	letter-spacing: -0.04em !important;
	color: var(--accent) !important;
	font-variant-numeric: tabular-nums;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__hero-label {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	color: var(--ink) !important;
	margin: 0 0 0.4rem 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__hero-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed, 1.6) !important;
	color: var(--text-secondary, color-mix(in srgb, var(--ink) 66%, transparent)) !important;
	margin: 0 !important;
	max-width: 38ch;
}

/* Two support stats — side by side, split by a vertical divider. */
body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__supports {
	gap: 0 !important;
	align-items: stretch !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support {
	flex: 1 1 0;
	min-width: 0;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support + .universal-stats__support {
	padding-left: clamp(1.2rem, 3vw, 2rem);
	margin-left: clamp(1.2rem, 3vw, 2rem);
	border-left: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support-figure {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	font-size: clamp(1.8rem, 4vw, 2.6rem) !important;
	line-height: 1 !important;
	letter-spacing: -0.025em !important;
	color: var(--ink) !important;
	font-variant-numeric: tabular-nums;
	margin: 0 0 0.4rem 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support-label {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--ink) !important;
	margin: 0 0 0.15rem 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	line-height: 1.4 !important;
	color: var(--text-secondary, color-mix(in srgb, var(--ink) 62%, transparent)) !important;
	margin: 0 !important;
}

/* Supporting photo — fills the column with a soft frame. */
body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__photo {
	margin: 0 !important;
}

body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: var(--decor-radius, 12px);
	/* Hairline frame + soft lift so the photo reads as a defined object,
	   not a bleed against the section bg. Token-composed (no raw rgba). */
	border: 1px solid color-mix(in srgb, var(--ink) 8%, transparent);
	box-shadow: 0 1.5rem 3rem -1.5rem color-mix(in srgb, var(--ink) 26%, transparent);
}

/* Tablet/phone — stack figures above photo; photo gets a wider crop. */
@media (max-width: 781px) {
	body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__split {
		gap: clamp(1.8rem, 5vw, 2.6rem) !important;
	}
	body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__photo img {
		aspect-ratio: 16 / 10;
	}
}

/* Phone — stack the two supports; cap uppercase kicker tracking to 0 (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__kicker {
		letter-spacing: 0 !important;
	}
	body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__supports {
		flex-direction: column !important;
		gap: 1.2rem !important;
	}
	body.aibt-universal .universal-stats--figure-beside-photo .universal-stats__support + .universal-stats__support {
		padding-left: 0;
		margin-left: 0;
		padding-top: 1.2rem;
		border-left: 0;
		border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
	}
}
