/**
 * TDS Site Layer: People
 * Extracted from pillars.css
 * Scope:
 * - People hub
 * - People single
 */

.uh-people-hub {
	background: #fff;
}

.uh-people-intro {
	padding: clamp(var(--tds-space-04), 4vw, var(--tds-space-05)) 0 clamp(1.5rem, 3vw, var(--tds-space-04));
	background:
		linear-gradient(180deg, rgba(248, 250, 252, 0.94) 0%, #ffffff 100%);
	border-top: 1px solid rgba(17, 24, 39, 0.06);
	border-bottom: 1px solid var(--tds-border);
}

.uh-people-intro__title {
	max-width: 18ch;
	margin: 0;
	color: var(--tds-text-main);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-h2);
	font-weight: var(--tds-weight-semibold);
	letter-spacing: var(--tds-type-track-h2);
	line-height: var(--tds-type-line-h2);
	text-wrap: balance;
}

.uh-people-intro__text {
	max-width: var(--tds-reading-measure);
	margin: 0;
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: clamp(1rem, 1.05vw, 1.08rem);
	line-height: var(--tds-type-line-body);
}

.uh-people-section {
	padding: clamp(var(--tds-space-05), 6vw, var(--tds-space-06)) 0;
}

.uh-people-section--alt {
	background: var(--tds-surface-soft);
	border-top: 1px solid var(--tds-border);
	border-bottom: 1px solid var(--tds-border);
}

.uh-people-section[id] {
	scroll-margin-top: var(--uh-dynamic-combined-height, calc(var(--tds-header-stack-h) + var(--tds-space-md)));
}

.uh-people-intro + .uh-people-section {
	padding-top: clamp(2.35rem, 3.5vw, 3.5rem);
}

.uh-people-section__kicker {
	margin: 0 0 0.85rem;
	color: var(--tds-brand-accessible);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	letter-spacing: var(--tds-type-track-label);
	line-height: var(--tds-type-line-label);
	text-transform: uppercase;
}

.uh-people-section__heading {
	max-width: 22ch;
	margin: 0 0 1rem;
	color: var(--tds-text-main);
	font-family: var(--tds-font-system);
	font-size: clamp(1.55rem, 2.2vw, 2.15rem);
	font-weight: var(--tds-weight-semibold);
	letter-spacing: var(--tds-type-track-body);
	line-height: var(--tds-type-line-body);
	text-wrap: balance;
}

.uh-people-section__lead {
	max-width: var(--tds-reading-measure);
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: clamp(1rem, 1.05vw, 1.08rem);
	line-height: var(--tds-type-line-body);
}

.uh-people-panel {
	background: #fff;
	border: 1px solid var(--tds-border);
	border-radius: 0.75rem;
}

.uh-people-panel--governance {
	border-left: 4px solid var(--tds-brand-accessible);
}

.uh-people-panel--band {
	background: var(--tds-surface-soft);
}

.uh-people-note {
	max-width: var(--tds-reading-measure);
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
}

.uh-people-link {
	color: var(--tds-brand-accessible);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-semibold);
	text-decoration: none;
}

.uh-people-link:hover,
.uh-people-link:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-people-dossier {
	background: #fff;
	border: 1px solid var(--tds-border);
	border-radius: 0.75rem;
	overflow: hidden;
}

.uh-people-dossier__card {
	background: #fff;
}

.uh-people-dossier__card + .uh-people-dossier__card {
	border-left: 1px solid var(--tds-border);
}

.uh-people-dossier__kicker {
	margin: 0 0 0.55rem;
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	letter-spacing: var(--tds-type-track-label);
	line-height: var(--tds-type-line-label);
	text-transform: uppercase;
}

.uh-people-dossier__title {
	margin: 0 0 0.65rem;
	color: var(--tds-text-main);
	font-family: var(--tds-font-system);
	font-size: clamp(1rem, 1.2vw, 1.15rem);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-body);
}

.uh-people-dossier__text {
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	line-height: var(--tds-type-line-meta);
}

.uh-person-card {
	height: 100%;
	background: #fff;
	border: 1px solid var(--tds-border);
	border-radius: 0.75rem;
	overflow: hidden;
	transition:
		transform var(--tds-motion-duration-standard) var(--tds-motion-easing-expressive),
		box-shadow var(--tds-motion-duration-standard) var(--tds-motion-easing-expressive),
		border-color var(--tds-motion-duration-standard) var(--tds-motion-easing-expressive);
}

.uh-person-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--tds-shadow-md);
	border-color: var(--tds-brand-a22);
}

.uh-person-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.uh-person-card:focus-within {
	border-color: var(--tds-brand);
}

.uh-person-card__media {
	overflow: hidden;
	background: rgba(0, 0, 0, 0.03);
}

.uh-person-card__media--leadership {
	aspect-ratio: 4 / 5;
}

.uh-person-card__media--directory {
	aspect-ratio: 1 / 1;
}

.uh-person-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--tds-motion-duration-standard) var(--tds-motion-easing-expressive);
}

.uh-person-card:hover .uh-person-card__img {
	transform: scale(1.03);
}

.uh-person-card__body {
	padding: 1rem 1rem 1.1rem;
}

.uh-person-card__body--leadership {
	padding: 1.25rem 1.25rem 1.35rem;
}

.uh-person-card__kicker {
	margin-bottom: 0.4rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-label);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	letter-spacing: var(--tds-type-track-label);
	text-transform: uppercase;
	color: var(--tds-text-muted);
}

.uh-person-card__name {
	margin-bottom: 0.35rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-body);
	letter-spacing: var(--tds-type-track-body);
	color: var(--tds-text-main);
}

.uh-person-card__name--leadership {
	font-size: var(--tds-type-h4);
	line-height: var(--tds-type-line-h4);
}

.uh-person-card__position {
	margin-bottom: 0.45rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-meta);
	color: var(--tds-text-muted);
}

.uh-person-card__position--leadership {
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
}

.uh-person-card__affiliation {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	line-height: var(--tds-type-line-meta);
	color: var(--tds-text-muted);
	white-space: normal;
	overflow-wrap: anywhere;
}

.uh-person-card__affiliation--leadership {
	margin-bottom: 0.85rem;
	white-space: normal;
	overflow: visible;
	text-overflow: unset;
}

.uh-person-card__summary {
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
	color: var(--tds-text-muted);
}

@media (max-width: 767.98px) {
	.uh-people-section {
		padding: 2.75rem 0;
	}

	.uh-people-intro {
		padding: 1.35rem 0 1.15rem;
	}

	.uh-people-intro__text {
		font-size: var(--tds-type-size-body);
	}

	.uh-people-intro + .uh-people-section {
		padding-top: 2rem;
	}

	.uh-people-dossier__card + .uh-people-dossier__card {
		border-top: 1px solid var(--tds-border);
		border-left: 0;
	}
}

/* =========================================
   About People Single
========================================= */

/* Transitional: retained until People single record template is migrated in Stage 3. */
.uh-service-page--person-record {
	background: #fff;
}

.uh-person-record-head {
	padding: clamp(2.25rem, 4vw, 3.5rem) 0 clamp(1.5rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--tds-border);
	background: linear-gradient(180deg, rgba(248, 250, 252, 0.88) 0%, #ffffff 100%);
}

.uh-person-record-head__back {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-height: var(--tds-tap-target-min);
	margin-bottom: 0.7rem;
	color: var(--tds-text-muted);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-meta);
	text-decoration: none;
}

.uh-person-record-head__back:hover,
.uh-person-record-head__back:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-person-record-head__kicker {
	margin: 0 0 0.65rem;
	color: var(--tds-brand-accessible);
}

.uh-person-record-head__title {
	max-width: 28ch;
	margin: 0;
	color: var(--tds-text-main);
	text-wrap: balance;
}

.uh-person-record-head__position {
	max-width: 56ch;
	margin: 0.8rem 0 0;
	color: var(--tds-text-main);
	font-size: var(--tds-type-size-body);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-body);
}

.uh-person-record-head__affiliation {
	margin: 0.45rem 0 0;
	color: var(--tds-text-muted);
	font-size: var(--tds-type-size-ui);
	line-height: var(--tds-type-line-ui);
}

.uh-person-record-head__affiliation a {
	color: var(--tds-brand-accessible);
	font-weight: var(--tds-weight-semibold);
	text-decoration: none;
}

.uh-person-record-head__affiliation a:hover,
.uh-person-record-head__affiliation a:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-person-record__rail {
	position: sticky;
	top: 120px;
}

.uh-person-record__kicker {
	display: inline-block;
	margin: 0 0 0.75rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-caption);
	font-weight: var(--tds-weight-medium);
	line-height: var(--tds-type-line-label);
	letter-spacing: var(--tds-type-track-label);
	text-transform: uppercase;
	color: var(--tds-brand-accessible);
}

.uh-person-record__portrait-panel {
	border: 1px solid var(--tds-border);
	border-radius: 1rem;
	overflow: hidden;
	background: #fff;
}

.uh-person-record__portrait-panel:focus-within {
	border-color: var(--tds-brand-accessible);
}

.uh-person-record__portrait {
	aspect-ratio: 4 / 5;
	background: rgba(0, 0, 0, 0.03);
}

.uh-person-record__portrait--empty {
	background: #f8fafc;
}

.uh-person-record__position {
	font-size: clamp(1.2rem, 2.2vw, 1.55rem);
	line-height: var(--tds-type-line-body);
	font-weight: var(--tds-weight-semibold);
	color: var(--tds-brand-accessible);
}

.uh-person-record__content {
	font-size: var(--tds-type-size-body);
	line-height: var(--tds-type-line-body);
	color: #334155;
}

.uh-person-record__content p:last-child {
	margin-bottom: 0;
}

.uh-person-record__directory-panel {
	background: #fff;
}

.uh-person-record__meta-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.uh-person-record__meta-row {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	padding: 0.95rem 0;
	border-bottom: 1px solid #eef2f7;
}

.uh-person-record__meta-row:first-child {
	padding-top: 0;
}

.uh-person-record__meta-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.uh-person-record__meta-label {
	color: #64748b;
}

.uh-person-record__meta-value {
	color: #334155;
}

.uh-person-record__meta-value a {
	color: inherit;
	text-decoration: none;
}

.uh-person-record__meta-value a:hover,
.uh-person-record__meta-value a:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Transitional: retained until People single record template is migrated in Stage 3. */
.uh-service-page--person-record .uh-person-record__content a,
.uh-service-page--person-record .uh-service-note a,
.uh-service-page--person-record .uh-service-link,
.uh-service-page--person-record .uh-service-link-reset {
	color: var(--tds-brand-accessible);
	font-weight: var(--tds-weight-semibold);
	text-decoration: none;
}

.uh-service-page--person-record .uh-person-record__content a:hover,
.uh-service-page--person-record .uh-person-record__content a:focus-visible,
.uh-service-page--person-record .uh-service-note a:hover,
.uh-service-page--person-record .uh-service-note a:focus-visible,
.uh-service-page--person-record .uh-service-link:hover,
.uh-service-page--person-record .uh-service-link:focus-visible,
.uh-service-page--person-record .uh-service-link-reset:hover,
.uh-service-page--person-record .uh-service-link-reset:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-about-meta-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 0.75rem;
}

.uh-about-meta-link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	min-height: 2rem;
	color: var(--tds-brand-accessible);
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-meta);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-meta);
	text-decoration: none;
}

.uh-about-meta-link:hover,
.uh-about-meta-link:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-about-meta-link__icon {
	font-size: 0.82em;
	line-height: 1;
}

.uh-person-record__pub-heading {
	margin-bottom: 1.25rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-body);
	letter-spacing: var(--tds-type-track-body);
	color: #111827;
}

.uh-person-record__pub-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.uh-person-record__pub-item {
	padding-left: 1rem;
	border-left: 3px solid #e5e7eb;
}

.uh-person-record__pub-title {
	margin-bottom: 0.35rem;
	font-family: var(--tds-font-system);
	font-size: var(--tds-type-size-body);
	font-weight: var(--tds-weight-semibold);
	line-height: var(--tds-type-line-h1);
	letter-spacing: var(--tds-type-track-h1);
}

.uh-person-record__pub-title a {
	color: #111827;
	text-decoration: none;
}

.uh-person-record__pub-title a:hover,
.uh-person-record__pub-title a:focus-visible {
	color: var(--tds-brand-action-hover);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.uh-person-record__pub-meta {
	font-size: var(--tds-type-size-label);
	line-height: var(--tds-type-line-label);
	color: #64748b;
	font-family: var(--tds-font-system);
}

@media (max-width: 991.98px) {
	.uh-person-record__rail {
		position: static;
		top: auto;
	}
}
