.process-wrapper {
	display: flex;
	flex-direction: column;
}

.process-item-number {
	font-size: 80px;
	line-height: 1;
	font-weight: 700;
	letter-spacing: -1.6px;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #5C715E;
    color: transparent;
}
.process-item {
    display: flex;
	gap: 120px;
	margin: auto;
	will-change: opacity;
    opacity: 0.25;
	transition: opacity 0.2s ease-in-out;
}

.process-item.active {
	opacity: 1;
}

.process-item-title-wrapper {
	width: calc(50% - 12px);
    text-align: right;
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
}

.process-item-title {
    position: sticky;
    top: 40%;
}

.process-line {
	position: relative;
}
.process-line:after {
    content: '';
    width: 2px;
    height: 100%;
    display: block;
    background: #ddd;
    position: absolute;
    top: 0;
    margin: auto;
    right: 0;
    left: 0;
    z-index: -1;
}

.process-item-marker {
    background: #5C715E;
    content: '';
    display: flex;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    position: sticky;
    top: 40%;
    outline: 16px solid #fff5ed;
    z-index: 1;
    margin: 16px 0;
}

.process-item.active .process-item-marker:after {
	opacity: 1;
}

.process-item-content {
	width: calc(50% - 12px);
	padding: 60px 0;
}
.process-item-right img {
	margin: 0 0 16px;
}


@media (max-width: 768px) {
	.process-item-number {
		font-size: 40px;
	}
	.process-item {
		gap: 60px;
	}
	.process-item-title h3 {
		font-size: 28px;
        line-height: 1.2;
	}
}

@media (max-width: 480px) {
	.process-item {
		gap: 20px;
	}
	.process-item-marker {
		width: 16px;
		height: 16px;
        margin: 8px 0;
        outline-width: 8px;
	}
	.process-item-description {
		font-size: 14px;
	}
}

