/**
 * Brandgeist Team — shared frontend, editor and live-preview styles.
 */

.bg-team {
	--bg-team-background: #f8fafc;
	--bg-team-surface: #ffffff;
	--bg-team-heading: #101828;
	--bg-team-text: #344054;
	--bg-team-muted: #667085;
	--bg-team-accent: #7c3aed;
	--bg-team-accent-text: #ffffff;
	--bg-team-border: #e4e7ec;
	--bg-team-columns-desktop: 3;
	--bg-team-columns-tablet: 2;
	--bg-team-columns-mobile: 1;
	--bg-team-gap: 24px;
	--bg-team-card-radius: 24px;
	--bg-team-image-radius: 18px;
	--bg-team-card-padding: 24px;
	--bg-team-ease: cubic-bezier(0.2, 0.75, 0.25, 1);

	box-sizing: border-box;
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: none;
	margin-block: clamp(28px, 5vw, 72px);
	padding: clamp(22px, 4.5cqi, 64px);
	border-radius: max(16px, calc(var(--bg-team-card-radius) * 1.2));
	background: var(--bg-team-background);
	color: var(--bg-team-text);
	font-family: inherit;
	font-size: inherit;
	line-height: 1.55;
	container-name: bg-team;
	container-type: inline-size;
}

.bg-team,
.bg-team * {
	box-sizing: border-box;
}

.bg-team--no-background {
	background: transparent;
}

.bg-team--no-block-padding {
	margin-block: 0;
	padding: 0;
}

.bg-team :where(button, input, textarea, select) {
	font: inherit;
}

.bg-team__header {
	display: grid;
	max-width: 760px;
	margin: 0 0 clamp(28px, 5cqi, 58px);
	gap: 12px;
}

.bg-team__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	color: var(--bg-team-accent);
	font-size: 0.76rem;
	font-weight: 760;
	letter-spacing: 0.13em;
	line-height: 1.4;
	text-transform: uppercase;
}

.bg-team__eyebrow-mark {
	display: inline-block;
	width: 26px;
	height: 2px;
	flex: 0 0 26px;
	border-radius: 999px;
	background: currentcolor;
}

#poststuff .bg-team-admin .bg-team__title,
.bg-team__title {
	padding: 0;
	max-width: 20ch;
	margin: 0;
	color: var(--bg-team-heading);
	font-size: clamp(2rem, 5.2cqi, 4.3rem);
	font-weight: 730;
	letter-spacing: -0.045em;
	line-height: 1.02;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.bg-team__intro {
	max-width: 65ch;
	margin-top: 4px;
	color: var(--bg-team-text);
	font-size: clamp(1rem, 1.7cqi, 1.16rem);
	line-height: 1.72;
	text-wrap: pretty;
}

.bg-team__intro :where(p, ul, ol),
.bg-team__detail-copy :where(p, ul, ol) {
	margin-block: 0;
}

.bg-team__intro :where(p, ul, ol) + :where(p, ul, ol),
.bg-team__detail-copy :where(p, ul, ol) + :where(p, ul, ol) {
	margin-top: 0.75em;
}

.bg-team__intro a,
.bg-team__detail-copy a {
	color: var(--bg-team-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.bg-team__grid {
	display: grid;
	grid-template-columns: repeat(var(--bg-team-columns-desktop), minmax(0, 1fr));
	align-items: stretch;
	margin: 0;
	padding: 0;
	gap: var(--bg-team-gap);
	list-style: none;
}

.bg-team__item {
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bg-team__member {
	position: relative;
	display: flex;
	height: 100%;
	min-width: 0;
	flex-direction: column;
	border: 1px solid var(--bg-team-border);
	border-radius: var(--bg-team-card-radius);
	background: var(--bg-team-surface);
	box-shadow: 0 1px 2px rgb(16 24 40 / 4%);
	color: var(--bg-team-text);
	overflow: hidden;
	transition:
		border-color 220ms var(--bg-team-ease),
		box-shadow 220ms var(--bg-team-ease),
		transform 220ms var(--bg-team-ease);
}

.bg-team--motion .bg-team__member:hover {
	border-color: color-mix(in srgb, var(--bg-team-accent) 42%, var(--bg-team-border));
	transform: translateY(-4px);
}

.bg-team--shadow-none .bg-team__member {
	box-shadow: none;
}

.bg-team--shadow-soft .bg-team__member {
	box-shadow:
		0 18px 48px rgb(16 24 40 / 8%),
		0 1px 2px rgb(16 24 40 / 4%);
}

.bg-team--shadow-strong .bg-team__member {
	box-shadow:
		0 30px 70px rgb(16 24 40 / 16%),
		0 3px 8px rgb(16 24 40 / 8%);
}

.bg-team__media {
	position: relative;
	isolation: isolate;
	flex: 0 0 auto;
	margin: 10px 10px 0;
	border-radius: var(--bg-team-image-radius);
	background:
		radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--bg-team-accent) 22%, transparent), transparent 42%),
		color-mix(in srgb, var(--bg-team-background) 72%, var(--bg-team-surface));
	overflow: hidden;
}

.bg-team--ratio-square .bg-team__media {
	aspect-ratio: 1 / 1;
}

.bg-team--ratio-portrait .bg-team__media {
	aspect-ratio: 4 / 5;
}

.bg-team--ratio-landscape .bg-team__media {
	aspect-ratio: 16 / 10;
}

.bg-team--ratio-natural .bg-team__media {
	aspect-ratio: auto;
}

.bg-team--shape-circle .bg-team__media {
	width: calc(100% - 40px);
	max-width: 320px;
	aspect-ratio: 1 / 1;
	align-self: center;
	margin: 20px 20px 0;
	border-radius: 50%;
}

.bg-team__photo,
.bg-team__photo-link,
.bg-team__initials {
	display: block;
	width: 100%;
	height: 100%;
}

.bg-team__photo,
.bg-team__photo-link {
	position: absolute;
	inset: 0;
}

.bg-team__photo {
	object-fit: cover;
	object-position: center;
	transition: transform 500ms var(--bg-team-ease);
}

.bg-team--motion .bg-team__member:hover .bg-team__photo,
.bg-team--motion .bg-team__photo-link:focus-visible .bg-team__photo {
	transform: scale(1.035);
}

.bg-team--ratio-natural .bg-team__photo-link,
.bg-team--ratio-natural:not(.bg-team--shape-circle) .bg-team__photo {
	position: relative;
	inset: auto;
	height: auto;
}

.bg-team--shape-circle .bg-team__photo-link,
.bg-team--shape-circle .bg-team__photo {
	position: absolute;
	inset: 0;
	height: 100%;
}

.bg-team--ratio-natural .bg-team__initials {
	min-height: 260px;
}

.bg-team__initials {
	display: grid;
	place-items: center;
	min-height: 180px;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--bg-team-accent) 8%, transparent), transparent 62%),
		var(--bg-team-background);
	color: var(--bg-team-accent);
}

.bg-team__initials span {
	display: grid;
	width: clamp(74px, 36%, 126px);
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid color-mix(in srgb, var(--bg-team-accent) 24%, var(--bg-team-border));
	border-radius: 50%;
	background: color-mix(in srgb, var(--bg-team-accent) 10%, var(--bg-team-surface));
	font-size: clamp(1.45rem, 4cqi, 2.45rem);
	font-weight: 720;
	letter-spacing: -0.04em;
}

.bg-team__photo-link {
	color: inherit;
	text-decoration: none;
}

.bg-team__zoom {
	position: absolute;
	right: 12px;
	bottom: 12px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgb(255 255 255 / 38%);
	border-radius: 50%;
	background: rgb(16 24 40 / 72%);
	box-shadow: 0 8px 22px rgb(16 24 40 / 22%);
	color: #ffffff;
	backdrop-filter: blur(9px);
	transition:
		background-color 180ms ease,
		transform 180ms ease;
}

.bg-team__photo-link:hover .bg-team__zoom,
.bg-team__photo-link:focus-visible .bg-team__zoom {
	background: var(--bg-team-accent);
	transform: scale(1.06);
}

.bg-team__body {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: stretch;
	padding: var(--bg-team-card-padding);
}

.bg-team__identity {
	display: grid;
	gap: 5px;
	min-width: 0;
}

#poststuff .bg-team-admin .bg-team__name,
.bg-team__name {
	padding: 0;
	margin: 0;
	color: var(--bg-team-heading);
	font-size: clamp(1.24rem, 2.2cqi, 1.62rem);
	font-weight: 720;
	letter-spacing: -0.028em;
	line-height: 1.16;
	overflow-wrap: anywhere;
	text-wrap: balance;
}

.bg-team__role {
	margin: 0;
	color: var(--bg-team-accent);
	font-size: 0.9rem;
	font-weight: 650;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

.bg-team__custom-fields {
	display: grid;
	margin: 19px 0 0;
	padding: 0;
	gap: 11px;
}

.bg-team__custom-field {
	display: grid;
	min-width: 0;
	margin: 0;
	gap: 2px;
}

.bg-team__custom-field dt {
	margin: 0;
	color: var(--bg-team-muted);
	font-size: 0.69rem;
	font-weight: 720;
	letter-spacing: 0.075em;
	line-height: 1.35;
	text-transform: uppercase;
}

.bg-team__custom-field dd {
	min-width: 0;
	margin: 0;
	color: var(--bg-team-text);
	font-size: 0.88rem;
	line-height: 1.52;
	overflow-wrap: anywhere;
}

.bg-team__custom-field dd > :first-child,
.bg-team__custom-field dd p:first-child {
	margin-top: 0;
}

.bg-team__custom-field dd > :last-child,
.bg-team__custom-field dd p:last-child {
	margin-bottom: 0;
}

.bg-team__bullet-list {
	display: grid;
	margin: 0;
	padding: 0 0 0 1.15em;
	gap: 8px;
	color: inherit;
	list-style: disc;
}

.bg-team__bullet-list li {
	margin: 0;
	padding-left: 0.24em;
	line-height: 1.58;
}

.bg-team__bullet-list li::marker {
	color: var(--bg-team-accent);
}

.bg-team__bullet-list li > :first-child {
	margin-top: 0;
}

.bg-team__bullet-list li > :last-child {
	margin-bottom: 0;
}

.bg-team__field-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	color: var(--bg-team-heading);
	font-weight: 620;
	text-decoration-color: color-mix(in srgb, var(--bg-team-accent) 48%, transparent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.bg-team__field-link > span:first-child {
	min-width: 0;
	overflow-wrap: anywhere;
}

.bg-team__field-link > span:last-child {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--bg-team-accent);
	font-size: 0.86em;
}

.bg-team__contacts {
	display: flex;
	flex-wrap: wrap;
	margin: auto 0 0;
	padding: 20px 0 0;
	gap: 8px;
	list-style: none;
}

.bg-team__contacts li {
	min-width: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.bg-team__contact {
	display: inline-flex;
	max-width: 100%;
	min-height: 38px;
	align-items: center;
	gap: 8px;
	padding: 7px 11px;
	border: 1px solid var(--bg-team-border);
	border-radius: 999px;
	background: var(--bg-team-background);
	color: var(--bg-team-text);
	font-size: 0.8rem;
	font-weight: 620;
	line-height: 1.25;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.bg-team__contact > span:last-child {
	min-width: 0;
	overflow-wrap: anywhere;
}

.bg-team__contact-icon {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--bg-team-accent);
	font-size: 1.05em;
}

.bg-team__contact:hover,
.bg-team__contact:focus-visible {
	border-color: var(--bg-team-accent);
	background: color-mix(in srgb, var(--bg-team-accent) 9%, var(--bg-team-surface));
	color: var(--bg-team-heading);
	text-decoration: none;
	transform: translateY(-1px);
}

.bg-team__details-trigger {
	display: flex;
	width: 100%;
	min-height: 44px;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 28px 0 0;
	padding: 22px 0 4px;
	border: 0;
	border-top: 1px solid var(--bg-team-border);
	border-radius: 0;
	background: transparent;
	color: var(--bg-team-heading);
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	appearance: none;
}

.bg-team__details-trigger:hover {
	color: var(--bg-team-accent);
}

.bg-team__trigger-icon {
	display: inline-grid;
	width: 28px;
	height: 28px;
	flex: 0 0 28px;
	place-items: center;
	border-radius: 50%;
	background: color-mix(in srgb, var(--bg-team-accent) 10%, transparent);
	color: var(--bg-team-accent);
	transition: transform 180ms var(--bg-team-ease);
}

.bg-team__accordion {
	margin-top: auto;
}

.bg-team__accordion > summary,
.bg-team__modal-fallback > summary {
	list-style: none;
}

.bg-team__accordion > summary::-webkit-details-marker,
.bg-team__modal-fallback > summary::-webkit-details-marker {
	display: none;
}

.bg-team__accordion[open] .bg-team__trigger-icon,
.bg-team__modal-fallback[open] .bg-team__trigger-icon {
	transform: rotate(180deg);
}

.bg-team__accordion-content {
	padding-top: 15px;
}

.bg-team__inline-details {
	margin-top: 20px;
	padding-top: 18px;
	border-top: 1px solid var(--bg-team-border);
}

.bg-team__detail-content {
	display: grid;
	gap: 20px;
}

.bg-team__detail-section {
	min-width: 0;
	margin: 0;
}

.bg-team__detail-title {
	margin: 0 0 7px;
	color: var(--bg-team-heading);
	font-size: 0.77rem;
	font-weight: 750;
	letter-spacing: 0.07em;
	line-height: 1.4;
	text-transform: uppercase;
}

.bg-team__detail-copy {
	color: var(--bg-team-text);
	font-size: 0.88rem;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.bg-team__modal-trigger,
.bg-team__hover-toggle {
	display: none;
	margin-top: auto;
}

.bg-team--enhanced .bg-team__modal-trigger,
.bg-team--enhanced .bg-team__hover-toggle {
	display: flex;
}

.bg-team__modal-fallback {
	margin-top: auto;
}

.bg-team--enhanced .bg-team__modal-fallback {
	display: none;
}

.bg-team__hover-panel {
	position: static;
	display: grid;
	align-content: start;
	margin: 0;
	padding: var(--bg-team-card-padding);
	gap: 14px;
	border-top: 1px solid color-mix(in srgb, var(--bg-team-accent) 30%, var(--bg-team-border));
	background: color-mix(in srgb, var(--bg-team-accent) 7%, var(--bg-team-surface));
	color: var(--bg-team-text);
}

.bg-team--enhanced .bg-team__hover-panel {
	position: absolute;
	z-index: 4;
	inset: 0;
	max-height: 100%;
	border: 0;
	background:
		linear-gradient(145deg, color-mix(in srgb, var(--bg-team-accent) 10%, transparent), transparent 50%),
		var(--bg-team-surface);
	opacity: 0;
	overflow: auto;
	pointer-events: none;
	transform: translateY(10px) scale(0.985);
	visibility: hidden;
	transition:
		opacity 180ms var(--bg-team-ease),
		transform 220ms var(--bg-team-ease),
		visibility 180ms linear;
}

.bg-team--enhanced .bg-team__member[data-bg-team-hover-open="true"] .bg-team__hover-panel {
	opacity: 1;
	pointer-events: auto;
	transform: none;
	visibility: visible;
}

.bg-team__hover-close {
	display: none;
}

.bg-team--enhanced .bg-team__hover-close {
	display: grid;
	position: sticky;
	z-index: 2;
	top: 0;
	width: 38px;
	height: 38px;
	place-items: center;
	justify-self: end;
	margin: calc(var(--bg-team-card-padding) * -0.42) calc(var(--bg-team-card-padding) * -0.42) -10px 0;
	border: 1px solid var(--bg-team-border);
	border-radius: 50%;
	background: var(--bg-team-surface);
	color: var(--bg-team-heading);
	cursor: pointer;
	appearance: none;
}

.bg-team__detail-kicker {
	margin: 0;
	color: var(--bg-team-accent);
	font-size: 0.76rem;
	font-weight: 740;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

/* Classic: calm cards with full-width imagery. */
.bg-team--layout-classic .bg-team__media {
	margin: 0;
	border-radius: var(--bg-team-card-radius) var(--bg-team-card-radius) 0 0;
}

.bg-team--layout-classic.bg-team--shape-circle .bg-team__media {
	margin: 20px 20px 0;
	border-radius: 50%;
}

/* Editorial: framed portraits and generous asymmetric rhythm. */
.bg-team--layout-editorial .bg-team__member {
	background:
		linear-gradient(160deg, color-mix(in srgb, var(--bg-team-accent) 4%, transparent), transparent 38%),
		var(--bg-team-surface);
}

.bg-team--layout-editorial .bg-team__media {
	margin: 12px 12px 0;
}

.bg-team--layout-editorial .bg-team__body {
	padding-top: clamp(20px, 2.5cqi, 30px);
}

.bg-team--layout-editorial .bg-team__role {
	display: flex;
	align-items: center;
	gap: 8px;
}

.bg-team--layout-editorial .bg-team__role::before {
	width: 18px;
	height: 2px;
	flex: 0 0 18px;
	border-radius: 99px;
	background: currentcolor;
	content: "";
}

/* Compact: horizontal profiles built for dense directories. */
.bg-team--layout-compact .bg-team__member {
	display: grid;
	grid-template-columns: minmax(104px, 0.72fr) minmax(0, 1.28fr);
	align-items: stretch;
}

.bg-team--layout-compact .bg-team__media,
.bg-team--layout-compact.bg-team--shape-circle .bg-team__media {
	width: auto;
	min-height: 100%;
	margin: 0;
	border-radius: var(--bg-team-card-radius) 0 0 var(--bg-team-card-radius);
}

.bg-team--layout-compact .bg-team__media,
.bg-team--layout-compact.bg-team--ratio-natural .bg-team__media,
.bg-team--layout-compact.bg-team--shape-circle .bg-team__media {
	aspect-ratio: auto;
}

.bg-team--layout-compact .bg-team__photo,
.bg-team--layout-compact .bg-team__photo-link {
	position: absolute;
	inset: 0;
	height: 100%;
}

.bg-team--layout-compact .bg-team__initials {
	min-height: 100%;
}

.bg-team--layout-compact .bg-team__body {
	padding: max(18px, calc(var(--bg-team-card-padding) * 0.82));
}

.bg-team--layout-compact .bg-team__contacts {
	padding-top: 15px;
}

.bg-team--layout-compact .bg-team__contact {
	width: 38px;
	justify-content: center;
	padding-inline: 8px;
}

.bg-team--layout-compact .bg-team__contact > span:last-child {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Minimal: gallery-like presentation without card chrome. */
.bg-team--layout-minimal .bg-team__member {
	border-color: transparent;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: visible;
}

.bg-team--layout-minimal .bg-team__member:hover {
	border-color: transparent;
	box-shadow: none;
}

.bg-team--layout-minimal .bg-team__media {
	margin: 0;
}

.bg-team--layout-minimal.bg-team--shape-circle .bg-team__media {
	width: min(100%, 300px);
	margin: 0 auto;
}

.bg-team--layout-minimal .bg-team__body {
	padding: clamp(17px, 2.2cqi, 26px) 0 0;
}

.bg-team--layout-minimal .bg-team__hover-panel {
	border-radius: var(--bg-team-card-radius);
}

/* Accent: confident top rail and accent-tinted contact controls. */
.bg-team--layout-accent .bg-team__member::before {
	position: absolute;
	z-index: 3;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: var(--bg-team-accent);
	content: "";
}

.bg-team--layout-accent .bg-team__media {
	margin: 16px 16px 0;
}

.bg-team--layout-accent .bg-team__role {
	width: fit-content;
	padding: 4px 9px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--bg-team-accent) 10%, transparent);
}

.bg-team--layout-accent .bg-team__contact {
	border-color: color-mix(in srgb, var(--bg-team-accent) 24%, var(--bg-team-border));
	background: color-mix(in srgb, var(--bg-team-accent) 6%, var(--bg-team-surface));
}

.bg-team--align-center .bg-team__header {
	justify-items: center;
	margin-inline: auto;
	text-align: center;
}

.bg-team--align-center .bg-team__body,
.bg-team--align-center .bg-team__identity,
.bg-team--align-center .bg-team__custom-field {
	text-align: center;
}

.bg-team--align-center .bg-team__contacts {
	justify-content: center;
}

.bg-team--align-center .bg-team__details-trigger {
	text-align: center;
}

.bg-team--align-center .bg-team__role,
.bg-team--align-center .bg-team__field-link {
	align-self: center;
}

.bg-team--align-center.bg-team--layout-editorial .bg-team__role {
	justify-content: center;
}

.bg-team__svg {
	display: block;
	width: 1.08em;
	height: 1.08em;
}

.bg-team :where(a, button, summary):focus-visible {
	outline: 3px solid var(--bg-team-accent);
	outline-offset: 3px;
}

.bg-team__photo-link:focus-visible {
	outline-offset: -4px;
}

.bg-team--preview [data-bg-team-preview-link] {
	cursor: default;
	opacity: 0.82;
}

/* Top-layer dialogs are shared by detail modals and image lightboxes. */
.bg-team__dialog {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: clamp(16px, 4vw, 50px);
	border: 0;
	background: transparent;
	color: var(--bg-team-text);
	overflow: auto;
}

.bg-team__dialog:not([open]) {
	display: none;
}

.bg-team__dialog[open] {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: grid;
	place-items: center;
}

.bg-team__dialog::backdrop {
	background: rgb(16 24 40 / 72%);
	backdrop-filter: blur(8px);
}

.bg-team__dialog-shell {
	position: relative;
	width: min(100%, 760px);
	max-height: min(86vh, 860px);
	padding: clamp(26px, 5vw, 54px);
	border: 1px solid var(--bg-team-border);
	border-radius: var(--bg-team-card-radius);
	background: var(--bg-team-surface);
	box-shadow: 0 36px 110px rgb(16 24 40 / 30%);
	overflow: auto;
	overscroll-behavior: contain;
}

.bg-team__dialog-header {
	margin-bottom: clamp(24px, 4vw, 38px);
	padding-right: 44px;
}

.bg-team__dialog-eyebrow {
	margin: 0 0 7px;
	color: var(--bg-team-accent);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-transform: uppercase;
}

#poststuff .bg-team-admin .bg-team__dialog-title,
.bg-team__dialog-title {
	padding: 0;
	margin: 0;
	color: var(--bg-team-heading);
	font-size: clamp(1.7rem, 4vw, 2.8rem);
	font-weight: 730;
	letter-spacing: -0.04em;
	line-height: 1.05;
	text-wrap: balance;
}

.bg-team__dialog-role {
	margin: 8px 0 0;
	color: var(--bg-team-muted);
	font-size: 0.96rem;
}

.bg-team__dialog-header .bg-team__contacts {
	margin: 20px 0 0;
	padding: 0;
}

.bg-team__dialog-close {
	position: absolute;
	z-index: 3;
	top: 18px;
	right: 18px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 1px solid var(--bg-team-border);
	border-radius: 50%;
	background: var(--bg-team-background);
	color: var(--bg-team-heading);
	cursor: pointer;
	appearance: none;
	transition:
		background-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.bg-team__dialog-close:hover {
	background: var(--bg-team-accent);
	color: var(--bg-team-accent-text);
	transform: rotate(5deg);
}

.bg-team__dialog-shell--photo {
	display: grid;
	width: fit-content;
	max-width: min(100%, 1180px);
	max-height: none;
	place-items: center;
	padding: 0;
	border-color: rgb(255 255 255 / 22%);
	background: #101828;
	overflow: visible;
}

.bg-team__dialog-close--photo {
	top: 12px;
	right: 12px;
	border-color: rgb(255 255 255 / 24%);
	background: rgb(16 24 40 / 74%);
	color: #ffffff;
	backdrop-filter: blur(8px);
}

.bg-team__lightbox-image {
	display: block;
	width: auto;
	max-width: min(100%, 1180px);
	height: auto;
	max-height: calc(100vh - 100px);
	border-radius: calc(var(--bg-team-card-radius) * 0.75);
	object-fit: contain;
}

body.bg-team-dialog-open {
	overflow: hidden;
}

.bg-team .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.bg-team-editor-notice {
	box-sizing: border-box;
	margin: 16px 0;
	padding: 14px 16px;
	border: 1px solid #d0d5dd;
	border-left: 4px solid #7c3aed;
	border-radius: 8px;
	background: #ffffff;
	color: #344054;
	font-family: inherit;
	font-size: 14px;
	line-height: 1.5;
}

@container bg-team (max-width: 900px) {
	.bg-team__grid {
		grid-template-columns: repeat(var(--bg-team-columns-tablet), minmax(0, 1fr));
	}

	.bg-team__header {
		margin-bottom: clamp(26px, 5cqi, 42px);
	}
}

@container bg-team (max-width: 560px) {
	.bg-team {
		padding: clamp(16px, 5cqi, 24px);
	}

	.bg-team__grid {
		grid-template-columns: repeat(var(--bg-team-columns-mobile), minmax(0, 1fr));
	}

	.bg-team--layout-compact .bg-team__member {
		display: flex;
	}

	.bg-team--layout-compact .bg-team__media,
	.bg-team--layout-compact.bg-team--shape-circle .bg-team__media {
		width: auto;
		min-height: 0;
		margin: 10px 10px 0;
		border-radius: var(--bg-team-image-radius);
		aspect-ratio: 4 / 3;
	}

	.bg-team--layout-compact.bg-team--shape-circle .bg-team__media {
		width: calc(100% - 40px);
		margin: 20px 20px 0;
		border-radius: 50%;
		aspect-ratio: 1;
	}

	.bg-team--layout-compact .bg-team__photo,
	.bg-team--layout-compact .bg-team__photo-link {
		position: absolute;
		inset: 0;
	}

	.bg-team--layout-compact .bg-team__contact {
		width: auto;
		justify-content: flex-start;
		padding-inline: 11px;
	}

	.bg-team--layout-compact .bg-team__contact > span:last-child {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.bg-team__dialog {
		padding: 10px;
	}

	.bg-team__dialog-shell {
		max-height: calc(100vh - 20px);
		padding: 24px 20px;
		border-radius: max(14px, calc(var(--bg-team-card-radius) * 0.7));
	}

	.bg-team__dialog-shell--photo {
		padding: 0;
	}
}

/* Viewport fallback for browsers without container query support. */
@supports not (container-type: inline-size) {
	@media (max-width: 900px) {
		.bg-team__grid {
			grid-template-columns: repeat(var(--bg-team-columns-tablet), minmax(0, 1fr));
		}
	}

	@media (max-width: 560px) {
		.bg-team__grid {
			grid-template-columns: repeat(var(--bg-team-columns-mobile), minmax(0, 1fr));
		}

		.bg-team--layout-compact .bg-team__member {
			display: flex;
		}

		.bg-team--layout-compact .bg-team__media {
			min-height: 0;
			margin: 10px 10px 0;
			border-radius: var(--bg-team-image-radius);
			aspect-ratio: 4 / 3;
		}
	}
}

@media (prefers-reduced-motion: no-preference) {
	.bg-team--motion .bg-team__member {
		animation: bg-team-enter 560ms var(--bg-team-ease) both;
		animation-delay: min(calc(var(--bg-team-index, 0) * 55ms), 330ms);
	}

	.bg-team--motion .bg-team__dialog[open] .bg-team__dialog-shell {
		animation: bg-team-dialog-enter 220ms var(--bg-team-ease) both;
	}
}

@keyframes bg-team-enter {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@keyframes bg-team-dialog-enter {
	from {
		opacity: 0;
		transform: translateY(10px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bg-team *,
	.bg-team *::before,
	.bg-team *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.bg-team__member:hover,
	.bg-team__photo-link:hover .bg-team__photo,
	.bg-team__photo-link:focus-visible .bg-team__photo {
		transform: none;
	}
}

@media (forced-colors: active) {
	.bg-team,
	.bg-team__member,
	.bg-team__media,
	.bg-team__initials,
	.bg-team__contact,
	.bg-team__trigger-icon,
	.bg-team__hover-panel,
	.bg-team__dialog-shell,
	.bg-team__dialog-close {
		border-color: CanvasText;
		background: Canvas;
		box-shadow: none;
		color: CanvasText;
		forced-color-adjust: auto;
	}

	.bg-team__details-trigger,
	.bg-team__photo-link,
	.bg-team__contact,
	.bg-team__field-link,
	.bg-team__dialog-close,
	.bg-team__hover-close {
		color: LinkText;
	}

	.bg-team :where(a, button, summary):focus-visible {
		outline-color: Highlight;
	}
}
