/* ==========================================================================
   About — Figma 130:1333 (1440 x 10162).
   Design px scale with --u below 1440; 12–18px text stays fixed.
   Section y-ranges in the comments are the Figma frame's.
   ========================================================================== */

.page--about { --ab-line: rgba(255, 255, 255, 0.3); --ab-grey: #979797; }

/* WPBakery's stylesheet still loads site-wide and gives .container a clearfix
   ::before/::after, which would take grid cells. */
.page--about .container::before, .page--about .container::after { content: none; display: none; }

/* Shared 29px outline circle (timeline + leaders). */
.ab-circle {
	display: grid;
	place-items: center;
	width: 29px;
	height: 29px;
	border: 1px solid currentColor;
	border-radius: 50%;
	color: var(--white);
	-webkit-backdrop-filter: blur(24px);
	backdrop-filter: blur(24px);
	transition: background-color 0.35s, color 0.35s, opacity 0.35s, border-color 0.35s;
}
.ab-circle svg { width: 12px; height: 10px; transition: transform 0.5s var(--ease-out); }
.ab-circle--prev svg { transform: rotate(180deg); }
.ab-circle:disabled { opacity: 0.4; cursor: default; }
.ab-circle--dark { color: var(--navy-deep); }
@media (hover: hover) {
	.ab-circle:not(:disabled):hover { background: var(--white); border-color: var(--white); color: var(--navy); }
	.ab-circle--dark:not(:disabled):hover { background: var(--navy-deep); border-color: var(--navy-deep); color: var(--white); }
	.ab-circle:not(:disabled):hover svg { transform: translateX(2px); }
	.ab-circle--prev:not(:disabled):hover svg { transform: rotate(180deg) translateX(2px); }
}
/* Comfortable tap target without changing the drawn size. */
.ab-circle { position: relative; }
.ab-circle::after { content: ""; position: absolute; inset: -8px; }

/* --- Hero (0–796) ---------------------------------------------------------- */
.ab-hero { padding: max(calc(220 * var(--u)), calc(var(--header-h) + 56px)) 0 calc(128 * var(--u)); }
.ab-hero__title { max-width: 8.4em; }
.ab-hero__body { max-width: 540px; margin: calc(58 * var(--u)) 0 0 calc(3 * var(--u)); }
.ab-hero__body p + p { margin-top: 25px; }
.ab-hero__actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: calc(35 * var(--u)); }

/* --- Office photo (796–1600): white band, then the 1440x636 image ---------- */
.ab-office { padding-top: 0; } /* 26 Oct 2026: client asked for the white gap under the hero to go. */
.ab-office__media { position: relative; height: max(calc(636 * var(--u)), 220px); overflow: hidden; }
.ab-office__inner, .ab-band__media { position: absolute; inset: 0; will-change: transform; }
.ab-office__inner img, .ab-band__media img { width: 100%; height: 100%; object-fit: cover; }
.ab-office__inner img { object-position: 50% 28%; }
.ab-band__media img { object-position: 50% 45%; }

/* --- Timeline (1600–3200) --------------------------------------------------- */
.ab-tl { padding-top: calc(287 * var(--u)); overflow: hidden; }
.ab-tl__head { text-align: center; }
.ab-tl__title { max-width: 9.75em; margin-inline: auto; color: var(--sky); }
.ab-tl__intro { max-width: 568px; margin: calc(61 * var(--u)) auto 0; }

.ab-tl__stage { position: relative; max-width: var(--frame); margin: calc(237 * var(--u)) auto 0; touch-action: pan-y; }
.ab-tl__panels { display: grid; }
.ab-tl__panel { position: relative; }
.js .ab-tl__panel { grid-area: 1 / 1; visibility: hidden; transition: visibility 0s linear 0.9s; }
.js .ab-tl__panel.is-active { visibility: visible; transition-delay: 0s; }

.ab-tl__visual { position: relative; height: calc(490 * var(--u)); }
.ab-tl__year {
	position: absolute;
	inset: 0 0 auto;
	font-family: var(--serif);
	font-style: italic;
	font-weight: 400;
	font-size: calc(500 * var(--u));
	line-height: calc(575 * var(--u));
	text-align: center;
	color: transparent;
	-webkit-text-stroke: max(1px, calc(2 * var(--u))) var(--sky);
	pointer-events: none;
	user-select: none;
}
.ab-tl__frame {
	position: absolute;
	margin: 0;
	border: max(2px, calc(4 * var(--u))) solid var(--white);
	overflow: hidden;
	background: var(--navy-deep);
	box-shadow: 0 30px 60px rgba(8, 18, 40, 0.25);
}
.ab-tl__frame img { width: 100%; height: 100%; object-fit: cover; }
/* Bounding boxes in Figma: 240x292 at (166, 2583) and 302x256 at (1052, 2516),
   i.e. a 195x261 portrait turned -10.6° and a 261x195 landscape turned 15°. */
.ab-tl__frame--a { left: calc(188 * var(--u)); top: calc(214 * var(--u)); width: calc(195 * var(--u)); height: calc(261 * var(--u)); --r: -10.61deg; }
.ab-tl__frame--b { left: calc(1073 * var(--u)); top: calc(161 * var(--u)); width: calc(261 * var(--u)); height: calc(195 * var(--u)); --r: 15deg; }
.ab-tl__frame { transform: rotate(var(--r)); }

.ab-tl__caption {
	position: relative;
	left: calc(24 * var(--u));     /* the design centres the caption on x 744 */
	max-width: 616px;
	min-height: 124px;
	margin: calc(61 * var(--u)) auto 0;
	padding-inline: 8px;
	text-align: center;
}
.ab-tl__caption-date { margin-bottom: 4px; font-size: 12px; line-height: 18px; font-weight: 500; letter-spacing: 1.92px; text-transform: uppercase; color: var(--sky); }
.ab-tl__caption-title { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 18px; line-height: 25px; }
.ab-tl__caption-body { font-size: 14px; line-height: 25px; }

/* Crossfade between milestones: the numeral and frames drift in the direction of travel. */
.js .ab-tl__year,
.js .ab-tl__frame,
.js .ab-tl__caption > * { opacity: 0; transition: opacity 0.6s var(--ease-out), transform 0.9s var(--ease-out); }
.js .ab-tl__year { transform: translate3d(calc(var(--dir, 1) * 60px), 0, 0); }
.js .ab-tl__frame--a { transform: translate3d(calc(var(--dir, 1) * 40px), 30px, 0) rotate(calc(var(--r) - 6deg)); }
.js .ab-tl__frame--b { transform: translate3d(calc(var(--dir, 1) * 80px), -20px, 0) rotate(calc(var(--r) + 6deg)); }
.js .ab-tl__caption > * { transform: translate3d(0, 12px, 0); }
.js .ab-tl__panel.is-active .ab-tl__year,
.js .ab-tl__panel.is-active .ab-tl__frame,
.js .ab-tl__panel.is-active .ab-tl__caption > * { opacity: 1; transform: rotate(var(--r, 0deg)); }
.js .ab-tl__panel.is-active .ab-tl__frame--a { transition-delay: 0.08s; }
.js .ab-tl__panel.is-active .ab-tl__frame--b { transition-delay: 0.16s; }
.js .ab-tl__panel.is-active .ab-tl__caption > * { transition-delay: 0.12s; }
.js .ab-tl__panel.is-active .ab-tl__caption > * + * { transition-delay: 0.2s; }
.js .ab-tl__panel.is-leaving .ab-tl__year { transform: translate3d(calc(var(--dir, 1) * -60px), 0, 0); }
.js .ab-tl__panel.is-leaving .ab-tl__frame--a { transform: translate3d(calc(var(--dir, 1) * -40px), -20px, 0) rotate(calc(var(--r) + 4deg)); }
.js .ab-tl__panel.is-leaving .ab-tl__frame--b { transform: translate3d(calc(var(--dir, 1) * -80px), 20px, 0) rotate(calc(var(--r) - 4deg)); }
html:not(.js) .ab-tl__arrows { display: none; }

.ab-tl__arrows { position: absolute; top: calc(616 * var(--u)); right: calc(55 * var(--u)); display: flex; gap: 3px; z-index: 2; }

.ab-tl__rail { position: relative; margin-top: calc(60 * var(--u)); }
.ab-tl__rail::before { content: ""; position: absolute; inset: 0 0 auto; height: 1px; background: var(--ab-line); }
.ab-tl__tabs {
	display: flex;
	overflow-x: auto;
	padding: calc(24 * var(--u)) 0 calc(22 * var(--u)) calc(63 * var(--u));
	scrollbar-width: none;
	scroll-padding-inline: calc(63 * var(--u));
	overscroll-behavior-x: contain;
}
.ab-tl__tabs::-webkit-scrollbar { display: none; }
.ab-tl__tab {
	position: relative;
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 145px;
	margin-right: max(calc(287 * var(--u) - 145px), 24px); /* tabs every 287px, as in the design */
	text-align: left;
	color: var(--sky);
	transition: color 0.35s;
}
.ab-tl__tab::before {
	content: "";
	position: absolute;
	top: calc(-24 * var(--u));
	left: 0;
	width: 100%;
	height: 2px;
	background: var(--white);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.7s var(--ease-out);
}
.ab-tl__tab-year { font-family: var(--serif); font-style: italic; font-size: 30px; line-height: 31px; white-space: nowrap; }
/* Month beside the year, so the two 2003 milestones read "2003 Jan" / "2003 Jul". */
.ab-tl__tab-month { margin-left: 2px; font-family: var(--sans); font-style: normal; font-size: 12px; line-height: 1; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; vertical-align: 0.9em; opacity: 0.8; }
.ab-tl__tab-label { font-size: 14px; line-height: 25px; white-space: nowrap; }
.ab-tl__tab.is-active { color: var(--white); }
.ab-tl__tab.is-active::before { transform: none; }
@media (hover: hover) { .ab-tl__tab:not(.is-active):hover { color: var(--white); } }
.ab-tl__tab:focus-visible { outline-offset: 2px; }

/* --- Team band (3200–4000) -------------------------------------------------- */
.ab-band { position: relative; height: max(calc(800 * var(--u)), 260px); overflow: hidden; background: var(--navy-deep); }

/* --- Statement, highlights, values (4000–5848) ------------------------------ */
.ab-story { padding: calc(147 * var(--u)) 0 calc(130 * var(--u)); overflow: hidden; }
.ab-story__statement { color: var(--sky); text-indent: calc(460 * var(--u)); }
.ab-story__statement .word { text-indent: 0; }
.ab-story__label { margin-top: calc(147 * var(--u)); font-weight: 400; color: var(--sky); }
.ab-story__label--values { margin-top: calc(205 * var(--u)); }

.ab-stats { display: grid; grid-template-columns: 292fr 351fr 351fr 302fr; margin-top: calc(90 * var(--u)); }
.ab-stat { min-height: calc(320 * var(--u)); }
.ab-stat + .ab-stat { padding-left: calc(59 * var(--u)); border-left: 1px solid var(--ab-line); }
.ab-stat__num { font-family: var(--serif); font-size: clamp(56px, calc(80 * var(--u)), 80px); line-height: 50px; color: var(--sky); font-variant-numeric: lining-nums; }
.ab-stat__text { max-width: 233px; margin-top: calc(45 * var(--u)); font-size: 16px; line-height: 25px; }
.ab-stat__text strong { display: block; font-weight: 700; }

.ab-values { display: grid; grid-template-columns: calc(760 * var(--u)) minmax(0, 1fr); margin-top: calc(41 * var(--u)); }
.ab-values__title { max-width: 512px; color: var(--sky); }
.ab-values__text { max-width: 526px; padding-top: calc(7 * var(--u)); }
.ab-values__text p + p { margin-top: 25px; }

/* Value chips: two rows drifting in opposite directions; paused on hover and
   focus, static under reduced motion. */
.ab-marquee { display: grid; row-gap: calc(24 * var(--u)); margin-top: calc(86 * var(--u)); outline-offset: -2px; }
.ab-marquee__row { overflow: hidden; }
.ab-marquee__track { display: flex; width: max-content; animation: ab-marquee 48s linear infinite; }
.ab-marquee__row--rev .ab-marquee__track { margin-left: -35px; animation-direction: reverse; }
.ab-marquee:hover .ab-marquee__track,
.ab-marquee:focus .ab-marquee__track,
.ab-marquee:focus-within .ab-marquee__track { animation-play-state: paused; }
.ab-marquee__group { display: flex; flex: none; }
.ab-chip {
	flex: none;
	display: flex;
	align-items: center;
	height: 63px;
	margin-right: 35px;
	padding: 0 11px;
	border: 1px solid var(--sky);
	border-radius: 3px;
	font-size: 30px;
	line-height: 25px;
	font-weight: 300;
	color: var(--sky);
	white-space: nowrap;
	transition: background-color 0.35s, color 0.35s;
}
@media (hover: hover) { .ab-chip:hover { background: var(--sky); color: var(--navy); } }
@keyframes ab-marquee { to { transform: translate3d(-50%, 0, 0); } }
@media (prefers-reduced-motion: reduce) { .ab-marquee__track { animation: none !important; } }

/* --- Founder (5848–6611) ---------------------------------------------------- */
.ab-founder { padding: calc(80 * var(--u)) 0; }
.ab-founder__grid { display: grid; grid-template-columns: calc(420 * var(--u)) minmax(0, 1fr); column-gap: calc(130 * var(--u)); align-items: start; }
.ab-founder__media { aspect-ratio: 420 / 603; }
.ab-founder__media img { object-position: 50% 30%; }
.ab-founder__text { padding-top: calc(77 * var(--u)); color: var(--navy); }
.ab-founder__name { margin-top: calc(39 * var(--u)); }
.ab-founder__quote { display: grid; grid-template-columns: calc(68 * var(--u)) minmax(0, 458px); margin-top: calc(39 * var(--u)); font-size: 16px; line-height: 25px; }
.ab-founder__mark { margin-top: calc(5 * var(--u)); font-family: var(--serif); font-size: 80px; line-height: 50px; color: var(--sky); }

/* --- Trusted Expertise in Execution (6611–7398) ----------------------------- */
.ab-trust { padding: calc(256 * var(--u)) 0 calc(81 * var(--u)); }
.ab-trust__grid { display: grid; grid-template-columns: calc(248 * var(--u)) 1px calc(128 * var(--u)) minmax(0, 919px); align-items: stretch; }
.ab-trust__label { max-width: 155px; font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 25px; color: var(--sky); }
.ab-trust__line { grid-column: 2; display: block; width: 1px; background: var(--ab-line); }
.js .ab-trust__line[data-reveal="line"] { transform: scaleY(0); transform-origin: top; }
.js .ab-trust__line[data-reveal="line"].is-in { transform: none; }
.ab-trust__text { grid-column: 4; color: var(--sky); }

/* --- Leadership (7398–8161) ------------------------------------------------- */
.ab-leaders { position: relative; overflow: hidden; color: var(--navy-deep); scroll-margin-top: 72px; touch-action: pan-y; }
.ab-leaders__media { position: absolute; top: 0; right: 0; bottom: 0; width: calc(724 / 1440 * 100%); background: #eef2f8; }
.ab-leaders__img { position: absolute; inset: 0; opacity: 0; transition: opacity 0.9s var(--ease-out); }
.ab-leaders__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 22%; transform: scale(1.06); transition: transform 1.6s var(--ease-out); }
.ab-leaders__img.is-active { opacity: 1; }
.ab-leaders__img.is-active img { transform: none; }
.ab-leaders__inner { position: relative; display: flex; flex-direction: column; min-height: calc(763 * var(--u)); padding-top: calc(80 * var(--u)); padding-bottom: calc(57 * var(--u)); }
.ab-leaders__top { display: flex; align-items: center; justify-content: space-between; gap: 24px; max-width: calc(570 * var(--u)); }
.ab-leaders__label { color: var(--navy); }
.ab-leaders__nav { display: flex; align-items: center; gap: 3px; }
.ab-leaders__count { margin-right: 14px; font-size: 12px; line-height: 14px; font-variant-numeric: tabular-nums; color: var(--navy); }
.ab-leaders__slides { display: grid; margin-top: auto; padding-top: 48px; max-width: calc(600 * var(--u)); }
.ab-leader { grid-area: 1 / 1; align-self: end; }
.js .ab-leader { opacity: 0; visibility: hidden; transform: translate3d(0, 16px, 0); transition: opacity 0.6s var(--ease-out), transform 0.8s var(--ease-out), visibility 0s linear 0.8s; }
.js .ab-leader.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: 0.1s, 0.1s, 0s; }
.ab-leader__photo { display: none; }
.ab-leader__name { font-family: var(--serif); font-weight: 400; font-size: clamp(36px, calc(50 * var(--u)), 50px); line-height: 1.1; }
.ab-leader__creds { margin-top: 8px; font-size: 12px; line-height: 18px; letter-spacing: 0.5px; opacity: 0.75; }
.ab-leader__role { margin-top: 12px; font-size: 16px; line-height: 25px; }
.ab-leader__rule { display: block; width: 311px; max-width: 100%; height: 1px; margin-top: calc(27 * var(--u)); background: rgba(20, 39, 73, 0.5); }
.ab-leader__more { margin-top: calc(26 * var(--u)); font-size: 16px; line-height: 25px; }
.ab-leader__more span { display: block; }
.ab-leader__more .ab-leader__fact { color: var(--ab-grey); }
.ab-leader__actions { display: flex; align-items: center; gap: 18px; margin-top: calc(27 * var(--u)); }
.ab-leader__actions .btn--outline-dark { border-color: var(--navy-deep); color: var(--navy-deep); }

/* Without JS, every leader shows in turn with their own photo. */
html:not(.js) .ab-leaders__media, html:not(.js) .ab-leaders__nav { display: none; }
html:not(.js) .ab-leaders__slides { row-gap: 64px; max-width: none; }
html:not(.js) .ab-leader { grid-area: auto; }
html:not(.js) .ab-leader__photo { display: block; width: min(420px, 100%); aspect-ratio: 4 / 5; margin-bottom: 32px; overflow: hidden; border-radius: 8px; }
html:not(.js) .ab-leader__photo img { width: 100%; height: 100%; object-fit: cover; }

/* --- Our people (after the leaders) ------------------------------------------
   Six columns at 1440, four from 1279 down to 768, two on phones. The intro
   takes the cells the people leave over in the first row (page-about.php sets
   --span6/--span4), so every row is full. Portraits 3:4; monogram when no photo. */
.ab-people { padding: calc(150 * var(--u)) 0 calc(160 * var(--u)); color: var(--navy); border-top: 1px solid rgba(20, 39, 73, 0.12); }
.ab-people__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 24px;
	row-gap: calc(48 * var(--u) + 8px);
}
.ab-people__list { display: contents; }
.ab-people__intro { grid-column: span var(--span6, 6); align-self: start; max-width: 520px; padding-right: 24px; }
.ab-people__label { color: var(--navy); }
.ab-people__title { margin-top: calc(28 * var(--u) + 8px); color: var(--navy); }
.ab-people__text { max-width: 420px; margin-top: 24px; color: rgba(24, 48, 102, 0.82); }

.ab-person { min-width: 0; }
.ab-person__media { aspect-ratio: 3 / 4; background: #e8eef8; }
.ab-person__media img { position: absolute; inset: 0; object-position: 50% 20%; }
.ab-person__name { margin-top: 16px; font-size: 14px; line-height: 18px; font-weight: 400; color: var(--navy); overflow-wrap: break-word; }
.ab-person__role { margin-top: 4px; font-size: 12px; line-height: 18px; font-weight: 300; color: rgba(24, 48, 102, 0.78); overflow-wrap: break-word; }
.ab-person__role--soon { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; font-size: 11px; color: var(--navy); }
.ab-person__role--soon::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #6f9fe6; box-shadow: 0 0 0 3px rgba(111, 159, 230, 0.22); }
@media (hover: hover) { .ab-person:hover .ab-person__name { color: var(--navy-deep); } }

/* Monogram tile (same look as /teams/). */
.ab-person__media--mono { background: linear-gradient(155deg, var(--navy) 0%, var(--navy-deep) 100%); }
.ab-mono { position: absolute; inset: 0; display: grid; place-items: center; color: var(--sky); transition: transform 1.4s var(--ease-out); }
.ab-mono::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(191, 217, 255, 0.22); border-radius: 4px; }
.ab-mono__initials { font-family: var(--serif); font-size: clamp(40px, calc(64 * var(--u)), 64px); line-height: 1; letter-spacing: 0.04em; }
.ab-mono__mark { position: absolute; left: 24px; bottom: 22px; width: 44px; color: rgba(191, 217, 255, 0.4); }
.ab-mono__mark svg { width: 44px; height: auto; }
@media (hover: hover) { .ab-person__media--mono:hover .ab-mono { transform: scale(1.04); } }

@media (max-width: 1279px) {
	.ab-people__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.ab-people__intro { grid-column: span var(--span4, 4); }
}
@media (max-width: 1023px) {
	.ab-people__grid { column-gap: 18px; row-gap: 40px; }
	.ab-people__intro { max-width: 600px; padding-right: 0; }
}
@media (max-width: 767px) {
	.ab-people { padding: 64px 0 72px; }
	.ab-people__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; row-gap: 28px; }
	.ab-people__intro { grid-column: 1 / -1; margin-bottom: 4px; }
	.ab-people__title { margin-top: 16px; }
	.ab-people__text { margin-top: 16px; }
	.ab-person__name { margin-top: 12px; }
	/* An odd last person sits centred rather than alone on the left. */
	.ab-person:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc(50% - 7px); }
	.ab-person:last-child:nth-child(odd) .ab-person__name, .ab-person:last-child:nth-child(odd) .ab-person__role { text-align: center; }
	.ab-person:last-child:nth-child(odd) .ab-person__role--soon { display: flex; justify-content: center; }
	.ab-mono::before { inset: 8px; }
	.ab-mono__mark { left: 16px; bottom: 14px; width: 34px; }
	.ab-mono__mark svg { width: 34px; }
}

/* --- Vacancies (8161–8722) -------------------------------------------------- */
.ab-jobs { padding: calc(96 * var(--u)) 0 calc(95 * var(--u)); }
.ab-jobs__box { max-width: 854px; min-height: calc(370 * var(--u)); margin-inline: auto; padding: calc(51 * var(--u)) 0 calc(70 * var(--u)); border-radius: 3px; background: var(--navy); text-align: center; }
.ab-jobs__title { max-width: 632px; margin-inline: auto; }
.ab-jobs__text { max-width: 664px; margin: calc(41 * var(--u)) auto 0; }
.ab-jobs__text p + p { margin-top: 16px; }
.ab-jobs__cta { margin-top: calc(53 * var(--u)); }
.ab-jobs__cta .btn { min-width: 138px; gap: 11px; }

/* ==========================================================================
   Tablet and phone
   ========================================================================== */
@media (max-width: 1023px) {
	.ab-tl__arrows { position: static; justify-content: center; margin-top: 20px; }
	.ab-tl__caption { left: 0; padding-inline: var(--gutter); max-width: calc(616px + 2 * var(--gutter)); }
	.ab-tl__rail { margin-top: 40px; }
	.ab-tl__tabs { padding: 22px var(--gutter) 24px; scroll-padding-inline: var(--gutter); }
	.ab-tl__tab::before { top: -22px; }

	.ab-stats { grid-template-columns: 1fr 1fr; row-gap: 48px; }
	.ab-stat { min-height: 0; }
	.ab-stat:nth-child(odd) { padding-left: 0; border-left: 0; }
	.ab-stat:nth-child(even) { padding-left: 32px; }
	.ab-stat__text { max-width: 300px; margin-top: 32px; }

	.ab-values { grid-template-columns: 1fr; row-gap: 28px; }

	.ab-founder__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); column-gap: 48px; }
	.ab-founder__quote { grid-template-columns: 52px minmax(0, 1fr); }

	.ab-trust__grid { grid-template-columns: minmax(0, 1fr); row-gap: 28px; }
	.ab-trust__line { display: none; }
	.ab-trust__label, .ab-trust__text { grid-column: 1; }
	.ab-trust__label { max-width: none; }

	/* Leaders: photo on top, details below. */
	.js .ab-leaders__media { position: relative; width: 100%; aspect-ratio: 4 / 4.2; max-height: 78vh; }
	.ab-leaders__inner { min-height: 0; padding-top: 32px; padding-bottom: 56px; }
	.ab-leaders__top, .ab-leaders__slides { max-width: none; }
	.ab-leaders__slides { padding-top: 28px; }
	.ab-leader__rule { margin-top: 24px; }
	.ab-leader__more, .ab-leader__actions { margin-top: 22px; }
}

@media (max-width: 767px) {
	.ab-hero__title { max-width: none; }
	.ab-hero__body { margin: 32px 0 0; }
	.ab-hero__actions { margin-top: 32px; }
	.ab-hero__actions .btn { height: 40px; }
	.ab-hero { padding-bottom: 64px; }
	.ab-office { padding-top: 40px; }

	.ab-tl { padding-top: 80px; }
	.ab-tl__intro { margin-top: 24px; }
	.ab-tl__stage { margin-top: 40px; }
	.ab-tl__visual { height: 96vw; }
	.ab-tl__year { inset: 0 0 auto; font-size: 34vw; line-height: 40vw; }
	.ab-tl__frame--a { left: 6vw; top: 30vw; width: 38vw; height: 51vw; }
	.ab-tl__frame--b { left: auto; right: 5vw; top: 42vw; width: 46vw; height: 34vw; }
	.ab-tl__frame { border-width: 3px; }
	.ab-tl__caption { margin-top: 12px; }
	.ab-circle { width: 40px; height: 40px; }

	.ab-band { height: 64vw; }

	.ab-story { padding: 72px 0 64px; }
	.ab-story__statement { text-indent: 0; font-size: 28px; line-height: 36px; }
	.ab-story__label { margin-top: 64px; }
	.ab-story__label--values { margin-top: 72px; }
	.ab-stats { grid-template-columns: 1fr; row-gap: 0; margin-top: 24px; }
	.ab-stat, .ab-stat:nth-child(even) { padding: 28px 0; border-left: 0; border-top: 1px solid var(--ab-line); }
	.ab-stat__text { margin-top: 20px; max-width: none; }
	.ab-values { margin-top: 20px; }
	.ab-marquee { margin-top: 48px; row-gap: 14px; }
	.ab-chip { height: 48px; padding: 0 12px; font-size: 22px; margin-right: 20px; }
	.ab-marquee__row--rev .ab-marquee__track { margin-left: -20px; }

	.ab-founder { padding: 48px 0 64px; }
	.ab-founder__grid { grid-template-columns: 1fr; row-gap: 36px; }
	.ab-founder__media { aspect-ratio: 4 / 5; }
	.ab-founder__text { padding-top: 0; }
	.ab-founder__name { margin-top: 16px; }
	.ab-founder__quote { margin-top: 24px; grid-template-columns: 40px minmax(0, 1fr); }
	.ab-founder__mark { font-size: 64px; }

	.ab-trust { padding: 72px 0; }
	.ab-trust__text { font-size: 26px; line-height: 34px; }

	.ab-leader__actions .btn { height: 40px; }

	.ab-jobs { padding: 64px 0; }
	.ab-jobs__box { min-height: 0; padding: 0; }
	.ab-jobs__text { margin-top: 24px; }
	.ab-jobs__cta { margin-top: 32px; }
	.ab-jobs__cta .btn { height: 40px; }
}

@media (prefers-reduced-motion: reduce) {
	.js .ab-tl__year, .js .ab-tl__frame, .js .ab-tl__caption > *, .js .ab-leader { transform: none !important; }
	.js .ab-tl__frame { transform: rotate(var(--r)) !important; }
}
.ab-leaders:focus, .ab-leaders:focus-visible { outline: none; }
