/* ==========================================================================
   ERAS® Society – Single Expert Review
   ========================================================================== */

.eras-expert-review {
	--review-blue: #064487;
	--review-blue-light: #0b5ca8;
	--review-blue-dark: #043565;

	--review-navy: #14284f;

	--review-text: #40596b;
	--review-muted: #718696;

	--review-border: #dce7ed;
	--review-border-soft: #eaf0f3;

	--review-light: #f4f8fb;
	--review-light-blue: #edf6fa;

	background: #fff;
	color: var(--review-text);

	overflow: visible;
}


/* ==========================================================================
   Sticky support
   ========================================================================== */

body.single-reviews,
body.single-reviews #page,
body.single-reviews #content,
body.single-reviews .site,
body.single-reviews .site-content,
body.single-reviews main,
.eras-expert-review,
.eras-expert-review__body,
.eras-expert-review__body > .container,
.eras-expert-review__layout {
	overflow: visible !important;
}


/* ==========================================================================
   Container
   ========================================================================== */

.eras-expert-review .container {
	width: min(
		1200px,
		calc(100% - 48px)
	);

	margin-inline: auto;
	padding: 0;
}


/* ==========================================================================
   Hero
   ========================================================================== */

.eras-expert-review__hero {
	position: relative;

	overflow: hidden !important;

	padding: 92px 0 96px;

	background:
		linear-gradient(
			135deg,
			#f8fbfd 0%,
			#edf6fa 100%
		);
}


.eras-expert-review__hero::before,
.eras-expert-review__hero::after {
	content: "";

	position: absolute;

	border: 1px solid rgba(6, 68, 135, .06);
	border-radius: 50%;

	pointer-events: none;
}


.eras-expert-review__hero::before {
	top: -380px;
	right: -215px;

	width: 700px;
	height: 700px;
}


.eras-expert-review__hero::after {
	bottom: -480px;
	left: -335px;

	width: 680px;
	height: 680px;
}


.eras-expert-review__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-expert-review__hero-main {
	min-width: 0;
}


/* ==========================================================================
   Kicker
   ========================================================================== */

.eras-expert-review__kicker {
	display: flex;
	align-items: center;
	gap: 11px;

	margin: 0 0 18px;

	color: var(--review-blue);

	font-size: 10px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .11em;

	text-transform: uppercase;
}


.eras-expert-review__kicker > span {
	flex: 0 0 auto;

	width: 28px;
	height: 2px;

	background: var(--review-blue);
}


.eras-expert-review__kicker sup {
	font-size: .55em;
}


/* ==========================================================================
   Hero title
   ========================================================================== */

.eras-expert-review__hero h1 {

	margin: 0;

	color: var(--review-blue);

	font-size: clamp(
		44px,
		4.3vw,
		61px
	);

	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.04em;
}


.eras-expert-review__lead {
	margin: 25px 0 0;

	color: #536c7e;

	font-size: 16px;
	line-height: 1.75;
}


/* ==========================================================================
   Hero meta
   ========================================================================== */

.eras-expert-review__hero-meta {
	display: flex;
	flex-wrap: wrap;

	gap: 10px 22px;

	margin-top: 28px;
}


.eras-expert-review__hero-meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;

	color: #6b8191;

	font-size: 11px;
	font-weight: 550;
}


.eras-expert-review__hero-meta i {
	color: var(--review-blue);

	font-size: 12px;
}


/* ==========================================================================
   Hero image
   ========================================================================== */

.eras-expert-review__hero-visual {
	position: relative;

	min-width: 0;
}


.eras-expert-review__hero-image {
	position: relative;

	width: 100%;

	aspect-ratio: 4 / 3;

	overflow: hidden;

	border: 6px solid rgba(255, 255, 255, .75);
	border-radius: 16px;

	background: #fff;

	box-shadow:
		0 22px 52px rgba(25, 55, 80, .11);
}


.eras-expert-review__hero-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.eras-expert-review__hero-caption {
	position: absolute;

	right: 18px;
	bottom: -17px;

	display: inline-flex;
	align-items: center;

	padding: 9px 13px;

	border: 1px solid var(--review-border);
	border-radius: 999px;

	background: #fff;
	color: var(--review-blue);

	font-size: 10px;
	font-weight: 650;

	box-shadow:
		0 8px 20px rgba(25, 55, 80, .08);
}


/* ==========================================================================
   Hero fallback card
   ========================================================================== */

.eras-expert-review__hero-card {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	min-height: 280px;

	padding: 30px;

	overflow: hidden;

	border-radius: 16px;

	background:
		linear-gradient(
			145deg,
			#174379 0%,
			#14294f 100%
		);

	color: #fff;

	box-shadow:
		0 22px 52px rgba(25, 55, 80, .14);
}


.eras-expert-review__hero-card::after {
	content: "";

	position: absolute;

	top: -100px;
	right: -100px;

	width: 260px;
	height: 260px;

	border: 1px solid rgba(255,255,255,.10);
	border-radius: 50%;

	pointer-events: none;
}


.eras-expert-review__hero-card-icon {
	position: relative;
	z-index: 2;

	display: grid;
	place-items: center;

	width: 54px;
	height: 54px;

	border: 1px solid rgba(255,255,255,.14);
	border-radius: 11px;

	background: rgba(255,255,255,.07);

	font-size: 21px;
}


.eras-expert-review__hero-card > div:nth-child(2) {
	position: relative;
	z-index: 2;
}


.eras-expert-review__hero-card-label {
	display: block;

	margin-bottom: 7px;

	color: rgba(255,255,255,.63);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-expert-review__hero-card strong {
	display: block;

	font-size: 42px;
	font-weight: 500;
	line-height: 1;
}


/* ==========================================================================
   Hero people
   ========================================================================== */

.eras-expert-review__hero-people {
	position: relative;
	z-index: 2;

	display: flex;

	margin-top: 22px;
	padding-left: 5px;
}


.eras-expert-review__hero-people > span {
	display: grid;
	place-items: center;

	width: 35px;
	height: 35px;

	margin-left: -5px;

	overflow: hidden;

	border: 2px solid #183b68;
	border-radius: 50%;

	background: rgba(255,255,255,.15);

	color: #fff;

	font-size: 10px;
}


.eras-expert-review__hero-people img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.eras-expert-review__hero-people
.eras-expert-review__hero-person-more {
	background: #fff;
	color: var(--review-navy);

	font-size: 9px;
	font-weight: 700;
}


/* ==========================================================================
   Body
   ========================================================================== */

.eras-expert-review__body {
	position: relative;

	padding: 92px 0 115px;

	background: #fff;
}


.eras-expert-review__layout {
	position: relative;

}


.eras-expert-review__sections {
	width: 100%;
	min-width: 0;
}


/* ==========================================================================
   Back link
   ========================================================================== */

.expert-review-back-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;

	margin: 0 0 38px;

	color: var(--review-blue);

	font-size: 13px;
	font-weight: 650;
	line-height: 1.2;

	text-decoration: none;

	transition:
		color .18s ease,
		gap .18s ease;
}


.expert-review-back-link i {
	font-size: 11px;

	transition:
		transform .18s ease;
}


.expert-review-back-link:hover {
	color: var(--review-blue-dark);
	gap: 13px;
}


.expert-review-back-link:hover i {
	transform: translateX(-3px);
}


/* ==========================================================================
   Sections
   ========================================================================== */

.eras-expert-review__section {
	scroll-margin-top: 120px;

	padding: 0 0 70px;
	margin: 0 0 70px;

	border-bottom:
		1px solid var(--review-border);
}


.eras-expert-review__section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;

	border-bottom: 0;
}


/* ==========================================================================
   Section heading
   ========================================================================== */

.eras-expert-review__section-head {
	margin: 0 0 30px;
}


.eras-expert-review__section-kicker {
	display: flex;
	align-items: center;
	gap: 9px;

	margin: 0 0 11px;

	color: var(--review-blue);

	font-size: 9px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-expert-review__section-head h2 {
	margin: 0;

	color: var(--review-blue);

	font-size: clamp(
		31px,
		3vw,
		42px
	);

	font-weight: 500;
	line-height: 1.13;
	letter-spacing: -.032em;
}


/* ==========================================================================
   Review content / WYSIWYG
   ========================================================================== */

.eras-expert-review__wysiwyg {
	color: var(--review-text);

	font-size: 15px;
	line-height: 1.82;
}


.eras-expert-review__wysiwyg > *:first-child {
	margin-top: 0;
}


.eras-expert-review__wysiwyg > *:last-child {
	margin-bottom: 0;
}


.eras-expert-review__wysiwyg p {
	margin: 0 0 21px;
}


.eras-expert-review__wysiwyg h2,
.eras-expert-review__wysiwyg h3,
.eras-expert-review__wysiwyg h4 {
	margin: 38px 0 14px;

	color: var(--review-blue);

	font-weight: 600;
	line-height: 1.3;
}


.eras-expert-review__wysiwyg h2 {
	font-size: 25px;
}


.eras-expert-review__wysiwyg h3 {
	font-size: 21px;
}


.eras-expert-review__wysiwyg h4 {
	font-size: 18px;
}


.eras-expert-review__wysiwyg a {
	color: var(--review-blue);

	font-weight: 600;

	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


.eras-expert-review__wysiwyg ul,
.eras-expert-review__wysiwyg ol {
	margin: 20px 0;
	padding-left: 23px;
}


.eras-expert-review__wysiwyg li {
	margin-bottom: 8px;
}


.eras-expert-review__wysiwyg blockquote {
	margin: 30px 0;
	padding: 6px 0 6px 23px;

	border-left: 3px solid var(--review-blue);

	color: #536d7e;

	font-size: 17px;
	line-height: 1.7;
}


/* ==========================================================================
   Specialties
   ========================================================================== */

.eras-expert-review__specialities {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 12px;
}


.eras-expert-review__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(--review-border);

	border-radius: 10px;

	background: #fff;
	color: inherit;

	text-decoration: none;
}


div.eras-expert-review__speciality {
	grid-template-columns:
		47px
		minmax(0, 1fr);
}


a.eras-expert-review__speciality {
	transition:
		transform .18s ease,
		border-color .18s ease,
		box-shadow .18s ease;
}


a.eras-expert-review__speciality:hover {
	border-color: rgba(6,68,135,.24);

	transform: translateY(-2px);

	box-shadow:
		0 10px 26px rgba(25,55,80,.07);
}


.eras-expert-review__speciality-icon {
	display: grid;
	place-items: center;

	width: 47px;
	height: 47px;

	border-radius: 9px;

	background: var(--review-light-blue);
	color: var(--review-blue);

	font-size: 15px;
}


.eras-expert-review__speciality > div {
	min-width: 0;
}


.eras-expert-review__speciality > div > span {
	display: block;

	margin-bottom: 4px;

	color: #8a9daa;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .08em;

	text-transform: uppercase;
}


.eras-expert-review__speciality > div > span sup {
	font-size: .55em;
}


.eras-expert-review__speciality strong {
	display: block;

	color: var(--review-blue);

	font-size: 14px;
	font-weight: 650;
	line-height: 1.4;
}


.eras-expert-review__speciality > i {
	justify-self: center;

	color: var(--review-blue);

	font-size: 10px;

	transition:
		transform .18s ease;
}


a.eras-expert-review__speciality:hover > i {
	transform: translateX(3px);
}


/* ==========================================================================
   Contributors
   ========================================================================== */

.eras-expert-review__people {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 16px;
}


.eras-expert-review__person {
	display: grid;

	grid-template-columns:
		130px
		minmax(0, 1fr);

	min-height: 190px;

	overflow: hidden;

	border:
		1px solid var(--review-border);

	border-radius: 11px;

	background: #fff;

	box-shadow:
		0 8px 22px rgba(25,55,80,.035);
}


.eras-expert-review__person-image {
	height: 100%;

	min-height: 190px;

	overflow: hidden;

	background: var(--review-light);
}


.eras-expert-review__person-image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
}


.eras-expert-review__person-placeholder {
	display: grid;
	place-items: center;

	width: 100%;
	height: 100%;

	min-height: 190px;

	background:
		linear-gradient(
			135deg,
			#f4f8fb 0%,
			#edf5f9 100%
		);

	color: #9fb4c1;

	font-size: 37px;
}


.eras-expert-review__person-body {
	display: flex;
	flex-direction: column;

	min-width: 0;

	padding: 21px;
}


.eras-expert-review__person-label {
	margin-bottom: 8px;

	color: #8b9eab;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .11em;

	text-transform: uppercase;
}


.eras-expert-review__person h3 {
	margin: 0;

	color: var(--review-blue);

	font-size: 17px;
	font-weight: 650;
	line-height: 1.35;
}


.eras-expert-review__person-body > strong {
	display: block;

	margin-top: 7px;

	color: #536d7e;

	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
}


.eras-expert-review__person-body > p {
	margin: 7px 0 0;

	color: var(--review-muted);

	font-size: 10px;
	line-height: 1.5;
}


.eras-expert-review__person-actions {
	display: flex;
	flex-wrap: wrap;

	gap: 8px 14px;

	margin-top: auto;
	padding-top: 18px;
}


.eras-expert-review__person-actions a {
	display: inline-flex;
	align-items: center;

	gap: 6px;

	color: var(--review-blue);

	font-size: 10px;
	font-weight: 650;

	text-decoration: none;
}


.eras-expert-review__person-actions a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* ==========================================================================
   Sticky sidebar
   ========================================================================== */

.eras-expert-review__sidebar {
	position: sticky;

	top: 100px;

	align-self: start;

	width: 100%;
	min-width: 0;

	max-height: calc(100vh - 125px);

	z-index: 20;
}


body.admin-bar
.eras-expert-review__sidebar {
	top: 132px;

	max-height: calc(100vh - 157px);
}


.eras-expert-review__sidebar-inner {
	position: relative;

	width: 100%;

	overflow: hidden;

	border:
		1px solid var(--review-border);

	border-radius: 14px;

	background: #fff;

	box-shadow:
		0 15px 45px rgba(25,55,80,.075);
}


/* ==========================================================================
   Sidebar header
   ========================================================================== */

.eras-expert-review__sidebar-header {
	position: relative;

	padding: 28px 27px 25px;

	overflow: hidden;

	border-bottom:
		1px solid var(--review-border);

	background:
		linear-gradient(
			135deg,
			#f9fcfd 0%,
			#edf6fa 100%
		);
}


.eras-expert-review__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%;

	pointer-events: none;
}


.eras-expert-review__sidebar-kicker {
	position: relative;
	z-index: 1;

	display: flex;
	align-items: center;
	gap: 9px;

	margin: 0 0 12px;

	color: var(--review-blue);

	font-size: 9px;
	font-weight: 700;
	letter-spacing: .12em;

	text-transform: uppercase;
}


.eras-expert-review__sidebar-kicker::before {
	content: "";

	display: block;

	width: 20px;
	height: 2px;

	background: var(--review-blue);
}


.eras-expert-review__sidebar-header h2 {
	position: relative;
	z-index: 1;

	margin: 0;

	color: var(--review-blue);

	font-size: 25px;
	font-weight: 550;
	line-height: 1.15;

	letter-spacing: -.028em;
}


.eras-expert-review__sidebar-header p {
	position: relative;
	z-index: 1;

	margin: 11px 0 0;

	color: #6f8494;

	font-size: 12px;
	line-height: 1.65;
}


/* ==========================================================================
   Sidebar navigation
   ========================================================================== */

.eras-expert-review__nav {
	display: flex;
	flex-direction: column;

	padding: 8px 0;
}


.eras-expert-review__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(--review-border-soft);

	color: #536d7e;

	text-decoration: none;

	transition:
		background-color .18s ease,
		color .18s ease,
		padding-left .18s ease;
}


.eras-expert-review__nav a:last-child {
	border-bottom: 0;
}


.eras-expert-review__nav a::before {
	content: "";

	position: absolute;

	top: 8px;
	bottom: 8px;
	left: 0;

	width: 3px;

	border-radius: 0 3px 3px 0;

	background: var(--review-blue);

	opacity: 0;

	transform: scaleY(.35);

	transition:
		opacity .18s ease,
		transform .18s ease;
}


.eras-expert-review__nav a:hover,
.eras-expert-review__nav a.is-active {
	padding-left: 22px;

	background: #f4f9fc;
	color: var(--review-blue);
}


.eras-expert-review__nav a:hover::before,
.eras-expert-review__nav a.is-active::before {
	opacity: 1;

	transform: scaleY(1);
}


.eras-expert-review__nav-number {
	display: grid;
	place-items: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;

	background: #edf5fa;
	color: var(--review-blue);

	font-size: 9px;
	font-weight: 700;

	transition:
		background-color .18s ease,
		color .18s ease;
}


.eras-expert-review__nav a:hover
.eras-expert-review__nav-number,
.eras-expert-review__nav a.is-active
.eras-expert-review__nav-number {
	background: var(--review-blue);
	color: #fff;
}


.eras-expert-review__nav-title {
	min-width: 0;

	font-size: 12px;
	font-weight: 620;
	line-height: 1.35;
}


.eras-expert-review__nav-arrow {
	display: grid;
	place-items: center;

	width: 28px;
	height: 28px;

	color: #9aabb7;

	font-size: 10px;

	transition:
		color .18s ease,
		transform .18s ease;
}


.eras-expert-review__nav a:hover
.eras-expert-review__nav-arrow,
.eras-expert-review__nav a.is-active
.eras-expert-review__nav-arrow {
	color: var(--review-blue);

	transform: translateY(2px);
}


/* ==========================================================================
   Sidebar footer
   ========================================================================== */

.eras-expert-review__sidebar-footer {
	display: flex;
	flex-direction: column;

	gap: 3px;

	padding: 16px 27px;

	border-top:
		1px solid var(--review-border);

	background: #fafcfd;
}


.eras-expert-review__sidebar-footer span {
	color: #93a4af;

	font-size: 8px;
	font-weight: 700;
	letter-spacing: .1em;

	text-transform: uppercase;
}


.eras-expert-review__sidebar-footer strong {
	color: #647c8d;

	font-size: 10px;
	font-weight: 600;
}


/* ==========================================================================
   Tablet
   ========================================================================== */

@media (max-width: 1050px) {

	.eras-expert-review__hero-grid {
		grid-template-columns:
			minmax(0, 1fr)
			300px;

		gap: 55px;
	}


	.eras-expert-review__layout {
		grid-template-columns:
			minmax(0, 1fr)
			285px;

		gap: 45px;
	}


	.eras-expert-review__people {
		grid-template-columns: 1fr;
	}

}


/* ==========================================================================
   Sidebar moves below
   ========================================================================== */

@media (max-width: 850px) {

	.eras-expert-review__layout {
		display: block;
	}


	.eras-expert-review__sections {
		max-width: none;
	}


	.eras-expert-review__sidebar {
		position: static;

		width: 100%;
		max-width: none;

		margin-top: 65px;

		max-height: none;
	}


	body.admin-bar
	.eras-expert-review__sidebar {
		top: auto;

		max-height: none;
	}


	.eras-expert-review__nav {
		display: grid;

		grid-template-columns:
			repeat(3, minmax(0, 1fr));
	}


	.eras-expert-review__nav a {
		border-right:
			1px solid var(--review-border-soft);
	}


	.eras-expert-review__nav a:last-child {
		border-right: 0;
	}

}


/* ==========================================================================
   Mobile hero
   ========================================================================== */

@media (max-width: 700px) {

	.eras-expert-review .container {
		width:
			calc(100% - 40px);
	}


	.eras-expert-review__hero {
		padding: 60px 0 70px;
	}


	.eras-expert-review__hero-grid {
		grid-template-columns: 1fr;

		gap: 46px;
	}


	.eras-expert-review__hero-visual {
		max-width: 400px;
	}


	.eras-expert-review__hero h1 {
		font-size: 43px;
	}


	.eras-expert-review__lead {
		font-size: 15px;
	}


	.eras-expert-review__body {
		padding: 65px 0 85px;
	}


	.eras-expert-review__specialities {
		grid-template-columns: 1fr;
	}


	.eras-expert-review__nav {
		grid-template-columns: 1fr;
	}


	.eras-expert-review__nav a {
		border-right: 0;

		border-bottom:
			1px solid var(--review-border-soft);
	}

}


/* ==========================================================================
   Small mobile
   ========================================================================== */

@media (max-width: 520px) {

	.eras-expert-review .container {
		width:
			calc(100% - 32px);
	}


	.eras-expert-review__hero {
		padding: 48px 0 58px;
	}


	.eras-expert-review__hero h1 {
		font-size: 37px;
	}


	.eras-expert-review__hero-card {
		min-height: 240px;

		padding: 24px;
	}


	.eras-expert-review__section {
		padding-bottom: 54px;
		margin-bottom: 54px;
	}


	.eras-expert-review__person {
		grid-template-columns: 1fr;
	}


	.eras-expert-review__person-image {
		height: 250px;
		min-height: 0;
	}


	.eras-expert-review__person-placeholder {
		min-height: 190px;
	}

}