/* =========================================================
 * Smart Punch - Case studies page
 * ========================================================= */

.case-hero{
	padding:50px 20px 20px;
}

.case-hero .section-heading{
	margin-bottom:0;
}

.case-list-section{
	padding-top:30px;
}

.case-grid{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:32px;
}

.case-card{
	display:block;
	overflow:hidden;
	transition:
		transform .18s ease,
		box-shadow .18s ease,
		border-color .18s ease;
}

.case-card:hover{
	transform:translateY(-6px);
	border-color:color-mix(in srgb,var(--brand) 24%,var(--line));
	box-shadow:0 22px 46px rgba(28,63,148,.14);
}

.case-image-wrap{
	position:relative;
	overflow:hidden;
	aspect-ratio:4 / 3;
	background:var(--surface);
}

.case-image{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .3s ease;
}

.case-card:hover .case-image{
	transform:scale(1.025);
}

.case-category{
	position:absolute;
	top:18px;
	left:18px;
	display:inline-flex;
	padding:8px 13px;
	align-items:center;
	gap:7px;
	background:rgba(255,255,255,.94);
	color:var(--brand);
	border:1px solid rgba(255,255,255,.8);
	border-radius:999px;
	box-shadow:0 7px 18px rgba(20,48,111,.12);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
	font-size:13px;
	font-weight:900;
}

.case-category i{
	color:var(--accent-dark);
}

.case-body{
	padding:28px 30px 30px;
}

.case-body h2{
	margin:0;
	color:var(--text);
	font-size:clamp(22px,2.6vw,30px);
	line-height:1.35;
}

.case-meta{
	display:flex;
	margin-top:18px;
	flex-wrap:wrap;
	gap:10px 22px;
	color:var(--muted);
}

.case-meta p{
	display:inline-flex;
	margin:0;
	align-items:center;
	gap:7px;
	font-size:14px;
	line-height:1.6;
}

.case-meta i{
	color:var(--accent-dark);
	font-size:15px;
}

.case-link{
	display:inline-flex;
	margin-top:24px;
	align-items:center;
	gap:8px;
	color:var(--brand);
	font-size:14px;
	font-weight:900;
}

.case-link i{
	font-size:13px;
	transition:transform .15s ease;
}

.case-card:hover .case-link i{
	transform:translate(2px,-2px);
}

.case-more{
	margin:46px 0 0;
	color:var(--muted);
	font-size:16px;
	font-weight:700;
	text-align:center;
}

@media(max-width:800px){
	.case-grid{
		grid-template-columns:1fr;
		max-width:620px;
		margin:0 auto;
	}
}

@media(max-width:640px){
	.case-grid{
		gap:24px;
	}

	.case-body{
		padding:22px 20px 24px;
	}

	.case-category{
		top:14px;
		left:14px;
	}

	.case-more{
		margin-top:34px;
		font-size:14px;
	}
}
