/* Section: Process Steps */

.tra-process {
	position: relative;
	overflow: hidden;
}

.tra-process__inner {
	position: relative;
	z-index: 1;
}

.tra-process__grid {
	--tra-grid-gap: 3rem;
	position: relative;
}

.tra-process__heading + .tra-process__grid {
	margin-top: 5rem;
}

/* Horizontal hairline behind the cards - large screens only. */
.tra-process__connector {
	display: none;
}

/* ------------------------------------------------------------------ card */

.tra-process__item {
	position: relative;
	z-index: 1;
	transition: background-color var(--tra-transition), border-color var(--tra-transition);
}

.tra-process__item:hover {
	background-color: var(--tra-step-hover, var(--tra-accent));
	border-color: var(--tra-step-hover, var(--tra-accent));
}

.tra-process__number {
	font-size: var(--tra-fs-4xl);
	font-weight: 900;
	line-height: 1;
	opacity: 0.2;
	transition: opacity var(--tra-transition);
}

.tra-process__item:hover .tra-process__number {
	opacity: 1;
}

.tra-process__title {
	margin-top: 1.5rem;
	letter-spacing: -0.05em;
	text-transform: uppercase;
}

.tra-process__text {
	margin-top: 1rem;
	font-size: var(--tra-fs-sm);
	line-height: 1.625;
	color: rgb(255 255 255 / 0.6);
	transition: color var(--tra-transition);
}

.tra-process__item:hover .tra-process__text {
	color: #fff;
}

@media (prefers-reduced-motion: reduce) {
	.tra-process__item,
	.tra-process__number,
	.tra-process__text {
		transition: none;
	}
}

@media (min-width: 1024px) {
	.tra-process__connector {
		display: block;
		position: absolute;
		top: 50%;
		left: 0;
		z-index: 0;
		width: 100%;
		height: 1px;
		background-color: rgb(255 255 255 / 0.1);
		transform: translateY(-50%);
	}
}

/* Source leading: text-4xl pairs with 2.5rem (40px). */
.tra-process__number {
	line-height: 1.1111;
}
