.fc-profile-template {
	--fc-profile-gap: clamp(2rem, 6vw, 6rem);
	box-sizing: border-box;
	width: 100%;
}

.fc-profile-template__inner {
	box-sizing: border-box;
	margin-left: 0;
	margin-right: auto;
	padding-bottom: clamp(1.5rem, 4vw, 4rem);
	padding-left: max(1.5rem, env(safe-area-inset-left));
	padding-right: max(var(--fc-space-5, 20px), env(safe-area-inset-right));
	padding-top: max(clamp(1.5rem, 4vw, 4rem), var(--fc-profile-fixed-header-clearance, 0px));
	width: 100%;
}

.fc-profile-layout {
	--fc-profile-main-padding-top: clamp(2rem, 4vw, 4rem);
	--fc-profile-rail-width: clamp(240px, 28vw, 360px);
	box-sizing: border-box;
	display: grid;
	gap: var(--fc-profile-gap, clamp(2rem, 6vw, 6rem));
	grid-template-columns: minmax(0, var(--fc-profile-rail-width)) minmax(0, 1fr);
	margin: 0;
	width: 100%;
}

.fc-profile-layout *,
.fc-profile-layout *::before,
.fc-profile-layout *::after {
	box-sizing: border-box;
}

.fc-profile-layout__sidebar {
	align-self: start;
	background: var(--fc-surface-alt, var(--wp--preset--color--base-2, #f6f7f7));
	border-radius: var(--fc-radius-surface, 12px);
	min-width: 0;
	padding: clamp(1rem, 2.5vw, 2rem);
}

.fc-profile-layout.is-sticky-eligible .fc-profile-layout__sidebar {
	position: sticky;
	top: var(--fc-profile-sticky-offset, 2rem);
}

.admin-bar .fc-profile-layout {
	--fc-profile-sticky-offset: calc(32px + 2rem);
}

.fc-profile-layout__headshot {
	margin: calc(-1 * clamp(1rem, 2.5vw, 2rem)) calc(-1 * clamp(1rem, 2.5vw, 2rem)) clamp(1.25rem, 3vw, 2rem);
}

.fc-profile-layout__headshot img {
	aspect-ratio: 4 / 5;
	border-radius: var(--fc-radius-surface, 12px) var(--fc-radius-surface, 12px) 0 0;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.fc-profile-layout__identity > :first-child,
.fc-profile-layout__biography > :first-child,
.fc-profile-layout__contact > :first-child,
.fc-profile-layout__expertise > :first-child {
	margin-block-start: 0;
}

.fc-profile-layout__identity > :last-child,
.fc-profile-layout__biography > :last-child,
.fc-profile-layout__contact > :last-child,
.fc-profile-layout__expertise > :last-child {
	margin-block-end: 0;
}

.fc-profile-layout__name {
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.02;
	margin-block-end: var(--fc-space-3, 12px);
}

.fc-profile-layout__pronouns,
.fc-profile-layout__job-title,
.fc-profile-layout__organization,
.fc-profile-layout__location {
	margin-block: var(--fc-space-1, 4px) 0;
}

.fc-profile-layout__pronouns,
.fc-profile-layout__organization,
.fc-profile-layout__location {
	color: var(--fc-muted, #646970);
}

.fc-profile-layout__job-title {
	font-size: 1.125em;
	font-weight: 650;
}

.fc-profile-layout__contact {
	border-block-start: 1px solid var(--fc-border, #d7dbe1);
	margin-block-start: clamp(1.5rem, 3vw, 2rem);
	padding-block-start: clamp(1.25rem, 2vw, 1.5rem);
}

.fc-profile-layout__contact h2 {
	font-size: 1rem;
	letter-spacing: .04em;
	margin-block-end: var(--fc-space-4, 16px);
	text-transform: uppercase;
}

.fc-profile-layout__contact ul,
.fc-profile-layout__expertise ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.fc-profile-layout__contact ul {
	display: grid;
	gap: var(--fc-space-3, 12px);
}

.fc-profile-layout__contact li {
	display: grid;
	gap: 2px;
}

.fc-profile-layout__contact li > span {
	color: var(--fc-muted, #646970);
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.fc-profile-layout__contact a {
	overflow-wrap: anywhere;
}

.fc-profile-layout__main {
	min-width: 0;
}

@media (min-width: 783px) {
	.fc-profile-template__inner {
		padding-right: max(var(--fc-profile-gap), env(safe-area-inset-right));
	}

	.fc-profile-layout:not(.fc-profile-layout-editor) .fc-profile-layout__main {
		padding-block-start: var(--fc-profile-main-padding-top);
	}
}

.fc-profile-layout__biography > h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin-block-end: clamp(1rem, 2vw, 1.5rem);
}

.fc-profile-layout__summary {
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
	font-weight: 550;
	line-height: 1.65;
}

.fc-profile-layout__bio {
	line-height: 1.7;
}

.fc-profile-layout__summary + .fc-profile-layout__bio {
	margin-block-start: var(--fc-space-5, 20px);
}

.fc-profile-layout__summary p:first-child,
.fc-profile-layout__bio p:first-child {
	margin-block-start: 0;
}

.fc-profile-layout__summary p:last-child,
.fc-profile-layout__bio p:last-child {
	margin-block-end: 0;
}

.fc-profile-layout__expertise {
	margin-block-start: clamp(1.5rem, 3vw, 2.5rem);
}

.fc-profile-layout__expertise h3 {
	font-size: 1rem;
	margin-block-end: var(--fc-space-3, 12px);
}

.fc-profile-layout__expertise ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-2, 8px);
}

.fc-profile-layout__expertise li {
	background: var(--fc-surface-alt, #eef3f8);
	border: 1px solid var(--fc-border, #d7dbe1);
	border-radius: var(--fc-radius-pill, 999px);
	padding: .35rem .75rem;
}

.fc-profile-layout__content {
	display: flex;
	flex-direction: column;
}

.fc-profile-layout__content > :first-child {
	margin-block-start: var(--fc-space-4, 16px);
}

.fc-profile-post-feed-section {
	margin-block-start: clamp(2.5rem, 6vw, 5rem);
	order: 100;
}

.fc-profile-post-feed-section__title {
	margin-block: 0 clamp(1rem, 2vw, 1.5rem);
}

.fc-profile-layout-editor__content {
	margin-block-start: var(--fc-space-4, 16px);
	min-height: 0;
}

.fc-profile-layout-editor__content > [data-type="full-circle/post-feed-blocks"] {
	order: 100;
}

.fc-profile-layout-editor__content > .fc-profile-biography-blocks {
	background: var(--fc-surface, #fff);
	border: 1px dashed var(--fc-border-strong, #c7ced8);
	border-radius: var(--fc-radius-surface, 12px);
	margin-block: 0 clamp(2.5rem, 6vw, 5rem);
	min-height: 140px;
	order: 0;
	padding: clamp(1rem, 2.5vw, 2rem);
}

.fc-profile-layout-editor__content > .fc-profile-biography-blocks::before {
	color: var(--fc-muted, #646970);
	content: "Full biography";
	display: block;
	font-size: .75rem;
	font-weight: 650;
	letter-spacing: .06em;
	margin-block-end: var(--fc-space-4, 16px);
	text-transform: uppercase;
}

.fc-profile-layout-editor.is-biography-hidden .fc-profile-layout-editor__content > .fc-profile-biography-blocks {
	display: none;
}

.fc-profile-layout:not(.fc-profile-layout-editor).is-biography-hidden .fc-profile-layout__biography,
.fc-profile-layout:not(.fc-profile-layout-editor).is-biography-hidden .fc-profile-layout__content > :not(.fc-profile-post-feed-section) {
	display: none;
}

.editor-styles-wrapper .fc-profile-layout-editor {
	margin-left: 1.5rem;
	width: calc(100% - 1.5rem);
}

@media (max-width: 782px) {
	.admin-bar .fc-profile-layout {
		--fc-profile-sticky-offset: calc(46px + 1rem);
	}

	.fc-profile-layout {
		gap: clamp(2rem, 7vw, 3rem);
		grid-template-columns: minmax(0, 1fr);
	}

	.fc-profile-layout__sidebar,
	.fc-profile-layout.is-sticky-eligible .fc-profile-layout__sidebar {
		position: static;
	}

	.fc-profile-layout__headshot img {
		aspect-ratio: 16 / 10;
		max-height: 70vh;
	}
}
