/* ==========================================================================
   ERAS® Society – Single Person
   ========================================================================== */

.eras-person {
	--person-blue: #064487;
	--person-blue-dark: #043565;

	--person-text: #40596b;
	--person-muted: #718696;

	--person-border: #dce7ed;
	--person-border-soft: #eaf0f3;

	--person-light: #f4f8fb;
	--person-light-blue: #edf6fa;

	background: #fff;
	color: var(--person-text);

	overflow: visible;
}


/* ==========================================================================
   Sticky support
   ========================================================================== */

body.single-people,
body.single-people #page,
body.single-people #content,
body.single-people .site,
body.single-people .site-content,
body.single-people main,
.eras-person,
.eras-person__body,
.eras-person__body > .container,
.eras-person__layout {
	overflow: visible !important;
}


/* ==========================================================================
   Container
   ========================================================================== */

.eras-person .container {
	width: min(
		1200px,
		calc(100% - 48px)
	);

	margin-inline: auto;
	padding: 0;
}


/* ==========================================================================
   Hero
   ========================================================================== */

.eras-person__hero {
	position: relative;

	overflow: hidden !important;

	padding: 92px 0 96px;

	background:
		linear-gradient(
			135deg,
			#f8fbfd 0%,
			#edf6fa 100%
		);
}


.eras-person__hero::before,
.eras-person__hero::after {
	content: "";

	position: absolute;

	border: 1px solid rgba(6,68,135,.06);
	border-radius: 50%;

	pointer-events: none;
}


.eras-person__hero::before {
	top: -380px;
	right: -215px;

	width: 700px;
	height: 700px;
}


.eras-person__hero::after {
	bottom: -480px;
	left: -335px;

	width: 680px;
	height: 680px;
}


.eras-person__hero-grid {
	position: relative;
	z-index: 2;

	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		345px;

	gap: clamp(
		70px,
		8vw,
		130px
	);

	align-items: center;
}


.eras-person__hero-main {
	min-width: 0;
}


/* ==========================================================================
   Hero kicker
   ========================================================================== */

.eras-person__kicker {
	display: flex;
	align-items: center;
	gap: 11px;

	margin: 0 0 18px;

	color: var(--person-blue);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .11em;

	text-transform: uppercase;
}


.eras-person__kicker > span {
	width: 28px;
	height: 2px;

	flex: 0 0 auto;

	background: var(--person-blue);
}


.eras-person__kicker sup {
	font-size: .55em;
}


/* ==========================================================================
   Hero text
   ========================================================================== */

.eras-person__hero h1 {

	margin: 0;

	color: var(--person-blue);

	font-size: clamp(
		46px,
		4.7vw,
		64px
	);

	font-weight: 500;
	line-height: 1.06;
	letter-spacing: -.04em;
}


.eras-person__job-title {
	margin: 17px 0 0;

	color: var(--person-blue);

	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
}


.eras-person__lead {
	max-width: 700px;

	margin: 22px 0 0;

	color: #536c7e;

	font-size: 16px;
	line-height: 1.75;
}


.eras-person__hero-location {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	margin-top: 25px;

	color: #718696;

	font-size: 11px;
	font-weight: 550;
}


.eras-person__hero-location i {
	color: var(--person-blue);
}


/* ==========================================================================
   Portrait
   ========================================================================== */

.eras-person__hero-visual {
	position: relative;
}


.eras-person__portrait {
	width: 100%;

	aspect-ratio: 4 / 4.6;

	overflow: hidden;

	border: 6px solid rgba(255,255,255,.8);
	border-radius: 16px;

	background: #fff;

	box-shadow:
		0 22px 52px rgba(25,55,80,.11);
}


.eras-person__portrait img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center top;
}


.eras-person__portrait--placeholder {
	display: grid;
	place-items: center;

	background:
		linear-gradient(
			135deg,
			#edf6fa 0%,
			#f7fafc 100%
		);

	color: #9eb5c3;

	font-size: 70px;
}


.eras-person__hero-caption {
	position: absolute;

	right: 18px;
	bottom: -17px;

	display: inline-flex;
	align-items: center;

	padding: 9px 13px;

	border: 1px solid var(--person-border);
	border-radius: 999px;

	background: #fff;
	color: var(--person-blue);

	font-size: 10px;
	font-weight: 650;

	box-shadow:
		0 8px 20px rgba(25,55,80,.08);
}


/* ==========================================================================
   Body
   ========================================================================== */

.eras-person__body {
	position: relative;

	padding: 92px 0 115px;
}


.eras-person__layout {
	display: grid;
}


.eras-person__sections {
	width: 100%;

	min-width: 0;
}


/* ==========================================================================
   Back
   ========================================================================== */

.eras-person__back {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin: 0 0 38px;

	color: var(--person-blue);

	font-size: 13px;
	font-weight: 650;

	text-decoration: none;

	transition:
		gap .18s ease,
		color .18s ease;
}


.eras-person__back:hover {
	gap: 13px;

	color: var(--person-blue-dark);
}


.eras-person__back i {
	font-size: 11px;

	transition:
		transform .18s ease;
}


.eras-person__back:hover i {
	transform: translateX(-3px);
}


/* ==========================================================================
   Sections
   ========================================================================== */

.eras-person__section {
	scroll-margin-top: 120px;

	padding: 0 0 70px;
	margin: 0 0 70px;

	border-bottom:
		1px solid var(--person-border);
}


.eras-person__section:last-child {
	padding-bottom: 0;
	margin-bottom: 0;

	border-bottom: 0;
}


.eras-person__section-head {
	margin-bottom: 30px;
}


.eras-person__section-kicker {
	display: flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 11px;

	color: var(--person-blue);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-person__section-head h2 {
	margin: 0;

	color: var(--person-blue);

	font-size: clamp(
		31px,
		3vw,
		42px
	);

	font-weight: 500;
	line-height: 1.13;
	letter-spacing: -.032em;
}


/* ==========================================================================
   WYSIWYG
   ========================================================================== */

.eras-person__wysiwyg {
	font-size: 15px;
	line-height: 1.82;
}


.eras-person__wysiwyg > *:first-child {
	margin-top: 0;
}


.eras-person__wysiwyg > *:last-child {
	margin-bottom: 0;
}


.eras-person__wysiwyg p {
	margin: 0 0 21px;
}


.eras-person__wysiwyg h2,
.eras-person__wysiwyg h3,
.eras-person__wysiwyg h4 {
	margin: 36px 0 14px;

	color: var(--person-blue);

	font-weight: 600;
	line-height: 1.3;
}


.eras-person__wysiwyg h3 {
	font-size: 22px;
}


.eras-person__wysiwyg a {
	color: var(--person-blue);

	font-weight: 600;

	text-underline-offset: 3px;
}


/* ==========================================================================
   Details
   ========================================================================== */

.eras-person__details {
	display: grid;
	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 12px;
}


.eras-person__detail {
	display: grid;

	grid-template-columns:
		46px
		minmax(0, 1fr);

	gap: 14px;

	align-items: center;

	min-height: 80px;

	padding: 16px 17px;

	border: 1px solid var(--person-border);
	border-radius: 10px;

	background: #fff;

	color: inherit;

	text-decoration: none;
}


.eras-person__detail--link {
	grid-template-columns:
		46px
		minmax(0, 1fr)
		28px;

	transition:
		transform .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}


.eras-person__detail--link:hover {
	border-color: rgba(6,68,135,.23);

	transform: translateY(-2px);

	box-shadow:
		0 10px 25px rgba(25,55,80,.07);
}


.eras-person__detail-icon {
	display: grid;
	place-items: center;

	width: 46px;
	height: 46px;

	border-radius: 9px;

	background: var(--person-light-blue);
	color: var(--person-blue);

	font-size: 15px;
}


.eras-person__detail > div > span {
	display: block;

	margin-bottom: 4px;

	color: #8b9daa;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .09em;

	text-transform: uppercase;
}


.eras-person__detail strong {
	display: block;

	color: var(--person-blue);

	font-size: 13px;
	font-weight: 650;
	line-height: 1.45;

	overflow-wrap: anywhere;
}


.eras-person__detail--link > i {
	color: var(--person-blue);

	font-size: 10px;
}


/* ==========================================================================
   Specialties
   ========================================================================== */

.eras-person__specialities {
	display: grid;
	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 12px;
}


.eras-person__speciality {
	display: grid;

	grid-template-columns:
		47px
		minmax(0, 1fr)
		32px;

	gap: 14px;

	align-items: center;

	min-height: 82px;

	padding: 16px 17px;

	border: 1px solid var(--person-border);
	border-radius: 10px;

	background: #fff;

	color: inherit;
	text-decoration: none;
}


div.eras-person__speciality {
	grid-template-columns:
		47px
		minmax(0, 1fr);
}


a.eras-person__speciality {
	transition:
		transform .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}


a.eras-person__speciality:hover {
	border-color: rgba(6,68,135,.23);

	transform: translateY(-2px);

	box-shadow:
		0 10px 25px rgba(25,55,80,.07);
}


.eras-person__speciality-icon {
	display: grid;
	place-items: center;

	width: 47px;
	height: 47px;

	border-radius: 9px;

	background: var(--person-light-blue);
	color: var(--person-blue);

	font-size: 15px;
}


.eras-person__speciality > div > span {
	display: block;

	margin-bottom: 4px;

	color: #8a9daa;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .08em;

	text-transform: uppercase;
}


.eras-person__speciality strong {
	display: block;

	color: var(--person-blue);

	font-size: 14px;
	font-weight: 650;
}


.eras-person__speciality > i {
	color: var(--person-blue);

	font-size: 10px;
}


/* ==========================================================================
   Sticky sidebar
   ========================================================================== */

.eras-person__sidebar {
	position: sticky;

	top: 100px;

	align-self: start;

	width: 100%;
	min-width: 0;

	z-index: 20;
}


body.admin-bar
.eras-person__sidebar {
	top: 132px;
}


.eras-person__sidebar-inner {
	overflow: hidden;

	border: 1px solid var(--person-border);
	border-radius: 14px;

	background: #fff;

	box-shadow:
		0 15px 45px rgba(25,55,80,.075);
}


/* ==========================================================================
   Sidebar header
   ========================================================================== */

.eras-person__sidebar-header {
	position: relative;

	padding: 28px 27px 25px;

	overflow: hidden;

	border-bottom:
		1px solid var(--person-border);

	background:
		linear-gradient(
			135deg,
			#f9fcfd 0%,
			#edf6fa 100%
		);
}


.eras-person__sidebar-header::after {
	content: "";

	position: absolute;

	top: -72px;
	right: -72px;

	width: 170px;
	height: 170px;

	border: 1px solid rgba(6,68,135,.08);
	border-radius: 50%;
}


.eras-person__sidebar-kicker {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 12px;

	color: var(--person-blue);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-person__sidebar-kicker::before {
	content: "";

	width: 20px;
	height: 2px;

	background: var(--person-blue);
}


.eras-person__sidebar-header h2 {
	position: relative;
	z-index: 1;

	margin: 0;

	color: var(--person-blue);

	font-size: 25px;
	font-weight: 550;
	line-height: 1.15;
	letter-spacing: -.028em;
}


.eras-person__sidebar-header p {
	position: relative;
	z-index: 1;

	margin: 11px 0 0;

	color: #6f8494;

	font-size: 12px;
	line-height: 1.65;
}


.eras-person__sidebar-header p strong {
	color: #536d7e;
}


/* ==========================================================================
   Sidebar nav
   ========================================================================== */

.eras-person__nav {
	display: flex;
	flex-direction: column;

	padding: 8px 0;
}


.eras-person__nav a {
	position: relative;

	display: grid;

	grid-template-columns:
		32px
		minmax(0, 1fr)
		28px;

	gap: 11px;

	align-items: center;

	min-height: 59px;

	padding: 9px 18px;

	border-bottom:
		1px solid var(--person-border-soft);

	color: #536d7e;

	text-decoration: none;

	transition:
		background-color .18s ease,
		color .18s ease,
		padding-left .18s ease;
}


.eras-person__nav a:last-child {
	border-bottom: 0;
}


.eras-person__nav a::before {
	content: "";

	position: absolute;

	top: 8px;
	bottom: 8px;
	left: 0;

	width: 3px;

	border-radius: 0 3px 3px 0;

	background: var(--person-blue);

	opacity: 0;

	transform: scaleY(.35);

	transition:
		opacity .18s ease,
		transform .18s ease;
}


.eras-person__nav a:hover,
.eras-person__nav a.is-active {
	padding-left: 22px;

	background: #f4f9fc;
	color: var(--person-blue);
}


.eras-person__nav a:hover::before,
.eras-person__nav a.is-active::before {
	opacity: 1;

	transform: scaleY(1);
}


.eras-person__nav-number {
	display: grid;
	place-items: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;

	background: #edf5fa;
	color: var(--person-blue);

	font-size: 9px;
	font-weight: 700;
}


.eras-person__nav a:hover
.eras-person__nav-number,
.eras-person__nav a.is-active
.eras-person__nav-number {
	background: var(--person-blue);
	color: #fff;
}


.eras-person__nav-title {
	font-size: 12px;
	font-weight: 620;
	line-height: 1.35;
}


.eras-person__nav-arrow {
	display: grid;
	place-items: center;

	width: 28px;
	height: 28px;

	color: #9aabb7;

	font-size: 10px;
}


.eras-person__nav a:hover
.eras-person__nav-arrow,
.eras-person__nav a.is-active
.eras-person__nav-arrow {
	color: var(--person-blue);
}


/* ==========================================================================
   Sidebar footer
   ========================================================================== */

.eras-person__sidebar-footer {
	display: flex;
	align-items: center;
	gap: 5px;

	padding: 16px 27px;

	border-top: 1px solid var(--person-border);

	background: #fafcfd;

	color: #8b9eab;

	font-size: 10px;
}


.eras-person__sidebar-mark {
	color: var(--person-blue);

	font-weight: 700;
}


/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1050px) {

	.eras-person__hero-grid {
		grid-template-columns:
			minmax(0, 1fr)
			300px;

		gap: 55px;
	}


	.eras-person__layout {
		grid-template-columns:
			minmax(0, 1fr)
			285px;

		gap: 45px;
	}

}


/* ==========================================================================
   Smaller screens
   ========================================================================== */

@media (max-width: 850px) {

	.eras-person__layout {
		display: block;
	}


	.eras-person__sections {
		max-width: none;
	}


	.eras-person__sidebar {
		position: static;

		margin-top: 65px;
	}


	.eras-person__nav {
		display: grid;

		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}

}


/* ==========================================================================
   Mobile
   ========================================================================== */

@media (max-width: 700px) {

	.eras-person .container {
		width: calc(100% - 40px);
	}


	.eras-person__hero {
		padding: 60px 0 70px;
	}


	.eras-person__hero-grid {
		grid-template-columns: 1fr;

		gap: 45px;
	}


	.eras-person__hero-visual {
		max-width: 380px;
	}


	.eras-person__hero h1 {
		font-size: 43px;
	}


	.eras-person__body {
		padding: 65px 0 85px;
	}


	.eras-person__details,
	.eras-person__specialities {
		grid-template-columns: 1fr;
	}


	.eras-person__nav {
		grid-template-columns: 1fr;
	}

}


/* ==========================================================================
   Small mobile
   ========================================================================== */

@media (max-width: 520px) {

	.eras-person .container {
		width: calc(100% - 32px);
	}


	.eras-person__hero {
		padding: 48px 0 58px;
	}


	.eras-person__hero h1 {
		font-size: 37px;
	}


	.eras-person__section {
		padding-bottom: 54px;
		margin-bottom: 54px;
	}

}