/**
 * Variant CSS: team--quote-per-member-rows
 *
 * Team as alternating (zig-zag) rows: each member gets a square portrait on one
 * side and, on the other, a large one-line personal quote (a big decorative
 * quotation mark + the line), with name and role beneath. Odd rows place the
 * photo left, even rows mirror it (row--reverse) for an editorial back-and-forth
 * rhythm. Reads as a gallery of attitudes, not a bio list. The quote is the hero
 * element (--ink); the quotation mark and emphasised headline word take --accent.
 * The bio binding is reused to carry the one-line quote. Portraits swapped by the
 * photo system. Part of the `team` role.
 */

body.aibt-universal .universal-team--quote-per-member-rows {
	padding-block: calc(clamp(3rem, 7vw, 5rem) * var(--density, 1));
}

/* Intro. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__intro {
	margin-bottom: clamp(2.4rem, 5vw, 3.6rem);
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__kicker {
	font-family: var(--font-body) !important;
	font-size: var(--text-xs) !important;
	font-weight: 600 !important;
	letter-spacing: var(--tracking-widest) !important;
	text-transform: uppercase !important;
	color: var(--accent) !important;
	margin: 0 0 var(--space-sm) 0 !important;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__headline {
	font-family: var(--font-display) !important;
	color: var(--ink) !important;
	margin: 0 0 var(--space-md) 0 !important;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__headline em {
	color: var(--accent) !important;
	font-style: italic;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__deck {
	font-family: var(--font-body) !important;
	font-size: var(--text-lg) !important;
	line-height: var(--leading-relaxed) !important;
	color: var(--ink) !important;
	opacity: 0.78;
	margin: 0 !important;
}

/* Rows stack — generous vertical breathing between members. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__rows {
	display: flex;
	flex-direction: column;
	gap: clamp(2.4rem, 5.5vw, 4rem);
}

/* A single zig-zag row. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(1.6rem, 4vw, 3.4rem);
}

/* Even rows mirror — photo flips to the right. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row--reverse {
	flex-direction: row-reverse;
}

/* Hairline between rows for editorial structure. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row + .universal-team__row {
	padding-top: calc(clamp(2.4rem, 5.5vw, 4rem) * var(--density, 1));
	border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
}

/* Portrait — fixed share, square, the visual anchor of each row. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__photo {
	flex: 0 0 clamp(120px, 26%, 230px);
	margin: 0 !important;
	border-radius: var(--decor-radius);
	overflow: hidden;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform var(--duration-fast, 0.18s) var(--ease-default, ease);
}

/* Subtle portrait zoom on row hover — gives the static editorial rows a touch of life. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row:hover .universal-team__photo img {
	transform: scale(1.04);
}

/* Body — quote + name/role; fills the remaining width. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__body {
	flex: 1 1 auto;
	min-width: 0;
}

/* The one-line quote — hero typographic element with a decorative mark. */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__quote {
	position: relative;
	font-family: var(--font-display) !important;
	font-size: clamp(1.3rem, 3vw, 2rem) !important;
	font-weight: 500 !important;
	font-style: italic;
	line-height: 1.28 !important;
	color: var(--ink) !important;
	margin: 0 0 var(--space-md) 0 !important;
	padding-top: calc(clamp(1.6rem, 3.5vw, 2.6rem) * var(--density, 1));
}

/* Big opening quotation mark sitting above the line (accent). */
body.aibt-universal .universal-team--quote-per-member-rows .universal-team__quote::before {
	content: "\201C";
	position: absolute;
	top: clamp(-0.55em, -0.5vw - 0.4em, -0.35em);
	left: -0.04em;
	font-family: var(--font-display);
	font-style: normal;
	font-size: clamp(3rem, 7vw, 4.6rem);
	line-height: 1;
	color: var(--accent);
	opacity: 0.85;
	pointer-events: none;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__name {
	font-family: var(--font-display) !important;
	font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	color: var(--ink) !important;
	margin: 0 0 0.2rem 0 !important;
}

body.aibt-universal .universal-team--quote-per-member-rows .universal-team__role {
	font-family: var(--font-body) !important;
	font-size: var(--text-sm) !important;
	color: var(--ink) !important;
	opacity: 0.66;
	margin: 0 !important;
}

/* Respect reduced-motion — neutralise the portrait zoom. */
@media (prefers-reduced-motion: reduce) {
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__photo img {
		transition: none;
	}
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row:hover .universal-team__photo img {
		transform: none;
	}
}

/* Cap wide uppercase tracking on small screens so the kicker never crowds itself (A5). */
@media (max-width: 640px) {
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__kicker {
		letter-spacing: 0 !important;
	}
}

/* Mobile — stack each row; photo always sits above the quote (reset reverse). */
@media (max-width: 781px) {
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row,
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__row--reverse {
		flex-direction: column;
		align-items: flex-start;
		gap: clamp(1rem, 3vw, 1.6rem);
	}
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__photo {
		flex: 0 0 auto;
		width: clamp(96px, 34vw, 150px);
	}
	body.aibt-universal .universal-team--quote-per-member-rows .universal-team__quote {
		padding-top: calc(clamp(1.3rem, 5vw, 1.8rem) * var(--density, 1));
	}
}
