#im7-staff-profiles {
	--staff-accent: var(--e-global-color-primary, #7d304b);
	--staff-heading: var(--e-global-color-text, #32373c);
	--staff-text: var(--e-global-color-text, #4d5054);
	--staff-surface: #f2f2f2;
	width: 100%;
	color: var(--staff-text);
	font-family: var(--e-global-typography-text-font-family, inherit);
}

#im7-staff-profiles *,
#im7-staff-profiles *::before,
#im7-staff-profiles *::after {
	box-sizing: border-box;
}

#im7-staff-profiles .im7-staff-profiles__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: clamp(22px, 3vw, 38px) clamp(16px, 2vw, 26px);
}

#im7-staff-profiles .im7-staff-profile {
	position: relative;
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border-radius: 10px;
	background: var(--staff-surface);
	box-shadow: 0 2px 8px rgba(25, 27, 30, 0.1);
	transition:
		box-shadow 220ms ease,
		transform 220ms ease;
}

#im7-staff-profiles .im7-staff-profile::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	background: var(--staff-accent);
	content: "";
}

#im7-staff-profiles .im7-staff-profile:hover {
	box-shadow: 0 10px 24px rgba(25, 27, 30, 0.16);
	transform: translateY(-4px);
}

#im7-staff-profiles .im7-staff-profile__photo {
	width: 100%;
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
	background: #e3e3e3;
}

#im7-staff-profiles .im7-staff-profile__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 18%;
	transition: transform 300ms ease;
}

#im7-staff-profiles .im7-staff-profile:hover .im7-staff-profile__photo img {
	transform: scale(1.025);
}

#im7-staff-profiles .im7-staff-profile__content {
	flex: 1;
	padding: clamp(18px, 2.2vw, 26px) clamp(18px, 2vw, 24px) clamp(22px, 2.5vw, 30px);
	text-align: center;
}

#im7-staff-profiles .im7-staff-profile__name {
	margin: 0 0 8px;
	color: var(--staff-heading);
	font-family: var(--e-global-typography-primary-font-family, inherit);
	font-size: clamp(20px, 1.7vw, 25px);
	font-weight: var(--e-global-typography-primary-font-weight, 600);
	line-height: 1.18;
	text-wrap: balance;
}

#im7-staff-profiles .im7-staff-profile__role {
	margin: 0;
	color: var(--staff-text);
	font-size: clamp(15px, 1.25vw, 18px);
	line-height: 1.45;
	text-wrap: balance;
}

@media (max-width: 1024px) {
	#im7-staff-profiles .im7-staff-profiles__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	#im7-staff-profiles .im7-staff-profiles__grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	#im7-staff-profiles .im7-staff-profile {
		max-width: 480px;
		margin-inline: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	#im7-staff-profiles .im7-staff-profile,
	#im7-staff-profiles .im7-staff-profile__photo img {
		transition: none;
	}
}
