/* Section: Step Timeline */

.tra-steps {
	--tra-pad-block: 4rem;
	--tra-steps-gap: 2rem;
	background-color: var(--tra-section-bg, transparent);
}

.tra-steps__heading {
	margin-bottom: 1.5rem;
}

.tra-steps__list {
	display: flex;
	flex-direction: column;
	gap: var(--tra-steps-gap);
	margin-top: 3rem;
}

.tra-steps__item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
}

/* Oversized variant of the shared .tra-index badge (source: w-16 h-16 text-2xl). */
.tra-steps__number {
	width: 3rem;
	height: 3rem;
	border-radius: var(--tra-r-md);
	background-color: var(--tra-steps-accent, var(--tra-accent));
	color: var(--tra-steps-number-ink, #ffffff);
	font-size: var(--tra-fs-xl);
	transition: transform var(--tra-transition);
}

.tra-steps .tra-steps__number.tra-index--dark {
	background-color: var(--tra-steps-dark, var(--tra-primary));
}

.tra-steps__list--hover .tra-steps__item:hover .tra-steps__number {
	transform: scale(1.1);
}

.tra-steps__body {
	flex: 1 1 auto;
	min-width: 0;
}

/* text-xl pairs with 1.75rem (28px) leading. */
.tra-steps__title {
	margin: 0 0 0.5rem;
	font-size: var(--tra-fs-xl);
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--tra-ink);
}

@media (min-width: 768px) {
	.tra-steps__item {
		gap: 2rem;
	}

	.tra-steps__number {
		width: 4rem;
		height: 4rem;
		font-size: var(--tra-fs-2xl);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tra-steps__number {
		transition: none;
	}

	.tra-steps__list--hover .tra-steps__item:hover .tra-steps__number {
		transform: none;
	}
}
