/* PROCESS-RAIL-01: one canonical linear rail. */

.l-process {
	padding: var(--l-section-padding, clamp(96px, 8vw, 132px) 0);
	background: var(--l-surface);
	border-bottom: 1px solid var(--l-line);
}

.l-process__steps {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--l-process-columns, 5), minmax(0, 1fr));
	gap: clamp(16px, 1.8vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.l-process__steps[data-process-columns='1'] { grid-template-columns: minmax(0, 1fr); }
.l-process__steps[data-process-columns='2'] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.l-process__steps[data-process-columns='3'] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.l-process__steps[data-process-columns='4'] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.l-process__steps[data-process-columns='5'] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.l-process__steps[data-process-columns='6'] { grid-template-columns: repeat(6, minmax(0, 1fr)); }

.l-process__steps::before {
	position: absolute;
	z-index: 0;
	top: 24px;
	right: 24px;
	left: 24px;
	height: 2px;
	content: '';
	background: linear-gradient(90deg, var(--l-gold), rgba(var(--l-gold-rgb), .42));
	border-radius: 999px;
}

.l-process__steps li {
	position: relative;
	min-width: 0;
	padding-right: 12px;
}

.l-process__marker {
	position: relative;
	z-index: 2;
	display: flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	color: var(--l-gold);
	background: var(--l-surface);
	border: 1px solid rgba(var(--l-gold-rgb), .68);
	border-radius: 50%;
	box-shadow: 0 0 0 6px var(--l-surface), inset 0 0 0 1px rgba(var(--l-gold-rgb), .1);
}

.l-step-number {
	position: absolute;
	top: -15px;
	left: 0;
	z-index: 3;
	color: currentColor;
	font-family: var(--l-font-mono);
	font-size: 8px;
	font-weight: 700;
	line-height: 1;
}

.l-step-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-grid;
	width: 25px;
	height: 25px;
	place-items: center;
	color: var(--l-gold);
	line-height: 0;
	transform: translate(-50%, -50%);
	--shd-icon-stroke-width: 1.3;
}

.l-step-icon .shd-svg-icon { width: 100%; height: 100%; }

.l-process__steps h3 {
	min-height: 0;
	margin: 0 0 8px;
	font-size: 14px;
	line-height: 1.2;
}

.l-process__steps p {
	max-width: 210px;
	margin: 0;
	color: var(--l-text-muted);
	font-size: 11px;
	line-height: 1.55;
}

@media (max-width: 820px) {
	.l-process__steps,
	.l-process__steps[data-process-columns] { grid-template-columns: 1fr; gap: 28px; padding-left: 24px; }
	.l-process__steps::before { top: 24px; right: auto; bottom: 0; left: 24px; width: 2px; height: auto; background: linear-gradient(180deg, var(--l-gold), rgba(var(--l-gold-rgb), .42)); }
	.l-process__steps li { padding: 0 0 0 64px; }
	.l-process__marker { position: absolute; top: 0; left: -24px; margin: 0; box-shadow: 0 0 0 6px var(--l-surface), inset 0 0 0 1px rgba(var(--l-gold-rgb), .1); }
}

@media (max-width: 520px) {
	.l-process__steps,
	.l-process__steps[data-process-columns] { gap: 24px; }
	.l-process__steps li { padding-left: 58px; }
	.l-process__marker { left: -24px; }
}

html[dir='rtl'] .l-process__steps li { padding-right: 0; padding-left: 12px; }
html[dir='rtl'] .l-process__marker { right: 0; left: auto; }
@media (max-width: 820px) {
	html[dir='rtl'] .l-process__steps { padding-right: 24px; padding-left: 0; }
	html[dir='rtl'] .l-process__steps::before { right: 24px; left: auto; }
	html[dir='rtl'] .l-process__steps li { padding-right: 64px; padding-left: 0; }
	html[dir='rtl'] .l-process__marker { right: -24px; left: auto; }
}
@media (max-width: 520px) {
	html[dir='rtl'] .l-process__steps li { padding-right: 58px; }
}
