.cases {
	padding: 0 var(--pad) 72px;
	display: grid;
	gap: 36px;
}

.case a {
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
	color: var(--ink);
}

.case__media {
	position: relative;
	display: block;
	height: 420px;
	overflow: hidden;
	border-radius: 8px;
}

.case__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.case a:hover img { transform: scale(1.04); }

.case__chip {
	position: absolute;
	left: 16px;
	top: 16px;
	font-size: 13px;
	color: #fff;
	background: rgba(0, 0, 0, 0.45);
	backdrop-filter: blur(8px);
	padding: 7px 12px;
	border-radius: 999px;
}

.case__head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.case__name { font-size: 32px; letter-spacing: -0.04em; font-weight: 600; }
.case__head span:last-child { font-size: 15px; font-weight: 600; }
.case__summary { font-size: 18px; line-height: 1.4; }

.case-single { padding: 48px var(--pad) 20px; display: flex; flex-direction: column; gap: 20px; }
.case-single__back a,
.article__back a { font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--accent); }
.case-single__media { position: relative; min-height: 420px; border-radius: var(--radius); overflow: hidden; }
.case-single__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.case-single .entry-content { max-width: 720px; font-size: 18px; line-height: 1.6; color: var(--body); }

@media (min-width: 1100px) {
	.cases { grid-template-columns: 1fr 1fr; gap: 64px 24px; padding-bottom: 140px; }
	.case--lead { grid-column: span 2; }
	.case--lead .case__media { height: 640px; }
	.case__media { height: 520px; }
	.case--lead .case__name { font-size: 44px; }
	.case__name { font-size: 34px; }
	.case-single { padding: 110px var(--pad) 40px; }
	.case-single__media { min-height: 640px; }
}
