body.cm-author-bio-active .cm-page-header .cm-page-title {
	display: none;
}

.cm-author-bio {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	padding-bottom: 34px;
	margin-bottom: 30px;
	border-bottom: 1px solid var(--cm-color-9, #e4e4e7);
}

.cm-author-bio.cm-author-bio--side-by-side {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	position: relative;
	text-align: start;
}

/* The avatar gutter/floor only makes sense when Avatar is actually one of
   the enabled elements — otherwise this reserves an empty column for
   nothing (the avatar is positioned absolute, so it can't push the layout
   itself). */
.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar {
	padding-inline-start: 144px;
	/* Avatar height (112px) plus this element's own padding-bottom (34px) and
	   border-bottom (1px) — box-sizing: border-box means min-height covers the
	   whole border box, so it has to include those or the border ends up
	   flush against the avatar instead of below it. */
	min-height: 147px;
}

@media (min-width: 768px) {

	.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar {
		padding-inline-start: 168px;
		min-height: 163px;
	}
}

.cm-author-bio--side-by-side .cm-author-bio__avatar {
	position: absolute;
	top: 0;
	inset-inline-start: 0;
}

/* Avatar moved after the other elements in the Bio Elements sortable control —
   flip it to the opposite side instead of leaving its list position with no
   visible effect. */
.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar.cm-author-bio--avatar-end {
	padding-inline-start: 0;
	padding-inline-end: 144px;
}

@media (min-width: 768px) {

	.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar.cm-author-bio--avatar-end {
		padding-inline-end: 168px;
	}
}

.cm-author-bio--side-by-side.cm-author-bio--avatar-end .cm-author-bio__avatar {
	inset-inline-start: auto;
	inset-inline-end: 0;
}

.cm-author-bio--side-by-side .cm-author-bio__description {
	margin-inline: 0;
}

.cm-author-bio--side-by-side .cm-author-bio__expertise,
.cm-author-bio--side-by-side .cm-author-bio__social {
	justify-content: flex-start;
}

@media (max-width: 600px) {

	.cm-author-bio.cm-author-bio--side-by-side,
	.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar,
	.cm-author-bio.cm-author-bio--side-by-side.cm-author-bio--has-avatar.cm-author-bio--avatar-end {
		align-items: center;
		position: static;
		padding-inline-start: 0;
		padding-inline-end: 0;
		min-height: 0;
		text-align: center;
	}

	.cm-author-bio--side-by-side .cm-author-bio__avatar {
		position: static;
		margin: 0 auto;
	}

	.cm-author-bio--side-by-side .cm-author-bio__description {
		margin-inline: auto;
	}

	.cm-author-bio--side-by-side .cm-author-bio__expertise,
	.cm-author-bio--side-by-side .cm-author-bio__social {
		justify-content: center;
	}
}

.cm-author-bio__avatar {
	width: 112px;
	height: 112px;
	border-radius: 50%;
	overflow: hidden;
	object-fit: cover;
	display: block;
	box-shadow: 0 0 0 4px var(--cm-color-9, #e4e4e7);
}

@media (min-width: 768px) {

	.cm-author-bio__avatar {
		width: 128px;
		height: 128px;
	}
}

.cm-author-bio__eyebrow {
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--cm-color-1, #207daf);
}

.cm-author-bio__name {
	margin: 8px 0 0;
}

.cm-author-bio__role {
	color: var(--cm-color-5, #27272a);
	opacity: 0.75;
	margin: 0;
}

.cm-author-bio__description {
	max-width: 54ch;
	margin-inline: auto;
}

.cm-author-bio__description p {
	margin: 0 0 12px;
}

.cm-author-bio__description p:last-child {
	margin-bottom: 0;
}

.cm-author-bio__label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--cm-color-5, #27272a);
	opacity: 0.75;
}

.cm-author-bio__expertise {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.cm-author-bio__pill {
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	color: var(--cm-color-5, #27272a);
	background: color-mix(in srgb, var(--cm-color-5, #27272a) 8%, transparent);
	border-radius: 4px;
	padding: 6px 10px;
}

.cm-author-bio__social {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px;
}

.cm-author-bio__social-link {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--cm-color-1, #207daf);
	background: color-mix(in srgb, var(--cm-color-1, #207daf) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--cm-color-1, #207daf) 20%, transparent);
	border-radius: 50%;
	transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.cm-author-bio__social-link:hover,
.cm-author-bio__social-link:focus {
	background: var(--cm-color-1, #207daf);
	border-color: var(--cm-color-1, #207daf);
	color: #fafafa;
	transform: translateY(-2px);
	box-shadow: 0 4px 10px color-mix(in srgb, var(--cm-color-1, #207daf) 30%, transparent);
}

.cm-author-articles-heading {
	margin-bottom: 20px;
}

.cm-author-articles-heading h2 {
	margin: 0 0 4px;
}

.cm-author-articles-heading p {
	color: var(--cm-color-5, #27272a);
	opacity: 0.75;
	margin: 0;
}
