/* =========================================================
 * Tech Resolve — Single Article
 * Version: 1.0.0
 * Premium Editorial Reading System
 * ======================================================= */
/* =========================================================
 * Astra Reset
 * ======================================================= */
body.single-post #content.site-content {
	width:100%;
	margin:0;
	padding:0;
}
body.single-post #content.site-content > .ast-container {
	max-width:none;
	margin:0;
	padding:0;
}
body.single-post .tr-article {
	width:100%;
	margin:0;
	color:#0b1712;
	background:#ffffff;
}
/* =========================================================
 * Hero
 * ======================================================= */
.tr-article__hero {
	position:relative;
	overflow:hidden;
	padding:clamp(90px,8vw,130px) var(--tr-gutter) clamp(58px,6vw,86px);
	background:#f4f6f3;
}
.tr-article__hero::before {
	content:"";
	position:absolute;
	top:-340px;
	right:-230px;
	width:680px;
	height:680px;
	border-radius:50%;
	background:radial-gradient(circle,rgba(25,224,120,.11),rgba(25,224,120,.025) 42%,transparent 70%);
	pointer-events:none;
}
.tr-article__hero-shell {
	position:relative;
	z-index:1;
	width:min(100%,var(--tr-container-wide));
	margin:auto;
}
.tr-article__hero-copy {
	width:min(100%,1080px);
	margin:0 auto;
}
.tr-article__category {
	display:inline-flex;
	align-items:center;
	min-height:36px;
	padding:0 14px;
	color:#06100d !important;
	background:var(--tr-green);
	border-radius:999px;
	font-size:var(--tr-text-label);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
	letter-spacing:.08em;
	text-transform:uppercase;
	text-decoration:none !important;
}
.tr-article__title {
	max-width:1080px;
	margin:24px 0 0;
	color:#0b1712 !important;
	font-size:var(--tr-heading-page);
	font-weight:var(--tr-weight-display);
	line-height:var(--tr-line-page);
	letter-spacing:-.058em;
	text-wrap:balance;
}
.tr-article__intro {
	max-width:820px;
	margin:28px 0 0;
	color:#5f6e66 !important;
	font-size:clamp(19px,1.5vw,22px);
	font-weight:var(--tr-weight-body);
	line-height:1.65;
}
.tr-article__meta {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:10px 12px;
	margin-top:28px;
	color:#7c8a82;
	font-size:var(--tr-text-ui);
	font-weight:var(--tr-weight-medium);
	line-height:var(--tr-line-ui);
}
.tr-article__meta i {
	width:4px;
	height:4px;
	border-radius:50%;
	background:var(--tr-green-deep);
}
.tr-article__featured {
	width:min(100%,1120px);
	margin:clamp(42px,5vw,66px) auto 0;
	overflow:hidden;
	border-radius:28px;
	background:#dfe7e2;
	box-shadow:0 34px 85px rgba(6,16,13,.12);
}
.tr-article__featured img {
	display:block;
	width:100%;
	height:auto;
	max-height:620px;
	object-fit:cover;
}
/* =========================================================
 * Reading Layout
 * ======================================================= */
.tr-article__body {
	padding:clamp(72px,8vw,120px) var(--tr-gutter);
	background:#ffffff;
}
.tr-article__layout {
	display:grid;
	grid-template-columns:minmax(220px,280px) minmax(0,800px);
	justify-content:center;
	align-items:start;
	gap:clamp(46px,6vw,84px);
	width:min(100%,1180px);
	margin:auto;
}
/* =========================================================
 * Sidebar
 * ======================================================= */
.tr-article__sidebar {
	position:sticky;
	top:110px;
	display:grid;
	gap:18px;
}
.tr-article__toc,
.tr-article__details {
	padding:22px;
	background:#f4f6f3;
	border:1px solid #e0e7e2;
	border-radius:18px;
}
.tr-article__toc > strong,
.tr-article__details > strong {
	display:block;
	color:#0b1712 !important;
	font-size:var(--tr-text-ui);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
	letter-spacing:.08em;
	text-transform:uppercase;
}
.tr-article__toc ol {
	display:grid;
	gap:10px;
	margin:16px 0 0;
	padding:0;
	list-style:none;
}
.tr-article__toc li {
	margin:0;
	padding:0;
}
.tr-article__toc-item--h3 {
	padding-inline-start:14px !important;
}
.tr-article__toc a {
	dis:block;
	color:#647269 !important;
	font-size:14px;
	font-weight:var(--tr-weight-medium);
	line-height:1.5;
	text-decoration:none !important;
	transition:color 180ms ease;
}
.tr-article__toc a:hover {
	color:var(--tr-green-deep) !important;
}
.tr-article__details {
	display:grid;
	gap:14px;
}
.tr-article__details > div {
	display:grid;
	gap:4px;
	padding-top:14px;
	border-top:1px solid #e0e7e2;
}
.tr-article__details span {
	color:#87938c;
	font-size:var(--tr-text-label);
	font-weight:var(--tr-weight-medium);
	line-height:var(--tr-line-ui);
}
.tr-article__details b {
	color:#0b1712;
	font-size:var(--tr-text-ui);
	font-weight:var(--tr-weight-semibold);
	line-height:var(--tr-line-ui);
}
/* =========================================================
 * Article Typography
 * ======================================================= */
.tr-article-content {
	min-width:0;
	color:#39463f;
	font-size:var(--tr-text-body);
	font-weight:var(--tr-weight-body);
	line-height:1.78;
}
.tr-article-content > *:first-child {
	margin-top:0 !important;
}
.tr-article-content p {
	margin:0 0 24px;
	color:#455249 !important;
	font-size:inherit;
	font-weight:inherit;
	line-height:inherit;
}
.tr-article-content h2 {
	scroll-margin-top:120px;
	margin:64px 0 20px;
	color:#0b1712 !important;
	font-size:clamp(30px,2.6vw,38px);
	font-weight:var(--tr-weight-display);
	line-height:1.16;
	letter-spacing:-.04em;
	text-wrap:balance;
}
.tr-article-content h3 {
	scroll-margin-top:120px;
	margin:44px 0 16px;
	color:#0b1712 !important;
	font-size:var(--tr-heading-card);
	font-weight:var(--tr-weight-bold);
	line-height:var(--tr-line-subheading);
	letter-spacing:-.03em;
}
.tr-article-content h4,
.tr-article-content h5,
.tr-article-content h6 {
	margin:36px 0 14px;
	color:#0b1712 !important;
	font-size:var(--tr-heading-small);
	font-weight:var(--tr-weight-bold);
	line-height:var(--tr-line-subheading);
}
.tr-article-content a {
	color:#087943;
	text-decoration-thickness:1px;
	text-underline-offset:3px;
}
.tr-article-content strong {
	color:#14231b;
	font-weight:var(--tr-weight-bold);
}
.tr-article-content ul,
.tr-article-content ol {
	margin:0 0 28px;
	padding-inline-start:26px;
}
.tr-article-content li {
	margin:8px 0;
	padding-inline-start:4px;
}
.tr-article-content li::marker {
	color:var(--tr-green-deep);
	font-weight:700;
}
.tr-article-content blockquote {
	position:relative;
	margin:42px 0;
	padding:26px 30px;
	color:#203128;
	background:#f4f6f3;
	border-inline-start:4px solid var(--tr-green);
	border-radius:0 16px 16px 0;
	font-size:clamp(19px,1.5vw,22px);
	font-weight:var(--tr-weight-medium);
	line-height:1.7;
}
.tr-article-content blockquote p:last-child {
	margin-bottom:0;
}
.tr-article-content figure,
.tr-article-content .wp-block-image,
.tr-article-content .wp-block-gallery,
.tr-article-content .wp-block-video {
	margin:38px 0;
}
.tr-article-content img {
	display:block;
	max-width:100%;
	height:auto;
	border-radius:18px;
}
.tr-article-content .aligncenter {
	margin-inline:auto;
}
.tr-article-content figcaption,
.tr-article-content .wp-element-caption {
	margin-top:10px;
	color:#87938c;
	font-size:13px;
	line-height:1.55;
	text-align:center;
}
.tr-article-content hr {
	margin:52px 0;
	border:0;
	border-top:1px solid #dfe6e2;
}
.tr-article-content table {
	width:100%;
	margin:36px 0;
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border:1px solid #dfe6e2;
	border-radius:14px;
	font-size:var(--tr-text-card);
}
.tr-article-content th,
.tr-article-content td {
	padding:14px 16px;
	border-bottom:1px solid #e4eae6;
	text-align:start;
	vertical-align:top;
}
.tr-article-content th {
	color:#0b1712;
	background:#f4f6f3;
	font-weight:var(--tr-weight-bold);
}
.tr-article-content tr:last-child td {
	border-bottom:0;
}
.tr-article-content pre {
	margin:36px 0;
	padding:22px;
	overflow:auto;
	color:#d9eee3;
	background:#06100d;
	border-radius:16px;
	font-size:14px;
	line-height:1.7;
}
.tr-article-content code {
	padding:.12em .35em;
	color:#075d35;
	background:#edf4ef;
	border-radius:5px;
	font-size:.9em;
}
.tr-article-content pre code {
	padding:0;
	color:inherit;
	background:transparent;
	border-radius:0;
}
/* =========================================================
 * Taxonomy
 * ======================================================= */
.tr-article__taxonomy {
	display:grid;
	gap:12px;
	margin-top:64px;
	padding-top:26px;
	border-top:1px solid #dfe6e2;
}
.tr-article__taxonomy > div {
	dis:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:8px 12px;
}
.tr-article__taxonomy strong {
	color:#0b1712;
	font-size:var(--tr-text-label);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
	letter-spacing:.06em;
	text-transform:uppercase;
}
.tr-article__taxonomy span,
.tr-article__taxonomy a {
	font-size:var(--tr-text-ui);
	line-height:var(--tr-line-ui);
}
/* =========================================================
 * Project CTA
 * ======================================================= */
.tr-article__project-cta {
	padding:clamp(82px,8vw,120px) var(--tr-gutter);
	background:#06100d;
}
.tr-article__project-cta-shell {
	display:grid;
	grid-template-columns:minmax(0,1fr) auto;
	align-items:end;
	gap:clamp(42px,6vw,90px);
	width:min(100%,var(--tr-container));
	margin:auto;
}
.tr-article__project-cta-shell > div {
	max-width:800px;
}
.tr-article__project-cta-shell > div > span {
	dis:block;
	margin-bottom:18px;
	color:var(--tr-green);
	font-size:var(--tr-text-ui);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
	letter-spacing:.12em;
}
.tr-article__project-cta h2 {
	margin:0;
	color:#ffffff !important;
	font-size:var(--tr-heading-large);
	font-weight:var(--tr-weight-display);
	line-height:var(--tr-line-heading);
	letter-spacing:-.045em;
	text-wrap:balance;
}
.tr-article__project-cta p {
	max-width:720px;
	margin:22px 0 0;
	color:rgba(255,255,255,.62) !important;
	font-size:var(--tr-text-body);
	font-weight:var(--tr-weight-body);
	line-height:var(--tr-line-body);
}
.tr-article__project-cta a {
	display:inline-flex;
	align-items:center;
	gap:14px;
	min-height:56px;
	padding:0 22px;
	color:#06100d !important;
	background:var(--tr-green);
	border-radius:999px;
	font-size:var(--tr-text-card);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-card);
	text-decoration:none !important;
	white-space:nowrap;
}
.tr-article__project-cta a i,
.tr-article__related-read i {
	position:relative;
	dis:block;
	flex:0 0 22px;
	width:22px;
	height:22px;
	border-radius:50%;
}
.tr-article__project-cta a i {
	background:#06100d;
}
.tr-article__project-cta a i::before,
.tr-article__related-read i::before {
	content:"";
	position:absolute;
	top:50%;
	left:50%;
	width:6px;
	height:6px;
	border-top:1px solid var(--tr-green);
	border-right:1px solid var(--tr-green);
	transform:translate(-62%,-50%) rotate(45deg);
}
/* =========================================================
 * Related Articles
 * ======================================================= */
.tr-article__related {
	padding:clamp(86px,8vw,130px) var(--tr-gutter);
	background:#f4f6f3;
}
.tr-article__related-shell {
	width:min(100%,var(--tr-container-wide));
	margin:auto;
}
.tr-article__related-head {
	width:min(100%,var(--tr-container));
	margin:0 auto clamp(42px,5vw,66px);
}
.tr-article__related-head > span {
	dis:block;
	margin-bottom:16px;
	color:var(--tr-green-deep);
	font-size:var(--tr-text-ui);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
	letter-spacing:.12em;
}
.tr-article__related-head h2 {
	margin:0;
	color:#0b1712 !important;
	font-size:var(--tr-heading-section);
	font-weight:var(--tr-weight-display);
	line-height:var(--tr-line-heading);
	letter-spacing:-.05em;
}
.tr-article__related-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:14px;
}
.tr-article__related-card {
	overflow:hidden;
	background:#ffffff;
	border:1px solid #dfe6e2;
	border-radius:20px;
}
.tr-article__related-image {
	display:block;
	height:230px;
	overflow:hidden;
	background:linear-gradient(145deg,#153526,#5f8a6f);
}
.tr-article__related-image img,
.tr-article__related-image > span {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.tr-article__related-image > span {
	background:linear-gradient(145deg,#153526,#5f8a6f);
}
.tr-article__related-content {
	padding:22px;
}
.tr-article__related-content > span {
	color:#89968e;
	font-size:var(--tr-text-label);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-ui);
}
.tr-article__related-card h3 {
	margin:12px 0 0;
	color:#0b1712 !important;
	font-size:var(--tr-heading-card);
	font-weight:var(--tr-weight-bold);
	line-height:var(--tr-line-subheading);
	letter-spacing:-.035em;
}
.tr-article__related-card h3 a {
	color:inherit !important;
	text-decoration:none !important;
}
.tr-article__related-read {
	dis:inline-flex;
	align-items:center;
	gap:8px;
	margin-top:20px;
	color:#0b1712 !important;
	font-size:var(--tr-text-card);
	font-weight:var(--tr-weight-label);
	line-height:var(--tr-line-card);
	text-decoration:none !important;
}
.tr-article__related-read i {
	background:var(--tr-green);
}
.tr-article__related-read i::before {
	border-color:#06100d;
	border-left:0;
	border-bottom:0;
}
/* =========================================================
 * RTL / Arabic
 * ======================================================= */
html[dir="rtl"] .tr-article__hero::before {
	right:auto;
	left:-230px;
}
html[lang^="ar"] .tr-article__category,
html[lang^="ar"] .tr-article__title,
html[lang^="ar"] .tr-article__toc > strong,
html[lang^="ar"] .tr-article__details > strong,
html[lang^="ar"] .tr-article-content h2,
html[lang^="ar"] .tr-article-content h3,
html[lang^="ar"] .tr-article__taxonomy strong,
html[lang^="ar"] .tr-article__project-cta-shell > div > span,
html[lang^="ar"] .tr-article__project-cta h2,
html[lang^="ar"] .tr-article__related-head > span,
html[lang^="ar"] .tr-article__related-head h2,
html[lang^="ar"] .tr-article__related-card h3 {
	letter-spacing:0;
}
html[lang^="ar"] .tr-article__category,
html[lang^="ar"] .tr-article__toc > strong,
html[lang^="ar"] .tr-article__details > strong,
html[lang^="ar"] .tr-article__taxonomy strong {
	text-transform:none;
}
html[dir="rtl"] .tr-article-content blockquote {
	border-radius:16px 0 0 16px;
}
html[dir="rtl"] .tr-article__project-cta a i::before,
html[dir="rtl"] .tr-article__related-read i::before {
	border-right:0;
	border-left:1px solid var(--tr-green);
	transform:translate(-38%,-50%) rotate(-45deg);
}
html[dir="rtl"] .tr-article__related-read i::before {
	border-left-color:#06100d;
}
/* =========================================================
 * Tablet
 * ======================================================= */
@media(max-width:1020px) {
	.tr-article__layout {
		grid-template-columns:1fr;
		width:min(100%,820px);
	}
	.tr-article__sidebar {
		position:relative;
		top:auto;
		grid-template-columns:1fr 1fr;
	}
	.tr-article__project-cta-shell {
		grid-template-columns:1fr;
		align-items:start;
	}
	.tr-article__project-cta a {
		justify-self:start;
	}
	.tr-article__related-grid {
		grid-template-columns:1fr 1fr;
	}
}
/* =========================================================
 * Mobile
 * ======================================================= */
@media(max-width:700px) {
	.tr-article__hero {
		padding:78px 16px 52px;
	}
	.tr-article__title {
		margin-top:20px;
	}
	.tr-article__intro {
		margin-top:20px;
		font-size:18px;
		line-height:1.7;
	}
	.tr-article__meta {
		gap:8px 10px;
		margin-top:22px;
	}
	.tr-article__featured {
		margin-top:34px;
		border-radius:18px;
	}
	.tr-article__body {
		padding:64px 16px 76px;
	}
	.tr-article__sidebar {
		grid-template-columns:1fr;
	}
	.tr-article__toc,
	.tr-article__details {
		padding:18px;
	}
	.tr-article-content {
		font-size:17px;
		line-height:1.8;
	}
	.tr-article-content h2 {
		margin-top:52px;
		font-size:clamp(28px,8vw,34px);
	}
	.tr-article-content h3 {
		margin-top:38px;
	}
	.tr-article-content blockquote {
		margin:34px 0;
		padding:22px;
		font-size:18px;
	}
	.tr-article-content table {
		display:block;
		overflow-x:auto;
		white-space:nowrap;
	}
	.tr-article__taxonomy {
		margin-top:52px;
	}
	.tr-article__project-cta,
	.tr-article__related {
		padding:76px 16px;
	}
	.tr-article__project-cta a {
		justify-content:space-between;
		width:100%;
		white-space:normal;
	}
	.tr-article__related-grid {
		grid-template-columns:1fr;
	}
	.tr-article__related-image {
		height:240px;
	}
}
