/* =========================================================
 * Tech Resolve — Standard Page
 * ======================================================= */


/* =========================================================
 * 1. Page
 * ======================================================= */

.tr-standard-page {
	--tr-page-content: 960px;
	--tr-page-text: #26302c;
	--tr-page-muted: #66706b;
	--tr-page-border: rgba(6, 16, 13, 0.12);

	width: 100%;
	overflow: hidden;
	background: #f4f6f3;
	color: var(--tr-page-text);
}


/* =========================================================
 * 2. Hero
 * ======================================================= */

.tr-standard-page__hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		linear-gradient(
			135deg,
			#06100d 0%,
			#071711 58%,
			#082019 100%
		);
	color: #fff;
}


.tr-standard-page__hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	pointer-events: none;
	opacity: 0.32;
	background-image:
		linear-gradient(
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px
		),
		linear-gradient(
			90deg,
			rgba(255, 255, 255, 0.035) 1px,
			transparent 1px
		);
	background-size: 56px 56px;
	mask-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0.9),
			transparent
		);
}


.tr-standard-page__hero-glow {
	position: absolute;
	z-index: -1;
	top: -220px;
	left: 50%;
	width: 700px;
	height: 430px;
	border-radius: 50%;
	pointer-events: none;
	transform: translateX(-50%);
	background:
		radial-gradient(
			circle,
			rgba(25, 224, 120, 0.17) 0%,
			rgba(25, 224, 120, 0.05) 42%,
			transparent 72%
		);
	filter: blur(12px);
}


.tr-standard-page__hero-inner {
	display: flex;
	align-items: flex-end;
	min-height: clamp(270px, 30vw, 390px);
	padding-top: clamp(90px, 10vw, 150px);
	padding-bottom: clamp(54px, 6vw, 82px);
}


.tr-standard-page__hero-content {
	width: min(100%, 1050px);
}


.tr-standard-page__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
	color: var(--tr-green, #19e078);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 1;
	text-transform: uppercase;
}


.tr-standard-page__eyebrow-line {
	display: block;
	width: 34px;
	height: 1px;
	background: currentColor;
}


.tr-standard-page__title {
	max-width: 1000px;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 6vw, 82px);
	font-weight: 600;
	letter-spacing: -0.055em;
	line-height: 0.98;
	text-wrap: balance;
}


/* =========================================================
 * 3. Content Area
 * ======================================================= */

.tr-standard-page__body {
	position: relative;
	padding:
		clamp(64px, 8vw, 112px)
		0
		clamp(84px, 10vw, 150px);
}


.tr-standard-page__body-inner {
	display: flex;
	justify-content: center;
}


.tr-standard-page__article {
	width: min(100%, var(--tr-page-content));
	margin: 0;
	padding: 0;
	background: transparent;
}


/* =========================================================
 * 4. Base Typography
 * ======================================================= */

.tr-standard-page__content {
	color: var(--tr-page-text);
	font-size: clamp(16px, 1.2vw, 18px);
	line-height: 1.82;
}


.tr-standard-page__content > *:first-child {
	margin-top: 0;
}


.tr-standard-page__content > *:last-child {
	margin-bottom: 0;
}


.tr-standard-page__content p {
	margin-top: 0;
	margin-bottom: 1.45em;
}


.tr-standard-page__content strong,
.tr-standard-page__content b {
	color: #07120e;
	font-weight: 700;
}


.tr-standard-page__content em,
.tr-standard-page__content i {
	font-style: italic;
}


/* =========================================================
 * 5. Headings
 * ======================================================= */

.tr-standard-page__content h2,
.tr-standard-page__content h3,
.tr-standard-page__content h4,
.tr-standard-page__content h5,
.tr-standard-page__content h6 {
	color: #07120e;
	font-weight: 650;
	letter-spacing: -0.035em;
	text-wrap: balance;
}


.tr-standard-page__content h2 {
	position: relative;
	margin:
		clamp(58px, 7vw, 82px)
		0
		22px;
	padding-top: 23px;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.14;
}


.tr-standard-page__content h2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 46px;
	height: 2px;
	background:
		linear-gradient(
			90deg,
			var(--tr-green, #19e078),
			var(--tr-green-deep, #08b95d)
		);
}


.tr-standard-page__content h3 {
	margin:
		clamp(40px, 5vw, 58px)
		0
		18px;
	font-size: clamp(23px, 2.2vw, 30px);
	line-height: 1.2;
}


.tr-standard-page__content h4 {
	margin: 34px 0 16px;
	font-size: clamp(19px, 1.8vw, 23px);
	line-height: 1.3;
}


.tr-standard-page__content h5,
.tr-standard-page__content h6 {
	margin: 28px 0 14px;
	font-size: 17px;
	line-height: 1.4;
}


/* =========================================================
 * 6. Links
 * ======================================================= */

.tr-standard-page__content a {
	color: #08753f;
	font-weight: 600;
	text-decoration-thickness: 1px;
	text-decoration-color: rgba(8, 117, 63, 0.35);
	text-underline-offset: 4px;
	transition:
		color 180ms ease,
		text-decoration-color 180ms ease;
}


.tr-standard-page__content a:hover,
.tr-standard-page__content a:focus-visible {
	color: #06100d;
	text-decoration-color: var(--tr-green, #19e078);
}


/* =========================================================
 * 7. Lists
 * ======================================================= */

.tr-standard-page__content ul,
.tr-standard-page__content ol {
	margin:
		0
		0
		1.6em
		0;
	padding-left: 1.35em;
}


.tr-standard-page__content li {
	margin-bottom: 0.55em;
	padding-left: 0.3em;
}


.tr-standard-page__content li::marker {
	color: var(--tr-green-deep, #08b95d);
	font-weight: 700;
}


.tr-standard-page__content li > ul,
.tr-standard-page__content li > ol {
	margin-top: 0.55em;
	margin-bottom: 0;
}


/* =========================================================
 * 8. Blockquote
 * ======================================================= */

.tr-standard-page__content blockquote {
	position: relative;
	margin:
		clamp(40px, 5vw, 60px)
		0;
	padding:
		clamp(25px, 4vw, 38px)
		clamp(24px, 4vw, 40px);
	border: 1px solid rgba(8, 185, 93, 0.2);
	border-left: 3px solid var(--tr-green, #19e078);
	border-radius: 0 18px 18px 0;
	background: rgba(25, 224, 120, 0.045);
	color: #17221d;
	font-size: clamp(18px, 1.7vw, 22px);
	line-height: 1.65;
}


.tr-standard-page__content blockquote p:last-child {
	margin-bottom: 0;
}


/* =========================================================
 * 9. Horizontal Rule
 * ======================================================= */

.tr-standard-page__content hr {
	height: 1px;
	margin: clamp(50px, 7vw, 80px) 0;
	border: 0;
	background:
		linear-gradient(
			90deg,
			var(--tr-page-border),
			rgba(8, 185, 93, 0.28),
			var(--tr-page-border)
		);
}


/* =========================================================
 * 10. Images
 * ======================================================= */

.tr-standard-page__content img {
	max-width: 100%;
	height: auto;
	border-radius: 18px;
}


.tr-standard-page__content figure {
	margin:
		clamp(36px, 5vw, 56px)
		0;
}


.tr-standard-page__content figcaption {
	margin-top: 12px;
	color: var(--tr-page-muted);
	font-size: 13px;
	line-height: 1.6;
}


/* =========================================================
 * 11. Tables
 * ======================================================= */

.tr-standard-page__content .wp-block-table {
	max-width: 100%;
	margin:
		clamp(38px, 5vw, 56px)
		0;
	overflow-x: auto;
}


.tr-standard-page__content table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
	font-size: 15px;
}


.tr-standard-page__content th,
.tr-standard-page__content td {
	padding: 16px 18px;
	border: 1px solid var(--tr-page-border);
	text-align: left;
	vertical-align: top;
}


.tr-standard-page__content th {
	background: #e9eeea;
	color: #07120e;
	font-weight: 700;
}


/* =========================================================
 * 12. Code
 * ======================================================= */

.tr-standard-page__content code {
	padding: 0.15em 0.4em;
	border-radius: 5px;
	background: #e5ebe7;
	color: #075258;
	font-size: 0.88em;
}


.tr-standard-page__content pre {
	max-width: 100%;
	margin:
		clamp(32px, 5vw, 48px)
		0;
	padding: 22px;
	overflow-x: auto;
	border-radius: 14px;
	background: #07120e;
	color: #dbe8e0;
	font-size: 14px;
	line-height: 1.7;
}


.tr-standard-page__content pre code {
	padding: 0;
	background: transparent;
	color: inherit;
}


/* =========================================================
 * 13. WordPress Alignment
 * ======================================================= */

.tr-standard-page__content .alignleft {
	float: left;
	margin:
		0.5em
		2em
		1.5em
		0;
}


.tr-standard-page__content .alignright {
	float: right;
	margin:
		0.5em
		0
		1.5em
		2em;
}


.tr-standard-page__content .aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}


.tr-standard-page__content::after {
	content: "";
	display: table;
	clear: both;
}


/* =========================================================
 * 14. Astra / WordPress Reset
 * ======================================================= */

body.page .site-content,
body.page #content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}


body.page .ast-container {
	max-width: none;
	padding: 0;
}


.tr-standard-page .entry-content {
	margin: 0;
}


.tr-standard-page .entry-content > * {
	max-width: none;
}


.tr-standard-page .entry-header,
.tr-standard-page .entry-title {
	margin: 0;
}


/* =========================================================
 * 15. Selection
 * ======================================================= */

.tr-standard-page ::selection {
	background: var(--tr-green, #19e078);
	color: #04100b;
}


/* =========================================================
 * 16. Responsive
 * ======================================================= */

@media (max-width: 767px) {

	.tr-standard-page__hero-inner {
		min-height: 250px;
		padding-top: 92px;
		padding-bottom: 44px;
	}


	.tr-standard-page__title {
		font-size: clamp(38px, 12vw, 58px);
		line-height: 1;
	}


	.tr-standard-page__body {
		padding-top: 52px;
		padding-bottom: 82px;
	}


	.tr-standard-page__content {
		font-size: 16px;
		line-height: 1.78;
	}


	.tr-standard-page__content h2 {
		margin-top: 52px;
		font-size: 28px;
	}


	.tr-standard-page__content h3 {
		margin-top: 38px;
		font-size: 23px;
	}


	.tr-standard-page__content ul,
	.tr-standard-page__content ol {
		padding-left: 1.15em;
	}


	.tr-standard-page__content blockquote {
		padding: 22px;
	}


	.tr-standard-page__content .alignleft,
	.tr-standard-page__content .alignright {
		float: none;
		display: block;
		margin:
			28px
			auto;
	}

}


/* =========================================================
 * 17. Reduced Motion
 * ======================================================= */

@media (prefers-reduced-motion: reduce) {

	.tr-standard-page__content a {
		transition: none;
	}

}