.process {
	--process-margin-block: 60px;
	--process-padding-inline: 20px;
	--process-padding-block: 100px;
	--process-background-color: var(--clr-secondary-light, #f8f0ff);
	--process-main-color: var(--clr-secondary, #495DBA);
	margin-block: var(--process-margin-block);
	padding-inline: var(--process-padding-inline);
	padding-block: var(--process-padding-block);
	background-color: var(--process-background-color);
}

.process-container {
	width: var(--container-width-wide, 1300px);
	margin-inline: auto;
	max-width: 100%;
}

.process-heading {
	text-align: center;
	margin-bottom: 50px;
}

.process-inner-container {
	display: grid;
	grid-template-columns: repeat(var(--process-column-number, 4), 1fr);
	gap: 10px;
}

.process-line {
	position: relative;
	margin-bottom: 55px;
	width: 100%;
	height: 6px;
	background-color: var(--process-main-color);
}

.process-single {
	position: relative;
}

.process-single:last-child::after {
	position: absolute;
	content: '';
	height: 0;
	width: 100%;
	top: -61px;
	left: 0;
	border-top: 3px dashed var(--process-main-color);
	border-bottom: 3px dashed var(--process-main-color);
	background-color: var(--process-background-color);
	z-index: 1;
}

.process-dot {
	position: absolute;
	top: -72px;
	left: -9px;
	border: 3px solid #fff;
	background-color: var(--process-main-color);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
	z-index: 2;
}

.process-dot::after {
	content: '';
	position: absolute;
	height: 34px;
	border-left: 2px dashed var(--process-main-color);
	border-right: 2px dashed var(--process-main-color);
	bottom: -39px;
	left: 9px;
}

.process-text {
	font-size: 16px;
}

.process-text-heading, .process-text h2, .process-text h3, .process-text h4 {
	font-size: 16px;
	font-weight: 600;
}

.process-text-content p, .process-text-content h2, .process-text-content h3, .process-text-content h4 {
	margin-bottom: 6px;
}

.process-text-content > *:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1023px) {
	.process {
		--process-padding-block: 40px;
	}
	.process-container {
		display: grid;
		grid-template-columns: 60px 1fr;
	}
	.process-heading {
		grid-column: 1 / -1;
		margin-bottom: 35px;
	}
	.process-inner-container {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.process-line {
		width: 6px;
		height: 100%;
		margin-bottom: 0;
	}
	.process-line::after {
		display: none;
	}
	.process-dot {
		top: -2px;
		left: -71px;
	}
	.process-dot::after {
		height: 0;
		width: 34px;
		bottom: 10px;
		left: 25px;
		border-left: none;
		border-right: none;
		border-top: 2px dashed var(--process-main-color);
		border-bottom: 2px dashed var(--process-main-color);
	}
	.process-single:last-child::after {
		height: 100%;
		width: 0;
		top: 0;
		left: -60px;
		border-top: none;
		border-bottom: none;
		border-left: 3px dashed var(--process-main-color);
		border-right: 3px dashed var(--process-main-color);
	}
	.process-text {
		font-size: 14px;
	}
}
