/* ==============================================
   People Bio
   ============================================== */

/* ==============================================
   Hero
   ============================================== */

.people-hero {
	position: relative;
	background-color: #09314f;
	overflow: hidden;
	margin-top: 80px
}

/* Background image — top half + mirrored reflection via pseudo-elements */
.people-hero::before,
.people-hero::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 511px;
	background-image: var(--people-hero-bg);
	background-size: cover;
	background-position: center top;
	opacity: 0.6;
	pointer-events: none;
	z-index: 0;
}

.people-hero::before {
	top: 0;
}

.people-hero::after {
	top: 511px;
	transform: scaleY(-1);
}

/* Flex row: content left, photo anchored bottom-right */
.people-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: flex-end;
	min-height: 700px;
}

/* Left column — vertically centred */
.people-hero__content {
	flex: 1;
	align-self: center;
	display: flex;
	flex-direction: column;
	gap: 100px;
	padding: 64px 32px 64px 64px;
}

.people-hero__body {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.people-hero__title-group {
	display: flex;
	flex-direction: column;
	gap: 32px;
}

/* Back link */
.people-hero__back {
	font-family: 'Gilroy Medium', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	text-transform: uppercase;
	color: #ffffff;
	text-decoration: none;
	line-height: normal;
	display: inline-block;
}

.people-hero__back:hover {
	color: #5fb9e9;
}

/* Eyebrow */
.people-hero__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.people-hero__rule {
	display: block;
	width: 30px;
	height: 2px;
	background-color: #5fb9e9;
	flex-shrink: 0;
}

.people-hero__eyebrow span:last-child {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #5fb9e9;
	line-height: normal;
	white-space: nowrap;
}

/* Name — two lines */
.people-hero__name {
	display: flex;
	flex-direction: column;
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 96px;
	color: #ffffff;
	line-height: 67px;
	margin: 0;
	padding: 0;
}

.people-hero__name span {
	display: block;
}

.people-hero__name span:first-child {
	margin-bottom: 16px;
}

/* Position */
.people-hero__position {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.people-hero__job-title,
.people-hero__company {
	font-family: 'Gilroy Medium', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.3px;
	line-height: normal;
	text-wrap: balance;
	display: block;
}

.people-hero__job-title {
	color: #ffffff;
}

.people-hero__company {
	color: #5fb9e9;
}

/* Stats */
.people-hero__stats {
	display: flex;
	gap: 42px;
	align-items: center;
}

.people-hero__stat {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.people-hero__stat-number {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 64px;
	color: #ffffff;
	line-height: 47px;
	display: block;
}

.people-hero__stat-label {
	font-family: 'Gilroy Medium', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #5fb9e9;
	line-height: normal;
	display: block;
}

/* Right column — photo anchored to bottom */
.people-hero__photo {
	flex-shrink: 0;
	width: 653px;
	display: flex;
	align-items: flex-end;
}

.people-hero__photo img {
	display: block;
	width: 100%;
	height: 653px;
	object-fit: cover;
	object-position: top center;
}

/* ==============================================
   Quote
   ============================================== */

.people-quote {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 42px 64px;
	background-color: #ffffff;
	background-image: linear-gradient(90deg, rgba(72, 135, 178, 0.05), rgba(72, 135, 178, 0.05));
}

.people-quote__mark {
	flex-shrink: 0;
	width: 71px;
	height: 114px;
	object-fit: contain;
	object-position: left center;
	display: block;
}

.people-quote__text {
	flex: 1;
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 24px;
	line-height: 1.4;
	color: #09314f;
	margin: 0;
}

/* ==============================================
   Content + Sidebar
   ============================================== */

.people-content {
	display: flex;
	gap: 100px;
	padding: 64px;
	background-color: #ffffff;
	align-items: flex-start;
}

/* Left column */
.people-content__main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 100px;
}

.people-content__block {
	display: flex;
	flex-direction: column;
	gap: 42px;
}

.people-content__block-header {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.people-content__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.people-content__rule {
	display: block;
	width: 30px;
	height: 2px;
	background-color: #09314f;
	flex-shrink: 0;
}

.people-content__eyebrow span:last-child {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #09314f;
	line-height: normal;
	white-space: nowrap;
}

.people-content__heading {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 40px;
	color: #0a314f;
	line-height: normal;
	margin: 0;
	padding: 0;
}

.people-content__body {
	display: flex;
	flex-direction: column;
	gap: 24px;
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #333333;
	line-height: 23px;
	letter-spacing: 0.15px;
}

.people-content__body p {
	margin: 0;
}

/* Sidebar */
.people-sidebar {
	flex-shrink: 0;
	width: 400px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.people-sidebar__panel {
	border-left: 2px solid #5fb9e9;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 42px;
	background-color: #ffffff;
	background-image: linear-gradient(90deg, rgba(72, 135, 178, 0.05), rgba(72, 135, 178, 0.05));
}

.people-sidebar__panel--dark {
	background-color: #09314f;
	background-image: none;
	gap: 24px;
}

.people-sidebar__section {
	display: flex;
	flex-direction: column;
	gap: 24px;
	width: 100%;
}

.people-sidebar__title {
	font-family: 'Gilroy Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #09314f;
	line-height: normal;
	margin: 0;
	padding: 0;
	text-transform: uppercase;
}

.people-sidebar__panel--dark .people-sidebar__title {
	color: #5fb9e9;
}

.people-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.people-sidebar__item {
	display: flex;
	gap: 4px;
	align-items: flex-start;
}

/* Bullet icon — filled circle */
.people-sidebar__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 17px;
	height: 17px;
	flex-shrink: 0;
	margin-top: 2px;
}

.people-sidebar__icon::before {
	content: '';
	display: block;
	width: 7px;
	height: 7px;
	background-color: #09314f;
	border-radius: 50%;
}

.people-sidebar__panel--dark .people-sidebar__icon::before {
	background-color: #5fb9e9;
}

.people-sidebar__item-body {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.people-sidebar__item-name {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #192443;
	line-height: normal;
	letter-spacing: 0.15px;
	display: block;
}

.people-sidebar__panel--dark .people-sidebar__item-name {
	color: #ffffff;
}

.people-sidebar__item-role {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #09314f;
	line-height: normal;
	letter-spacing: 0.15px;
	display: block;
}

.people-sidebar__panel--dark .people-sidebar__item-role {
	color: #5fb9e9;
}

/* ==============================================
   Community Involvement
   ============================================== */

.people-affil {
	display: flex;
	flex-direction: column;
	gap: 42px;
	padding: 64px;
	background-color: #ffffff;
}

.people-affil__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.people-affil__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.people-affil__rule {
	display: block;
	width: 30px;
	height: 2px;
	background-color: #09314f;
	flex-shrink: 0;
}

.people-affil__eyebrow span:last-child {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #09314f;
	line-height: normal;
	white-space: nowrap;
}

.people-affil__heading {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 40px;
	color: #192443;
	line-height: normal;
	margin: 0;
	padding: 0;
}

/* Grid — collapsed borders */
.people-affil__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid rgba(72, 135, 178, 0.25);
	border-left: 1px solid rgba(72, 135, 178, 0.25);
}

.people-affil__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 23px;
	height: 200px;
	overflow: hidden;
	background-color: #ffffff;
	border-right: 1px solid rgba(72, 135, 178, 0.25);
	border-bottom: 1px solid rgba(72, 135, 178, 0.25);
}

.people-affil__card-logo {
	width: 42px;
	height: 42px;
	flex-shrink: 0;
}

.people-affil__card-logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
	display: block;
}

.people-affil__card-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.people-affil__card-name {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 16px;
	color: #192443;
	line-height: normal;
	display: block;
}

.people-affil__card-role {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 13px;
	color: #333333;
	letter-spacing: 0.13px;
	line-height: normal;
	display: block;
}

/* ==============================================
   Education
   ============================================== */

.people-edu {
	position: relative;
	background-color: #4887b2;
	overflow: hidden;
	padding: 64px;
}

/* Background image — same mirror pattern as hero */
.people-edu::before,
.people-edu::after {
	content: '';
	position: absolute;
	left: 0;
	width: 100%;
	height: 511px;
	background-image: var(--people-edu-bg);
	background-size: cover;
	background-position: center top;
	opacity: 0.6;
	pointer-events: none;
	z-index: 0;
}

.people-edu::before {
	top: 0;
}

.people-edu::after {
	top: 511px;
	transform: scaleY(-1);
}

.people-edu__block {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.people-edu__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.people-edu__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.people-edu__rule {
	display: block;
	width: 30px;
	height: 2px;
	background-color: #192443;
	flex-shrink: 0;
}

.people-edu__eyebrow span:last-child {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #192443;
	line-height: normal;
	white-space: nowrap;
}

.people-edu__heading {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 40px;
	color: #ffffff;
	line-height: normal;
	margin: 0;
	padding: 0;
}

/* Timeline — flex row per entry with explicit marker column */
.people-edu__entries {
	display: flex;
	flex-direction: column;
	gap: 64px;
}

.people-edu__entry {
	display: flex;
	flex-direction: row;
	gap: 24px;
	align-items: flex-start;
}

/* Marker column: holds the dot (::before) and connecting line (::after) */
.people-edu__marker {
	width: 22px;
	flex-shrink: 0;
	align-self: stretch;
	position: relative;
	display: flex;
	justify-content: center;
}

/* SVG dot */
.people-edu__marker::before {
	content: '';
	position: absolute;
	top: 6px;
	left: 50%;
	transform: translateX(-50%);
	width: 13px;
	height: 13px;
	background-image: var(--people-point-svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1;
}

/* Vertical connecting line — runs from below dot through the 64px gap to next entry */
.people-edu__entry:not(:last-child) .people-edu__marker::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 15px;
	bottom: -70px;
	width: 2px;
	background-color: #192443;
}

.people-edu__entry:last-child .people-edu__marker::after {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 15px;
	bottom: 6px;
	width: 2px;
	background-color: #192443;
}

.people-edu__entry-content {
	display: flex;
	flex-direction: column;
	gap: 18px;
	flex: 1;
	min-width: 0;
}

.people-edu__degree {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #192443;
	letter-spacing: 3.15px;
	display: block;
}

.people-edu__entry-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.people-edu__school {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 24px;
	color: #ffffff;
	display: block;
}

.people-edu__field {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #ffffff;
	letter-spacing: 0.15px;
	display: block;
}

/* ==============================================
   Honors & Recognition
   ============================================== */

.people-awards {
	padding: 64px;
	background-color: #ffffff;
}

.people-awards__block {
	display: flex;
	flex-direction: column;
	gap: 42px;
}

.people-awards__header {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.people-awards__eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
}

.people-awards__rule {
	display: block;
	width: 30px;
	height: 2px;
	background-color: #09314f;
	flex-shrink: 0;
}

.people-awards__eyebrow span:last-child {
	font-family: 'Gilroy Semi-Bold', Arial, Helvetica, sans-serif;
	font-size: 15px;
	letter-spacing: 3.15px;
	color: #09314f;
	line-height: normal;
	white-space: nowrap;
}

.people-awards__heading {
	font-family: 'Gilroy Light', Arial, Helvetica, sans-serif;
	font-size: 40px;
	color: #192443;
	line-height: normal;
	margin: 0;
	padding: 0;
}

.people-awards__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
}

.people-awards__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 39px;
	min-height: 200px;
	background-color: #ffffff;
	border: 1px solid rgba(72, 135, 178, 0.25);
	overflow: hidden;
}

.people-awards__card-logo {
	height: 64px;
	display: flex;
	align-items: center;
}

.people-awards__card-logo img {
	display: block;
	max-height: 100%;
	max-width: 260px;
	width: auto;
	object-fit: contain;
	object-position: left top;
}

.people-awards__card-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.people-awards__card-title {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 24px;
	color: #09314f;
	line-height: normal;
	display: block;
}

.people-awards__card-org {
	font-family: 'Gilroy Regular', Arial, Helvetica, sans-serif;
	font-size: 15px;
	color: #333333;
	letter-spacing: 0.15px;
	line-height: normal;
	display: block;
}

/* ==============================================
   Responsive — Tablet (769px–1024px)
   ============================================== */

@media (min-width: 769px) and (max-width: 1024px) {
	.people-sidebar {
		width: 240px;
	}
}

/* ==============================================
   Responsive — Mobile (≤768px)
   ============================================== */

@media (max-width: 768px) {

	/* --- Hero --- */
	.people-hero {
		margin-top: 0;
	}

	.people-hero__inner {
		flex-direction: column;
		min-height: 856px;
		align-items: flex-start;
	}

	.people-hero__content {
		padding: 64px 20px 380px;
		gap: 42px;
		align-self: auto;
	}

	.people-hero__body {
		gap: 32px;
	}

	.people-hero__name {
		font-size: 64px;
		line-height: 64px;
	}

	.people-hero__stat-number {
		font-size: 48px;
	}

	.people-hero__stat-label {
		font-size: 14px;
		letter-spacing: 2.94px;
	}

	/* Photo anchored bottom-center, slightly cropped by section overflow:hidden */
	.people-hero__photo {
		position: absolute;
		bottom: -10px;
		left: 50%;
		transform: translateX(-50%);
		width: 405px;
	}

	.people-hero__photo img {
		height: 405px;
	}

	/* --- Quote --- */
	.people-quote {
		padding: 42px 20px;
	}

	.people-quote__text {
		font-size: 20px;
	}

	/* --- Content + Sidebar --- */
	.people-content {
		flex-direction: column;
		padding: 42px 20px;
		gap: 42px;
	}

	/* Sidebar moves above main content on mobile */
	.people-sidebar {
		width: 100%;
		order: -1;
	}

	.people-content__main {
		gap: 64px;
	}

	.people-content__heading {
		font-size: 36px;
	}

	/* --- Community Involvement --- */
	.people-affil {
		padding: 42px 20px;
	}

	.people-affil__heading {
		font-size: 36px;
	}

	.people-affil__grid {
		grid-template-columns: 1fr;
	}

	.people-affil__card-name {
		font-size: 18px;
	}

	.people-affil__card-role {
		font-size: 16px;
		letter-spacing: 0.16px;
	}

	/* --- Education --- */
	.people-edu {
		padding: 42px 20px;
	}

	.people-edu__block {
		gap: 42px;
	}

	.people-edu__heading {
		font-size: 36px;
	}

	.people-edu__field {
		font-size: 18px;
		letter-spacing: 0.18px;
	}

	/* --- Honors & Recognition --- */
	.people-awards {
		padding: 42px 20px;
	}

	.people-awards__block {
		gap: 42px;
	}

	.people-awards__heading {
		font-size: 36px;
	}

	.people-awards__grid {
		grid-template-columns: 1fr;
	}

	.people-awards__card {
		min-height: 184px;
		padding: 23px;
	}

	.people-awards__card-title {
		font-size: 18px;
	}

	.people-awards__card-org {
		font-size: 14px;
		letter-spacing: 0.14px;
	}
}
