/**
 * Variant CSS: process--big-numeral-photo-steps
 * Layer 2 — Path B process role (2026-06-06).
 * Clean step rows: an oversized ghost numeral layered behind a small square photo,
 * with title + desc beside it. Same side every row (no zig-zag); the numeral
 * overlaps the photo's top-left corner for a layered editorial feel.
 * Every selector scoped to .universal-process--big-numeral-photo-steps (no global leak).
 */

body.aibt-universal .universal-process--big-numeral-photo-steps {
	background: var(--background);
	color: var(--text-primary);
	padding-block: calc(clamp(3rem, 7vw, 6rem) * var(--density, 1));
}

/* Left-aligned editorial intro (heading binds via overrides). */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__intro {
	margin-bottom: var(--space-2xl);
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__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-process--big-numeral-photo-steps .universal-process__headline {
	font-family: var(--font-display) !important;
	color: var(--text-primary) !important;
	margin: 0 !important;
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__headline em {
	color: var(--accent) !important;
	font-style: italic;
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: var(--space-sm) 0 0 0 !important;
	max-width: 56ch;
}

/* Stack rows with a comfortable rhythm + hairlines between. */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__steps {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__row {
	gap: clamp(1.5rem, 4vw, 3rem) !important;
	align-items: center !important;
	margin: 0 !important;
	padding-block: calc(clamp(1.75rem, 4vw, 3rem) * var(--density, 1));
	border-top: 1px solid var(--divider-primary);
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__row:first-child {
	border-top: 0;
	padding-top: 0;
}

/* Media column anchors the ghost numeral overlay. */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__media {
	position: relative;
}

/* Big ghost numeral — sits over the photo's top-left corner, low opacity. */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__num {
	position: absolute;
	top: -0.35em;
	left: -0.12em;
	z-index: 2;
	font-family: var(--font-display) !important;
	font-weight: 800 !important;
	font-size: clamp(4.5rem, 11vw, 8rem) !important;
	line-height: 0.8 !important;
	letter-spacing: -0.05em !important;
	color: var(--accent) !important;
	opacity: 0.92;
	margin: 0 !important;
	pointer-events: none;
	text-shadow: 0 2px 18px color-mix(in srgb, var(--ink) 22%, transparent);
}

/* Small square photo. */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo {
	margin: 0 !important;
	border-radius: var(--decor-radius);
	overflow: hidden;
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--decor-radius);
}

/* Text column. */
body.aibt-universal .universal-process--big-numeral-photo-steps h3.universal-process__step-title,
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__step-title {
	font-family: var(--font-display) !important;
	font-weight: 600 !important;
	font-size: var(--text-2xl) !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: var(--text-primary) !important;
	margin: 0 0 var(--space-xs) 0 !important;
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__step-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--text-secondary) !important;
	margin: 0 !important;
	max-width: 54ch;
}

@media (max-width: 781px) {
	/* Stack media above text; keep the numeral overlapping the photo corner. */
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__row {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: var(--space-md) !important;
		padding-block: calc(clamp(1.5rem, 6vw, 2.25rem) * var(--density, 1));
	}
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__media,
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__body {
		flex-basis: 100% !important;
		width: 100% !important;
	}
	/* Cap photo width on phones so the square never dominates the column. */
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__media {
		max-width: 320px;
	}
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__num {
		font-size: clamp(4rem, 20vw, 6rem) !important;
	}
}

/* Focus ring + hover lift on the photo for polish. */
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo img {
	transition: transform var(--duration-fast) var(--ease-default);
}
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo:hover img {
	transform: scale(1.03);
}
body.aibt-universal .universal-process--big-numeral-photo-steps a:focus-visible,
body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo:focus-visible {
	outline: 2px solid var(--accent);
	outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo img,
	body.aibt-universal .universal-process--big-numeral-photo-steps .universal-process__photo:hover img {
		transition: none;
		transform: none;
	}
}
