/* =========================================================
 * Tech Resolve — Website Development Process
 * ======================================================= */

.tr-website-process {
	position: relative;
	overflow: hidden;

	padding:
		clamp(110px,11vw,185px)
		var(--tr-gutter);

	color: #fff;

	background: #06100d;
}


.tr-website-process__background,
.tr-website-process__grid,
.tr-website-process__glow {
	position: absolute;

	pointer-events: none;
}


.tr-website-process__background {
	inset: 0;
}


.tr-website-process__grid {
	inset: 0;

	opacity: .15;

	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-website-process__glow {
	top: 10%;
	right: -120px;

	width: 650px;
	height: 650px;

	background:
		radial-gradient(
			circle,
			rgba(25,224,120,.1),
			transparent 68%
		);
}


.tr-website-process__shell {
	position: relative;
	z-index: 2;

	width: min(100%,var(--tr-container));
	margin: 0 auto;
}


/* Header */

.tr-website-process__header {
	display: grid;
	grid-template-columns:
		minmax(0,1.1fr)
		minmax(330px,.9fr);
	align-items: end;
	gap: clamp(50px,8vw,120px);

	margin-bottom: 65px;
}


.tr-website-process__eyebrow {
	display: block;

	margin-bottom: 17px;

	color: #19e078;

	font-size: 9px;
	font-weight: 800;
	letter-spacing: .15em;
}


.tr-website-process__header h2 {
	max-width: 850px;
	margin: 0;

	color: #fff;

	font-size: clamp(44px,5.3vw,76px);
	font-weight: 800;
	line-height: .99;
	letter-spacing: -.055em;
}


.tr-website-process__header > p {
	margin: 0;

	color: rgba(255,255,255,.49);

	font-size: 14px;
	line-height: 1.78;
}


/* Console */

.tr-website-process__console {
	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-website-process__console-head {
	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 52px;
	padding: 0 20px;

	color: rgba(255,255,255,.32);

	border-bottom: 1px solid rgba(255,255,255,.075);

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-process__console-head > div {
	display: flex;
	align-items: center;
	gap: 7px;

	color: #19e078;
}


.tr-website-process__console-head i {
	width: 6px;
	height: 6px;

	background: #19e078;

	border-radius: 50%;

	box-shadow:
		0 0 12px rgba(25,224,120,.75);
}


/* Steps */

.tr-website-process__steps {
	position: relative;

	display: grid;
	grid-template-columns:
		repeat(3,minmax(0,1fr));
	gap: 0;

	padding: 35px;
}


.tr-website-process__rail {
	position: absolute;
	top: 68px;
	right: 7%;
	left: 7%;

	height: 1px;

	background:
		linear-gradient(
			to right,
			rgba(25,224,120,.12),
			#19e078,
			rgba(20,215,232,.15)
		);
}


.tr-website-process__step {
	position: relative;
	z-index: 2;

	padding: 0 7px 14px;
}


.tr-website-process__step-node {
	position: relative;

	display: flex;
	align-items: center;
	gap: 10px;

	min-height: 65px;
}


.tr-website-process__step-node span {
	display: block;

	width: 17px;
	height: 17px;

	background: #08140f;

	border: 1px solid rgba(25,224,120,.45);
	border-radius: 50%;
}


.tr-website-process__step-node span::after {
	content: "";

	display: block;

	width: 5px;
	height: 5px;
	margin: 5px;

	background: #19e078;

	border-radius: 50%;

	box-shadow:
		0 0 10px rgba(25,224,120,.7);
}


.tr-website-process__step-node strong {
	color: rgba(255,255,255,.23);

	font-size: 9px;
}


.tr-website-process__step-card {
	min-height: 230px;
	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),
		border-color 180ms ease,
		background 180ms ease;
}


.tr-website-process__step:hover
.tr-website-process__step-card {
	background: rgba(25,224,120,.035);

	border-color: rgba(25,224,120,.2);

	transform: translateY(-4px);
}


.tr-website-process__step-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
}


.tr-website-process__step-meta span {
	color: #19e078;

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-process__step-meta small {
	color: rgba(255,255,255,.22);

	font-size: 7px;
	font-weight: 800;
}


.tr-website-process__step-card h3 {
	margin: 29px 0 0;

	color: #fff;

	font-size: 22px;
	line-height: 1.08;
	letter-spacing: -.025em;
}


.tr-website-process__step-card p {
	margin: 15px 0 0;

	color: rgba(255,255,255,.44);

	font-size: 11px;
	line-height: 1.72;
}


.tr-website-process__step-status {
	display: flex;
	align-items: center;
	gap: 7px;

	margin-top: 25px;

	color: rgba(255,255,255,.28);

	font-size: 7px;
	font-weight: 800;
	letter-spacing: .1em;
}


.tr-website-process__step-status i {
	width: 5px;
	height: 5px;

	background: #19e078;

	border-radius: 50%;
}


/* CTA */

.tr-website-process__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;

	margin: 0 35px 35px;
	padding: 22px;

	background:
		linear-gradient(
			90deg,
			rgba(25,224,120,.075),
			rgba(20,215,232,.025)
		);

	border: 1px solid rgba(25,224,120,.13);
	border-radius: 14px;
}


.tr-website-process__cta > div > span {
	display: block;

	color: #19e078;

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .13em;
}


.tr-website-process__cta > div > strong {
	display: block;

	margin-top: 7px;

	color: #fff;

	font-size: 20px;
}


.tr-website-process__cta a {
	display: inline-flex;
	align-items: center;
	gap: 11px;

	min-height: 48px;
	padding: 0 18px;

	color: #06100d;
	text-decoration: none;

	background: #19e078;

	border-radius: 999px;

	font-size: 10px;
	font-weight: 800;
}


.tr-website-process__cta a:hover {
	color: #06100d;

	background: #34ef8d;
}


.tr-website-process__cta svg {
	width: 17px;
	height: 17px;
}


@media (max-width: 980px) {

	.tr-website-process__header,
	.tr-website-process__steps {
		grid-template-columns: 1fr;
	}


	.tr-website-process__rail {
		display: none;
	}


	.tr-website-process__cta {
		align-items: stretch;
		flex-direction: column;
	}

}