/* =========================================================
 * Tech Resolve — Blog Final CTA
 * Version: 1.1.0
 * Typography System Integration
 * ======================================================= */


/* =========================================================
 * Section
 * ======================================================= */

.tr-blog-final-cta {
	position: relative;

	overflow: hidden;

	padding:
		clamp(115px, 10vw, 175px)
		var(--tr-gutter);

	color:
		#ffffff;

	background:
		radial-gradient(
			circle at 76% 48%,
			rgba(25, 224, 120, 0.13),
			transparent 28%
		),
		#06100d;
}


.tr-blog-final-cta::before {
	content: "";

	position: absolute;

	inset: 0;

	opacity:
		0.11;

	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.024) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.024) 1px,
			transparent 1px
		);

	background-size:
		86px
		86px;

	pointer-events:
		none;
}


/* =========================================================
 * Shell
 * ======================================================= */

.tr-blog-final-cta__shell {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 0.88fr)
		minmax(500px, 0.78fr);

	align-items:
		center;

	gap:
		clamp(60px, 7vw, 110px);

	width:
		min(100%, var(--tr-container-wide));

	margin:
		auto;
}


/* =========================================================
 * Copy
 * ======================================================= */

.tr-blog-final-cta__copy > span {
	display: block;

	margin-bottom:
		20px;

	color:
		var(--tr-green);

	font-size:
		var(--tr-text-ui);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.15em;
}


.tr-blog-final-cta__copy h2 {
	margin: 0;

	color:
		#ffffff !important;

	font-size:
		clamp(50px, 5.4vw, 78px);

	font-weight:
		900;

	line-height:
		0.94;

	letter-spacing:
		-0.062em;
}


.tr-blog-final-cta__copy p {
	margin:
		28px
		0
		0;

	color:
		rgba(255, 255, 255, 0.62) !important;

	font-size:
		var(--tr-text-body);

	font-weight:
		var(--tr-weight-body);

	line-height:
		var(--tr-line-body);
}


/* =========================================================
 * Actions
 * ======================================================= */

.tr-blog-final-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap:
		18px;

	margin-top:
		38px;
}


.tr-blog-final-cta__actions a {
	display: inline-flex;
	align-items: center;

	gap:
		14px;

	min-height:
		56px;

	padding:
		0
		24px;

	color:
		#06100d !important;

	background:
		var(--tr-green) !important;

	border:
		1px solid var(--tr-green) !important;

	border-radius:
		999px !important;

	font-size:
		var(--tr-text-card);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-card);

	text-decoration:
		none !important;

	transition:
		transform 180ms var(--tr-ease),
		background 180ms ease;
}


.tr-blog-final-cta__actions a:hover {
	color:
		#06100d !important;

	background:
		#35ef8d !important;

	transform:
		translateY(-2px);
}


.tr-blog-final-cta__actions a i {
	width: 22px;
	height: 22px;

	background:
		#06100d;

	border-radius:
		50%;
}


.tr-blog-final-cta__actions > span {
	color:
		rgba(255, 255, 255, 0.44);

	font-size:
		var(--tr-text-ui);

	font-weight:
		var(--tr-weight-body);

	line-height:
		var(--tr-line-ui);
}


/* =========================================================
 * Desk
 * ======================================================= */

.tr-blog-final-cta__desk {
	overflow: hidden;

	background:
		#09160f;

	border:
		1px solid rgba(255, 255, 255, 0.09);

	border-radius:
		30px;

	box-shadow:
		0 46px 115px rgba(0, 0, 0, 0.3);

	transform:
		rotate(1.5deg);
}


/* =========================================================
 * Desk Head / Foot
 * ======================================================= */

.tr-blog-final-cta__desk-head,
.tr-blog-final-cta__desk-foot {
	display: flex;
	align-items: center;

	gap:
		9px;

	min-height:
		58px;

	padding:
		0
		18px;

	color:
		rgba(255, 255, 255, 0.38);

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.08em;
}


.tr-blog-final-cta__desk-head {
	justify-content:
		space-between;

	border-bottom:
		1px solid rgba(255, 255, 255, 0.08);
}


.tr-blog-final-cta__desk-head > div {
	display: flex;
	align-items: center;

	gap:
		9px;
}


.tr-blog-final-cta__desk-head > div i {
	width: 7px;
	height: 7px;

	background:
		var(--tr-green);

	border-radius:
		50%;
}


.tr-blog-final-cta__desk-head strong,
.tr-blog-final-cta__desk-foot strong {
	color:
		var(--tr-green) !important;

	font-size:
		inherit;

	font-weight:
		inherit;
}


.tr-blog-final-cta__desk-foot {
	border-top:
		1px solid rgba(255, 255, 255, 0.08);
}


.tr-blog-final-cta__desk-foot i {
	flex: 1;

	height: 1px;

	background:
		var(--tr-green);
}


/* =========================================================
 * Desk Body
 * ======================================================= */

.tr-blog-final-cta__desk-body {
	display: grid;

	grid-template-columns:
		1fr
		110px
		1fr;

	align-items:
		center;

	gap:
		18px;

	padding:
		30px;

	background:
		linear-gradient(
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.025) 1px,
			transparent 1px
		);

	background-size:
		46px
		46px;
}


/* =========================================================
 * Article / Project
 * ======================================================= */

.tr-blog-final-cta__article,
.tr-blog-final-cta__project {
	min-height:
		260px;

	padding:
		24px;

	border-radius:
		18px;
}


.tr-blog-final-cta__article {
	background:
		#ffffff;

	transform:
		rotate(-2deg);
}


.tr-blog-final-cta__project {
	background:
		#0b1712;

	border:
		1px solid rgba(255, 255, 255, 0.08);

	transform:
		rotate(2deg);
}


/* =========================================================
 * Article / Project Labels
 * ======================================================= */

.tr-blog-final-cta__article > span,
.tr-blog-final-cta__project > span {
	color:
		var(--tr-green-deep);

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.08em;
}


.tr-blog-final-cta__project > span {
	color:
		var(--tr-green);
}


/* =========================================================
 * Article / Project Titles
 * ======================================================= */

.tr-blog-final-cta__article > strong,
.tr-blog-final-cta__project > strong {
	display: block;

	margin-top:
		10px;

	font-size:
		24px;

	font-weight:
		900;

	line-height:
		1.1;
}


.tr-blog-final-cta__article > strong {
	color:
		#0b1712 !important;
}


.tr-blog-final-cta__project > strong {
	color:
		#ffffff !important;
}


/* =========================================================
 * Article Lines
 * ======================================================= */

.tr-blog-final-cta__article > div {
	margin-top:
		24px;
}


.tr-blog-final-cta__article > div i {
	display: block;

	height:
		7px;

	margin-top:
		9px;

	background:
		#dce4df;

	border-radius:
		999px;
}


/* =========================================================
 * Project Lines
 * ======================================================= */

.tr-blog-final-cta__project > div {
	display: grid;

	grid-template-columns:
		10px
		1fr;

	align-items:
		center;

	gap:
		9px;

	min-height:
		46px;

	border-top:
		1px solid rgba(255, 255, 255, 0.07);
}


.tr-blog-final-cta__project > div i {
	width: 7px;
	height: 7px;

	background:
		var(--tr-green);

	border-radius:
		50%;
}


.tr-blog-final-cta__project > div span {
	color:
		rgba(255, 255, 255, 0.56);

	font-size:
		var(--tr-text-ui);

	font-weight:
		var(--tr-weight-semibold);

	line-height:
		var(--tr-line-ui);
}


/* =========================================================
 * Shift
 * ======================================================= */

.tr-blog-final-cta__shift {
	display: grid;
	place-items: center;

	text-align:
		center;
}


.tr-blog-final-cta__shift span,
.tr-blog-final-cta__shift strong {
	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.08em;
}


.tr-blog-final-cta__shift span {
	color:
		rgba(255, 255, 255, 0.42);
}


.tr-blog-final-cta__shift strong {
	color:
		var(--tr-green) !important;
}


.tr-blog-final-cta__shift i {
	width:
		1px;

	height:
		100px;

	margin:
		10px
		0;

	background:
		linear-gradient(
			to bottom,
			transparent,
			var(--tr-green),
			transparent
		);
}


/* =========================================================
 * Heading Color Lock
 * ======================================================= */

.tr-blog-final-cta h1,
.tr-blog-final-cta h2,
.tr-blog-final-cta h3,
.tr-blog-final-cta h4,
.tr-blog-final-cta h5,
.tr-blog-final-cta h6 {
	color:
		#ffffff !important;
}


/* =========================================================
 * Tablet
 * ======================================================= */

@media (max-width: 1080px) {

	.tr-blog-final-cta__shell {
		grid-template-columns:
			1fr;
	}


	.tr-blog-final-cta__desk {
		width:
			min(100%, 760px);

		transform:
			none;
	}

}


/* =========================================================
 * Mobile
 * ======================================================= */

@media (max-width: 720px) {

	.tr-blog-final-cta {
		padding:
			94px
			16px;
	}


	.tr-blog-final-cta__copy h2 {
		font-size:
			clamp(44px, 11.5vw, 62px);
	}


	.tr-blog-final-cta__actions {
		flex-direction:
			column;

		align-items:
			stretch;
	}


	.tr-blog-final-cta__actions a {
		justify-content:
			space-between;

		width:
			100%;
	}


	.tr-blog-final-cta__desk-body {
		grid-template-columns:
			1fr;
	}


	.tr-blog-final-cta__shift i {
		height:
			34px;
	}


	.tr-blog-final-cta__article,
	.tr-blog-final-cta__project {
		min-height:
			0;

		transform:
			none;
	}

}