.fkp-team {
	min-height: 60vh;
	background: var(--fk-color-page);
	color: var(--fk-color-text);
}

.fkp-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 270px));
	gap: var(--fk-grid-gap);
	justify-content: start;
}

.fkp-team-grid--text {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fkp-team-grid--columns-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fkp-team-grid--columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fkp-team-grid--columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fkp-team-groups {
	display: grid;
	gap: clamp(28px, 4vw, 44px);
}

.fkp-team-group {
	display: grid;
	gap: var(--fk-space-lg);
}

.fkp-team-group__header {
	max-width: var(--fk-reading-width);
}

.fkp-team-group__header :is(h2, p) {
	margin: 0;
}

.fkp-team-group__header h2 {
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: var(--fk-text-2xl);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.fkp-team-group__header p {
	margin-top: var(--fk-space-xs);
	color: var(--fk-color-muted);
	line-height: 1.55;
}

.fkp-team-filters {
	flex-wrap: wrap;
}

.fkp-team-embed .fk-archive-header h2 {
	margin: var(--fk-space-xs) 0 var(--fk-space-sm);
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: var(--fk-text-2xl);
	font-weight: var(--fk-font-weight-heading);
	line-height: 1.08;
	letter-spacing: -0.03em;
}

.fkp-team-embed .fk-archive-header > p:last-child {
	margin-bottom: 0;
	color: var(--fk-color-muted);
}

.fkp-team-card {
	height: 100%;
}

.fkp-team-card--text {
	min-height: 0;
	box-shadow: none;
}

.fkp-team-card--text .fkp-team-card__body {
	padding: var(--fk-card-padding, var(--fk-space-lg));
}

.fkp-team-card--text .fkp-team-card__department {
	margin-bottom: var(--fk-space-md);
	letter-spacing: .055em;
	text-transform: uppercase;
}

.fkp-team-card--text h2 {
	max-width: 26ch;
	font-size: clamp(var(--fk-text-xl), 2vw, var(--fk-text-2xl));
	letter-spacing: -.025em;
}

.fkp-team-card__media {
	display: grid;
	overflow: hidden;
	height: 244px;
	min-height: 0;
	padding: 12px;
	place-items: center;
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-accent);
}

.fkp-team-card__media img {
	width: 100%;
	height: 220px;
	aspect-ratio: auto;
	object-fit: contain;
}

.fkp-team-card__media .dashicons {
	width: 48px;
	height: 48px;
	font-size: 48px;
}

.fkp-team-card.has-placeholder .fkp-team-card__media {
	height: 156px;
	min-height: 0;
}

.fkp-team-card__initials {
	display: grid;
	width: 76px;
	height: 76px;
	place-items: center;
	border: 1px solid color-mix( in srgb, var(--fk-color-accent) 24%, var(--fk-color-border) );
	border-radius: 50%;
	background: var(--fk-color-surface);
	box-shadow: 0 10px 28px color-mix( in srgb, var(--fk-color-heading) 9%, transparent );
	font-family: var(--fk-font-heading);
	font-size: var(--fk-text-xl);
	font-weight: var(--fk-font-weight-heading);
	letter-spacing: -.03em;
}

.fkp-team-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 16px;
}

.fkp-team-card__department {
	margin: 0 0 var(--fk-space-xs);
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
	font-weight: 750;
}

.fkp-team-card h2 {
	margin: 0;
	color: var(--fk-color-heading);
	font-family: var(--fk-font-heading);
	font-size: 1.125rem;
	line-height: 1.25;
}

.fkp-team-card__position {
	margin: var(--fk-space-xs) 0 0;
	color: var(--fk-color-muted);
	line-height: 1.5;
}

.fkp-team-card__bio {
	margin: var(--fk-space-md) 0 0;
	color: var(--fk-color-text);
	font-size: var(--fk-text-sm);
	line-height: 1.6;
}

.fkp-team-card__brands {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: var(--fk-space-md);
}

.fkp-team-card__brands span {
	padding: 5px 8px;
	border-radius: var(--fk-radius-control);
	background: var(--fk-color-surface-soft);
	color: var(--fk-color-muted);
	font-size: var(--fk-text-xs);
	font-weight: 700;
}

.fkp-team-card__contact {
	display: grid;
	gap: 4px;
	margin-top: auto;
	padding-top: var(--fk-space-md);
}

.fkp-team-card__contact a {
	overflow-wrap: anywhere;
	color: var(--fk-color-heading);
	font-size: var(--fk-text-sm);
	font-weight: 700;
}

.fkp-team-empty {
	padding: var(--fk-space-xl);
	border: 1px dashed var(--fk-color-border-strong);
	border-radius: var(--fk-radius-panel);
	background: var(--fk-color-surface);
	text-align: center;
}

.fkp-team-empty :is(h2, p) {
	margin-top: 0;
}

.fkp-team-empty > :last-child {
	margin-bottom: 0;
}

.fkp-team-embed {
	min-height: 0;
}

@media (max-width: 900px) {
	.fkp-team-grid {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	}

	.fkp-team-grid--text {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	}

	.fkp-team-grid--columns-3,
	.fkp-team-grid--columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.fkp-team-grid {
		grid-template-columns: 1fr;
	}

	.fkp-team-filters {
		flex-wrap: nowrap;
	}
}
.fkp-team .fk-archive-header__intro {
	max-width: 68ch;
	color: var(--fk-color-muted);
	line-height: 1.65;
}

.fkp-team .fk-archive-header__intro > :first-child {
	margin-top: 0;
}

.fkp-team .fk-archive-header__intro > :last-child {
	margin-bottom: 0;
}

/* Keep team headings proportional to a compact directory. */
.fkp-team .fk-archive-header h1 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.fkp-team-card__position { font-size: .875rem; }
.fkp-team-grid { align-items: stretch; }

/* Location, department and subteam are separate navigation levels. */
.fkp-team-directory [hidden] { display: none !important; }
.fkp-team-directory__filters { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; margin-bottom: 12px; }
.fkp-team-directory__filters label { display: grid; gap: 6px; flex: 1 1 220px; max-width: 420px; color: var(--fk-color-text); font-size: .875rem; font-weight: 600; }
.fkp-team-directory__filters select { width: 100%; min-height: 44px; padding: 10px 34px 10px 12px; border: 1px solid var(--fk-color-border); border-radius: var(--fk-radius-control); background: var(--fk-color-surface); color: var(--fk-color-text); font: inherit; }
.fkp-team-directory__filters select:focus-visible { outline: 2px solid var(--fk-color-accent); outline-offset: 3px; }
.fkp-team-directory__status { margin: 0 0 24px; color: var(--fk-color-muted); font-size: .875rem; }
.fkp-team-directory__locations { display: grid; gap: 48px; }
.fkp-team-directory__location-title { margin: 0 0 24px; padding-bottom: 12px; border-bottom: 1px solid var(--fk-color-border); font-size: clamp(1.25rem,2vw,1.6rem); line-height: 1.25; }
.fkp-team-directory__department + .fkp-team-directory__department { margin-top: 32px; }
.fkp-team-directory__department > h3 { margin: 0 0 14px; font-size: 1.1rem; color: var(--fk-color-heading); }
.fkp-team-directory .fkp-team-card h2 { font-size: 1.125rem; }
.fkp-team-directory .fkp-team-card__department { display: none; }
@media (max-width: 620px) {
 .fkp-team-directory__filters { gap: 12px; }
 .fkp-team-directory__filters label { max-width: none; }
 .fkp-team-directory__locations { gap: 32px; }
}
.fkp-team-directory .fkp-team-card.has-placeholder .fkp-team-card__media { height: 244px; }
.fkp-team-directory .fkp-team-card__initials { color: var(--fk-color-heading); }

.fkp-team-directory.is-enhanced [data-directory-team-label] { display: none; }
.fkp-team-directory .fkp-team-filters { margin-bottom: var(--fk-space-lg); }
.fkp-team-directory .fkp-team-grid--text { grid-template-columns: repeat(auto-fill,minmax(min(100%,260px),1fr)); }
.fkp-team-directory .fkp-team-grid--text.fkp-team-grid--columns-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.fkp-team-directory .fkp-team-grid--text.fkp-team-grid--columns-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fkp-team-directory .fkp-team-grid--text.fkp-team-grid--columns-4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.fkp-team-card--text .fkp-team-card__contact { margin-top: var(--fk-space-sm); }
@media (max-width: 900px) { .fkp-team-directory .fkp-team-grid--text[class*="columns-"] { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .fkp-team-directory .fkp-team-grid--text[class*="columns-"] { grid-template-columns: minmax(0,1fr); } }
