/* =========================================================
 * Tech Resolve — Website Selected Work
 * Project Case Files
 * ======================================================= */

.tr-website-work {
	position: relative;
	overflow: hidden;

	padding:
		clamp(110px, 11vw, 185px)
		var(--tr-gutter);

	color: #fff;

	background: #06100d;
}


.tr-website-work__background,
.tr-website-work__grid,
.tr-website-work__glow {
	position: absolute;

	pointer-events: none;
}


.tr-website-work__background {
	inset: 0;
}


.tr-website-work__grid {
	inset: 0;

	opacity: .14;

	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-work__glow--one {
	top: -220px;
	right: 4%;

	width: 700px;
	height: 700px;

	background:
		radial-gradient(
			circle,
			rgba(25,224,120,.1),
			transparent 68%
		);
}


.tr-website-work__glow--two {
	bottom: -320px;
	left: 8%;

	width: 650px;
	height: 650px;

	background:
		radial-gradient(
			circle,
			rgba(20,215,232,.055),
			transparent 70%
		);
}


.tr-website-work__shell {
	position: relative;
	z-index: 2;

	width: min(100%, var(--tr-container));
	margin: 0 auto;
}


/* =========================================================
 * Header
 * ======================================================= */

.tr-website-work__header {
	display: grid;
	grid-template-columns:
		minmax(0, 1.12fr)
		minmax(330px, .88fr);
	align-items: end;
	gap: clamp(50px, 8vw, 120px);

	margin-bottom:
		clamp(60px, 7vw, 95px);
}


.tr-website-work__eyebrow {
	display: block;

	margin-bottom: 18px;

	color: #19e078;

	font-size: 9px;
	font-weight: 800;
	letter-spacing: .15em;
}


.tr-website-work__header h2 {
	max-width: 900px;
	margin: 0;

	color: #fff;

	font-size: clamp(44px, 5.3vw, 76px);
	font-weight: 800;
	line-height: .99;
	letter-spacing: -.055em;
}


.tr-website-work__intro > p {
	margin: 0;

	color: rgba(255,255,255,.49);

	font-size: 14px;
	line-height: 1.78;
}


.tr-website-work__intro > div {
	display: flex;
	align-items: center;
	justify-content: space-between;

	margin-top: 26px;
	padding-top: 15px;

	border-top:
		1px solid rgba(255,255,255,.1);
}


.tr-website-work__intro span {
	color: rgba(255,255,255,.28);

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-work__intro strong {
	color: #19e078;

	font-size: 9px;
}


/* =========================================================
 * Cases
 * ======================================================= */

.tr-website-work__cases {
	display: grid;
	gap: 14px;
}


.tr-website-work__case {
	display: grid;
	grid-template-columns:
		minmax(360px, .9fr)
		minmax(0, 1.1fr);

	overflow: hidden;

	background:
		linear-gradient(
			145deg,
			rgba(255,255,255,.044),
			rgba(255,255,255,.012)
		);

	border:
		1px solid rgba(255,255,255,.08);

	border-radius: 22px;

	transition:
		border-color 190ms ease,
		transform 190ms var(--tr-ease);
}


.tr-website-work__case:hover {
	border-color:
		rgba(25,224,120,.24);

	transform:
		translateY(-4px);
}


.tr-website-work__case-top {
	grid-column: 1 / -1;

	display: flex;
	align-items: center;
	justify-content: space-between;

	min-height: 49px;
	padding: 0 18px;

	color: rgba(255,255,255,.3);

	border-bottom:
		1px solid rgba(255,255,255,.07);

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-work__case-top > div {
	display: flex;
	align-items: center;
	gap: 7px;

	color: #19e078;
}


.tr-website-work__case-top i {
	width: 6px;
	height: 6px;

	background: #19e078;

	border-radius: 50%;

	box-shadow:
		0 0 12px rgba(25,224,120,.7);
}


/* =========================================================
 * Media
 * ======================================================= */

.tr-website-work__media {
	position: relative;
	overflow: hidden;

	min-height: 440px;

	background: #0a1812;
}


.tr-website-work__media img {
	width: 100%;
	height: 100%;

	object-fit: cover;

	transition:
		transform 500ms var(--tr-ease);
}


.tr-website-work__case:hover
.tr-website-work__media img {
	transform: scale(1.025);
}


.tr-website-work__media-overlay {
	position: absolute;
	inset: 0;

	background:
		linear-gradient(
			to top,
			rgba(3,11,8,.58),
			transparent 55%
		);

	pointer-events: none;
}


.tr-website-work__case-number {
	position: absolute;
	right: 22px;
	bottom: 13px;

	color: rgba(255,255,255,.13);

	font-size: 88px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.08em;
}


/* =========================================================
 * Content
 * ======================================================= */

.tr-website-work__content {
	padding:
		clamp(32px, 5vw, 65px);
}


.tr-website-work__category {
	color: #19e078;

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .13em;
}


.tr-website-work__content h3 {
	max-width: 680px;
	margin: 17px 0 0;

	color: #fff;

	font-size: clamp(32px, 4vw, 58px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.05em;
}


.tr-website-work__content > p {
	max-width: 680px;
	margin: 23px 0 0;

	color: rgba(255,255,255,.48);

	font-size: 12px;
	line-height: 1.78;
}


.tr-website-work__content ul {
	display: grid;
	gap: 10px;

	margin: 27px 0 0;
	padding: 0;

	list-style: none;
}


.tr-website-work__content li {
	display: flex;
	align-items: center;
	gap: 10px;

	color: rgba(255,255,255,.68);

	font-size: 10px;
}


.tr-website-work__content li > span {
	width: 6px;
	height: 6px;

	background: #19e078;

	border-radius: 50%;
}


/* Result */

.tr-website-work__result {
	margin-top: 31px;
	padding: 17px 0;

	border-top:
		1px solid rgba(255,255,255,.075);

	border-bottom:
		1px solid rgba(255,255,255,.075);
}


.tr-website-work__result span {
	display: block;

	color: rgba(255,255,255,.27);

	font-size: 7px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-work__result strong {
	display: block;

	margin-top: 7px;

	color: #fff;

	font-size: 13px;
}


/* Button */

.tr-website-work__content > a {
	display: inline-flex;
	align-items: center;
	gap: 11px;

	margin-top: 28px;

	color: #19e078;
	text-decoration: none;

	font-size: 9px;
	font-weight: 800;
}


.tr-website-work__content > a svg {
	width: 17px;
	height: 17px;

	transition:
		transform 170ms var(--tr-ease);
}


.tr-website-work__content > a:hover svg {
	transform:
		translate(3px, -3px);
}


/* =========================================================
 * Footer
 * ======================================================= */

.tr-website-work__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;

	margin-top: 13px;
	padding: 16px 18px;

	color: rgba(255,255,255,.28);

	background:
		rgba(255,255,255,.02);

	border:
		1px solid rgba(255,255,255,.07);

	border-radius: 11px;

	font-size: 8px;
	font-weight: 800;
	letter-spacing: .12em;
}


.tr-website-work__footer > div {
	display: flex;
	align-items: center;
	gap: 8px;
}


.tr-website-work__footer i {
	width: 6px;
	height: 6px;

	background: #19e078;

	border-radius: 50%;
}


@media (max-width: 980px) {

	.tr-website-work__header,
	.tr-website-work__case {
		grid-template-columns: 1fr;
	}


	.tr-website-work__media {
		min-height: 340px;
	}

}