/**
 * Variant CSS: process--ghost-numeral-rows
 *
 * Process as an editorial stack — an oversized "ghost" numeral (soft accent
 * fill) sits left of each step's title + description, rows separated by
 * hairlines. A calm, magazine rhythm with a strong typographic accent, distinct
 * from the card grid, horizontal row and timeline variants. Text stays --ink
 * (polarity-aware); numerals + hairlines take --accent / color-mix. Part of the
 * `process` role.
 */

body.aibt-universal .universal-process--ghost-numeral-rows {
	padding-block: calc(clamp(3rem, 7vw, 5.5rem) * var(--density, 1));
}

/* Intro. */
body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__intro {
	margin-bottom: clamp(2rem, 4.5vw, 3.2rem);
}

body.aibt-universal .universal-process--ghost-numeral-rows .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--ghost-numeral-rows .universal-process__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 0 var(--space-md) 0 !important;
}

body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.74;
	margin: 0 !important;
	max-width: 54ch;
}

/* Steps stack. */
body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__step {
	gap: clamp(1.1rem, 3vw, 2.2rem) !important;
	align-items: center;
	padding-block: calc(clamp(1.2rem, 3vw, 1.8rem) * var(--density, 1));
	border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__step:first-child {
	border-top: none;
}

/* Ghost numeral. */
body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__num {
	flex: 0 0 auto;
	width: clamp(2.6rem, 7vw, 4.6rem);
	font-family: var(--font-display) !important;
	font-size: clamp(2.6rem, 6vw, 4.4rem) !important;
	font-weight: 700 !important;
	line-height: 0.9 !important;
	letter-spacing: -0.03em !important;
	color: color-mix(in srgb, var(--accent) 28%, transparent) !important;
	margin: 0 !important;
	text-align: left;
	font-variant-numeric: tabular-nums;
}

/* Body. */
body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__body {
	flex: 1 1 auto;
	min-width: 0;
}

body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__step-title {
	font-family: var(--font-display) !important;
	font-size: clamp(1.2rem, 2.4vw, 1.55rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em !important;
	color: var(--ink) !important;
	margin: 0 0 0.35rem 0 !important;
}

body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__step-desc {
	font-family: var(--font-body) !important;
	font-size: var(--text-base) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.72;
	margin: 0 !important;
	max-width: 60ch;
}

/* Mobile: tighten the numeral so the row never crowds the text. */
@media (max-width: 600px) {
	body.aibt-universal .universal-process--ghost-numeral-rows .universal-process__num {
		width: clamp(2rem, 12vw, 2.8rem);
		font-size: clamp(2rem, 11vw, 2.8rem) !important;
	}
}
