/* =========================================================
 * Tech Resolve — WordPress Development Process
 * ======================================================= */

.tr-wordpress-process {
	position: relative;
	overflow: hidden;

	padding:
		clamp(110px,11vw,185px)
		var(--tr-gutter);

	color: #fff;

	background: #06100d;
}


.tr-wordpress-process__background,
.tr-wordpress-process__grid,
.tr-wordpress-process__glow {
	position: absolute;

	pointer-events: none;
}


.tr-wordpress-process__background {
	inset: 0;
}


.tr-wordpress-process__grid {
	inset: 0;

	opacity: .14;

	background-image:
		linear-gradient(
			rgba(255,255,255,.04) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255,255,255,.04) 1px,
			transparent 1px
		);

	background-size: 52px 52px;
}


.tr-wordpress-process__glow {
	top: -240px;
	left: 28%;

	width: 720px;
	height: 720px;

	background:
		radial-gradient(
			circle,
			rgba(25,224,120,.1),
			transparent 68%
		);
}


.tr-wordpress-process__shell {
	position: relative;
	z-index: 2;

	width: min(100%,var(--tr-container));
	margin: 0 auto;
}


/* =========================================================
 * Header
 * ======================================================= */

.tr-wordpress-process__header {
	display: grid;
	grid-template-columns:
		minmax(0,1.1fr)
		minmax(340px,.9fr);
	align-items: end;
	gap: clamp(50px,8vw,120px);

	margin-bottom: 65px;
}


.tr-wordpress-process__eyebrow {
	display: block;

	margin-bottom: 17px;

	color: #19e078;

	font-size: 9px;
	font-weight: 800;
	letter-spacing: .15em;
}


.tr-wordpress-process__header h2 {
	max-width: 900px;
	margin: 0;

	color: #fff;

	font-size: clamp(44px,5.3vw,76px);
	font-weight: 800;
	line-height: .99;
	letter-spacing: -.055em;
}


.tr-wordpress-process__header > p {
	margin: 0;

	color: rgba(255,255,255,.49);

	font-size: 14px;
	line-height: 1.78;
}


/* =========================================================
 * Sequence
 * ======================================================= */

.tr-wordpress-process__sequence {
	overflow: hidden;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.045),
			rgba(255,255,255,.012)
		);

	border:
		1px solid rgba(255,255,255,.085);

	border-radius: 24px;

	box-shadow:
		0 40px 100px rgba(0,0,0,.24);
}


.tr-wordpress-process__sequence-top,
.tr-wordpress-process__sequence-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 52px;
	padding: 0 20px;

	color: rgba(255,255,255,.3);

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-wordpress-process__sequence-top {
	border-bottom:
		1px solid rgba(255,255,255,.075);
}


.tr-wordpress-process__sequence-top > div {
	display: flex;
	align-items: center;
	gap: 7px;

	color: #19e078;
}


.tr-wordpress-process__sequence-top i {
	width: 6px;
	height: 6px;

	background: #19e078;

	border-radius: 50%;

	box-shadow:
		0 0 11px rgba(25,224,120,.7);
}


/* =========================================================
 * Steps
 * ======================================================= */

.tr-wordpress-process__steps {
	position: relative;

	display: grid;
	grid-template-columns:
		repeat(4,minmax(0,1fr));

	padding: 40px;
}


.tr-wordpress-process__rail {
	position: absolute;
	top: 77px;
	right: 7%;
	left: 7%;

	height: 1px;

	background:
		linear-gradient(
			to right,
			rgba(25,224,120,.11),
			#19e078,
			rgba(20,215,232,.14)
		);
}


.tr-wordpress-process__step {
	position: relative;
	z-index: 2;

	padding: 0 7px 15px;
}


.tr-wordpress-process__node {
	display: flex;
	align-items: center;
	gap: 9px;

	min-height: 73px;
}


.tr-wordpress-process__node > span {
	width: 18px;
	height: 18px;

	background: #07120e;

	border:
		1px solid rgba(25,224,120,.45);

	border-radius: 50%;
}


.tr-wordpress-process__node > span::after {
	content: "";

	display: block;

	width: 6px;
	height: 6px;
	margin: 5px;

	background: #19e078;

	border-radius: 50%;

	box-shadow:
		0 0 10px rgba(25,224,120,.7);
}


.tr-wordpress-process__node small {
	color: rgba(255,255,255,.23);

	font-size: 8px;
	font-weight: 800;
}


/* =========================================================
 * Card
 * ======================================================= */

.tr-wordpress-process__card {
	position: relative;

	min-height: 260px;
	padding: 22px;

	background:
		rgba(255,255,255,.025);

	border:
		1px solid rgba(255,255,255,.07);

	border-radius: 14px;

	transition:
		transform 180ms var(--tr-ease),
		background 180ms ease,
		border-color 180ms ease;
}


.tr-wordpress-process__step:hover
.tr-wordpress-process__card {
	background:
		rgba(25,224,120,.035);

	border-color:
		rgba(25,224,120,.2);

	transform:
		translateY(-4px);
}


.tr-wordpress-process__card-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
}


.tr-wordpress-process__card-top span {
	color: #19e078;

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .1em;
}


.tr-wordpress-process__card-top small {
	color: rgba(255,255,255,.23);

	font-size: 7px;
	font-weight: 800;
}


.tr-wordpress-process__card h3 {
	margin: 31px 0 0;

	color: #fff;

	font-size: 20px;
	line-height: 1.08;
}


.tr-wordpress-process__card p {
	margin: 15px 0 0;

	color: rgba(255,255,255,.42);

	font-size: 9px;
	line-height: 1.72;
}


.tr-wordpress-process__state {
	position: absolute;
	right: 22px;
	bottom: 20px;
	left: 22px;

	display: flex;
	align-items: center;
	gap: 7px;

	color: rgba(255,255,255,.25);

	font-size: 7px;
	font-weight: 800;
	letter-spacing: .09em;
}


.tr-wordpress-process__state i {
	width: 5px;
	height: 5px;

	background: #19e078;

	border-radius: 50%;
}


/* =========================================================
 * Bottom
 * ======================================================= */

.tr-wordpress-process__sequence-bottom {
	justify-content: center;
	gap: 13px;

	border-top:
		1px solid rgba(255,255,255,.07);
}


.tr-wordpress-process__sequence-bottom i {
	width: 20px;
	height: 1px;

	background:
		rgba(25,224,120,.18);
}


@media (max-width: 1050px) {

	.tr-wordpress-process__header {
		grid-template-columns: 1fr;
	}


	.tr-wordpress-process__steps {
		grid-template-columns:
			repeat(2,minmax(0,1fr));
	}


	.tr-wordpress-process__rail {
		display: none;
	}

}


@media (max-width: 650px) {

	.tr-wordpress-process__steps {
		grid-template-columns: 1fr;
	}

}