/* Leadership page — bespoke, one-off (not the pg-legal-* pattern) */

/* ---------- In-page subnav (sticky, below main header) ---------- */
.pg-lead-subnav {
	position: sticky;
	top: 0;
	z-index: 45;
	background: rgba(255,255,255,.9);
	backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid #EEF0F4;
}

.pg-lead-subnav-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 64px;
	display: flex;
	align-items: center;
	gap: 30px;
	height: 52px;
	font: 600 13px/1 'Hanken Grotesk', sans-serif;
}

.pg-lead-subnav-inner a {
	text-decoration: none;
	color: #5A5F6E;
	transition: color .16s ease;
}

.pg-lead-subnav-inner a:hover {
	color: #CB0E2A;
}

.pg-lead-subnav-cta {
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #CB0E2A !important;
	font-weight: 700;
}

/* ---------- Hero ---------- */
.pg-lead-hero {
	background: radial-gradient(130% 120% at 80% -10%, #16294C 0%, #0E1B3A 42%, #0A1430 100%);
	color: #fff;
	position: relative;
	overflow: hidden;
	border-bottom: 1px solid #0A1430;
}

.pg-lead-hero-glow {
	position: absolute;
	top: -160px;
	right: -120px;
	width: 520px;
	height: 520px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(203,14,42,.30), transparent 62%);
	filter: blur(20px);
	pointer-events: none;
}

.pg-lead-hero-grid {
	position: absolute;
	inset: 0;
	background-image: linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(120% 100% at 50% 0%, #000 40%, transparent 78%);
	-webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 40%, transparent 78%);
	pointer-events: none;
}

.pg-lead-hero-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 76px 64px 70px;
	position: relative;
}

/* Matches .pg-home-hero-kicker's styling exactly (home-page.css), but white instead of that
   kicker's #FF6477 accent — a plain label, no pill/background/border/padding. */
.pg-lead-eyebrow-pill {
	font: 700 12.5px/1.5 'Hanken Grotesk', sans-serif;
	letter-spacing: .16em;
	color: #fff;
	margin-bottom: 24px;
}

.pg-lead-hero-grid-2col {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 54px;
	align-items: end;
}

.pg-lead-h1 {
	font: 700 64px/1.02 'Bricolage Grotesque', sans-serif !important;
	letter-spacing: -0.028em;
	margin: 0 0 24px !important;
	color: #fff !important;
}

.pg-lead-h1 .accent { color: #FF6477; }

.pg-lead-hero-sub {
	font: 400 20px/1.6 'Hanken Grotesk', sans-serif !important;
	color: #B8C0D2 !important;
	max-width: 560px;
	margin: 0 0 34px !important;
}

.pg-lead-hero-ctas {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.pg-lead-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	white-space: nowrap;
	background: #CB0E2A;
	color: #fff;
	padding: 16px 28px;
	border-radius: 4px;
	font: 700 15px/1 'Hanken Grotesk', sans-serif;
	cursor: pointer;
	box-shadow: 0 14px 34px rgba(203,14,42,.4);
	text-decoration: none;
	transition: transform .16s ease;
}

.pg-lead-btn-primary:hover { transform: translateY(-2px); }

.pg-lead-btn-outline {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #fff;
	padding: 16px 24px;
	border-radius: 4px;
	border: 1px solid rgba(255,255,255,.22);
	font: 600 15px/1 'Hanken Grotesk', sans-serif;
	cursor: pointer;
	text-decoration: none;
	transition: border-color .16s ease;
}

.pg-lead-btn-outline:hover { border-color: #fff; }

.pg-lead-portraits {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.pg-lead-portrait {
	position: relative;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(8,12,28,.42);
	border: 1px solid rgba(255,255,255,.1);
}

.pg-lead-portrait.offset { margin-top: 24px; }

.pg-lead-portrait img {
	display: block;
	width: 100%;
	height: 260px;
	object-fit: cover;
}

.pg-lead-portrait-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,20,48,0) 38%, rgba(8,12,28,.92) 100%);
}

.pg-lead-portrait-caption {
	position: absolute;
	left: 16px;
	bottom: 14px;
	right: 16px;
}

.pg-lead-portrait-caption .name {
	font: 700 16px/1.1 'Bricolage Grotesque', sans-serif;
	color: #fff;
}

.pg-lead-portrait-caption .role {
	font: 600 11.5px/1.2 'Hanken Grotesk', sans-serif;
	letter-spacing: .08em;
	margin-top: 4px;
}

.pg-lead-stat-band {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin-top: 56px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 3px;
	background: rgba(255,255,255,.03);
	overflow: hidden;
}

.pg-lead-stat-band > div {
	padding: 26px 28px;
	border-right: 1px solid rgba(255,255,255,.08);
}

.pg-lead-stat-band > div:last-child { border-right: none; }

.pg-lead-stat-band .v {
	font: 800 46px/0.9 'Bricolage Grotesque', sans-serif;
	color: #fff;
	letter-spacing: -0.02em;
}

.pg-lead-stat-band .k {
	font: 500 12.5px/1.4 'Hanken Grotesk', sans-serif;
	color: #9AA6BD;
	margin-top: 10px;
}

/* ---------- Cross-link banner ---------- */
.pg-lead-crosslink-section {
	background: #fff;
	border-bottom: 1px solid #EEF0F4;
}

.pg-lead-crosslink-inner {
	max-width: 1240px;
	margin: 0 auto;
	padding: 44px 64px;
}

.pg-lead-crosslink-card {
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
	background: #0C1A3A;
	border-radius: 3px;
	padding: 28px 34px;
	transition: transform .2s ease, box-shadow .2s ease;
}

.pg-lead-crosslink-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 44px rgba(12,26,58,.2);
}

.pg-lead-crosslink-left {
	display: flex;
	align-items: center;
	gap: 20px;
}

.pg-lead-crosslink-icon {
	flex-shrink: 0;
	width: 50px;
	height: 50px;
	border-radius: 3px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.14);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FF6477;
}

.pg-lead-crosslink-title {
	font: 700 21px/1.12 'Bricolage Grotesque', sans-serif;
	color: #fff;
	letter-spacing: -0.01em;
}

.pg-lead-crosslink-desc {
	font: 400 13.5px/1.5 'Hanken Grotesk', sans-serif;
	color: #9AA6BD;
	margin-top: 6px;
}

.pg-lead-crosslink-cta {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #CB0E2A;
	color: #fff;
	padding: 13px 22px;
	border-radius: 4px;
	font: 700 13.5px/1 'Hanken Grotesk', sans-serif;
}

/* ---------- Shared section shell ---------- */
.pg-lead-section {
	max-width: 1240px;
	margin: 0 auto;
	padding: 80px 64px;
}

.pg-lead-section.tight { padding-bottom: 80px; }

.pg-lead-section-tinted {
	background: #EEF2F8;
	border-top: 1px solid #DEE5F0;
	border-bottom: 1px solid #DEE5F0;
}

.pg-section-badge {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}

.pg-section-badge .num {
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	background: #CB0E2A;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 3px;
	font: 800 13px/1 'Hanken Grotesk', sans-serif;
}

.pg-section-badge .label {
	font: 700 11.5px/1.5 'Hanken Grotesk', sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #0C1A3A;
}

.pg-lead-h2 {
	font: 700 46px/1.09 'Bricolage Grotesque', sans-serif !important;
	letter-spacing: -0.024em;
	margin: 0 0 22px !important;
}

.pg-lead-h2 .accent { color: #CB0E2A; }

.pg-lead-section-sub {
	font: 400 18.5px/1.62 'Hanken Grotesk', sans-serif !important;
	color: #4D5260 !important;
	max-width: 840px;
	margin: 0 0 44px !important;
}

/* ---------- Authority comparison table ---------- */
.pg-lead-authority {
	border: 1px solid #E8EAEF;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(20,22,30,.04);
}

.pg-lead-authority-head {
	display: grid;
	grid-template-columns: 1fr 1.3fr 1.3fr;
}

.pg-lead-authority-head > div { padding: 26px 28px; }

.pg-lead-authority-head .john { background: #0C1A3A; border-left: 1px solid rgba(255,255,255,.08); }
.pg-lead-authority-head .ralf { background: #15294F; border-left: 1px solid rgba(255,255,255,.08); }

.pg-lead-authority-head .name {
	font: 700 18px/1.1 'Bricolage Grotesque', sans-serif;
	color: #fff;
}

.pg-lead-authority-head .role {
	font: 600 12px/1.2 'Hanken Grotesk', sans-serif;
	letter-spacing: .07em;
	margin-top: 6px;
}

.pg-lead-authority-row {
	display: grid;
	grid-template-columns: 1fr 1.3fr 1.3fr;
	background: #fff;
}

.pg-lead-authority-row:nth-child(even) { background: #FAFBFC; }

.pg-lead-authority-row .dim {
	padding: 20px 28px;
	font: 600 13px/1.4 'Hanken Grotesk', sans-serif;
	letter-spacing: .04em;
	color: #8A90A0;
	text-transform: uppercase;
	display: flex;
	align-items: center;
}

.pg-lead-authority-row .cell {
	padding: 20px 28px;
	border-left: 1px solid #ECEEF2;
	font: 500 15px/1.5 'Hanken Grotesk', sans-serif;
	color: #14161E;
	display: flex;
	align-items: center;
}

/* ---------- Executive profile (John / Ralf mirror) ---------- */
.pg-exec-profile-grid {
	display: grid;
	gap: 54px;
	align-items: start;
}

.pg-exec-profile-grid.john { grid-template-columns: 0.82fr 1.18fr; }
.pg-exec-profile-grid.ralf { grid-template-columns: 1.18fr 0.82fr; }
.pg-exec-profile-grid.ralf .pg-exec-portrait-col { order: 2; }
.pg-exec-profile-grid.ralf .pg-exec-text-col { order: 1; }

.pg-exec-portrait {
	position: relative;
	border-radius: 3px;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(8,12,28,.28);
	background: #0C1A3A;
}

.pg-exec-portrait img {
	display: block;
	width: 100%;
	height: 520px;
	object-fit: cover;
}

.pg-exec-portrait-linkedin {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 40px;
	height: 40px;
	border-radius: 11px;
	background: rgba(255,255,255,.16);
	border: 1px solid rgba(255,255,255,.28);
	backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	text-decoration: none;
	z-index: 3;
	transition: background .18s ease, transform .18s ease;
}

.pg-exec-portrait-linkedin:hover {
	background: #0A66C2;
	border-color: #0A66C2;
	transform: translateY(-2px);
}

.pg-exec-portrait-scrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,20,48,0) 46%, rgba(8,12,28,.94) 100%);
}

.pg-exec-portrait-caption {
	position: absolute;
	left: 26px;
	right: 26px;
	bottom: 24px;
}

.pg-exec-portrait-tag {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(203,14,42,.92);
	padding: 7px 12px;
	border-radius: 4px;
	margin-bottom: 14px;
}

.pg-exec-portrait-tag .dot { width: 6px; height: 6px; background: #fff; border-radius: 50%; }
.pg-exec-portrait-tag span:last-child { font: 600 11px/1 'Hanken Grotesk', sans-serif; letter-spacing: .1em; color: #fff; }

.pg-exec-portrait-caption .name { font: 700 30px/1.02 'Bricolage Grotesque', sans-serif; color: #fff; letter-spacing: -0.02em; }
.pg-exec-portrait-caption .role { font: 600 13px/1.3 'Hanken Grotesk', sans-serif; margin-top: 6px; }

.pg-exec-stat-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 14px;
}

.pg-exec-stat-grid > div {
	background: #fff;
	border: 1px solid #ECEEF2;
	border-radius: 3px;
	padding: 18px 20px;
}

.pg-exec-stat-grid .v { font: 800 32px/0.9 'Bricolage Grotesque', sans-serif; color: #15294F; }
.pg-exec-stat-grid .k { font: 500 11.5px/1.4 'Hanken Grotesk', sans-serif; color: #7A7F8C; margin-top: 8px; }

.pg-exec-quote {
	display: flex;
	gap: 14px;
	padding: 22px 24px;
	background: #0C1A3A;
	border-radius: 3px;
	margin-top: 12px;
}

.pg-exec-quote .mark { flex-shrink: 0; font: 700 38px/0.7 'Bricolage Grotesque', sans-serif; color: #FF6477; }
.pg-exec-quote p { font: 500 15.5px/1.5 'Bricolage Grotesque', sans-serif !important; letter-spacing: -0.01em; color: #fff !important; margin: 0 0 10px !important; }
.pg-exec-quote .attr { font: 600 11.5px/1.4 'Hanken Grotesk', sans-serif; color: #9AA6BD; }

.pg-exec-lede { font: 400 22px/1.55 'Bricolage Grotesque', sans-serif !important; color: #14161E !important; letter-spacing: -0.01em; margin: 0 0 22px !important; }
.pg-exec-lede .accent { font-weight: 500; }

.pg-exec-text-col > p.pg-exec-body { font: 400 16.5px/1.68 'Hanken Grotesk', sans-serif !important; color: #4D5260 !important; margin: 0 0 18px !important; }

.pg-exec-eyebrow { font: 600 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .12em; margin-bottom: 16px; }

.pg-exec-provenance { display: flex; flex-direction: column; gap: 12px; margin-bottom: 34px; }
.pg-exec-provenance-item { display: flex; gap: 16px; border: 1px solid #ECEEF2; border-radius: 3px; padding: 18px 22px; }
.pg-exec-provenance-item .n { flex-shrink: 0; font: 700 14px/1 'Hanken Grotesk', sans-serif; padding-top: 2px; }
.pg-exec-provenance-item .t { font: 700 14.5px/1.3 'Hanken Grotesk', sans-serif; margin-bottom: 4px; }
.pg-exec-provenance-item .d { font: 400 14px/1.55 'Hanken Grotesk', sans-serif; color: #5A5F6E; }

.pg-exec-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; }
.pg-exec-tags span { font: 600 12.5px/1 'Hanken Grotesk', sans-serif; color: #42475A; background: #fff; border: 1px solid #E2E4EA; padding: 9px 14px; border-radius: 8px; }

/* ---------- Awards / recognition ---------- */
.pg-lead-person-row { display: flex; align-items: center; gap: 12px; margin-bottom: 22px; }
.pg-lead-person-row img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.pg-lead-person-row .n { font: 700 17px/1.1 'Bricolage Grotesque', sans-serif; }
.pg-lead-person-row .k { font: 600 12px/1.2 'Hanken Grotesk', sans-serif; letter-spacing: .06em; margin-top: 4px; }

.pg-lead-video-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pg-lead-video-card { text-decoration: none; color: inherit; background: #fff; border: 1px solid #ECEEF2; border-radius: 3px; overflow: hidden; display: block; transition: all .2s ease; }
.pg-lead-video-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(20,22,30,.1); }
.pg-lead-video-thumb { position: relative; }
.pg-lead-video-thumb img { display: block; width: 100%; height: 172px; object-fit: cover; }
.pg-lead-video-play { position: absolute; left: 16px; bottom: 16px; width: 44px; height: 44px; border-radius: 50%; background: rgba(203,14,42,.94); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 22px rgba(203,14,42,.4); }
.pg-lead-video-body { padding: 18px 20px; }
.pg-lead-video-body .t { font: 700 15px/1.3 'Bricolage Grotesque', sans-serif; margin-bottom: 5px; }
.pg-lead-video-body .d { font: 400 13px/1.5 'Hanken Grotesk', sans-serif; color: #5A5F6E; }

.pg-lead-divider { height: 1px; background: #E2E6EC; margin: 60px 0 56px; }

.pg-lead-photo-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin: 0 0 16px; }
.pg-lead-photo-grid a { display: block; overflow: hidden; height: 190px; box-shadow: 0 8px 22px rgba(20,22,30,.1); transition: transform .22s ease, box-shadow .22s ease; }
.pg-lead-photo-grid a:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(20,22,30,.2); }
.pg-lead-photo-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pg-lead-photo-caption { font: 400 12.5px/1.4 'Hanken Grotesk', sans-serif; color: #676F7E; margin-top: 12px; }

.pg-lead-media-callout { background: #fff; border: 1px solid #ECEEF2; border-left: 3px solid #CB0E2A; border-radius: 3px; padding: 34px 36px; margin-bottom: 40px; }
.pg-lead-media-callout-head { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 24px; }
.pg-lead-media-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 11px; background: #FCE9EB; color: #CB0E2A; display: flex; align-items: center; justify-content: center; }
.pg-lead-media-callout-head .label { font: 700 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .12em; color: #CB0E2A; margin-bottom: 10px; }
.pg-lead-media-callout-head .desc { font: 400 15px/1.62 'Hanken Grotesk', sans-serif; color: #4D5260; max-width: 760px; }
.pg-lead-media-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.pg-lead-media-card { background: #fff; border: 1px solid #ECEEF2; border-radius: 3px; padding: 24px 24px 22px; }
.pg-lead-media-card .t { font: 700 17px/1.2 'Bricolage Grotesque', sans-serif; letter-spacing: -0.01em; margin-bottom: 10px; }
.pg-lead-media-card .d { font: 400 13.5px/1.6 'Hanken Grotesk', sans-serif; color: #5A5F6E; margin-bottom: 16px; }
.pg-lead-media-card a { text-decoration: none; font: 700 12.5px/1 'Hanken Grotesk', sans-serif; color: #CB0E2A; }

.pg-lead-tag-label { font: 600 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .14em; color: #8A90A0; margin-bottom: 14px; }
.pg-lead-tag-list { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 36px; }
.pg-lead-tag-list span { font: 600 12px/1 'Hanken Grotesk', sans-serif; color: #42475A; background: #fff; border: 1px solid #E2E4EA; padding: 10px 15px; border-radius: 4px; }

.pg-lead-award-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pg-lead-award-card { display: flex; gap: 16px; background: #fff; border: 1px solid #ECEEF2; border-left: 3px solid #2C4988; border-radius: 3px; padding: 24px 26px; }
.pg-lead-award-icon { flex-shrink: 0; width: 42px; height: 42px; border-radius: 11px; background: #EAF0FB; color: #2C4988; display: flex; align-items: center; justify-content: center; }
.pg-lead-award-card .t { font: 700 16px/1.25 'Bricolage Grotesque', sans-serif; margin-bottom: 5px; }
.pg-lead-award-card .who { font: 400 13px/1.5 'Hanken Grotesk', sans-serif; color: #5A5F6E; margin-bottom: 12px; }
.pg-lead-award-card a { text-decoration: none; font: 700 12.5px/1 'Hanken Grotesk', sans-serif; color: #CB0E2A; }

/* ---------- Timeline ---------- */
.pg-lead-timeline-section { background: radial-gradient(120% 130% at 90% 0%, #16294C 0%, #0E1B3A 46%, #0A1430 100%); color: #fff; }
.pg-lead-timeline-head { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; margin-bottom: 48px; }
.pg-lead-timeline-eyebrow { font: 700 11.5px/1.5 'Hanken Grotesk', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #FF6477; margin-bottom: 18px; }
.pg-lead-timeline-head h2 { font: 700 44px/1.08 'Bricolage Grotesque', sans-serif !important; letter-spacing: -0.024em; margin: 0 0 18px !important; color: #fff !important; }
.pg-lead-timeline-head h2 .accent { color: #FF6477; }
.pg-lead-timeline-head p { font: 400 17.5px/1.6 'Hanken Grotesk', sans-serif !important; color: #B8C0D2 !important; margin: 0 !important; max-width: 760px; }

.pg-timeline-filter { display: flex; gap: 8px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); padding: 5px; border-radius: 4px; }
.pg-timeline-filter button { background: none; border: none; cursor: pointer; padding: 9px 16px; border-radius: 3px; font: 600 12.5px/1 'Hanken Grotesk', sans-serif; color: #B8C0D2; transition: background .16s ease, color .16s ease; }
.pg-timeline-filter button.is-active { background: #CB0E2A; color: #fff; }
/* three filter pills exceed a 320px viewport by a couple px — allow a second row */
@media (max-width: 360px) {
	.pg-timeline-filter { flex-wrap: wrap; }
}

.pg-timeline-list { display: flex; flex-direction: column; }
.pg-timeline-row { display: grid; grid-template-columns: 160px 40px 1fr; }
.pg-timeline-era { text-align: right; padding: 0 22px 30px 0; display: flex; flex-direction: column; align-items: flex-end; justify-content: flex-start; }
.pg-timeline-era .yr { font: 700 18px/1 'Bricolage Grotesque', sans-serif; color: #fff; }
.pg-timeline-era .tag { font: 700 10.5px/1 'Hanken Grotesk', sans-serif; letter-spacing: .08em; text-transform: uppercase; margin-top: 6px; }
.pg-timeline-era .tag.john { color: #FF6477; }
.pg-timeline-era .tag.ralf { color: #7FB2FF; }
.pg-timeline-era .tag.piton { color: #46C2A8; }
.pg-timeline-spine { position: relative; display: flex; justify-content: center; padding-bottom: 30px; }
.pg-timeline-spine::before { content: ''; position: absolute; top: 6px; bottom: 0; width: 2px; background: rgba(255,255,255,.12); }
.pg-timeline-dot { position: relative; width: 11px; height: 11px; border-radius: 50%; margin-top: 4px; z-index: 1; border: 2px solid #0A1430; }
.pg-timeline-dot.john { background: #FF6477; }
.pg-timeline-dot.ralf { background: #7FB2FF; }
.pg-timeline-dot.piton { background: #46C2A8; }
.pg-timeline-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: 3px; padding: 20px 24px; margin-bottom: 30px; }
.pg-timeline-card .t { font: 700 17px/1.25 'Bricolage Grotesque', sans-serif; color: #fff; letter-spacing: -0.01em; margin-bottom: 8px; }
.pg-timeline-card .d { font: 400 14px/1.6 'Hanken Grotesk', sans-serif; color: #AEB6C8; }

/* ---------- Pillars ---------- */
.pg-lead-tm { display: inline-flex; align-items: center; gap: 10px; font: italic 600 17px/1.4 'Hanken Grotesk', sans-serif; color: #15294F; margin-bottom: 44px; }
.pg-lead-tm .bar { width: 26px; height: 2px; background: #CB0E2A; }
.pg-lead-tm sup { font-size: 9px; font-style: normal; vertical-align: super; color: #CB0E2A; }

.pg-pillars-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pg-pillar { border-radius: 3px; padding: 32px 30px; transition: all .2s ease; }
.pg-pillar.light { background: #fff; border: 1px solid #ECEEF2; }
.pg-pillar.dark { background: #0C1A3A; border: 1px solid #0C1A3A; }
.pg-pillar.light:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(20,22,30,.08); }
.pg-pillar .num { font: 600 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .1em; margin-bottom: 20px; }
.pg-pillar.light .num { color: #CB0E2A; }
.pg-pillar.dark .num { color: #FF6477; }
.pg-pillar .t { font: 700 22px/1.18 'Bricolage Grotesque', sans-serif; letter-spacing: -0.01em; margin-bottom: 12px; }
.pg-pillar.dark .t { color: #fff; }
.pg-pillar .d { font: 400 15px/1.62 'Hanken Grotesk', sans-serif; }
.pg-pillar.light .d { color: #5A5F6E; }
.pg-pillar.dark .d { color: #AEB6C8; }

/* ---------- Principles ---------- */
.pg-principles-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 54px; }
.pg-principle-card { background: #fff; border: 1px solid #ECEEF2; border-radius: 3px; padding: 28px 26px; }
.pg-principle-icon { width: 40px; height: 40px; border-radius: 11px; background: #FCE9EB; color: #CB0E2A; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; }
.pg-principle-card .t { font: 700 17px/1.25 'Bricolage Grotesque', sans-serif; margin-bottom: 8px; }
.pg-principle-card .d { font: 400 14px/1.6 'Hanken Grotesk', sans-serif; color: #5A5F6E; }

.pg-competencies { background: #0C1A3A; border-radius: 3px; padding: 44px 48px; }
.pg-competencies-head { margin-bottom: 30px; }
.pg-competencies-head .label { font: 600 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .12em; color: #FF6477; margin-bottom: 14px; }
.pg-competencies-head .t { font: 700 28px/1.12 'Bricolage Grotesque', sans-serif; color: #fff; letter-spacing: -0.018em; }
.pg-competencies-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 40px; }
.pg-competencies-grid div { display: flex; gap: 13px; align-items: flex-start; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.08); font: 500 15px/1.5 'Hanken Grotesk', sans-serif; color: #D4D8E2; }
.pg-competencies-grid .ck { color: #46C2A8; font-weight: 700; flex-shrink: 0; }

/* ---------- Closing CTA ---------- */
.pg-lead-cta-section { background: #CB0E2A; color: #fff; position: relative; overflow: hidden; }
.pg-lead-cta-glow { position: absolute; bottom: -180px; left: -100px; width: 480px; height: 480px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.16), transparent 64%); filter: blur(16px); pointer-events: none; }
.pg-lead-cta-inner { max-width: 1240px; margin: 0 auto; padding: 104px 64px; position: relative; display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: center; }
.pg-lead-cta-eyebrow { font: 700 11.5px/1.5 'Hanken Grotesk', sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #fff !important; margin-bottom: 22px; }
.pg-lead-cta-inner h2 { font: 700 50px/1.06 'Bricolage Grotesque', sans-serif !important; letter-spacing: -0.026em; margin: 0 0 22px !important; color: #fff !important; }
.pg-lead-cta-inner h2 .accent { color: #fff !important; }
.pg-lead-cta-inner p.sub { font: 400 19px/1.6 'Hanken Grotesk', sans-serif !important; color: #fff !important; max-width: 560px; margin: 0 0 36px !important; }
.pg-lead-cta-btns { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.pg-lead-cta-btn-white { display: flex; align-items: center; gap: 9px; background: #fff; color: #CB0E2A; padding: 17px 30px; border-radius: 4px; font: 700 15.5px/1 'Hanken Grotesk', sans-serif; cursor: pointer; box-shadow: 0 14px 34px rgba(0,0,0,.22); text-decoration: none; transition: transform .16s ease; }
.pg-lead-cta-btn-white:hover { transform: translateY(-2px); }
.pg-lead-cta-btn-outline { display: flex; align-items: center; gap: 9px; color: #fff; padding: 17px 26px; border-radius: 4px; border: 1px solid rgba(255,255,255,.24); font: 600 15px/1 'Hanken Grotesk', sans-serif; text-decoration: none; transition: border-color .16s ease; }
.pg-lead-cta-btn-outline:hover { border-color: #fff; }

.pg-lead-cta-card { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); border-radius: 3px; padding: 32px; }
.pg-lead-cta-card-label { font: 500 12px/1 'Hanken Grotesk', sans-serif; letter-spacing: .12em; color: #fff !important; margin-bottom: 24px; }
.pg-lead-cta-person { display: flex; align-items: center; gap: 16px; padding-bottom: 22px; margin-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.1); }
.pg-lead-cta-person:last-of-type { border-bottom: none; margin-bottom: 26px; padding-bottom: 0; }
.pg-lead-cta-person img { width: 54px; height: 54px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pg-lead-cta-person .n { font: 700 16px/1.2 'Bricolage Grotesque', sans-serif; color: #fff; }
.pg-lead-cta-person .r { font: 500 12.5px/1.3 'Hanken Grotesk', sans-serif; color: #fff !important; margin-top: 3px; }
.pg-lead-cta-contacts { display: flex; flex-direction: column; gap: 10px; }
.pg-lead-cta-contacts a { display: flex; align-items: center; gap: 12px; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 13px 16px; text-decoration: none; font: 600 14px/1 'Hanken Grotesk', sans-serif; color: #fff; }

@media (max-width: 900px) {
	.pg-lead-hero-grid-2col,
	.pg-exec-profile-grid,
	.pg-lead-stat-band,
	.pg-lead-authority-head,
	.pg-lead-authority-row,
	.pg-pillars-grid,
	.pg-principles-grid,
	.pg-competencies-grid,
	.pg-lead-video-grid,
	.pg-lead-photo-grid,
	.pg-lead-media-grid,
	.pg-lead-award-grid,
	.pg-lead-cta-inner {
		grid-template-columns: 1fr;
	}
	/* .john/.ralf set their own asymmetric columns at higher specificity than the
	   bare-class rule above, so the collapse needs to name them (+ !important). */
	.pg-exec-profile-grid.john,
	.pg-exec-profile-grid.ralf { grid-template-columns: 1fr !important; }
	.pg-timeline-row { grid-template-columns: 1fr; }
	/* Stacked authority rows: tighten the label/cell stack, separate the rows. */
	.pg-lead-authority-row { margin: 15px 0; }
	.pg-lead-authority-row .dim,
	.pg-lead-authority-row .cell { padding-top: 7px; padding-bottom: 7px; }
}

/* Subnav content (5 links + CTA) is ~755px wide and the row can't wrap without breaking
   its fixed 52px height — below that, let the strip scroll sideways inside itself. */
@media (max-width: 800px) {
	.pg-lead-subnav-inner {
		padding: 0 30px;
		gap: 24px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.pg-lead-subnav-inner::-webkit-scrollbar { display: none; }
	.pg-lead-subnav-inner a { white-space: nowrap; flex-shrink: 0; }
}

/* ---------- Mobile-only section padding ----------
   560px is intentionally narrower than the 900px tablet-collapse tier above, so this never fires on
   tablets or larger. .pg-lead-hero-inner and .pg-lead-section (the generic wrapper most content
   sections on this page use) get the full padding swap to 40px/30px per instruction. The other
   64px-horizontal-inset wrappers below keep their own tuned vertical rhythm and only get the
   horizontal fix. !important guards against inline per-section padding. */
@media (max-width: 560px) {
	.pg-lead-hero-inner { padding: 40px 30px !important; }
	.pg-lead-section { padding: 40px 30px !important; }
	.pg-lead-crosslink-inner,
	.pg-lead-cta-inner {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}
}
