.team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.157vw, 1.25rem) clamp(0.75rem, 1.003vw, 1.0833rem);
}

.team-card {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	aspect-ratio: 1;
	padding: 1.25rem clamp(0.5rem, 0.637vw, 0.6875rem) clamp(1.25rem, 2.025vw, 2.1875rem) clamp(1.25rem, 2.199vw, 2.375rem);
	font-size: var(--fs-base);
	line-height: 1.7778;
	letter-spacing: -0.025em;
	border: 1px solid #000;
	transition: background-color var(--transition), color var(--transition), border-color var(--transition);
}

.team-card__name { font-size: var(--fs-name); line-height: 1.4545; letter-spacing: -0.0205em; }

.team-card__contact {
	display: flex;
	flex-direction: column;
	margin-top: 1.7778em;
	color: var(--color-muted);
	transition: color var(--transition);
}

.team-card__link { overflow-wrap: anywhere; text-decoration: none; }
.team-card__link:hover { text-decoration: underline; }

.team-card:hover,
.team-card:focus-within { color: #fff; background: var(--color-blue); border-color: var(--color-blue); }
.team-card:hover .team-card__contact,
.team-card:focus-within .team-card__contact { color: #fff; }

@media (max-width: 1279px) {
	.team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 899px) {
	.team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 599px) {
	.team-grid { grid-template-columns: minmax(0, 1fr); }
	.team-card { aspect-ratio: auto; min-height: 16rem; }
}
