.cpp-person-list {
	display: grid;
	gap: 2rem;
}

.cpp-person-list__group {
	display: grid;
	gap: 1rem;
}

.cpp-person-list__heading {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
}

.cpp-person-list__items {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cpp-person-list__item {
	margin: 0;
}

.cpp-person-list__link {
	display: grid;
	grid-template-columns: 4rem minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid var(--theme-border-color, #e5e7eb);
	border-radius: 6px;
	text-decoration: none;
}

.cpp-person-list__media {
	display: grid;
	width: 4rem;
	height: 4rem;
	place-items: center;
	overflow: hidden;
	border-radius: 50%;
	background: var(--theme-palette-color-6, #f3f4f6);
	color: var(--theme-palette-color-3, #111827);
	font-weight: 700;
}

.cpp-person-list__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cpp-person-list__body {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.cpp-person-list__name {
	font-weight: 700;
	line-height: 1.35;
}

.cpp-person-list__role,
.cpp-person-list__institution {
	color: var(--theme-text-color, #4b5563);
	font-size: 0.95rem;
	line-height: 1.4;
}

.cpp-person-list-empty {
	margin: 0;
}

@media (min-width: 720px) {
	.cpp-person-list__items {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
