/* =========================================================
 * Tech Resolve — Blog Categories
 * Version: 1.1.0
 * Typography System Integration
 * ======================================================= */


/* =========================================================
 * Section
 * ======================================================= */

.tr-blog-categories {
	position: relative;

	overflow: hidden;

	padding:
		clamp(110px, 10vw, 170px)
		var(--tr-gutter);

	color:
		#ffffff;

	background:
		#06100d;
}


.tr-blog-categories::before {
	content: "";

	position: absolute;

	inset: 0;

	opacity:
		0.1;

	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:
		90px
		90px;

	pointer-events:
		none;
}


/* =========================================================
 * Shell
 * ======================================================= */

.tr-blog-categories__shell {
	position: relative;
	z-index: 2;

	width:
		min(100%, var(--tr-container-wide));

	margin:
		auto;
}


/* =========================================================
 * Intro
 * ======================================================= */

.tr-blog-categories__intro {
	width:
		min(100%, var(--tr-container));

	margin:
		0
		auto
		clamp(58px, 6vw, 84px);
}


.tr-blog-categories__intro > 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-categories__intro h2 {
	max-width:
		980px;

	margin: 0;

	color:
		#ffffff !important;

	font-size:
		clamp(44px, 4.8vw, 70px);

	font-weight:
		900;

	line-height:
		0.97;

	letter-spacing:
		-0.058em;
}


.tr-blog-categories__intro p {
	max-width:
		720px;

	margin:
		28px
		0
		0;

	color:
		rgba(255, 255, 255, 0.61) !important;

	font-size:
		var(--tr-text-body);

	font-weight:
		var(--tr-weight-body);

	line-height:
		var(--tr-line-body);
}


/* =========================================================
 * Board
 * ======================================================= */

.tr-blog-categories__board {
	overflow: hidden;

	background:
		#09160f;

	border:
		1px solid rgba(255, 255, 255, 0.09);

	border-radius:
		30px;
}


/* =========================================================
 * Lane
 * ======================================================= */

.tr-blog-categories__lane {
	display: grid;

	grid-template-columns:
		300px
		1fr;

	min-height:
		220px;

	border-bottom:
		1px solid rgba(255, 255, 255, 0.08);
}


.tr-blog-categories__lane:last-child {
	border-bottom:
		0;
}


/* =========================================================
 * Category
 * ======================================================= */

.tr-blog-categories__category {
	display: grid;
	align-content: center;

	padding:
		28px;

	text-decoration:
		none !important;

	background:
		rgba(255, 255, 255, 0.018);

	border-right:
		1px solid rgba(255, 255, 255, 0.08);
}


.tr-blog-categories__category > span {
	display: grid;
	place-items: center;

	width: 34px;
	height: 34px;

	color:
		#06100d;

	background:
		var(--tr-green);

	border-radius:
		50%;

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		1;
}


.tr-blog-categories__category strong {
	margin-top:
		18px;

	color:
		#ffffff !important;

	font-size:
		clamp(26px, 2.5vw, 36px);

	font-weight:
		900;

	line-height:
		1.08;
}


.tr-blog-categories__category small {
	margin-top:
		8px;

	color:
		rgba(255, 255, 255, 0.40);

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.08em;
}


/* =========================================================
 * Story
 * ======================================================= */

.tr-blog-categories__story {
	display: grid;

	grid-template-columns:
		260px
		1fr;

	align-items:
		center;

	gap:
		24px;

	padding:
		20px;

	color:
		#ffffff !important;

	text-decoration:
		none !important;
}


/* =========================================================
 * Story Image
 * ======================================================= */

.tr-blog-categories__story-image {
	height:
		180px;

	overflow: hidden;

	background:
		linear-gradient(
			145deg,
			#153526,
			#50745e
		);

	border-radius:
		14px;
}


.tr-blog-categories__story-image img {
	width: 100%;
	height: 100%;

	object-fit:
		cover;
}


.tr-blog-categories__story-image > span {
	display: block;

	width: 100%;
	height: 100%;

	background:
		linear-gradient(
			145deg,
			#153526,
			#50745e
		);
}


/* =========================================================
 * Story Meta
 * ======================================================= */

.tr-blog-categories__story small {
	color:
		var(--tr-green);

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.08em;

	text-transform:
		uppercase;
}


/* =========================================================
 * Story Title
 * ======================================================= */

.tr-blog-categories__story h3 {
	margin:
		10px
		0
		0;

	color:
		#ffffff !important;

	font-size:
		clamp(24px, 2.2vw, 34px);

	font-weight:
		850;

	line-height:
		1.08;

	letter-spacing:
		-0.04em;
}


/* =========================================================
 * Story Secondary Meta
 * ======================================================= */

.tr-blog-categories__story > div:last-child > span {
	display: block;

	margin-top:
		12px;

	color:
		rgba(255, 255, 255, 0.40);

	font-size:
		var(--tr-text-label);

	font-weight:
		var(--tr-weight-label);

	line-height:
		var(--tr-line-ui);

	letter-spacing:
		0.06em;
}


/* =========================================================
 * Heading Color Lock
 * ======================================================= */

.tr-blog-categories h1,
.tr-blog-categories h2,
.tr-blog-categories h3,
.tr-blog-categories h4,
.tr-blog-categories h5,
.tr-blog-categories h6 {
	color:
		#ffffff !important;
}


/* =========================================================
 * Tablet
 * ======================================================= */

@media (max-width: 820px) {

	.tr-blog-categories__lane {
		grid-template-columns:
			1fr;
	}


	.tr-blog-categories__category {
		border-right:
			0;

		border-bottom:
			1px solid rgba(255, 255, 255, 0.08);
	}

}


/* =========================================================
 * Mobile
 * ======================================================= */

@media (max-width: 720px) {

	.tr-blog-categories {
		padding:
			86px
			16px;
	}


	.tr-blog-categories__intro h2 {
		font-size:
			clamp(40px, 10.5vw, 56px);
	}


	.tr-blog-categories__story {
		grid-template-columns:
			1fr;
	}


	.tr-blog-categories__story-image {
		height:
			220px;
	}

}