/* Link Cards */
.sh-cards .sh-cards__intro {
	max-width: 680px;
	margin: -12px auto 36px;
	text-align: center;
	font-size: 16.5px;
	line-height: 1.7;
}
.sh-cards .sh-cards__grid {
	display: grid;
	grid-template-columns: repeat(var(--sh-cols, 3), minmax(0, 1fr));
	gap: 22px;
}
.sh-cards .sh-card {
	display: flex;
	flex-direction: column;
	background: var(--sh-white);
	border-radius: var(--sh-r-md);
	overflow: hidden;
	border: 1px solid var(--sh-line);
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.sh-cards.sh-tone--white .sh-card { background: var(--sh-light); }
.sh-cards a.sh-card:hover { transform: translateY(-4px); box-shadow: var(--sh-shadow); color: inherit; }
.sh-cards .sh-card__media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sh-cream); }
.sh-cards .sh-card__media img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform 0.5s ease; }
.sh-cards a.sh-card:hover .sh-card__media img { transform: scale(1.04); }
.sh-cards .sh-card__body { display: flex; flex-direction: column; gap: 8px; padding: 24px 24px 22px; flex: 1; }
.sh-cards .sh-card__badge {
	align-self: flex-start;
	padding: 5px 12px;
	border-radius: var(--sh-r-pill);
	background: var(--sh-cream);
	font: 600 12px/1.2 var(--sh-font-head);
	color: var(--sh-taupe-dark);
}
.sh-cards .sh-card__title { font: 600 19px/1.3 var(--sh-font-head); color: var(--sh-ink); }
.sh-cards .sh-card__text { font-size: 15px; line-height: 1.6; color: var(--sh-text); }
.sh-cards .sh-card__more {
	margin-top: auto;
	padding-top: 8px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font: 600 13.5px/1 var(--sh-font-head);
	color: var(--sh-taupe-dark);
}
.sh-cards .sh-card__more .sh-icon { width: 15px; height: 15px; transition: transform 0.2s ease; }
.sh-cards a.sh-card:hover .sh-card__more .sh-icon { transform: translate(2px, -2px); }

/* A single card becomes a wide horizontal card: photo left, text right. */
.sh-cards .sh-cards__grid--one { grid-template-columns: minmax(0, 1fr); max-width: 980px; margin-inline: auto; }
.sh-cards .sh-cards__grid--one .sh-card { flex-direction: row; }
.sh-cards .sh-cards__grid--one .sh-card__media { position: relative; flex: 0 0 44%; aspect-ratio: auto; min-height: 260px; }
.sh-cards .sh-cards__grid--one .sh-card__media img { position: absolute; inset: 0; }
.sh-cards .sh-cards__grid--one .sh-card__body { justify-content: center; padding: 34px 36px; gap: 10px; }
.sh-cards .sh-cards__grid--one .sh-card__title { font-size: 24px; }
.sh-cards .sh-cards__grid--one .sh-card__text { font-size: 16px; }

@media (max-width: 1024px) {
	.sh-cards .sh-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sh-cards .sh-cards__grid--one { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
	.sh-cards .sh-cards__grid--one .sh-card { flex-direction: column; }
	.sh-cards .sh-cards__grid--one .sh-card__media { flex: none; min-height: 0; aspect-ratio: 16 / 10; }
	.sh-cards .sh-cards__grid--one .sh-card__body { padding: 22px 22px 20px; }
	.sh-cards .sh-cards__grid--one .sh-card__title { font-size: 20px; }
}
@media (max-width: 640px)  { .sh-cards .sh-cards__grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
	.sh-cards .sh-card,
	.sh-cards .sh-card__media img { transition: none; }
}
