/*
 * Process — DESIGN.md §17. Three sequential phases (3 steps each), not 9
 * cards and not a 5+4 stepped grid (rejected: unclear sequence, arbitrary
 * connector). Desktop: 3 columns, thin vertical dividers between phases,
 * a short vertical timeline of 3 steps inside each column.
 */

.process {
	position: relative;
	background: var(--ark-bg-800);
	padding-block: var(--ark-space-section-lg);
}

.process__header {
	margin-bottom: 56px;
}

.process__overline {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--ark-text-secondary);
	margin: 0 0 16px;
}

.process__title {
	font-size: var(--ark-fs-h2);
	font-weight: 600;
	line-height: 1.15;
	color: var(--ark-text-primary);
	margin: 0 0 18px;
}

.process__lead {
	max-width: 560px;
	font-size: 1.05rem;
	color: var(--ark-text-secondary);
	margin: 0;
	text-wrap: balance;
}

.process__phases {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 48px;
}

.process__phase {
	padding-inline-start: 32px;
	border-left: 1px solid var(--ark-border-soft);
}

.process__phase:first-child {
	padding-inline-start: 0;
	border-left: none;
}

.process__phase-label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--ark-text-muted);
	margin: 0 0 28px;
}

.process__timeline {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* The single line connecting the 3 steps within a phase. */
.process__timeline::before {
	content: "";
	position: absolute;
	top: 6px;
	bottom: 6px;
	left: 3px;
	width: 1px;
	background: var(--ark-border-medium);
}

.process__step {
	position: relative;
	padding-left: 28px;
	padding-bottom: 30px;
}

.process__step:last-child {
	padding-bottom: 0;
}

.process__step::before {
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--ark-border-titanium);
}

.process__step-number {
	display: block;
	font-family: var(--ark-font-display);
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--ark-border-titanium);
	margin-bottom: 6px;
}

.process__step-title {
	display: block;
	font-size: 0.98rem;
	line-height: 1.5;
	color: var(--ark-text-secondary);
}

@media (max-width: 900px) {
	.process__phases {
		grid-template-columns: 1fr;
		row-gap: 44px;
	}

	.process__phase {
		padding-inline-start: 0;
		border-left: none;
	}
}

@media (max-width: 640px) {
	.process__phases {
		row-gap: 36px;
	}

	.process__phase-label {
		margin-bottom: 20px;
	}

	.process__step {
		padding-bottom: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.process__step {
		transition: none;
	}
}
