.gfch-teams {
	--gfch-navy: #0f2b4c;
	--gfch-blue: #1b4f8a;
	--gfch-surface: #f6f7f9;
	--gfch-border: #e1e5ea;
	max-width: 1180px;
	margin: 0 auto;
}

.page:not(.home) .entry-content > .gfch-teams:not(.alignfull) {
	width: 100%;
	max-width: 1180px;
	margin-inline: auto;
	padding-inline: 0;
}

.gfch-team-section {
	margin: 0 0 4rem;
}

.gfch-team-section > h2 {
	color: var(--gfch-navy);
	font-size: clamp(1.7rem, 4vw, 2.5rem);
	margin-bottom: .5rem;
}

.gfch-team-section__subtitle {
	max-width: 760px;
	margin-bottom: 1.75rem;
	color: #515b69;
}

.gfch-team-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 1.5rem;
}

.gfch-person-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--gfch-border);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgb(15 43 76 / 8%);
	transition: transform 220ms cubic-bezier(.4, 0, .2, 1), box-shadow 220ms cubic-bezier(.4, 0, .2, 1);
}

.gfch-person-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgb(15 43 76 / 14%);
}

.gfch-person-card > a {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.gfch-person-card > .gfch-person-linkedin {
	display: inline-flex;
	flex: 0 0 auto;
	flex-direction: row;
	align-items: center;
	align-self: flex-start;
	gap: .45rem;
	margin: auto 1.1rem 1.1rem;
	color: var(--gfch-navy);
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}

.gfch-person-linkedin svg {
	width: 1.25rem;
	height: 1.25rem;
	flex: 0 0 auto;
	color: #0a66c2;
}

.gfch-person-linkedin span:not(.gfch-person-linkedin__external) {
	text-decoration: underline;
	text-underline-offset: .15em;
}

.gfch-person-linkedin__external {
	font-size: .8em;
}

.gfch-person-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--gfch-surface);
	transition: transform 220ms cubic-bezier(.4, 0, .2, 1);
}

.gfch-person-card:hover img {
	transform: scale(1.02);
}

.gfch-person-card > a:focus-visible,
.gfch-person-linkedin:focus-visible {
	outline: 3px solid var(--gfch-blue);
	outline-offset: -3px;
}

.gfch-person-card h3,
.gfch-person-card p {
	padding-inline: 1.1rem;
}

.gfch-person-card h3 {
	margin: 1.1rem 0 .35rem;
	color: var(--gfch-navy);
	font-size: 1.08rem;
}

.gfch-person-card p {
	margin: 0 0 1.2rem;
	margin-top: auto;
	color: #667080;
	font-size: .94rem;
}

@media (max-width: 980px) {
	.gfch-team-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.gfch-team-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.page:not(.home) .entry-content > .gfch-teams:not(.alignfull) {
		max-width: 360px;
	}

	.entry-content .gfch-teams .gfch-team-section > h2 {
		font-size: 24px;
		line-height: 1.2;
	}

	.gfch-team-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.25rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gfch-person-card,
	.gfch-person-card img {
		transition: none;
	}

	.gfch-person-card:hover,
	.gfch-person-card:hover img {
		transform: none;
	}
}
