@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

/* ============================================================
   AgileBrain — Design System
   Single stylesheet — all pages
   Palette:
     Deep Navy   #1e2445  var(--wpex-palette-9248-color)
     Lapis       #145A9F  var(--wpex-palette-8973-color)
     Seafoam     #35AFA1  var(--wpex-palette-8974-color)
     Linen       #F5F3F0  var(--wpex-palette-9681-color)
     White                var(--wpex-palette-8988-color)
   Fonts: Poppins (headlines) | Manrope (body)
   ============================================================ */


/* ══════════════════════════════════════════════════════════
   1. TYPE SCALE
   ══════════════════════════════════════════════════════════ */

.hero-1 {
	font-family: 'Poppins', sans-serif;
	font-size: 3.3em;
	font-weight: 700;
	line-height: 1.0;
	margin-bottom: 20px;
}

.hero-2 {
	font-family: 'Poppins', sans-serif;
	font-size: 2.9em;
	font-weight: 700;
	line-height: 1.15;
}

.body-xl {
	font-family: 'Manrope', sans-serif;
	font-size: 1.25em;
	line-height: 1.6;
}

.body-large {
	font-family: 'Manrope', sans-serif;
	font-size: 1.125em;
	line-height: 1.7;
}

.body-large-tight {
	font-family: 'Manrope', sans-serif;
	font-size: 1.125em;
	line-height: 1.1;
}

.body-small {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9375em;
	line-height: 1.6;
}

@media (min-width: 480px) and (max-width: 767px) {
	.hero-1 {
		font-size: 2.25em;
	}

	.hero-2 {
		font-size: 2.0em;
	}

	.body-xl {
		font-size: 1.125em;
	}

	.body-large {
		font-size: 1em;
	}

	.body-large-tight {
		font-size: 1em;
	}

	.body-small {
		font-size: 0.9375em;
	}
}

@media (max-width: 479px) {
	.hero-1 {
		font-size: 2.0em;
	}

	.hero-2 {
		font-size: 1.75em;
	}

	.body-xl {
		font-size: 1.125em;
	}

	.body-large {
		font-size: 1em;
	}

	.body-large-tight {
		font-size: 1em;
	}

	.body-small {
		font-size: 0.9375em;
	}
}


/* ══════════════════════════════════════════════════════════
   2. COLOR UTILITIES
   ══════════════════════════════════════════════════════════ */

.text-white,
.text-white * {
	color: var(--wpex-palette-8988-color) !important;
}

.text-white-75,
.text-white-75 * {
	color: rgba(255, 255, 255, 0.75) !important;
}

.text-lapis,
.text-lapis * {
	color: var(--wpex-palette-8973-color) !important;
}

.text-seafoam,
.text-seafoam * {
	color: var(--wpex-palette-8974-color) !important;
}

.ab-mt-24 {
	margin-top: 24px !important;
}

.ab-mb-0 {
	margin-bottom: 0 !important;
}

.ab-mt-0 {
	margin-top: 0 !important;
}

.ab-mt-12 {
	margin-top: 12px !important;
}

.text-navy,
.text-navy * {
	color: var(--wpex-palette-9248-color) !important;
}

.text-sienna,
.text-sienna * {
	color: #EB744E !important;
}

.text-highlights {
	background-color: rgba(53, 175, 161, 0.15);
	padding: 4px 10px;
	border-radius: 20px;
	font-weight: 600;
	display: inline-block;
	color: var(--wpex-palette-8973-color);
}

.lapis-celestial-gradient-text {
	background-color: #145A9F;
	background-image: linear-gradient(45deg, #1e2445, #145A9F);
	background-size: 100%;
	-webkit-background-clip: text;
	-moz-background-clip: text;
	-webkit-text-fill-color: transparent;
	-moz-text-fill-color: transparent;
}


/* ══════════════════════════════════════════════════════════
   3. BACKGROUND GRADIENTS
   ══════════════════════════════════════════════════════════ */

.bg-grad-lapis-seafoam {
	background: linear-gradient(135deg, #145A9F 0%, #35AFA1 100%);
}

.bg-grad-navy-lapis {
	background: linear-gradient(185deg, #1e2445 0%, #145A9F 100%);
}

.bg-grad-navy-lapis-seafoam {
	background: linear-gradient(25deg, #1e2445 0%, #145A9F 60%, #35AFA1 100%);
}

.bg-grad-linen-mist {
	background: linear-gradient(135deg, #F5F3F0 0%, #EEF5FB 100%);
}

.bg-grad-lt-seafoam-lapis-linen {
	background: linear-gradient(135deg, #F1FAF9 0%, #F0F7FC 50%, #FAF9F7 100%);
}

.bg-grad-lt-lapis {
	background: linear-gradient(135deg, #EEF5FB 0%, #ddeaf7 100%);
}

.bg-grad-lt-seafoam {
	background: linear-gradient(135deg, #F1FAF9 0%, #d8f2ef 100%);
}

.bg-grad-linen-seafoam {
	background: linear-gradient(135deg, #F5F3F0 0%, #F1FAF9 100%);
}

.bg-grad-white-lapis {
	background: linear-gradient(135deg, #ffffff 0%, #EEF5FB 100%);
}

.bg-grad-white-seafoam {
	background: linear-gradient(135deg, #ffffff 0%, #F1FAF9 100%);
}

.bg-grad-sienna {
	background: linear-gradient(135deg, #EB744E 0%, #f0956e 100%);
}

.lapis-celestial-gradient {
	background-image: linear-gradient(to right, #145A9F 0%, #1e2445 51%, #145A9F 100%);
	transition: 0.5s;
	background-size: 200% auto;
	box-shadow: 0 0 0px #eee;
	display: block;
}

.lapis-celestial-gradient-contained {
	background-image: linear-gradient(to right, #145A9F 0%, #1e2445 51%, #145A9F 100%);
	transition: 0.5s;
	background-size: 200% auto;
	box-shadow: 0 0 0px #eee;
	display: inline-block;
	border-radius: 10px;
	color: #fff;
}

.promotion-prevention-gradient {
	background-image: linear-gradient(to right, #145A9F 0%, #35AFA1 25%, #EB744E 60%);
	transition: 0.5s;
	background-size: 200% auto;
	box-shadow: 0 0 0px #eee;
	display: inline-block;
	border-radius: 10px;
	color: #fff;
	padding: 30px 30px 40px 30px;
}

.celestial-azure-gradient {
	background-image: linear-gradient(to right, #145A9F 0%, #35AFA1 51%, #4dc4b6 100%);
	transition: 0.5s;
	background-size: 200% auto;
	box-shadow: 0 0 0px #eee;
	display: block;
}

.orange-yellow-gradient {
	background-image: linear-gradient(to right, #EB744E 0%, #f0956e 51%, #EB744E 100%);
	transition: 0.5s;
	background-size: 200% auto;
	box-shadow: 0 0 0px #eee;
	display: block;
	padding: 16px;
}


/* ══════════════════════════════════════════════════════════
   4. BUTTONS
   ══════════════════════════════════════════════════════════ */

.theme-button {
	margin-top: 20px !important;
	margin-bottom: 20px;
	padding: 15px 45px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	color: white;
	box-shadow: none;
	border-radius: 50px;
	border-width: 0px !important;
}

.theme-button:hover {
	color: #fff;
	text-decoration: none;
}

.ab-btn-outline {
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	background: transparent;
	border: 2px solid var(--wpex-palette-9248-color);
	border-radius: 50px;
	padding: 15px 45px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	display: inline-block;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 1em;
}

.ab-btn-outline:hover {
	background: var(--wpex-palette-9248-color);
	color: var(--wpex-palette-8988-color);
	text-decoration: none;
}

.ab-btn-outline--sm {
	font-weight: 600 !important;
	font-family: inherit;
	font-size: 0.85em;
	color: var(--wpex-palette-9248-color) !important;
	background: transparent;
	border: 1.5px solid var(--wpex-palette-9248-color);
	border-radius: 50px;
	padding: 9px 24px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	display: inline-block;
	box-sizing: border-box;
	line-height: 1.5;
	cursor: pointer;
}

.ab-btn-outline--sm:hover {
	background: var(--wpex-palette-9248-color);
	color: white !important;
	text-decoration: none;
}

.ab-btn-outline--xs {
	font-weight: 600 !important;
	font-family: inherit;
	font-size: 1em;
	color: var(--wpex-palette-9248-color) !important;
	background: var(--wpex-palette-9681-color);
	border: none;
	border-radius: 50px;
	padding: 2px 14px;
	margin-left: 20px;
	text-decoration: none;
	transition: background 0.2s;
	display: inline-block;
	line-height: 1.5;
	cursor: pointer;
}

.ab-btn-outline--xs:hover {
	background: var(--wpex-palette-9681-color);
	color: var(--wpex-palette-9248-color) !important;
	text-decoration: none;
}

.ab-intg-lw-card .ab-btn-outline--sm,
.ab-intg-lw-card button.ab-btn-outline--sm {
	align-self: flex-start;
	margin-top: auto;
}

.ab-btn-outline-white {
	font-weight: 600;
	color: var(--wpex-palette-8988-color);
	background: transparent;
	border: 2px solid var(--wpex-palette-8988-color);
	margin-top: 20px;
	margin-bottom: 20px;
	border-radius: 50px;
	padding: 15px 45px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	display: inline-block;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 1em;
}

.ab-btn-outline-white:hover {
	background: var(--wpex-palette-8988-color);
	color: var(--wpex-palette-9248-color);
	text-decoration: none;
}

.ab-btn-outline-white--sm {
	font-weight: 600;
	color: var(--wpex-palette-8988-color);
	background: transparent;
	border: 1.5px solid var(--wpex-palette-8988-color);
	border-radius: 50px;
	padding: 9px 24px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	display: inline-block;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 0.85em;
}

.ab-btn-outline-white--sm:hover {
	background: var(--wpex-palette-8988-color);
	color: var(--wpex-palette-9248-color);
	text-decoration: none;
}

.ab-btn-solid-white {
	display: inline-block;
	font-weight: 600;
	background: white;
	color: var(--wpex-palette-9248-color) !important;
	border: none;
	border-radius: 50px;
	padding: 15px 45px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 1em;
}

.ab-btn-solid-white:hover {
	background: var(--wpex-palette-9248-color);
	color: white !important;
	text-decoration: none;
}

.ab-btn-solid-white--sm {
	display: inline-block;
	font-weight: 600;
	background: white;
	color: var(--wpex-palette-9248-color) !important;
	border: none;
	border-radius: 50px;
	padding: 9px 24px;
	margin-top: 20px;
	margin-bottom: 20px;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	box-sizing: border-box;
	line-height: 1.5;
	font-size: 0.85em;
}

.ab-btn-solid-white--sm:hover {
	background: var(--wpex-palette-9248-color);
	color: white !important;
	text-decoration: none;
}

@media (max-width: 1024px) {
	.ab-btn-outline-white {
		padding: 13px 32px;
		font-size: 0.95em;
	}
}

@media (max-width: 767px) {
	.ab-btn-outline-white {
		padding: 11px 24px;
		font-size: 0.9em;
		white-space: nowrap;
	}
}

/* Gradient buttons */
.btn-grad-lapis-celestial {
	background-image: linear-gradient(to right, #145A9F 0%, #1e2445 51%, #145A9F 100%);
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 15px 45px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	background-size: 200% auto;
	color: white;
	box-shadow: 2px 6px 24px rgba(0, 0, 0, 0.15);
	border-radius: 50px;
}

.btn-grad-lapis-celestial:hover {
	background-position: right center;
	color: #fff;
	text-decoration: none;
	transform: scale(1.07);
}

.btn-grad-lapis-celestial-sm {
	background-image: linear-gradient(to right, #145A9F 0%, #1e2445 51%, #145A9F 100%);
	margin-top: 10px;
	margin-bottom: 10px;
	padding: 10px 25px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	background-size: 200% auto;
	color: white;
	box-shadow: 2px 6px 24px rgba(0, 0, 0, 0.15);
	border-radius: 50px;
}

.btn-grad-lapis-celestial-sm:hover {
	background-position: right center;
	color: #fff;
	text-decoration: none;
	transform: scale(1.1);
}

/* Legacy buttons */
.button-less-margin {
	margin-bottom: -40px;
}

.button-outline-AB {
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 15px 25px;
	text-align: center;
	text-transform: none;
	font-family: Poppins;
	transition: 0.5s;
	box-shadow: 2px 6px 24px rgba(0, 0, 0, 0.15);
	background-color: transparent !important;
	border-radius: 50px;
	border-color: #fff;
	border-width: 2px;
}

.button-outline-AB:hover {
	color: var(--wpex-palette-8973-color);
	background-color: #fff !important;
	text-decoration: none;
	transform: scale(1.2);
}

.tiny-button-AB {
	margin-top: 20px;
	margin-bottom: 20px;
	padding: 6px 16px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	background-color: #EEF5FB;
	border-radius: 50px;
	border-color: #828282;
	font-size: .8em;
	box-shadow: none;
	color: var(--wpex-palette-8973-color);
}

.btn-grad-orange-yellow {
	background-image: linear-gradient(to right, #F38F51 0%, #FCD354 51%, #F38F51 100%);
	margin: 10px;
	padding: 15px 45px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	background-size: 200% auto !important;
	color: #fff;
	border-radius: 50px;
	border-color: #F38F51;
}

.btn-grad-orange-yellow:hover {
	background-position: right center !important;
	background-image: linear-gradient(to right, #F38F51 0%, #FCD354 51%, #F38F51 100%);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

.btn-grad-orange-yellow-blk {
	background-image: linear-gradient(to right, #F38F51 0%, #FCD354 51%, #F38F51 100%);
	margin: 10px;
	padding: 15px 45px;
	text-align: center;
	text-transform: none;
	transition: 0.5s;
	background-size: 200% auto;
	color: #000;
	border-radius: 50px;
	border-color: #F38F51;
}

.btn-grad-orange-yellow-blk:hover {
	background-position: right center;
	color: #145A9F;
	font-weight: 600;
	text-decoration: none;
}

.vcex-button {
	margin-top: 20px !important;
	margin-bottom: 20px;
}

.vcex-button.theme-button.inline {
	margin-top: 20px !important;
}

.vcex-multi-buttons {
	margin-top: 10px !important;
	margin-bottom: 10px !important;
	box-shadow: none !important;
	border-width: .5px !important;
}

.MVCC-multi {
	margin-bottom: 0px !important;
	margin-top: 0px !important;
}


/* ══════════════════════════════════════════════════════════
   5. EYEBROW PILL
   ══════════════════════════════════════════════════════════ */

.ab-eyebrow-pill {
	display: inline-block;
	font-size: 0.65em;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase !important;
	color: var(--wpex-palette-8973-color);
	border: 1px solid var(--wpex-palette-8973-color);
	border-radius: 8px;
	padding: 5px 16px;
	width: fit-content;
	align-self: flex-start;
	margin-bottom: 0;
}

.ab-eyebrow-pill--filled {
	background: rgba(255, 255, 255, 0.12);
	color: var(--wpex-palette-8988-color);
	border-color: rgba(255, 255, 255, 0.2);
}

.ab-eyebrow-pill--seafoam {
	color: var(--wpex-palette-8974-color);
	border-color: var(--wpex-palette-8974-color);
}

.ab-eyebrow-pill--seafoam-filled {
	background: #F1FAF9;
	color: var(--wpex-palette-8974-color);
	border-color: rgba(53, 175, 161, 0.3);
}

.ab-eyebrow-pill--sienna {
	color: #EB744E;
	border-color: #EB744E;
}

.ab-eyebrow-pill--sienna-filled {
	background: #EB744E;
	color: white;
	border-color: #EB744E;
}

.ab-eyebrow-pill--white {
	color: var(--wpex-palette-8988-color);
	border-color: rgba(255, 255, 255, 0.4);
}

.ab-eyebrow-pill--center {
	display: block;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	align-self: center;
}


/* ══════════════════════════════════════════════════════════
   6. LEGACY UTILITY CLASSES (existing pages)
   ══════════════════════════════════════════════════════════ */

.wpex-border-main {
	border-color: #aeaeae;
	border-radius: 10px;
}

.beta {
	background-color: var(--wpex-palette-9681-color);
	border-radius: 4px;
	line-height: 40px;
}

.add-outline {
	border-style: solid;
	border-width: 1px;
	border-color: var(--wpex-palette-8973-color);
}

.fb-ltblue {
	background-color: #F1FAF9;
	border: none;
	padding: 6%;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.fb-ltblue-bk {
	background-color: #F1FAF9;
	border: none;
	padding: 4%;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.fb-ltblue-onlyoutline {
	border-color: var(--wpex-palette-8974-color);
	padding: 4% 4% 6% 4%;
	border-width: 3px 1px 3px 1px;
	border-style: solid;
	border-radius: 12px;
	line-height: 160%;
	color: #fff;
	text-align: center;
	font-size: 1.2em;
}

.bullet-block {
	background-color: #F1FAF9;
	border: none;
	padding: 4%;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.needs-box {
	background-color: #F1FAF9;
	border: none;
	padding: 4%;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.fb-ltblue-bk-lp {
	background-color: #F1FAF9;
	border: none;
	padding: 12px;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.fb-ltblue-bk-20 {
	background-color: #F1FAF9;
	border: none;
	padding: 20px;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.fb-white-1pxborder {
	background-color: #fff;
	border-color: var(--wpex-palette-9681-color);
	padding: 8px 10px 12px 10px;
	border-width: 1px;
	border-style: solid;
	border-radius: 12px;
	line-height: 120%;
	font-size: .95em;
}

.fb-white-1pxborder-trnsp {
	background-color: rgba(215, 246, 169, 0.75);
	border-color: #a7f45e;
	margin: 0px 10px 0px 0px;
	padding: 10px 30px 0px 30px;
	border-width: 1px;
	border-style: solid;
	border-radius: 12px;
}

.background-ltblue-solid {
	background-color: var(--wpex-palette-8975-color);
	padding: 4% 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
}

.background-ltblue-solid-lt {
	background-color: var(--wpex-palette-9681-color);
	padding: 4% 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
}

.background-ltblue-solid-noheadline {
	background-color: var(--wpex-palette-9347-color);
	padding: 4% 30px 6% 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
}

.background-white-solid-noheadline {
	background-color: var(--wpex-palette-8988-color);
	padding: 4% 30px 6% 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
	align-items: center;
}

.background-white-solid-noheadline-px {
	background-color: var(--wpex-palette-8988-color);
	padding: 4% 30px 6% 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
	align-items: left;
	border-color: rgba(20, 90, 159, 0.2);
	border-style: solid;
	border-width: 1px;
	box-shadow: 0 4px 16px rgba(20, 90, 159, 0.1);
}

.background-modules-white-solid {
	background-color: var(--wpex-palette-8988-color);
	padding: 30px;
	border-radius: 15px;
	line-height: 150%;
	font-size: .95em;
	justify-content: top;
	align-items: center;
	border-color: rgba(20, 90, 159, 0.15);
	border-style: solid;
	border-width: 1px;
}

.background-modules-blue-solid {
	background-color: #F1FAF9;
	border: none;
	padding: 2% 1% 0px 1%;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.background-individualmodules-blue-solid {
	background-color: #F1FAF9;
	border: none;
	padding: 12px 0px;
	margin: 20px 0;
	border-radius: 12px;
	line-height: 160%;
}

.bkgd-ltblue-pixels {
	background-color: var(--wpex-palette-9681-color);
	padding: 30px;
	border-radius: 15px;
	line-height: 160%;
	justify-content: center;
}

.vcex-feature-box {
	border-radius: 20px;
	background: #EEF5FB !important;
	padding: 32px !important;
}

.text-shadow-header {
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.6);
	margin-left: -14px;
	margin-right: -14px;
	padding-top: 12px;
	padding-bottom: 12px;
}

.white-text-outline {
	text-shadow: -1px -1px 0 #fff, 1px -1px 0 #fff, 1px 1px 0 #fff, 1px 1px 0 #fff;
}

.white-text-posts-column {
	color: #fff;
}

.ab-card-hover {
	transition: box-shadow 0.2s, transform 0.2s;
}

.ab-card-hover:hover {
	box-shadow: 0 8px 32px rgba(20, 90, 159, 0.12);
	transform: translateY(-2px);
}


/* ══════════════════════════════════════════════════════════
   7. TABLES
   ══════════════════════════════════════════════════════════ */

.tablepress .column-1 {
	width: 25%;
}

.tablepress .column-2 {
	width: 25%;
}

.tablepress .column-3 {
	width: 25%;
}

table.tablepress tfoot th,
table.tablepress thead th {
	color: var(--wpex-palette-8973-color);
	background: var(--wpex-palette-9681-color);
	font-weight: 700;
	font-size: 1.1em;
}

.tablepress {
	--text-color: #111;
	--head-bg-color: #d9edf7;
	--odd-bg-color: #fff;
	--even-bg-color: var(--wpex-palette-9347-color);
	--hover-bg-color: var(--wpex-palette-8975-color);
	--border-color: #ddd;
	--padding: 0.65rem;
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
	clear: both;
	margin: 0 auto 1rem;
	table-layout: auto;
	width: 100%;
}


/* ══════════════════════════════════════════════════════════
   8. THEME & PLUGIN OVERRIDES
   ══════════════════════════════════════════════════════════ */


.site-content,
.content-area,
.site-main {
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.site-footer,
#footer,
.wpex-footer,
.wpex-footer-bottom-bar-wrap,
.footer-inner {
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}

#footer-inner {
	display: none !important;
}

.wpex-slider-thumbnails {
	visibility: hidden;
}

.sp-nc-thumbnails-container {
	visibility: hidden;
	margin-bottom: -60px;
}

.menu-button {
	margin-left: 30px;
}

.less-padding-section {
	padding: 0px;
}

.less-padding-row {
	padding: 0px;
}

.gt_float_switcher {
	border-radius: 8px !important;
	font-size: 1.1em !important;
}

.glink {
	padding-right: 16px !important;
	font-size: 0.5em !important;
}

.float-right {
	float: right !important;
}

.top-bar-wrap {
	z-index: 10000;
}

.gtranslate_wrapper {
	z-index: 10000;
}

.wpex-card-simple_1 {
	margin-bottom: 30px !important;
}

.less-row-padding {
	margin-bottom: -80px !important;
}

.less-column-space .vc_column-inner {
	padding-left: -20px;
}

.vcex-grid-container {
	margin-top: 10px !important;
}

.vcex-milestone-caption {
	line-height: 160%;
}

.vcex-teaser-text {
	line-height: 1.6em;
}

.vcex-divider {
	margin-top: 30px;
	margin-bottom: 30px;
}

.vcex-bullets {
	line-height: 200%;
	margin-bottom: 20px;
	font-size: 1.0em;
	color: #4E4E4E;
}

.vcex-pricing-style-default .vcex-pricing-header {
	border-radius: 20px 20px 0px 0px;
}

.vcex-pricing-style-default .vcex-pricing-button {
	border-radius: 0px 0px 20px 20px;
}

.page-numbers {
	background-color: rgba(30, 36, 69, 0.15);
	border-radius: 5px;
}

.single-line-title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	-webkit-line-clamp: 2;
	text-overflow: ellipsis;
}

.single-line-title-shadow {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: .9em;
	text-shadow: 1px 1px 6px rgba(0, 0, 0, 0.8);
}

.video-text-copy {
	font-size: .95em;
	line-height: 160%;
}

.video-callout-copy {
	display: flex;
	justify-content: center;
	align-items: center;
	vertical-align: middle;
}

.more {
	background-color: var(--wpex-palette-9833-color);
	padding: 6% 6px;
	border-radius: 8px;
	font-size: .95em;
}

.less {
	background-color: var(--wpex-palette-9832-color);
	padding: 6% 6px;
	border-radius: 8px;
	font-size: .95em;
}

li {
	margin-top: 10px;
	margin-bottom: 10px;
}

.blockquote::before {
	color: var(--wpex-palette-8974-color);
}

.wpforms-submit {
	border-radius: 50px !important;
	padding-left: 30px !important;
	padding-right: 30px !important;
	font-size: .9em !important;
	background-color: var(--wpex-palette-8973-color) !important;
}

.icf-converge {
	background-color: #EEF5FB;
	padding: 20px 10px 10px 10px;
	margin: -20px -20px 20px -20px;
	line-height: 110%;
}

.icf-headline {
	margin-bottom: -16px;
	color: var(--wpex-palette-8973-color);
}

.icf-price {
	color: var(--wpex-palette-8973-color);
	font-size: 4.0em;
	font-weight: 800;
	margin-bottom: -16px;
}

.icf-and {
	background-color: var(--wpex-palette-8973-color) !important;
	color: #fff;
	padding: 4px 18px;
	border-radius: 60px;
	display: inline-flex;
	font-weight: 900;
	font-size: 2em;
}


/* ══════════════════════════════════════════════════════════
   9. FOOTER
   ══════════════════════════════════════════════════════════ */

.ab-footer {
	background: var(--wpex-palette-8973-color);
	padding: 64px 0 0 0;
}

.ab-footer-inner {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.ab-footer-top {
	display: grid;
	grid-template-columns: 1.8fr 1fr 1fr 1fr;
	gap: 48px;
}

.ab-footer-logo {
	width: 160px;
	height: auto;
	margin-bottom: 20px;
	display: block;
}

.ab-footer-brand p {
	color: rgba(255, 255, 255, 0.75);
	font-size: 0.875em;
	line-height: 1.7;
	margin-bottom: 24px;
}

.ab-footer-email {
	display: flex;
	align-items: center;
	gap: 12px;
	width: fit-content;
}

.ab-footer-input {
	width: 200px;
	flex-shrink: 0;
	flex-grow: 0;
	padding: 10px 16px;
	font-size: 0.875em;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50px;
	color: white;
}

.ab-footer-input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.ab-footer-subscribe {
	background: var(--wpex-palette-8974-color) !important;
	color: white !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 10px 24px !important;
	font-weight: 600 !important;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
}

.ab-footer-social {
	display: flex;
	gap: 16px;
	margin-top: 20px;
}

.ab-footer-social a {
	opacity: 0.75;
	transition: opacity 0.2s;
}

.ab-footer-social a:hover {
	opacity: 1;
}

.ab-footer-col-heading {
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	margin-bottom: 20px;
}

.ab-footer-col ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.ab-footer-col ul li {
	margin-bottom: 14px;
}

.ab-footer-col ul li a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
	font-size: 0.925em;
	transition: color 0.2s;
}

.ab-footer-col ul li a:hover {
	color: white;
}

.ab-footer-divider {
	border: none;
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	margin: 0;
}

.ab-footer-subbrand {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 8px 0;
}

.ab-footer-powered {
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
	white-space: nowrap;
}

.ab-footer-subbrand-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	padding: 16px 24px;
	text-decoration: none;
	transition: border-color 0.2s;
	min-width: 240px;
	align-items: flex-start;
}

.ab-footer-subbrand-card:hover {
	border-color: rgba(255, 255, 255, 0.4);
	text-decoration: none;
}

.ab-footer-subbrand-name--inspo {
	font-size: 1.5em;
	font-weight: 700;
	color: var(--wpex-palette-8974-color);
	font-style: italic;
}

.ab-footer-subbrand-logo {
	height: 44px;
	width: auto;
	max-width: 160px;
	object-fit: contain;
}

.ab-footer-subbrand-desc {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.8em;
}

.ab-footer-bottom {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 0 24px;
}

.ab-footer-bottom p {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.875em;
	margin: 0;
}

.ab-footer-legal {
	display: flex;
	gap: 24px;
}

.ab-footer-legal a {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.875em;
	text-decoration: none;
	transition: color 0.2s;
}

.ab-footer-legal a:hover {
	color: white;
}

@media (max-width: 1024px) {
	.ab-footer-top {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ab-footer-top {
		grid-template-columns: 1fr;
	}

	.ab-footer-subbrand {
		flex-direction: column;
		align-items: flex-start;
	}

	.ab-footer-bottom {
		flex-direction: column;
		gap: 16px;
		text-align: center;
	}

	.ab-footer-legal {
		flex-wrap: wrap;
		justify-content: center;
	}
}


/* ══════════════════════════════════════════════════════════
   10. HERO — BASE
   ══════════════════════════════════════════════════════════ */

.ab-hero {
	position: relative;
	display: inline-flex;
	align-items: center;
	overflow: hidden;
}

/* .ab-hero is inline-flex by default, so it shrink-wraps to its
   content width — fine for two-column copy+visual heroes, but
   copy-only heroes (marked by .ab-hero-copy--full) need the row
   to actually be full-width, e.g. so an absolutely-positioned
   decorative background layer has real room to work with. */
.ab-hero:has(.ab-hero-copy--full) {
	display: flex;
	width: 100%;
}

.ab-hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 48px;
	max-width: 100%;
}

.ab-hero-copy {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-hero-copy h1 {
	margin: 0;
}

.ab-hero-copy p {
	margin: 0;
}

/* Partner-logo images (Knowledge Spaces, etc.) inside hero content —
   guards against disproportionate squishing on mobile regardless of
   what's actually forcing a width onto the image (a flex-stretch
   parent, theme responsive-image defaults, etc.). object-fit keeps
   the image's own aspect ratio intact even if its box gets resized
   by something else. */
.ab-partner-logo {
	width: auto !important;
	height: 30px !important;
	max-width: 100%;
	object-fit: contain;
}

.ab-hero-eyebrow {
	display: inline-block;
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 2px;
	color: var(--wpex-palette-8973-color);
	background: rgba(20, 90, 159, 0.08);
	border-radius: 4px;
	padding: 5px 12px;
	text-transform: uppercase;
	align-self: flex-start;
	width: fit-content;
}

.ab-hero .hero-1 {
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-hero-subhead {
	color: #555555;
	line-height: 1.7;
	margin: 0;
}

.ab-hero-ctas br {
	display: none;
}

.ab-hero-ctas .vcex-button,
.ab-hero-ctas .theme-button {
	margin-bottom: 0 !important;
}

.ab-hero-ctas .ab-btn-outline {
	margin-top: 0 !important;
	margin-left: 16px;
}

.ab-hero-ctas .ab-btn-outline:first-child {
	margin-left: 0;
}

@media (max-width: 1200px) {
	.ab-hero-ctas br {
		display: block;
	}

	.ab-hero-ctas .ab-btn-outline {
		margin-left: 0;
		margin-top: 20px !important;
	}
}

.ab-hero-link {
	display: inline-block;
	margin-top: 12px;
	font-weight: 600;
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
	transition: opacity 0.2s;
	align-self: flex-start;
}

.ab-hero-link:hover {
	opacity: 0.75;
	text-decoration: none;
	color: var(--wpex-palette-8973-color);
}

.ab-hero-stats {
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
}

.ab-hero-stat {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: baseline;
	gap: 6px;
}

.ab-stat-number {
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	white-space: nowrap;
}

.ab-stat-label {
	font-size: 0.875em;
	color: #555555;
	white-space: nowrap;
}

.ab-stat-divider {
	width: 1px;
	height: 20px;
	background: rgba(30, 36, 69, 0.15);
}

.ab-hero-visual {
	flex: 0 0 44%;
	max-width: 44%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ab-hero-visual img {
	width: 100%;
	height: auto;
	display: block;
}


/* — Dark hero variant (platform) — */
.ab-hero--dark {
	min-height: 600px;
	align-items: stretch;
}

.ab-hero--dark .ab-hero-inner {
	align-items: stretch;
	width: 100%;
}

.ab-hero--dark .ab-hero-copy {
	justify-content: center;
}

.ab-hero--dark .ab-hero-visual {
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
}

.ab-hero--dark .ab-hero-visual img {
	display: block;
}


/* — Contact hero variant — */
.ab-hero--contact .ab-hero-inner {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.ab-hero--contact .ab-hero-copy {
	align-items: center;
}

.ab-hero--contact .ab-hero-copy p {
	opacity: 0.8;
}

/* — Research hero card — */
.ab-research-latest-card {
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.10);
	box-shadow: 0 12px 30px rgba(30, 36, 69, 0.08);
	border-radius: 20px;
	padding: 32px 36px;
	margin-top: 32px;
}

.ab-research-latest-tag {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.ab-research-latest-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #EB744E;
	box-shadow: 0 0 0 4px rgba(235, 116, 78, 0.25);
	flex-shrink: 0;
}

.ab-research-latest-label {
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #EB744E;
}

.ab-research-latest-card h3 {
	color: var(--wpex-palette-9248-color);
	font-size: 1.5em;
	margin-bottom: 6px;
}

.ab-research-latest-card h4 {
	color: var(--wpex-palette-8974-color);
	font-weight: 600;
	font-size: 1em;
	margin-bottom: 14px;
}

.ab-research-latest-intro {
	color: rgba(30, 36, 69, 0.68);
	font-size: 0.94em;
	line-height: 1.6;
	margin-bottom: 18px;
}

.ab-research-bullets {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 24px;
	margin-bottom: 24px;
}

.ab-research-bullet {
	display: flex;
	gap: 8px;
	font-size: 0.84em;
	line-height: 1.5;
	color: rgba(30, 36, 69, 0.78);
	margin: 0;
}

.ab-research-bullet i {
	color: var(--wpex-palette-8974-color);
	flex-shrink: 0;
	margin-top: 3px;
	font-size: 0.85em;
}

/* — Hero responsive — */
@media (max-width: 1024px) {
	.ab-hero-inner {
		flex-direction: column;
		gap: 40px;
	}

	.ab-hero-copy,
	.ab-hero-visual {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (max-width: 767px) {

	.ab-hero-inner {
		flex-direction: column;
		gap: 40px;
	}

	.ab-hero-copy,
	.ab-hero-visual {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ab-hero-visual {
		order: -1;
	}

	.ab-hero--dark .ab-hero-visual {
		order: 1 !important;
	}

	.ab-hero-copy {
		box-sizing: border-box;
	}

	.ab-research-bullets {
		grid-template-columns: 1fr;
	}

	/* Stack the hero stats vertically on mobile instead of wrapping
	   as a horizontal row — the vertical dividers only make sense
	   between side-by-side stats, so they're hidden here. */
	.ab-hero-stats {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.ab-stat-divider {
		display: none;
	}
}

@media (max-width: 480px) {
	.ab-hero-subhead {
		font-size: 1em;
	}
}


/* ══════════════════════════════════════════════════════════
   11. CTA SECTION
   ══════════════════════════════════════════════════════════ */

.ab-cta {
	display: flex;
	width: 100%;
	justify-content: center;
	padding: 0;
}

.ab-cta--home .wpb_wrapper {
	text-align: center;
}

.ab-cta-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	box-sizing: border-box;
	padding: 8% 12% !important;
}

.ab-cta-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
}

.ab-cta-header h2 {
	margin: 0;
}

.ab-cta-header p {
	margin: 0;
}

@media (max-width: 767px) {
	.ab-cta-inner {
		padding: 56px 20px;
	}
}


/* ══════════════════════════════════════════════════════════
   12. SECTION — shared page-section padding
   ══════════════════════════════════════════════════════════ */

.ab-row-pad {
	padding: 0px 0 !important;
}

/* Platform page sections — self-contained centering container */
.ab-section {
	padding: 8% 12% !important;
}

.ab-behavior {
	padding: 8% 12% !important;
}

.ab-measures {}

.ab-solutions {}

.ab-testimonials {}

.ab-stats {}

.ab-ai {}

.ab-flow {}

@media (max-width: 1024px) {
	.ab-section {
		padding: 72px 5% !important;
	}

	.ab-row-pad,
	.ab-behavior,
	.ab-measures,
	.ab-solutions,
	.ab-testimonials,
	.ab-stats,
	.ab-ai,
	.ab-flow {
		padding: 72px 0;
	}
}

@media (max-width: 767px) {
	.ab-section {
		padding: 56px 5% !important;
	}

	.ab-row-pad,
	.ab-behavior,
	.ab-measures,
	.ab-solutions,
	.ab-testimonials,
	.ab-stats,
	.ab-ai,
	.ab-flow {
		padding: 56px 0;
	}
}


/* ══════════════════════════════════════════════════════════
   13. SECTION HEADER — reusable header block inside a section
   ══════════════════════════════════════════════════════════ */

.ab-section-header {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 56px;
}

.ab-section-header h2 {
	margin: 0;
}

.ab-section-header p {
	margin: 0;
}

/* "With Knowledge Spaces" lockup */
.ab-with-ks {
	display: inline-flex !important;
	align-items: center !important;
	gap: 10px;
}

.ab-with-ks-label {
	font-size: 0.7em;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wpex-palette-9248-color);
	line-height: 1 !important;
}

.ab-ks-logo {
	height: 30px !important;
	max-height: 30px !important;
	width: auto !important;
	display: block !important;
}

.ab-section-header--center {
	align-items: center;
	text-align: center;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 24px;
}

.ab-section-header--center h2 {
	margin-bottom: 16px;
}

.ab-section-header--center p {
	margin-top: 0;
}

@media (max-width: 767px) {
	.ab-section-header--center {
		padding-left: 20px;
		padding-right: 20px;
		box-sizing: border-box;
	}
}


/* ══════════════════════════════════════════════════════════
   14. GRID UTILITIES
   ══════════════════════════════════════════════════════════ */

.ab-grid-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.ab-grid-3 {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
}

.ab-grid-3>* {
	flex: 1 1 calc(33.333% - 28px);
	min-width: 240px;
}

.ab-grid-4 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
}

.ab-grid-5 {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 40px;
}

@media (max-width: 1024px) {
	.ab-grid-5 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 767px) {
	.ab-grid-5 {
		grid-template-columns: 1fr;
	}
}

.ab-grid--stats {
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 64px;
	padding-bottom: 64px;
	border-bottom: 1px solid rgba(20, 90, 159, 0.12);
}

@media (max-width: 1024px) {
	.ab-grid-4 {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.ab-grid-2 {
		grid-template-columns: 1fr;
	}

	.ab-grid-3>* {
		flex: 0 0 100%;
		min-width: 0;
	}

	.ab-grid-4 {
		grid-template-columns: 1fr;
	}

	.ab-grid--stats {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}


/* ══════════════════════════════════════════════════════════
   15. SPLIT LAYOUT — 2-col copy + visual
   ══════════════════════════════════════════════════════════ */

/* WPBakery split column blocks — section tag preserves class through TinyMCE */
.ab-split-col {
	padding: 5% 0px;
	box-sizing: border-box;
}

.ab-split-copy-col {
	display: flex;
	flex-direction: column;
	gap: 20px;
	justify-content: center;
}

.ab-split-visual-col {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media (max-width: 1024px) {
	.ab-split-col {
		padding: 72px 5%;
	}
}

@media (max-width: 767px) {
	.ab-split-col {
		padding: 48px 5%;
	}
}

.ab-split {
	display: flex;
	align-items: center;
	gap: 64px;
	padding: 0px 0;
}

.ab-split--reverse {
	flex-direction: row-reverse;
}

.ab-split-copy {
	flex: 0 0 46%;
	max-width: 46%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-split-copy h2 {
	margin: 0;
}

.ab-split-copy p {
	margin: 0;
}

.ab-split-visual {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.ab-split-visual img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.2);
}

@media (max-width: 767px) {

	.ab-split,
	.ab-split--reverse {
		flex-direction: column;
		gap: 40px;
	}

	.ab-split-copy {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* ══════════════════════════════════════════════════════════
   16. BULLETS — ✦ list style (shared)
   ══════════════════════════════════════════════════════════ */

.ab-bullets {
	list-style: none;
	padding: 0;
	margin: 10px 0 20px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ab-bullets li {
	padding-left: 24px;
	position: relative;
	margin: 0;
	line-height: 1.6;
}

.ab-bullets li::before {
	content: '✦';
	position: absolute;
	left: 0;
	color: var(--wpex-palette-8974-color);
	font-size: 0.75em;
	top: 50%;
	transform: translateY(-50%);
}

.ab-bullets--white li {
	color: rgba(255, 255, 255, 0.85);
}

.ab-bullets--white li::before {
	color: var(--wpex-palette-8974-color);
}


/* ══════════════════════════════════════════════════════════
   17. STAT BLOCKS — standalone metric with left border
   ══════════════════════════════════════════════════════════ */

.ab-stat {
	display: flex;
	flex-direction: column;
	gap: 10px;
	border-left: 3px solid var(--wpex-palette-8974-color);
	padding-left: 24px;
}

.ab-stat-num {
	font-family: 'Poppins', sans-serif;
	font-size: 3.2em;
	font-weight: 800;
	color: var(--wpex-palette-9248-color);
	line-height: 1;
}

.ab-stat-text {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.5;
	color: #555;
	max-width: 220px;
}


/* ══════════════════════════════════════════════════════════
   18. CARDS
   ══════════════════════════════════════════════════════════ */

/* Base */
.ab-card {
	background: white;
	border: 1px solid rgba(20, 90, 159, 0.1);
	border-radius: 10px;
	padding: 24px;
	box-shadow: none;
}

/* Seafoam highlight card */
.ab-card--seafoam {
	background: #F1FAF9;
	border-color: rgba(53, 175, 161, 0.2);
}

/* Sidebar / widget cards */
.ab-card--linen {
	background: #F5F3F0;
	border-radius: 16px;
	padding: 1.25rem;
	border: none !important;
	box-shadow: none !important;
}

.ab-card--accent.ab-linen,
.ab-integration-card.ab-linen {
	background: #F5F3F0;
	box-shadow: none;
}

.ab-card--navy {
	background: var(--wpex-palette-9248-color);
	border-radius: 16px;
	padding: 1.25rem;
	border: none !important;
	box-shadow: none !important;
}

.ab-card--navy,
.ab-card--navy * {
	color: white !important;
}

@media (max-width: 767px) {

	.ab-card--linen,
	.ab-card--navy {
		padding: 0.9375rem;
	}
}

/* Paper card (publications) */
.ab-card--paper {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ab-card-tag {
	font-size: 0.625em;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wpex-palette-8973-color);
}

.ab-card-title {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 600;
	line-height: 1.45;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-card-author {
	font-family: 'Manrope', sans-serif;
	font-size: 0.8em;
	color: #888;
	font-style: italic;
	margin: 0;
}

/* Accent card (integrations — left border) */
.ab-card--accent,
.ab-integration-card {
	display: block;
	width: 100%;
	box-sizing: border-box;
	border: none;
	border-left: 3px solid #35AFA1;
	border-radius: 8px;
	padding: 24px 28px;
	background: #ffffff;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.ab-card--accent h3,
.ab-integration-card h3 {
	margin: 0 0 8px 0;
}

.ab-card--accent p,
.ab-integration-card p {
	margin: 0;
	color: #555;
}

.ab-card--accent.ab-sienna {
	border-left-color: #EB744E;
}

/* Image card */
.ab-card--image {
	display: flex;
	flex-direction: column;
	gap: 16px;
	border: none;
	padding: 0;
	background: transparent;
	box-shadow: none;
}

.ab-card--image img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: 12px;
	display: block;
}

.ab-card-caption {
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-card-body {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.65;
	color: #555;
	margin: 0;
}


/* Product/tier card heading */
.ab-card-heading {
	font-family: 'Poppins', sans-serif;
	font-size: 1.4em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	line-height: 1.2;
	margin: 4px 0 12px 0;
}

.ab-card-subtitle {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 0 0 12px 0;
}


/* Dark accent card (stacked list on dark bg) */
.ab-card-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-card--dark-accent {
	background: rgba(255, 255, 255, 0.07);
	border: none;
	border-left: 3px solid var(--wpex-palette-8974-color);
	border-radius: 12px;
	padding: 32px 36px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-shadow: none;
}

.ab-card--dark-accent h3 {
	color: white;
	margin: 0;
}

.ab-card--dark-accent p {
	color: rgba(255, 255, 255, 0.75);
	margin: 0;
}


/* Stat card */
.ab-card--stat {
	background: #EEF5FB;
	border: none;
	border-radius: 16px;
	padding: 40px 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	box-shadow: none;
}

.ab-stat-card-number {
	font-family: 'Poppins', sans-serif;
	font-size: 3.5em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	line-height: 1;
	margin: 0;
}

.ab-stat-card-label {
	font-weight: 700;
	font-size: 1em;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-stat-card-body {
	font-family: 'Manrope', sans-serif;
	font-size: 0.95em;
	color: #555;
	line-height: 1.65;
	margin: 0;
}


/* ══════════════════════════════════════════════════════════
   19. PULL QUOTE — inline testimonial with CTA
   ══════════════════════════════════════════════════════════ */

/* Dark background variant — no card, decorative quote mark */
.ab-quote--dark {
	position: relative;
	padding-top: 8px;
}

.ab-quote--dark-icon {
	display: block;
	width: 48px;
	height: auto;
	margin-top: 30px;
	margin-bottom: 30px;
}

.ab-quote--dark .ab-pull-quote-text {
	color: #ffffff;
	font-size: 1.15em;
	font-style: italic;
	line-height: 1.65;
	margin: 0 0 16px;
}

.ab-quote--dark .ab-pull-quote-attribution {
	color: var(--wpex-palette-8974-color);
	font-weight: 600;
	font-size: 0.875em;
	margin: 0;
}

.ab-pull-quote {
	background: #EEF5FB;
	border: none;
	border-left: 3px solid var(--wpex-palette-8973-color);
	border-radius: 12px;
	padding: 40px 48px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 48px;
}

.ab-pull-quote-content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-pull-quote-text {
	font-family: 'Manrope', sans-serif;
	font-size: 1.05em;
	line-height: 1.65;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-pull-quote-attribution {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-btn-outline-lapis {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 14px 28px !important;
	line-height: 1 !important;
	border: 2px solid var(--wpex-palette-8973-color);
	border-radius: 999px;
	color: var(--wpex-palette-8973-color) !important;
	font-size: 0.875em;
	font-weight: 700;
	text-decoration: none !important;
	transition: background 0.2s, color 0.2s;
}

.ab-btn-outline-lapis:hover {
	background: var(--wpex-palette-8973-color);
	color: white !important;
	text-decoration: none;
}

.ab-btn-outline-lapis--sm {
	display: inline-block;
	white-space: nowrap;
	padding: 9px 20px;
	margin-top: 20px;
	border: 1.5px solid var(--wpex-palette-8973-color);
	border-radius: 100px;
	color: var(--wpex-palette-8973-color);
	font-family: 'Manrope', sans-serif;
	font-size: 0.85em;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	margin-bottom: 20px;
}

.ab-btn-outline-lapis--sm:hover {
	background: var(--wpex-palette-8973-color);
	color: white;
	text-decoration: none;
}

.ab-btn-solid-sienna {
	display: inline-block;
	background: #EB744E;
	color: #ffffff;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 700;
	letter-spacing: 0.5px;
	padding: 14px 28px;
	border-radius: 6px;
	border: 2px solid transparent;
	text-decoration: none;
	transition: background 0.2s;
}

.ab-btn-solid-sienna:hover {
	background: #d4663e;
	color: #ffffff;
	text-decoration: none;
}

@media (max-width: 767px) {
	.ab-pull-quote {
		flex-direction: column;
		align-items: flex-start;
		padding: 32px 28px;
		gap: 28px;
	}
}


/* ══════════════════════════════════════════════════════════
   20. QUOTE SECTION — centered large text on dark bg
   ══════════════════════════════════════════════════════════ */

.ab-quote {
	padding: 120px 0;
	position: relative;
	overflow: hidden;
}

.ab-quote-overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 36, 69, 0.65);
	pointer-events: none;
}

.ab-quote-inner {
	position: relative;
	z-index: 1;
	text-align: center;
	max-width: 860px;
	margin: 0 auto;
	padding-left: 5%;
	padding-right: 5%;
	box-sizing: border-box;
}

.ab-quote-text {
	font-size: 2.6em;
	font-weight: 700;
	line-height: 1.2;
	color: white;
	margin: 0;
}

.ab-quote-accent {
	color: var(--wpex-palette-8974-color);
}

@media (max-width: 767px) {
	.ab-quote-text {
		font-size: 1.9em;
	}
}

@media (max-width: 480px) {
	.ab-quote {
		padding: 80px 0;
	}
}


/* ══════════════════════════════════════════════════════════
   20. PLATFORM — overview icons (unique to platform)
   ══════════════════════════════════════════════════════════ */

.ab-platform-overview-inner {
	display: flex;
	align-items: center;
	gap: 64px;
}

.ab-platform-overview-copy {
	flex: 0 0 42%;
	max-width: 42%;
}

.ab-platform-overview-icons {
	flex: 1;
	display: flex;
	gap: 40px;
	justify-content: flex-end;
}

.ab-platform-icon-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
}

.ab-platform-icon-circle {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	background: var(--wpex-palette-9248-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.ab-platform-icon-circle i {
	color: var(--wpex-palette-8988-color);
	font-size: 1.75rem;
}

@media (max-width: 767px) {
	.ab-platform-overview-inner {
		flex-direction: column;
		gap: 40px;
		padding: 56px 5%;
	}

	.ab-platform-overview-copy {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ab-platform-overview-icons {
		justify-content: flex-start;
	}
}


/* ══════════════════════════════════════════════════════════
   21. PLATFORM — integrations (unique layout)
   ══════════════════════════════════════════════════════════ */

.ab-platform-integrations-inner {
	display: flex;
	align-items: flex-start;
	gap: 64px;
}

.ab-platform-integrations-copy {
	flex: 0 0 36%;
	max-width: 36%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-platform-integrations-copy h2 {
	margin: 0;
}

.ab-platform-integrations-copy p {
	margin: 0;
}

.ab-platform-integrations-cards {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

@media (max-width: 767px) {
	.ab-platform-integrations-inner {
		flex-direction: column;
		gap: 40px;
		padding: 56px 5%;
	}

	.ab-platform-integrations-copy {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* ══════════════════════════════════════════════════════════
   22. SCIENCE — framework pyramid + video
   ══════════════════════════════════════════════════════════ */

.ab-science-pyramid {
	width: 100%;
	max-width: 420px;
	height: auto;
}

.ab-science-framework-video {
	margin-top: 24px;
	width: 100%;
	border-radius: 12px;
	overflow: hidden;
	aspect-ratio: 16/9;
	background: var(--wpex-palette-9681-color);
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.ab-science-framework-video iframe {
	width: 100%;
	height: 100%;
	display: block;
}


/* ══════════════════════════════════════════════════════════
   23. SCIENCE — scientists
   ══════════════════════════════════════════════════════════ */

.ab-scientist-card {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-scientist-ident {
	display: flex;
	align-items: center;
	gap: 20px;
}

.ab-scientist-photo {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	display: block;
	background: var(--wpex-palette-9681-color);
}

.ab-scientist-name {
	margin: 0 0 4px 0;
	font-size: 1.1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
}

.ab-scientist-role {
	margin: 0;
	font-family: 'Manrope', sans-serif;
	font-size: 0.85em;
	color: var(--wpex-palette-8973-color);
	font-weight: 600;
}

.ab-scientist-bio {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.7;
	color: #444;
	margin: 0;
}

.ab-scientist-research {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ab-scientist-research-label {
	font-size: 0.625em;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wpex-palette-8973-color);
}

.ab-scientist-paper {
	font-family: 'Manrope', sans-serif;
	font-size: 0.85em;
	line-height: 1.45;
	color: var(--wpex-palette-9248-color);
	border-left: 2px solid var(--wpex-palette-8974-color);
	padding-left: 12px;
	margin: 0;
}


/* ══════════════════════════════════════════════════════════
   24. SCIENCE — theory pillars
   ══════════════════════════════════════════════════════════ */

.ab-theory-quote {
	font-size: 2.4em;
	font-weight: 700;
	line-height: 1.2;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-theory-quote em {
	color: var(--wpex-palette-8974-color);
	font-style: normal;
}

.ab-theory-attribution {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-style: italic;
	color: var(--wpex-palette-8973-color);
	margin: -8px 0 0 0;
}

.ab-theory-intro {
	max-width: 840px;
	margin-bottom: 64px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-theory-intro p {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	line-height: 1.7;
	color: #555;
	margin: 0;
	max-width: 720px;
}

.ab-theory-pillar {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-theory-pillar h3 {
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 0;
	line-height: 1.3;
}

.ab-theory-pillar ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ab-theory-pillar ul li {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	line-height: 1.55;
	color: #555;
	padding-left: 18px;
	position: relative;
	margin: 0;
}

.ab-theory-pillar ul li::before {
	content: '✦';
	position: absolute;
	left: 0;
	color: var(--wpex-palette-8974-color);
	font-size: 0.6em;
	top: 4px;
}

@media (max-width: 767px) {
	.ab-theory-quote {
		font-size: 1.75em;
	}
}


/* ══════════════════════════════════════════════════════════
   25. HOMEPAGE — behavior comparison (copy + insight cards)
   ══════════════════════════════════════════════════════════ */

.ab-behavior-inner {
	display: flex;
	align-items: center;
	gap: 64px;
}

.ab-behavior-copy {
	flex: 0 0 48%;
	max-width: 48%;
}

.ab-behavior-cards {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ab-insight-card {
	border-radius: 8px;
	padding: 20px 24px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-left: 3px solid transparent;
	background-color: #fff;
	width: 100%;
	box-sizing: border-box;
}

.ab-insight-card p {
	margin-bottom: 4px;
}

.ab-insight-card p:last-child {
	margin-bottom: 0;
}

.ab-insight-card--lapis {
	border-left-color: var(--wpex-palette-8973-color);
}

.ab-insight-card--seafoam {
	border-left-color: var(--wpex-palette-8974-color);
}

.ab-insight-card--sienna {
	border-left-color: #EB744E;
}

.ab-behavior-highlight {
	color: var(--wpex-palette-8973-color);
}

@media (max-width: 767px) {
	.ab-behavior-inner {
		flex-direction: column;
		gap: 40px;
	}

	.ab-behavior-copy,
	.ab-behavior-cards {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* ══════════════════════════════════════════════════════════
   26. HOMEPAGE — measures (AgileBrain measures why)
   ══════════════════════════════════════════════════════════ */

.ab-measures-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 56px;
	padding: 8% 12% !important;
}

.ab-measures-header {
	text-align: center;
	max-width: 1000px;
}

.ab-measures-cards {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.ab-measures-card {
	flex: 1;
	display: flex;
	flex-direction: column;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 32px;
}

.ab-measures-card-img {
	width: 100%;
	height: auto;
	display: block;
	margin-top: auto;
	padding-top: 24px;
	opacity: 0.9;
}

.ab-measures-arrow {
	font-size: 3.5em;
	flex-shrink: 0;
	padding: 0 4px;
	align-self: center;
	color: var(--wpex-palette-8974-color);
}

@media (max-width: 767px) {
	.ab-measures-inner {
		padding: 8% 5% !important;
	}

	.ab-measures-cards {
		flex-direction: column;
		gap: 16px;
	}

	.ab-measures-arrow {
		transform: rotate(90deg);
	}
}


/* ══════════════════════════════════════════════════════════
   27. HOMEPAGE — testimonials
   ══════════════════════════════════════════════════════════ */

.ab-testimonials-inner {
	display: flex;
	flex-direction: column;
	gap: 48px;
	padding: 8% 12% !important;
}

.ab-testimonials-header {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ab-testimonials-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.ab-testimonial-card {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	border-radius: 12px;
	padding: 32px;
	background: var(--wpex-palette-9681-color);
}

.ab-testimonial-content {
	flex: 1;
}

.ab-testimonial-content p {
	margin-bottom: 8px;
}

.ab-testimonial-logo {
	width: 80px;
	height: auto;
	object-fit: contain;
	flex-shrink: 0;
	border-radius: 8px;
}

@media (max-width: 767px) {
	.ab-testimonials-inner {
		padding: 8% 5% !important;
	}

	.ab-testimonials-grid {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   28. HOMEPAGE — solutions grid
   ══════════════════════════════════════════════════════════ */

.ab-solutions-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	text-align: center;
	padding: 8% 12% !important;
}

.ab-solutions-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 1000px;
}

.ab-solutions-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	width: 100%;
}

.ab-solution-card {
	background: var(--wpex-palette-8988-color);
	border: 1px solid rgba(20, 90, 159, 0.1);
	border-radius: 12px;
	padding: 5% 32px;
	text-align: center;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-solution-card:hover {
	text-decoration: none;
}

.ab-solution-card h3 {
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-solution-card p {
	color: #555555;
	margin: 0;
}

@media (max-width: 1024px) {
	.ab-solutions-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ab-solutions-inner {
		padding: 8% 5% !important;
	}

	.ab-solutions-grid {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   29. HOMEPAGE — stats bar
   ══════════════════════════════════════════════════════════ */

.ab-stats-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 3% 12% 2% !important;
}

.ab-stat-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 12px;
}

.ab-stats-number {
	font-size: 3.3em;
	font-weight: 800;
	line-height: 1.0;
}

@media (max-width: 767px) {
	.ab-stats-inner {
		flex-wrap: wrap;
		justify-content: center;
		padding: 3% 5% 2% !important;
	}

	.ab-stat-item {
		flex: 0 0 45%;
	}
}


/* ══════════════════════════════════════════════════════════
   30. HOMEPAGE — AI powered section
   ══════════════════════════════════════════════════════════ */

.ab-ai-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 48px;
	text-align: center;
	padding: 8% 12% !important;
}

.ab-ai-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 700px;
}

.ab-ai-illustration {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 767px) {
	.ab-ai-inner {
		padding: 8% 5% !important;
	}
}


/* ══════════════════════════════════════════════════════════
   31. HOMEPAGE — flow steps (see it in real time)
   ══════════════════════════════════════════════════════════ */

.ab-flow-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 56px;
	text-align: center;
	padding: 8% 12% !important;
}

.ab-flow-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 720px;
}

.ab-flow-steps {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	width: 100%;
}

.ab-flow-step {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
	text-align: left;
}

.ab-flow-step-label {
	display: flex;
	align-items: center;
	gap: 16px;
}

.ab-flow-step-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1em;
	color: var(--wpex-palette-8988-color);
	flex-shrink: 0;
}

.ab-flow-step-number--navy {
	background: var(--wpex-palette-9248-color);
}

.ab-flow-step-number--lapis {
	background: var(--wpex-palette-8973-color);
}

.ab-flow-step-number--seafoam {
	background: var(--wpex-palette-8974-color);
}

.ab-flow-step-number--sienna {
	background: #EB744E;
}

/* Vertical flow variant — used on AI Intelligence Layer path block */
.ab-flow-steps--vertical {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ab-flow-step-v,
.ab-flow-step-content {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ab-flow-step-title {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-flow-step-body {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.6;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-flow-arrow-v {
	font-size: 1.1em;
	color: var(--wpex-palette-8973-color);
	padding: 8px 0;
	line-height: 1;
}

.ab-flow-step-label h3 {
	margin: 0;
}

.ab-flow-step-label p {
	margin: 0;
}

.ab-flow-step-img {
	width: 100%;
	height: 360px;
	object-fit: contain;
	border-radius: 8px;
}

.ab-flow-arrow {
	font-size: 2em;
	color: rgba(30, 36, 69, 0.3);
	flex-shrink: 0;
	padding: 0 8px;
	margin-top: 12px;
}

@media (max-width: 767px) {
	.ab-flow-inner {
		padding: 8% 5% !important;
	}

	.ab-flow-steps {
		flex-direction: column;
		gap: 40px;
	}

	.ab-flow-arrow {
		transform: rotate(90deg);
		align-self: center;
	}
}


/* ══════════════════════════════════════════════════════════
   32. HOMEPAGE — CTA (gradient card with mockup bleed)
       Set class ab-cta--home on the WPBakery ROW (extra class field).
   ══════════════════════════════════════════════════════════ */

.ab-cta--home .ab-cta-inner {
	background: linear-gradient(135deg, #1e2445 0%, #145A9F 60%, #35AFA1 100%);
	border-radius: 24px 24px 0 0;
	padding: 80px 60px 0 60px !important;
	overflow: hidden;
	gap: 40px;
	margin-bottom: 0px;
}

.ab-cta-mockup {
	width: 100%;
	max-width: 50%;
	height: auto;
	display: block;
}

@media (max-width: 767px) {
	.ab-cta--home .ab-cta-inner {
		border-radius: 16px;
		padding: 56px 24px 0 24px !important;
	}
}


/* ══════════════════════════════════════════════════════════
   33. PLATFORM / SCIENCE — CTA (gradient card, no image)
       Set class ab-cta--platform or ab-cta--science on the WPBakery ROW.
   ══════════════════════════════════════════════════════════ */

.ab-cta--platform .wpb_wrapper,
.ab-cta--science .wpb_wrapper {
	text-align: center;
}

.ab-cta--platform .ab-cta-inner,
.ab-cta--science .ab-cta-inner,
.ab-cta--book .ab-cta-inner {
	background: linear-gradient(135deg, #1e2445 0%, #145A9F 60%, #35AFA1 100%);
	border-radius: 24px 24px 0 0;
	padding: 80px 60px !important;
	overflow: hidden;
	width: 75%;
	margin: 0 auto;
}

.ab-cta--platform .wpb_wrapper,
.ab-cta--science .wpb_wrapper,
.ab-cta--book .wpb_wrapper {
	text-align: center;
}

.ab-cta--campus .ab-cta-inner {
	background: var(--wpex-palette-9248-color);
	border-radius: 24px 24px 0 0;
	padding: 56px 60px !important;
	overflow: hidden;
}

.ab-cta--about .wpb_wrapper {
	text-align: center;
}

.ab-cta--about .ab-cta-inner {
	background: linear-gradient(135deg, #F5F3F0 0%, #F1FAF9 100%);
	border-radius: 24px 24px 0 0;
	padding: 80px 60px !important;
	overflow: hidden;
}

/* Rounded-corner CTA card shape only — no background baked in, unlike
   the page-specific modifiers above. Pair with a row-level gradient
   class (e.g. bg-grad-navy-lapis) so the background stays whatever
   you set on the row instead of being forced by the modifier. */
.ab-cta--dark-rounded .wpb_wrapper {
	text-align: center;
}

.ab-cta--dark-rounded .ab-cta-inner {
	border-radius: 24px 24px 0 0;
	padding: 80px 60px !important;
	overflow: hidden;
}

@media (max-width: 767px) {

	.ab-cta--platform .ab-cta-inner,
	.ab-cta--science .ab-cta-inner,
	.ab-cta--book .ab-cta-inner {
		border-radius: 16px 16px 0 0;
		padding: 56px 24px !important;
		width: 90%;
		max-width: none;
	}

	.ab-cta--campus .ab-cta-inner {
		border-radius: 16px 16px 0 0;
		padding: 40px 24px !important;
	}

	.ab-cta--about .ab-cta-inner {
		border-radius: 16px 16px 0 0;
		padding: 56px 24px !important;
	}

	.ab-cta--dark-rounded .ab-cta-inner {
		border-radius: 16px 16px 0 0;
		padding: 56px 24px !important;
	}
}


/* ══════════════════════════════════════════════════════════
   33. APPROACH BLOCK — Capture → Measure → Activate
       Used on every vertical page. Background set in WPBakery
       (dark navy gradient). Inner layout only.
   ══════════════════════════════════════════════════════════ */

.ab-approach-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 56px;
	text-align: center;
}

.ab-approach-header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	max-width: 800px;
}

.ab-approach-header--left {
	align-items: flex-start;
	align-self: flex-start;
	text-align: left;
}

.ab-approach-header h2 {
	margin: 0;
	color: white;
}

.ab-approach-header p {
	margin: 0;
	color: rgba(255, 255, 255, 0.8);
	font-family: 'Manrope', sans-serif;
	line-height: 1.7;
}

.ab-approach-steps {
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
}

.ab-approach-step {
	flex: 1;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 12px;
	padding: 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}

.ab-approach-step-badge {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.ab-approach-step-num {
	font-family: 'Poppins', sans-serif;
	font-size: 0.7em;
	font-weight: 800;
	color: rgba(255, 255, 255, 0.2);
	letter-spacing: 1px;
}

.ab-approach-step-label {
	font-size: 0.625em;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--wpex-palette-8974-color);
}

.ab-approach-step h3 {
	margin: 0;
	font-size: 1.8em;
	font-weight: 500;
	color: white !important;
	line-height: 1.1;
}

.ab-approach-step p {
	margin: 0;
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.72);
}

.ab-approach-arrow {
	font-size: 2em;
	color: rgba(255, 255, 255, 0.5);
	flex-shrink: 0;
	padding: 0 4px;
	align-self: center;
}

.ab-approach-footer {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.ab-approach-disclaimer {
	font-family: 'Manrope', sans-serif;
	font-size: 0.8em;
	color: rgba(255, 255, 255, 0.45);
	font-style: italic;
	text-align: center;
	max-width: 640px;
	margin: 0;
}

.ab-approach-ctas {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
}

@media (max-width: 767px) {
	.ab-approach-inner {
		gap: 40px;
	}

	.ab-approach-steps {
		flex-direction: column;
	}

	.ab-approach-arrow {
		transform: rotate(90deg);
		align-self: center;
	}
}


/* ══════════════════════════════════════════════════════════
   34. PROBLEM BLOCK — copy left + 3-col cards right
       Used on: Workforce, H&HS, Community & Non-Profit, Coach, inspo
   ══════════════════════════════════════════════════════════ */

.ab-problem-inner {
	display: flex;
	align-items: flex-start;
	gap: 64px;
}

.ab-problem-copy {
	flex: 0 0 36%;
	max-width: 36%;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ab-problem-copy h2 {
	margin: 0;
}

.ab-problem-copy p {
	margin: 0;
	font-family: 'Manrope', sans-serif;
	line-height: 1.7;
	color: #555;
}

.ab-problem-cards {
	flex: 1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ab-problem-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ab-problem-card-head {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 0.9em;
	color: var(--wpex-palette-9248-color);
	margin: 0;
	line-height: 1.3;
}

.ab-problem-card-body {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	line-height: 1.6;
	color: #555;
	margin: 0;
}

@media (max-width: 1024px) {
	.ab-problem-inner {
		flex-direction: column;
		gap: 40px;
	}

	.ab-problem-copy {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.ab-problem-cards {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ab-problem-cards {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   35. PHOTO BANNER — full-width photo section with text overlay
       Background image set in WPBakery. Use this for the
       "When coaching starts from motivation..." style sections.
       Different from ab-quote (which is a blockquote on gradient bg).
   ══════════════════════════════════════════════════════════ */

.ab-photo-banner {
	position: relative;
	overflow: hidden;
	padding: 120px 0;
}

.ab-photo-banner-overlay {
	position: absolute;
	inset: 0;
	background: rgba(20, 36, 69, 0.60);
	pointer-events: none;
}

.ab-photo-banner-inner {
	position: relative;
	z-index: 1;
	max-width: 820px;
}

.ab-photo-banner--center .ab-photo-banner-inner {
	margin: 0 auto;
	text-align: center;
}

.ab-photo-banner-text {
	font-family: 'Poppins', sans-serif;
	font-size: 2.6em;
	font-weight: 700;
	line-height: 1.25;
	color: white;
	margin: 0;
}

.ab-photo-banner-text em {
	color: var(--wpex-palette-8974-color);
	font-style: normal;
}

@media (max-width: 767px) {
	.ab-photo-banner {
		padding: 80px 0;
	}

	.ab-photo-banner-text {
		font-size: 1.9em;
	}
}

@media (max-width: 480px) {
	.ab-photo-banner {
		padding: 60px 0;
	}

	.ab-photo-banner-text {
		font-size: 1.6em;
	}
}


/* ══════════════════════════════════════════════════════════
   36. STAT PCT — 2×2 percentage stat grid
       Used on: Performance, H&HS, Community & Non-Profit
       (70.5%, 74.1%, 87.5%, 65.2% style outcomes stats)
   ══════════════════════════════════════════════════════════ */

.ab-stat-pct-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.ab-stat-pct {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.ab-stat-pct-num {
	font-family: 'Poppins', sans-serif;
	font-size: 3.2em;
	font-weight: 800;
	line-height: 1;
	color: var(--wpex-palette-9248-color);
}

.ab-stat-pct-num--lapis {
	color: var(--wpex-palette-8973-color);
}

.ab-stat-pct-num--white {
	color: white;
}

.ab-stat-pct-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	line-height: 1.5;
	color: #555;
	margin: 0;
}

.ab-stat-pct-label--white {
	color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 480px) {
	.ab-stat-pct-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ab-stat-pct-num {
		font-size: 2.6em;
	}
}


/* ══════════════════════════════════════════════════════════
   37. CASE STUDY — pull quote left + 2×2 stats right
       Used on: Performance, H&HS, Community & Non-Profit
   ══════════════════════════════════════════════════════════ */

.ab-case-study-inner {
	display: flex;
	align-items: center;
	gap: 64px;
}

.ab-case-study-quote {
	flex: 0 0 46%;
	max-width: 46%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-case-study-pull {
	font-family: 'Poppins', sans-serif;
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1.35;
	color: var(--wpex-palette-9248-color);
	font-style: italic;
	border-left: 3px solid var(--wpex-palette-8974-color);
	padding-left: 24px;
	margin: 0;
}

.ab-case-study-attr {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	color: #888;
	padding-left: 27px;
	margin: 0;
}

.ab-case-study-stats {
	flex: 1;
}

@media (max-width: 767px) {
	.ab-case-study-inner {
		flex-direction: column;
		gap: 40px;
	}

	.ab-case-study-quote {
		flex: 0 0 100%;
		max-width: 100%;
	}
}


/* ══════════════════════════════════════════════════════════
   38. MODULES GRID — 2-col module list with icons
       Used on: Workforce, inspo
   ══════════════════════════════════════════════════════════ */

.ab-modules-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.ab-module-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border-radius: 10px;
	border: 1px solid rgba(20, 90, 159, 0.1);
	background: white;
}

.ab-module-icon {
	font-size: 1.25em;
	flex-shrink: 0;
	color: var(--wpex-palette-8974-color);
	margin-top: 2px;
}

.ab-module-copy {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ab-module-title {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 0.9em;
	color: var(--wpex-palette-9248-color);
	margin: 0;
	line-height: 1.3;
}

.ab-module-desc {
	font-family: 'Manrope', sans-serif;
	font-size: 0.8em;
	line-height: 1.5;
	color: #666;
	margin: 0;
}

@media (max-width: 767px) {
	.ab-modules-grid {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   39. TRUST STRIP — accreditation / partner logo badges
       Used on: Coach (ICF Accredited, Coaching Community)
   ══════════════════════════════════════════════════════════ */

.ab-trust-strip {
	display: flex;
	align-items: center;
	gap: 32px;
	flex-wrap: wrap;
	padding: 24px 0;
}

.ab-trust-item {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ab-trust-logo {
	height: 44px;
	width: auto;
	object-fit: contain;
	flex-shrink: 0;
}

.ab-trust-text {
	font-family: 'Manrope', sans-serif;
	font-size: 0.8em;
	line-height: 1.45;
	color: #555;
	max-width: 200px;
	margin: 0;
}


/* ══════════════════════════════════════════════════════════
   40. TECH LOGOS — platform partner logo strip
       Used on: AI Intelligence Layer (OpenAI, Anthropic, etc.)
   ══════════════════════════════════════════════════════════ */

.ab-tech-logos {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

.ab-tech-logo {
	height: 50px;
	width: auto;
	object-fit: contain;
	filter: grayscale(15%);
}

.ab-tech-logo:hover {
	filter: grayscale(0%);
}

@media (max-width: 767px) {
	.ab-tech-logos {
		gap: 20px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.ab-tech-logo {
		height: 36px;
	}
}


.ab-stack {
	display: flex;
	flex-direction: column;
	gap: 16px;
}


/* ══════════════════════════════════════════════════════════
   NAVIGATION OVERRIDES
   ══════════════════════════════════════════════════════════ */

.ab-blog-cat-nav a.vcex-navbar-link {
	color: var(--wpex-palette-9248-color) !important;
}


/* ══════════════════════════════════════════════════════════
   BLOG — Category Nav
   ══════════════════════════════════════════════════════════ */

.ab-blog-nav {
	background: #ffffff;
	border-bottom: 1px solid rgba(30, 36, 69, 0.1);
	width: 100%;
}

.ab-blog-nav-scroll {
	display: flex;
	flex-direction: row;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 0;
}

.ab-blog-nav-scroll::-webkit-scrollbar {
	display: none;
}

.ab-blog-nav-item {
	display: inline-block;
	white-space: nowrap;
	flex-shrink: 0;
	padding: 16px 20px;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 500;
	color: var(--wpex-palette-9248-color);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.2s, border-color 0.2s;
}

.ab-blog-nav-item:hover {
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
}

.ab-blog-nav-item--active {
	font-weight: 600;
	border-bottom-color: var(--wpex-palette-8973-color);
}

/* Mobile: native select dropdown */
.ab-blog-nav-select {
	display: none;
}

@media (max-width: 767px) {
	.ab-blog-nav-scroll {
		display: none;
	}

	.ab-blog-nav-select {
		display: block;
		width: 100%;
		padding: 12px 40px 12px 16px;
		font-family: 'Manrope', sans-serif;
		font-size: 0.95em;
		font-weight: 500;
		color: var(--wpex-palette-9248-color);
		background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%231e2445' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 16px center;
		border: 1px solid rgba(30, 36, 69, 0.2);
		border-radius: 8px;
		appearance: none;
		-webkit-appearance: none;
		cursor: pointer;
	}
}


/* Blog card category pill — add class ab-card-cat-pill to the custom field element in WPBakery card builder */
.ab-card-cat-pill {
	display: inline-flex !important;
	align-items: center;
	width: fit-content !important;
	gap: 6px;
	background: color-mix(in srgb, var(--wpex-palette-8974-color) 18%, #ffffff);
	color: #1a5c53;
	font-size: 0.82em;
	font-weight: 600;
	padding: 6px 14px 6px 12px;
	border-radius: 999px;
	line-height: 1;
	letter-spacing: 0.01em;
	margin-bottom: 10px;
}


/* Equal-height card grid — add class ab-equal-height to the WPBakery Post Type Grid element */
.ab-equal-height .vcex-post-type-grid {
	align-items: stretch;
}

.ab-equal-height .vcex-post-type-grid-entry {
	display: flex !important;
	flex-direction: column;
}

.ab-equal-height .vcex-post-type-grid-entry-inner {
	display: flex;
	flex-direction: column;
	flex: 1;
}

.ab-equal-height .vcex-post-type-grid-entry-details {
	display: flex;
	flex-direction: column;
	flex: 1;
}


/* ══════════════════════════════════════════════════════════
   ICON LIST — two-column topic layout
   ══════════════════════════════════════════════════════════ */

.ab-icon-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 60px;
}

.ab-icon-cols--3 {
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.ab-icon-cols--3 .ab-icon-item {
	flex-direction: column;
}

.ab-icon-cols--3 .ab-icon-item-icon {
	flex-shrink: 0;
}

/* Performance signals card internals */
.ab-perf-signal-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 32px !important;
}

.ab-perf-signal-card .ab-icon-item-icon {
	margin-bottom: 4px;
}

.ab-perf-signal-card .ab-icon-item-icon svg {
	color: var(--wpex-palette-8974-color);
}

.ab-perf-signal-card .ab-icon-item-title {
	font-size: 1.1em;
	margin: 0;
}

.ab-perf-signal-card .ab-icon-item-body {
	margin: 0;
}

.ab-icon-col-heading {
	font-family: 'Manrope', sans-serif;
	font-size: 1.05em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	margin: 0 0 24px 0;
}

.ab-icon-list {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.ab-icon-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}

.ab-icon-item-icon {
	width: 56px;
	height: 56px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.ab-icon-item-icon--pink {
	background: #fce8ef;
}

.ab-icon-item-icon--sienna {
	background: #fce8e3;
}

.ab-icon-item-icon--seafoam {
	background: #e2f4f2;
}

.ab-icon-item-icon--lapis {
	background: #deeaf8;
}

.ab-icon-item-icon--navy {
	background: #d5d8e8;
}

.ab-icon-item-icon img {
	width: 28px;
	height: 28px;
	object-fit: contain;
}

.ab-icon-item-icon .material-icons {
	font-size: 26px;
}

.ab-icon-item-icon--pink .material-icons {
	color: #C94F7C;
}

.ab-icon-item-icon--sienna .material-icons {
	color: #EB744E;
}

.ab-icon-item-icon--seafoam .material-icons {
	color: var(--wpex-palette-8974-color);
}

.ab-icon-item-icon--lapis .material-icons {
	color: var(--wpex-palette-8973-color);
}

.ab-icon-item-icon--navy .material-icons {
	color: var(--wpex-palette-9248-color);
}

.ab-icon-item-content {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.ab-icon-item-title {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-icon-item-body {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.6;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-module-note {
	background: #F5F3F0;
	border-radius: 12px;
	padding: 24px 32px;
	margin-top: 48px;
}

.ab-module-note p {
	font-family: 'Manrope', sans-serif;
	font-size: 0.95em;
	line-height: 1.7;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

@media (max-width: 767px) {
	.ab-icon-cols {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.ab-module-note {
		padding: 20px;
		margin-top: 32px;
	}
}


/* ══════════════════════════════════════════════════════════
   35. CONTACT — type-selector cards
   ══════════════════════════════════════════════════════════ */

.ab-connect-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-bottom: 32px;
}

.ab-connect-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	padding: 20px 16px;
	background: white;
	border: 1.5px solid rgba(20, 90, 159, 0.15);
	border-radius: 12px;
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
	font-family: inherit;
}

.ab-connect-card:hover {
	border-color: var(--wpex-palette-8973-color);
	box-shadow: 0 4px 16px rgba(20, 90, 159, 0.1);
}

.ab-connect-card--active {
	border-color: var(--wpex-palette-8973-color);
	box-shadow: 0 0 0 3px rgba(20, 90, 159, 0.1);
	background: #EEF5FB;
}

.ab-connect-card-icon {
	font-size: 1.5em !important;
	color: var(--wpex-palette-8973-color);
}

.ab-connect-card-label {
	font-size: 0.95em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
}

.ab-connect-card-sub {
	color: #888;
}

.ab-connect-context {
	border-left: 3px solid var(--wpex-palette-8973-color);
	background: #EEF5FB;
	border-radius: 0 8px 8px 0;
	padding: 20px 24px;
	margin-bottom: 32px;
}

.ab-connect-context-text {
	margin: 0;
}

.ab-connect-forms {
	border: 1.5px dashed rgba(20, 90, 159, 0.2);
	border-radius: 12px;
	padding: 40px;
	min-height: 200px;
}

@media (max-width: 767px) {
	.ab-connect-cards {
		grid-template-columns: 1fr 1fr;
	}

	.ab-connect-forms {
		padding: 24px 16px;
	}
}

@media (max-width: 480px) {
	.ab-connect-cards {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   36. CONTACT — FAQ accordion
   ══════════════════════════════════════════════════════════ */

.ab-faq-list {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.ab-faq-item {
	border-bottom: 1px solid rgba(20, 90, 159, 0.12);
}

.ab-faq-item:first-child {
	border-top: 1px solid rgba(20, 90, 159, 0.12);
}

.ab-faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 0;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	cursor: pointer;
	list-style: none;
	margin: 0;
}

.ab-faq-question::-webkit-details-marker {
	display: none;
}

.ab-faq-question::after {
	content: '›';
	font-size: 1.4em;
	font-weight: 400;
	color: var(--wpex-palette-8973-color);
	transform: rotate(90deg);
	transition: transform 0.2s;
	flex-shrink: 0;
	margin-left: 16px;
}

.ab-faq-item[open] .ab-faq-question::after {
	transform: rotate(270deg);
}

.ab-faq-answer {
	padding: 0 0 24px 0;
	margin: 0;
}


/* ══════════════════════════════════════════════════════════
   37. BLOG — sticky sidebar
   Add class ab-sticky-sidebar to the WPBakery column.

   position:sticky fails silently when ANY ancestor has
   overflow:hidden/auto/scroll. Three common culprits in WP:
     1. body — Total theme sets overflow-x:hidden to prevent
        horizontal scroll. overflow-x:clip does the same thing
        without creating a scroll container, fixing sticky.
     2. .vc_row — WPBakery adds overflow:hidden.
     3. .vc_column-inner — WPBakery adds overflow:hidden.

   If CSS sticky still doesn't work after this, use the JS
   fallback in blocks/blog/blog-sticky-sidebar-fallback.html
   as a Raw HTML block on the page.
   ══════════════════════════════════════════════════════════ */

body {
	overflow-x: clip !important;
}

.vc_row:has(.ab-sticky-sidebar),
.ab-sticky-row,
.ab-sticky-sidebar,
.ab-sticky-sidebar .vc_column-inner {
	overflow: visible !important;
}

.ab-sticky-sidebar .wpb_wrapper {
	position: sticky;
	top: 2rem;
}


/* ══════════════════════════════════════════════════════════
   38. BLOG — case study process nav
   Mobile: horizontal scroll, label hidden below 600px.
   ══════════════════════════════════════════════════════════ */

.ab-cs-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 2px 0 !important;
	background: var(--wpex-palette-9681-color);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.ab-cs-nav::-webkit-scrollbar {
	display: none;
}

.ab-cs-nav-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	white-space: nowrap;
	flex-shrink: 0;
	padding-right: 12px;
	margin: 0 !important;
	border-right: 1px solid rgba(0, 0, 0, 0.12);
}

.ab-cs-nav-steps {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-shrink: 0;
}

.ab-cs-nav-step {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 500;
	color: var(--wpex-palette-9248-color);
	white-space: nowrap;
}

.ab-cs-nav-step--active {
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
}

.ab-cs-nav-arrow {
	font-size: 0.85em;
	color: rgba(30, 36, 69, 0.3);
	flex-shrink: 0;
}

@media (max-width: 600px) {
	.ab-cs-nav {
		gap: 16px;
		padding: 6px 0;
	}

	.ab-cs-nav-label {
		display: none;
	}
}

/* ══════════════════════════════════════════════════════════
   39. BLOG — case study article body
   ══════════════════════════════════════════════════════════ */

.ab-cs-article {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0 0 40px 0;
	margin-top: 0 !important;
}

.ab-cs-section {
	padding: 44px 0;
}

.ab-cs-section--first {
	padding-top: 0 !important;
}

.ab-cs-divider {
	border: none;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
	margin: 0;
}

.ab-cs-eyebrow {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 0.72em;
	font-weight: 700;
	color: var(--wpex-palette-8974-color);
	text-transform: uppercase;
	letter-spacing: 1.5px;
	margin-bottom: 8px;
}

.ab-cs-headline {
	font-family: 'Poppins', sans-serif;
	font-size: 1.5em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	line-height: 1.25;
	margin: 0 0 24px 0;
}

.ab-cs-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ab-cs-quote {
	border-left: 3px solid var(--wpex-palette-8973-color);
	padding: 2px 0 2px 20px;
	margin: 28px 0;
	background: none !important;
}

.ab-cs-quote-text {
	font-family: 'Poppins', sans-serif;
	font-size: 1.05em;
	font-style: italic;
	color: var(--wpex-palette-9248-color);
	line-height: 1.65;
	margin: 0 0 10px 0 !important;
}

.ab-cs-cite {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 0.75em;
	font-style: normal;
	font-weight: 700;
	color: rgba(30, 36, 69, 0.45);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.ab-cs-team-callout {
	border-left: 4px solid #a25d2a;
	background: rgba(162, 93, 42, 0.08);
	border-radius: 8px;
	padding: 14px 18px;
	margin: 20px 0;
	font-family: 'Manrope', sans-serif;
	font-size: 0.92em;
	line-height: 1.6;
	color: rgba(30, 36, 69, 0.8);
}

.ab-cs-team-callout strong {
	color: #a25d2a;
}

.ab-cs-placeholder {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	background: var(--wpex-palette-9681-color);
	border: 1.5px dashed rgba(20, 90, 159, 0.2);
	border-radius: 8px;
	padding: 16px 20px;
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	font-style: italic;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 20px;
}

.ab-cs-placeholder .material-icons {
	font-size: 1em;
	color: rgba(20, 90, 159, 0.3);
	flex-shrink: 0;
	margin-top: 2px;
}

/* top 3 — card grid */
.ab-cs-stats-cards {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 14px;
	margin: 28px 0 0;
}

.ab-cs-stat-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 28px 16px 24px;
	background: var(--wpex-palette-9681-color);
	border-radius: 12px;
}

.ab-cs-stat-card-num {
	font-family: 'Poppins', sans-serif;
	font-size: 2.6em;
	font-weight: 700;
	line-height: 1;
	color: var(--wpex-palette-8973-color);
}

.ab-cs-stat-card-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.82em;
	line-height: 1.4;
	color: rgba(30, 36, 69, 0.6);
}

/* bottom 2 — label / number rows */
.ab-cs-stats-rows {
	margin: 16px 0 28px;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-cs-stat-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-cs-stat-row-label {
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
	color: var(--wpex-palette-9248-color);
}

.ab-cs-stat-row-num {
	font-family: 'Poppins', sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	white-space: nowrap;
	flex-shrink: 0;
}

@media (max-width: 600px) {
	.ab-cs-stats-cards {
		grid-template-columns: 1fr;
	}

	.ab-cs-stat-card-num {
		font-size: 2em;
	}
}

.ab-cs-video {
	margin: 28px 0 0;
}

.ab-cs-video-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: 8px;
}

.ab-cs-video-embed iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}


/* ══════════════════════════════════════════════════════════
   40. INTEGRATIONS PAGE — type nav
   ══════════════════════════════════════════════════════════ */

.ab-intg-nav {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 2px 0 !important;
	background: var(--wpex-palette-9681-color);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.ab-intg-nav::-webkit-scrollbar {
	display: none;
}

.ab-intg-nav-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	white-space: nowrap;
	flex-shrink: 0;
	padding-right: 12px;
	margin: 0 !important;
	border-right: 1px solid rgba(0, 0, 0, 0.12);
}

.ab-intg-nav-items {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-shrink: 0;
}

.ab-intg-nav-item {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	font-weight: 500;
	color: var(--wpex-palette-9248-color);
	white-space: nowrap;
	text-decoration: none;
	padding: 6px 14px;
	border-radius: 100px;
	transition: background 0.15s, color 0.15s;
}

.ab-intg-nav-item:hover {
	background: rgba(0, 0, 0, 0.06);
	color: var(--wpex-palette-9248-color);
	text-decoration: none;
}

.ab-intg-nav-item--active {
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	background: rgba(20, 90, 159, 0.08);
}

.ab-intg-nav-item--active:hover {
	background: rgba(20, 90, 159, 0.12);
	color: var(--wpex-palette-8973-color);
}

@media (max-width: 600px) {
	.ab-intg-nav {
		gap: 12px;
		padding: 4px 0 !important;
	}

	.ab-intg-nav-label {
		display: none;
	}
}

/* ══════════════════════════════════════════════════════════
   41. INTEGRATIONS PAGE — sections & components
   ══════════════════════════════════════════════════════════ */

/* Intro */
.ab-intg-intro {
	text-align: center;
	padding: 56px 0 8px;
}

.ab-intg-intro .text-seafoam,
.ab-intg-intro .text-sienna {
	font-weight: 700;
}

/* Section wrapper — adds divider between split rows */
.ab-intg-section {
	padding: 80px 0;
	border-bottom: 1px solid rgba(30, 36, 69, 0.08);
}

.ab-intg-section:last-of-type {
	border-bottom: none;
}

/* Eyebrow + badge row (MCP) */
.ab-intg-eyebrow-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

/* Meta row */
.ab-intg-meta {
	display: flex;
	gap: 32px;
	flex-wrap: wrap;
	margin-top: 4px;
}

.ab-intg-meta-item {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ab-intg-meta-label {
	font-family: 'Manrope', sans-serif;
	font-size: 0.68em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: rgba(30, 36, 69, 0.45);
}

.ab-intg-meta-value {
	font-family: 'Manrope', sans-serif;
	font-size: 0.875em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
}

/* Dev effort / status badges */
.ab-intg-badge {
	display: inline-flex !important;
	align-items: center;
	font-family: 'Manrope', sans-serif;
	font-size: 0.72em;
	font-weight: 700;
	line-height: 1 !important;
	padding: 4px 10px !important;
	margin: 0 !important;
	border-radius: 100px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
	min-height: 0 !important;
	box-sizing: border-box;
}

.ab-intg-badge--none {
	background: #e4f4ec;
	color: #1a7a40;
}

.ab-intg-badge--light {
	background: #e6eef9;
	color: #2a5cb8;
}

.ab-intg-badge--eng {
	background: #fff0e0;
	color: #b85c00;
}

.ab-intg-badge--tbd {
	background: #f0f0f0;
	color: #888888;
}

.ab-intg-badge--dev {
	background: #fce8ee;
	color: #b02050;
}

/* Arrow text link */
.ab-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
	margin-top: 4px;
}

.ab-link-arrow:hover {
	text-decoration: underline;
	color: var(--wpex-palette-8973-color);
}

/* Illustration placeholder */
.ab-intg-visual {
	background: var(--wpex-palette-9681-color);
	border: 1.5px dashed rgba(20, 90, 159, 0.15);
	border-radius: 12px;
	min-height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: 'Manrope', sans-serif;
	font-size: 0.82em;
	color: #cccccc;
	font-style: italic;
	width: 100%;
	text-align: center;
	padding: 24px;
	box-sizing: border-box;
}

/* Comparison table section */
.ab-intg-compare {
	display: block;
}

.ab-intg-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.ab-intg-table {
	width: 100%;
	min-width: 580px;
	border-collapse: collapse;
	font-family: 'Manrope', sans-serif;
	font-size: 0.9em;
	line-height: 1.3;
}

.ab-intg-table td {
	white-space: nowrap;
}

.ab-intg-table-head td {
	font-size: 0.9em !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: 1.2px;
	color: #ffffff !important;
	background: var(--wpex-palette-8973-color) !important;
	padding: 14px 12px !important;
}

/* Solid chip variants for dark table backgrounds */
.ab-intg-badge--none-s {
	background: #2a7a48;
	color: #ffffff;
}

.ab-intg-badge--light-s {
	background: #3f5fa0;
	color: #ffffff;
}

.ab-intg-badge--eng-s {
	background: #b86828;
	color: #ffffff;
}

.ab-intg-badge--tbd-s {
	background: #7a5238;
	color: #ffffff;
}

.ab-intg-table tbody tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ab-intg-table tbody tr:last-child {
	border-bottom: none;
}

.ab-intg-table td {
	padding: 16px 20px 16px 0;
	color: rgba(255, 255, 255, 0.8);
	vertical-align: middle;
}

.ab-intg-table td:last-child {
	padding-right: 0;
}

.ab-intg-table-name {
	font-weight: 700;
	color: #ffffff !important;
}

@media (max-width: 767px) {

	.ab-intg-section {
		padding: 56px 0;
	}

	.ab-intg-meta {
		gap: 20px;
	}
}

/* Lightweight integration cards (3-up) */
.ab-intg-lw-cards.ab-grid-3 {
	gap: 20px;
}

/* Built to Scale — stacked rows, 1/6 square thumb + 5/6 content */
.ab-scale-row {
	display: flex;
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 40px;
}

.ab-scale-row:last-child {
	margin-bottom: 0;
}

.ab-scale-thumb {
	width: 16.666%;
	flex-shrink: 0;
	aspect-ratio: 1/1;
	object-fit: cover;
	border-radius: 8px;
}

.ab-scale-body {
	flex: 1;
}

.ab-h3-row {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

.ab-h3-row h3 {
	margin: 0;
}

@media (max-width: 767px) {
	.ab-scale-row {
		flex-direction: column;
	}

	.ab-scale-thumb {
		width: 100%;
		aspect-ratio: 16/9;
	}
}

.ab-intg-lw-card {
	background: white;
	border: 1px solid rgba(20, 90, 159, 0.1);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 2px 12px rgba(20, 90, 159, 0.06);
}

.ab-intg-lw-card img {
	width: calc(100% - 24px);
	height: auto;
	display: block;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 8px;
	margin: 12px 12px 0;
}

.ab-intg-lw-card-body {
	padding: 28px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	flex: 1;
}

.ab-intg-lw-card-body h3 {
	margin: 0;
}

.ab-intg-lw-card-body p {
	margin: 0;
	color: #555555;
}

.ab-intg-lw-card-body .ab-intg-meta {
	gap: 16px;
}

.ab-intg-badge--linen {
	background: var(--wpex-palette-9681-color);
	color: var(--wpex-palette-9248-color);
}

/* API registration form fields */
.ab-api-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-api-form-row {
	display: flex;
	gap: 12px;
}

.ab-api-input {
	width: 100%;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 50px;
	padding: 10px 16px;
	font-size: 0.875em;
	color: white;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.2s, background 0.2s;
}

.ab-api-input::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.ab-api-input:focus {
	border-color: rgba(255, 255, 255, 0.5);
	background: rgba(255, 255, 255, 0.18);
}

/* API registration form actions */
.ab-api-form-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 8px;
}

/* API code block */
.ab-api-code-block {
	background: #1a1f3a;
	border-radius: 12px;
	padding: 28px 32px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.ab-api-code-dots {
	display: flex;
	gap: 6px;
	margin-bottom: 20px;
}

.ab-api-code-dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	display: inline-block;
}

.ab-api-code {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	font-family: 'Courier New', Courier, monospace;
	font-size: 0.9em;
	line-height: 1.75;
	color: rgba(255, 255, 255, 0.85);
	white-space: pre;
}

.ab-code-method {
	color: #35AFA1;
	font-weight: 700;
}

.ab-code-key {
	color: #f0c070;
}

.ab-code-string {
	color: #EB744E;
}

@media (max-width: 767px) {
	.ab-api-form-actions {
		flex-direction: column;
		align-items: flex-start;
	}

	.ab-api-form-row {
		flex-direction: column;
	}

	.ab-api-code-block {
		padding: 20px;
	}

	.ab-api-code {
		font-size: 0.8em;
	}

	.ab-intg-table {
		font-size: 0.8em;
	}

	.ab-intg-table td {
		padding: 10px 8px !important;
	}

	.ab-intg-table-head td {
		padding: 10px 8px !important;
	}
}


/* ══════════════════════════════════════════════════════════
   42. CONTACT PAGE
   ══════════════════════════════════════════════════════════ */

/* Font Awesome loaded via <link> in contact-block-02-forms.html */

/* Utility */
.ab-hidden {
	display: none !important;
}

/* Section label */
.ab-ct-section-label {
	font-size: 0.68em;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: var(--wpex-palette-8973-color);
	margin-bottom: 20px;
}

.ab-ct-segment {
	margin-bottom: 48px;
}

.ab-ct-segment:last-child {
	margin-bottom: 0;
}

/* Connection type cards */
.ab-connect-cards.ab-grid-4 {
	gap: 12px;
}

.ab-connect-card {
	border: 1.5px solid rgba(30, 36, 69, 0.12);
	border-radius: 12px;
	padding: 24px 20px 36px;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 6px;
	background: white;
	transition: border-color 0.2s, background 0.2s;
	user-select: none;
	font-family: inherit;
	width: 100%;
}

.ab-connect-card:hover {
	border-color: var(--wpex-palette-8973-color);
}

.ab-connect-card--active,
.ab-connect-card--active:hover {
	border: 2px solid var(--wpex-palette-8974-color);
	background: color-mix(in srgb, var(--wpex-palette-8974-color) 10%, transparent);
}

.ab-connect-card-icon {
	font-size: 2em;
	color: var(--wpex-palette-8973-color);
	line-height: 1;
	margin-bottom: 8px;
}

.ab-connect-card--active .ab-connect-card-icon {
	color: var(--wpex-palette-8974-color);
}

.ab-connect-card-label {
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-connect-card-sub {
	color: rgba(30, 36, 69, 0.5);
	line-height: 1.3;
}

/* Form context copy — form sits centered at half the available
   width on desktop; widens on smaller screens so fields stay usable */
.ab-ct-form-wrap {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 1024px) {
	.ab-ct-form-wrap {
		width: 75%;
	}
}

@media (max-width: 640px) {
	.ab-ct-form-wrap {
		width: 100%;
	}
}

#ab-connect-heading {
	margin-bottom: 8px;
}

#ab-connect-blurb {
	margin-bottom: 28px;
}

/* Contact forms */
.ab-ct-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-ct-form-row {
	display: flex;
	gap: 12px;
}

.ab-ct-input,
.ab-ct-textarea,
.ab-ct-select {
	width: 100%;
	font-family: inherit;
	font-size: inherit;
	color: var(--wpex-palette-9248-color);
	background: #ffffff;
	border: 1px solid rgba(20, 90, 159, 0.18);
	outline: none;
	transition: border-color 0.2s;
}

.ab-ct-input,
.ab-ct-select {
	border-radius: 50px;
	padding: 10px 20px;
	height: 42px;
}

.ab-ct-textarea {
	border-radius: 12px;
	padding: 12px 20px;
	min-height: 120px;
	resize: vertical;
}

.ab-ct-select {
	appearance: none;
	cursor: pointer;
}

.ab-ct-input:focus,
.ab-ct-textarea:focus,
.ab-ct-select:focus {
	border-color: var(--wpex-palette-8973-color);
}

.ab-ct-form-actions {
	margin-top: 8px;
}

/* Solid Lapis button */
.ab-btn-solid-lapis {
	background: var(--wpex-palette-8973-color);
	color: #ffffff !important;
	border: none;
	border-radius: 50px;
	padding: 12px 28px;
	font-weight: 600;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s;
	display: inline-block;
	text-decoration: none;
}

.ab-btn-solid-lapis:hover {
	background: var(--wpex-palette-9248-color);
	color: #ffffff !important;
	text-decoration: none;
}

/* HubSpot embedded forms — reskins HubSpot's own generic classes
   (hs-input, hs-button, hs-form-field, etc.) to match the ab-ct-*
   look above. Scope: wrap the embed's container div in class
   "ab-hs-form". HubSpot injects its own stylesheet dynamically
   after page load, so every rule here needs !important to win —
   without it, HubSpot's CSS (loaded later) takes precedence
   regardless of selector specificity. */
.ab-hs-form {
	text-align: left !important;
}

.ab-hs-form form.hs-form {
	font-family: 'Manrope', sans-serif !important;
	font-size: 16px !important;
	max-width: 100% !important;
	text-align: left !important;
}

.ab-hs-form .hs-form-field,
.ab-hs-form .hs-form-field label,
.ab-hs-form .legal-consent-container,
.ab-hs-form .hs-richtext,
.ab-hs-form .hs_submit .actions {
	text-align: left !important;
}

.ab-hs-form fieldset {
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.ab-hs-form fieldset.form-columns-2 {
	flex-direction: row !important;
	gap: 12px !important;
}

.ab-hs-form fieldset.form-columns-2>.hs-form-field {
	flex: 1 !important;
	min-width: 0 !important;
}

.ab-hs-form .hs-form-field {
	margin-bottom: 12px !important;
}

.ab-hs-form .hs-form-field label {
	display: block !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.95rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--wpex-palette-9248-color) !important;
	margin-bottom: 6px !important;
}

.ab-hs-form .hs-form-field label span {
	display: inline !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}

.ab-hs-form .hs-form-required {
	color: var(--wpex-palette-8973-color) !important;
}

.ab-hs-form input.hs-input:not([type="checkbox"]):not([type="radio"]),
.ab-hs-form select.hs-input {
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.95rem !important;
	color: var(--wpex-palette-9248-color) !important;
	background: var(--wpex-palette-9681-color) !important;
	border: 1px solid rgba(20, 90, 159, 0.18) !important;
	border-radius: 50px !important;
	padding: 10px 20px !important;
	height: 42px !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.2s !important;
}

.ab-hs-form textarea.hs-input {
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.95rem !important;
	color: var(--wpex-palette-9248-color) !important;
	background: var(--wpex-palette-9681-color) !important;
	border: 1px solid rgba(20, 90, 159, 0.18) !important;
	border-radius: 12px !important;
	padding: 12px 20px !important;
	min-height: 120px !important;
	resize: vertical !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.2s !important;
}

.ab-hs-form input.hs-input:focus,
.ab-hs-form textarea.hs-input:focus,
.ab-hs-form select.hs-input:focus {
	border-color: var(--wpex-palette-8973-color) !important;
}

.ab-hs-form .hs-form-booleancheckbox,
.ab-hs-form .hs-form-checkbox {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
}

.ab-hs-form .hs-form-booleancheckbox-display,
.ab-hs-form .hs-form-checkbox label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	color: var(--wpex-palette-9248-color) !important;
}

.ab-hs-form .hs-form-booleancheckbox-display input,
.ab-hs-form .hs-form-checkbox input {
	margin: 3px 0 0 !important;
}

.ab-hs-form legend,
.ab-hs-form .hs-form-field.hs_communication_preferences legend {
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: rgba(30, 36, 69, 0.55) !important;
	margin-bottom: 8px !important;
}

.ab-hs-form .legal-consent-container,
.ab-hs-form .hs-richtext {
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.8rem !important;
	line-height: 1.5 !important;
	color: rgba(30, 36, 69, 0.65) !important;
}

.ab-hs-form .legal-consent-container p,
.ab-hs-form .hs-richtext p {
	font-size: inherit !important;
	color: inherit !important;
	line-height: inherit !important;
}

.ab-hs-form .legal-consent-container a,
.ab-hs-form .hs-richtext a {
	color: var(--wpex-palette-8973-color) !important;
}

.ab-hs-form .hs_submit .actions {
	margin-top: 8px !important;
	display: flex !important;
}

.ab-hs-form input.hs-button,
.ab-hs-form .hs-button {
	background: var(--wpex-palette-8973-color) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 12px 28px !important;
	font-weight: 600 !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 1rem !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

.ab-hs-form input.hs-button:hover,
.ab-hs-form .hs-button:hover {
	background: var(--wpex-palette-9248-color) !important;
}

.ab-hs-form ul.hs-error-msgs {
	list-style: none !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
}

.ab-hs-form .hs-error-msgs label {
	color: #c0392b !important;
	font-size: 0.8em !important;
	font-weight: 500 !important;
}

@media (max-width: 640px) {
	.ab-hs-form fieldset.form-columns-2 {
		flex-direction: column !important;
	}
}

/* Dark modifier — for forms on navy/lapis background rows (e.g. API Registration) */
.ab-hs-form--dark .hs-form-field label {
	color: #ffffff !important;
}

.ab-hs-form--dark input.hs-input:not([type="checkbox"]):not([type="radio"]),
.ab-hs-form--dark select.hs-input,
.ab-hs-form--dark textarea.hs-input {
	background: rgba(255, 255, 255, 0.12) !important;
	border-color: rgba(255, 255, 255, 0.2) !important;
	color: #ffffff !important;
}

.ab-hs-form--dark input.hs-input::placeholder,
.ab-hs-form--dark textarea.hs-input::placeholder {
	color: rgba(255, 255, 255, 0.5) !important;
}

.ab-hs-form--dark input.hs-input:focus,
.ab-hs-form--dark textarea.hs-input:focus,
.ab-hs-form--dark select.hs-input:focus {
	border-color: rgba(255, 255, 255, 0.5) !important;
	background: rgba(255, 255, 255, 0.18) !important;
}

.ab-hs-form--dark .hs-form-booleancheckbox-display,
.ab-hs-form--dark .hs-form-checkbox label,
.ab-hs-form--dark legend,
.ab-hs-form--dark .legal-consent-container,
.ab-hs-form--dark .hs-richtext {
	color: rgba(255, 255, 255, 0.75) !important;
}

.ab-hs-form--dark .legal-consent-container a,
.ab-hs-form--dark .hs-richtext a {
	color: #ffffff !important;
	text-decoration: underline;
}

.ab-hs-form--dark input.hs-button,
.ab-hs-form--dark .hs-button {
	background: #ffffff !important;
	color: var(--wpex-palette-9248-color) !important;
}

.ab-hs-form--dark input.hs-button:hover,
.ab-hs-form--dark .hs-button:hover {
	background: rgba(255, 255, 255, 0.85) !important;
}

.ab-hs-form--dark .hs-error-msgs label {
	color: #ffb4a8 !important;
}

/* Contact info + social card */
.ab-ct-info-card {
	background: var(--wpex-palette-9681-color);
	border-radius: 16px;
	padding: 32px 36px;
}

.ab-ct-info-cols {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.ab-ct-info-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 36px;
}

.ab-ct-info-col:first-child {
	padding-left: 0;
}

.ab-ct-info-col:last-child {
	padding-right: 0;
}

.ab-ct-info-col+.ab-ct-info-col {
	border-left: 1px solid rgba(30, 36, 69, 0.12);
}

.ab-ct-info-icon-badge {
	width: 52px;
	height: 52px;
	border-radius: 10px;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25em;
	flex-shrink: 0;
	margin-bottom: 4px;
}

.ab-ct-info-icon-badge--navy {
	color: var(--wpex-palette-9248-color);
}

.ab-ct-info-icon-badge--seafoam {
	color: var(--wpex-palette-8974-color);
}

.ab-ct-info-icon-badge--sienna {
	color: #EB744E;
}

.ab-ct-info-label {
	display: block;
	font-size: 0.68em;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(30, 36, 69, 0.45);
}

.ab-ct-info-value {
	color: var(--wpex-palette-9248-color);
	font-weight: 500;
	line-height: 1.5;
	display: block;
}

.ab-ct-info-value a {
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
}

/* Dividers */
.ab-ct-divider {
	border: none;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
	margin: 0 0 48px;
}

.ab-ct-info-divider {
	border: none;
	border-top: 1px solid #dbdadc;
	margin: 28px 0;
}

/* Social row */
.ab-ct-social-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.ab-ct-social-label {
	color: rgba(30, 36, 69, 0.5);
}

.ab-ct-social-icons {
	display: flex;
	gap: 10px;
}

.ab-ct-social-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid rgba(30, 36, 69, 0.2);
	color: var(--wpex-palette-9248-color);
	font-size: 1.1em;
	text-decoration: none;
	transition: border-color 0.2s, color 0.2s;
}

.ab-ct-social-btn:hover {
	border-color: var(--wpex-palette-8973-color);
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
}

/* WPBakery accordion (vc_tta) */
.vc_tta-panel-heading {
	background-color: #f5f3f1 !important;
	margin-bottom: 6px;
}

/* FAQ accordion */
.ab-ct-faq-item {
	border-bottom: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-ct-faq-item:first-child {
	border-top: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-ct-faq-q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 18px 0;
	cursor: pointer;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	user-select: none;
	background: none;
	border: none;
	width: 100%;
	text-align: left;
	font-family: inherit;
}

.ab-ct-faq-chevron {
	font-size: 1.1em;
	color: rgba(30, 36, 69, 0.35);
	flex-shrink: 0;
	transition: transform 0.2s;
}

.ab-ct-faq-item.open .ab-ct-faq-chevron {
	transform: rotate(180deg);
}

.ab-ct-faq-a {
	display: none;
	padding-bottom: 20px;
	line-height: 1.75;
	color: rgba(30, 36, 69, 0.68);
}

.ab-ct-faq-item.open .ab-ct-faq-a {
	display: block;
}

@media (max-width: 767px) {
	.ab-ct-form-row {
		flex-direction: column;
	}

	.ab-ct-info-cols {
		grid-template-columns: 1fr;
	}

	.ab-ct-info-col {
		padding: 20px 0 0;
		border-left: none !important;
		border-top: 1px solid rgba(30, 36, 69, 0.12);
	}

	.ab-ct-info-col:first-child {
		padding-top: 0;
		border-top: none;
	}

	.ab-ct-social-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}
}


/* ══════════════════════════════════════════════════════════
   43. INSPO MODULES PAGE
   ══════════════════════════════════════════════════════════ */

/* Hero */
.ab-inspo-hero-copy h1 em {
	font-style: normal;
	color: var(--wpex-palette-8973-color);
}

/* Hero background — full-bleed wrapper for the animated
   constellation graphic. This hero never used the shared .ab-hero
   component, so it gets its own positioning context/breakout here
   instead of the .ab-hero:has(.ab-hero-copy--full) system. */
.ab-inspo-hero-bg {
	position: relative;
	overflow: hidden;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 7% 0;
}

.ab-inspo-hero-bg .ab-inspo-hero-copy {
	position: relative;
	z-index: 1;
	max-width: 1200px;
	margin: 0 auto;
	padding-left: 5%;
	padding-right: 5%;
	box-sizing: border-box;
}

/* Modules hero graphic — loaded from the media library as a
   background-image instead of inline SVG, same approach as the
   other heroes. Its connector lines' endpoint drift, node
   pulse/drift, and traveling signal particles were all converted
   to CSS keyframes (per-line/per-node drift keyframes, a shared
   glowPulse for ambient dots, and offset-path + a shared
   moveAlong/fadeInOut pair for the traveling particles); the
   ambient dots' own <animateMotion> paths survive Safe SVG
   untouched, same as the other converted graphics. */
.ab-inspo-hero-bg .ab-hero-bg-graphic--full {
	background: url("/wp-content/uploads/2026/07/modules-hero-bg-graphic-v2.svg") center / cover no-repeat;
}

/* Kit strip */
.ab-kitstrip {
	margin-top: 44px;
	padding-top: 28px;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-kitstrip-label {
	display: block;
	font-size: 0.68em;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(30, 36, 69, 0.45);
	margin-bottom: 14px;
}

.ab-kititems {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 0;
}

.ab-kititem {
	display: flex;
	align-items: center;
	gap: 9px;
	font-weight: 600;
	padding-right: 18px;
	margin-right: 18px;
	border-right: 1px solid rgba(30, 36, 69, 0.12);
}

.ab-kititem:last-child {
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}

.ab-kititem-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wpex-palette-8974-color);
	flex-shrink: 0;
}

/* App callout */
.ab-app-callout {
	background: color-mix(in srgb, var(--wpex-palette-8974-color) 10%, transparent);
	border-radius: 20px;
	padding: 28px 32px;
	display: flex;
	gap: 24px;
	align-items: center;
}

.ab-app-callout img {
	width: 64px;
	flex-shrink: 0;
}

/* Series grid */
.ab-series-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ab-series-card {
	border: 1px solid rgba(30, 36, 69, 0.1);
	border-radius: 16px;
	padding: 30px 28px;
	position: relative;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
}

.ab-series-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
}

.ab-series-card--lapis::before {
	background: var(--wpex-palette-8973-color);
}

.ab-series-card--seafoam::before {
	background: var(--wpex-palette-8974-color);
}

.ab-series-card--sienna::before {
	background: #EB744E;
}

.ab-series-card--mauve::before {
	background: #ca4f7c;
}

.ab-series-card p {
	line-height: 1.6;
	margin-bottom: 12px;
}

.ab-series-includes {
	color: rgba(30, 36, 69, 0.5);
	margin-bottom: 16px;
}

.ab-series-price {
	font-family: 'Poppins', sans-serif;
	font-size: 1.75em;
	font-weight: 800;
	margin: 18px 0 16px;
	color: var(--wpex-palette-9248-color);
}

.ab-series-card .ab-btn-solid-lapis {
	margin-top: auto;
}

/* Modules head + legend */
.ab-modules-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 32px;
	flex-wrap: wrap;
	gap: 12px;
}

.ab-modules-price-tag {
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 1.75em;
	color: var(--wpex-palette-9248-color);
}

.ab-modules-legend {
	display: flex;
	gap: 22px;
	font-weight: 600;
	margin-bottom: 28px;
	flex-wrap: wrap;
}

.ab-modules-legend-item {
	display: flex;
	align-items: center;
	gap: 7px;
}

.ab-modules-legend-swatch {
	width: 10px;
	height: 10px;
	border-radius: 3px;
	flex-shrink: 0;
}

.ab-modules-legend-swatch--self {
	background: #ca4f7c;
}

.ab-modules-legend-swatch--others {
	background: var(--wpex-palette-8974-color);
}

/* Module cards */
.ab-module-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.ab-mod-card {
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid rgba(30, 36, 69, 0.1);
	background: #fff;
	display: flex;
	flex-direction: column;
}

.ab-mod-thumb {
	aspect-ratio: 4/3;
	overflow: hidden;
}

.ab-mod-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ab-mod-body {
	padding: 18px 18px 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.ab-mod-body h4 {
	margin-bottom: 8px;
}

.ab-mod-body p {
	flex: 1;
	margin-bottom: 12px;
}

.ab-mod-chip {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	font-size: 0.68em;
	letter-spacing: 0.08em;
	padding: 4px 12px;
	border-radius: 50px;
	margin-bottom: 10px;
	text-transform: uppercase;
	width: fit-content;
}

.ab-mod-chip--self {
	background: #fbe8ef;
	color: #ca4f7c;
}

.ab-mod-chip--others {
	background: color-mix(in srgb, var(--wpex-palette-8974-color) 10%, transparent);
	color: var(--wpex-palette-8974-color);
}

.ab-mod-meta {
	color: rgba(30, 36, 69, 0.45);
	margin-bottom: 14px;
	line-height: 1.7;
}

/* Full-width button modifier */
.ab-btn-full {
	display: block !important;
	width: 100%;
	text-align: center;
}

/* Campus CTA */
.ab-campus-cta {
	display: grid;
	grid-template-columns: 1.3fr 0.7fr;
	gap: 40px;
	align-items: center;
}

.ab-campus-cta h2 {
	color: #ffffff;
	margin-bottom: 16px;
}

.ab-campus-cta ul {
	margin: 0 0 22px;
	padding-left: 18px;
	line-height: 1.9;
	color: rgba(255, 255, 255, 0.75);
}

.ab-campus-cta-fees {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: 6px;
}

.ab-campus-cta-est {
	color: rgba(255, 255, 255, 0.55);
}

.ab-campus-cta-right {
	text-align: center;
}

@media (max-width: 1024px) {
	.ab-series-grid {
		grid-template-columns: 1fr 1fr;
	}

	.ab-module-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ab-campus-cta {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.ab-series-grid {
		grid-template-columns: 1fr;
	}

	.ab-module-grid {
		grid-template-columns: 1fr 1fr;
	}

	.ab-kititems {
		flex-direction: column;
	}

	.ab-kititem {
		border-right: none;
		padding-right: 0;
		margin-right: 0;
	}

	.ab-modules-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.ab-campus-cta {
		padding: 32px 28px;
	}

	.ab-campus-cta-right {
		text-align: left;
	}
}


/* ══════════════════════════════════════════════════════════
   44. BOOK PAGE
   ══════════════════════════════════════════════════════════ */

/* Shared buttons */
.ab-btn-outline-white {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: fit-content;
	padding: 14px 28px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 0.875em;
	background: transparent;
	color: #ffffff !important;
	border: 2px solid rgba(255, 255, 255, 0.4);
	text-decoration: none;
}

.ab-btn-outline-white:hover {
	border-color: #ffffff;
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff !important;
}

/* Pull quote */
.ab-book-pullquote {
	text-align: center;
}

.ab-book-pullquote p {
	font-family: 'Poppins', sans-serif;
	font-size: 1.45em;
	font-weight: 500;
	font-style: italic;
	color: #ffffff;
	line-height: 1.45;
	margin-bottom: 0;
}

.ab-book-pullquote-attrib {
	color: rgba(255, 255, 255, 0.85);
	font-size: 0.9em;
}

.ab-book-pullquote-name {
	font-weight: 700;
	color: #ffffff;
}

/* Hero */
.ab-book-hero-wrap {
	padding: 56px 32px 80px;
}

.ab-book-hero-inner {
	max-width: 1180px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: 64px;
	align-items: center;
}

.ab-book-cover {
	display: flex;
	justify-content: center;
}

.ab-book-cover img {
	max-width: 340px;
	transform: rotate(-2deg);
}

.ab-book-hero-copy h1 {
	color: #ffffff;
	font-size: 2.6em;
	font-weight: 700;
	line-height: 1.05;
	margin-bottom: 12px;
}

.ab-book-subtitle {
	font-family: 'Poppins', sans-serif;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1.1em;
	font-weight: 500;
	margin-bottom: 8px;
}

.ab-book-byline {
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.875em;
	margin-bottom: 28px;
}

.ab-book-hero-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 18px;
}

.ab-book-available {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--wpex-palette-8974-color);
	font-weight: 700;
	font-size: 0.78em;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.ab-book-available::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--wpex-palette-8974-color);
	display: inline-block;
	flex-shrink: 0;
}

/* Framework (Navy row in WPBakery) */
.ab-book-framework {}

.ab-book-framework .ab-section-header--center {
	max-width: 100%;
}

.ab-book-framework .ab-section-header--center h2 {
	color: #ffffff;
}

.ab-book-framework .ab-section-header--center p {
	color: rgba(255, 255, 255, 0.65);
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.ab-book-two-q {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	margin-bottom: 48px;
}

.ab-book-q-card {
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 18px;
	padding: 32px;
}

.ab-book-qnum {
	color: #F09060;
	font-weight: 800;
	font-size: 0.75em;
	letter-spacing: .1em;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.ab-book-q-card h3 {
	color: #ffffff;
	font-size: 1.2em;
	font-weight: 600;
	margin-bottom: 14px;
}

.ab-book-q-card p {
	color: rgba(255, 255, 255, .65);
	font-size: 0.9em;
	margin: 0;
}

.ab-book-theme-note {
	background: rgba(255, 255, 255, .04);
	border-left: 3px solid #EB744E;
	padding: 22px 28px;
	border-radius: 0 12px 12px 0;
	color: rgba(255, 255, 255, .72);
	font-size: 0.9em;
	margin-bottom: 56px;
}

.ab-book-fq {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}

.ab-book-fq p {
	font-family: 'Poppins', sans-serif;
	font-size: 1.35em;
	font-weight: 500;
	line-height: 1.55;
	color: #ffffff;
	font-style: italic;
	margin-bottom: 20px;
}

.ab-book-fq-attrib {
	color: var(--wpex-palette-8974-color);
	font-weight: 700;
	font-size: 0.82em;
}

/* Quotes / Praise (White row) */
.ab-book-praise-features {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 32px;
}

.ab-book-fcard {
	border-radius: 18px;
	padding: 28px 26px;
	border: 1px solid rgba(20, 90, 159, .08);
	display: flex;
	flex-direction: column;
}

.ab-book-fcard--lapis {
	background: color-mix(in srgb, var(--wpex-palette-8973-color) 8%, #ffffff);
}

.ab-book-fcard--seafoam {
	background: color-mix(in srgb, var(--wpex-palette-8974-color) 8%, #ffffff);
}

.ab-book-fcard--sienna {
	background: color-mix(in srgb, #EB744E 8%, #ffffff);
}

.ab-book-qm {
	font-family: 'Poppins', sans-serif;
	font-size: 2.4em;
	color: #EB744E;
	line-height: 1;
	margin-bottom: 4px;
	font-weight: 700;
}

.ab-book-fcard p {
	font-size: 0.875em;
	color: var(--wpex-palette-9248-color);
	flex: 1;
	margin-bottom: 16px;
}

.ab-book-fcard-attrib {
	border-top: 1px solid rgba(30, 36, 69, .12);
	padding-top: 12px;
	margin-top: auto;
}

.ab-book-fcard-name {
	font-weight: 700;
	font-size: 0.85em;
	display: block;
}

.ab-book-fcard-role {
	font-size: 0.75em;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 3px;
	display: block;
}

.ab-book-praise-list {
	column-count: 2;
	column-gap: 56px;
}

.ab-book-praise-entry {
	break-inside: avoid;
	padding: 22px 0;
	border-bottom: 1px solid rgba(30, 36, 69, .1);
}

.ab-book-praise-entry:first-child {
	padding-top: 0;
}

.ab-book-praise-entry p {
	font-size: 0.875em;
	color: var(--wpex-palette-9248-color);
	margin: 0 0 8px;
	line-height: 1.55;
}

.ab-book-praise-name {
	font-weight: 700;
	font-size: 0.78em;
	color: var(--wpex-palette-9248-color);
}

.ab-book-praise-name::after {
	content: " \2014 ";
	color: rgba(30, 36, 69, 0.4);
	font-weight: 400;
}

.ab-book-praise-role {
	font-size: 0.78em;
	color: rgba(30, 36, 69, 0.55);
}

/* Author (White row) */
.ab-book-author-grid {
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 56px;
	align-items: start;
}

.ab-book-author-photo img {
	border-radius: 16px;
	box-shadow: 0 20px 40px -16px rgba(30, 36, 69, .25);
	width: 100%;
}

.ab-book-author-name {
	margin-top: 20px;
}

.ab-book-author-copy p {
	color: rgba(30, 36, 69, 0.7);
	font-size: 0.95em;
	margin-bottom: 16px;
}

.ab-book-research {
	margin-top: 24px;
}

.ab-book-research h4 {
	font-weight: 700;
	font-size: 0.78em;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--wpex-palette-9248-color);
	margin-bottom: 16px;
}

.ab-book-research ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}

.ab-book-research li {
	padding: 8px 14px;
	background: color-mix(in srgb, var(--wpex-palette-8973-color) 8%, #ffffff);
	border-radius: 8px;
	font-size: 1em;
	margin-top: 3px;
	margin-bottom: 3px;
	transition: transform 0.18s ease;
}

.ab-book-research li:hover {
	transform: scaleX(1.01);
}

.ab-book-research a {
	color: var(--wpex-palette-8973-color);
	font-weight: 400;
	text-decoration: none;
}

.ab-book-research a:hover {
	text-decoration: none;
}

/* Related articles (Linen row) */
.ab-book-related-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}

.ab-book-related-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 26px 24px;
	border: 1px solid rgba(30, 36, 69, .08);
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ab-book-related-date {
	font-size: 0.72em;
	font-weight: 700;
	color: var(--wpex-palette-8974-color);
	text-transform: uppercase;
	letter-spacing: .06em;
}

.ab-book-related-card h4 {
	font-size: 1em;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}

.ab-book-related-card p {
	font-size: 0.825em;
	color: rgba(30, 36, 69, 0.6);
	margin: 0;
}

/* CTA band */
.ab-book-cta {
	text-align: center;
}

.ab-book-cta h2 {
	font-size: 2em;
}

.ab-book-cta p {
	max-width: 520px;
	margin: 0 auto 32px;
}

.ab-book-cta-actions {
	display: flex;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

@media (max-width: 1024px) {
	.ab-book-hero-inner {
		grid-template-columns: 1fr;
		text-align: center;
	}

	.ab-book-cover {
		justify-content: center;
		margin-bottom: 24px;
		order: 2;
	}

	.ab-book-hero-copy {
		order: 1;
	}

	.ab-book-hero-actions {
		justify-content: center;
	}

	.ab-book-available {
		justify-content: center;
	}

	.ab-book-two-q {
		grid-template-columns: 1fr;
	}

	.ab-book-praise-features {
		grid-template-columns: 1fr;
	}

	.ab-book-praise-list {
		column-count: 1;
	}

	.ab-book-author-grid {
		grid-template-columns: 1fr;
	}

	.ab-book-author-photo {
		order: 2;
	}

	.ab-book-author-copy {
		order: 1;
	}

	.ab-book-related-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ab-book-hero-wrap {
		padding: 40px 20px 56px;
	}

	.ab-book-hero-copy h1 {
		font-size: 2em;
	}

	.ab-book-related-grid {
		grid-template-columns: 1fr;
	}

	.ab-book-author-photo {
		max-width: 220px;
	}
}


/* ══════════════════════════════════════════════════════════
   45. ABOUT US PAGE
   ══════════════════════════════════════════════════════════ */

/* Origin story (Block 02) */
.ab-about-origin {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 32px;
	align-items: center;
}

/* Shared quote card */
.ab-about-quote-card {
	border-radius: 12px;
	padding: 20px 22px;
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-about-quote-card--sienna {
	border-left: 3px solid #EB744E;
}

.ab-about-quote-card--lapis {
	border-left: 3px solid var(--wpex-palette-8973-color);
}

.ab-about-quote-header {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 12px;
}

.ab-about-quote-photo {
	width: 40px;
	height: 48px;
	border-radius: 6px;
	flex-shrink: 0;
	overflow: hidden;
}

.ab-about-quote-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.ab-about-quote-meta-name {
	font-weight: 600;
	font-size: 0.82em;
	color: var(--wpex-palette-9248-color);
}

.ab-about-quote-meta-role {
	font-size: 0.72em;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 2px;
}

.ab-about-quote-text {
	font-family: 'Poppins', sans-serif;
	font-style: italic;
	font-size: 0.88em;
	line-height: 1.6;
	margin: 0;
}

.ab-about-quote-card--sienna .ab-about-quote-text {
	color: var(--wpex-palette-9248-color);
}

.ab-about-quote-card--lapis .ab-about-quote-text {
	color: var(--wpex-palette-9248-color);
}

/* Why Now body (Block 03) */
.ab-about-whynow-body {
	max-width: 67%;
	margin: 0 auto;
	text-align: center;
}

/* Principles (Block 04) */
.ab-about-principles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 28px;
}

.ab-about-principle {
	border-radius: 12px;
	padding: 22px;
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.1);
}

.ab-about-principle--lapis {
	border-left: 4px solid var(--wpex-palette-8973-color);
}

.ab-about-principle--seafoam {
	border-left: 4px solid var(--wpex-palette-8974-color);
}

.ab-about-principle--sienna {
	border-left: 4px solid #EB744E;
}

.ab-about-principle h4 {
	font-size: 0.95em;
	font-weight: 700;
	margin-bottom: 8px;
	color: var(--wpex-palette-9248-color);
}

.ab-about-principle p {
	font-size: 0.875em;
	color: rgba(30, 36, 69, 0.65);
	line-height: 1.65;
	margin: 0;
}

.ab-about-bill-feature {
	text-align: center;
	padding: 72px 32px;
}

.ab-about-bill-feature-photo {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto 28px;
	border: 3px solid rgba(255, 255, 255, 0.25);
}

.ab-about-bill-feature-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.ab-about-bill-feature-quote {
	font-family: 'Poppins', sans-serif;
	font-size: 1.1em;
	font-weight: 500;
	font-style: normal;
	color: #ffffff;
	line-height: 1.55;
	max-width: 760px;
	margin: 0 auto 20px;
}

.ab-about-bill-feature-name {
	font-weight: 700;
	color: #ffffff;
	font-size: 0.9em;
}

.ab-about-bill-feature-role {
	color: rgba(255, 255, 255, 0.6);
	font-size: 0.82em;
	margin-top: 4px;
}

/* Leadership (Block 05) */
.ab-about-team-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}

.ab-about-team-card {
	background: #ffffff;
	border-radius: 10px;
	overflow: hidden;
	text-align: center;
}

.ab-about-team-photo {
	aspect-ratio: 1 / 1;
	background: rgba(30, 36, 69, 0.07);
	overflow: hidden;
	border-radius: 50%;
	width: 80%;
	margin: 20px auto 0;
}

.ab-about-team-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	display: block;
}

.ab-about-team-info {
	padding: 14px 12px;
}

.ab-about-team-name {
	font-weight: 600;
	font-size: 0.875em;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-about-team-title {
	font-size: 0.78em;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 3px;
}

@media (max-width: 1024px) {
	.ab-about-origin {
		grid-template-columns: 1fr;
	}

	.ab-about-principles {
		grid-template-columns: 1fr;
	}

	.ab-about-team-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 767px) {
	.ab-about-team-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.ab-about-bill-feature-quote {
		font-size: 0.95em;
	}
}


/* ══════════════════════════════════════════════════════════
   46. RESEARCH PAGE
   ══════════════════════════════════════════════════════════ */

/* Hero (Block 01) — uses .ab-hero--research variant defined above in the hero section */

/* Workforce Listening Library (Block 02) — dark row */
.ab-research-library {
	padding: 0;
}

.ab-research-section-head {
	margin-bottom: 48px;
}

.ab-research-section-head h2 {
	font-size: 2em;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin-bottom: 12px;
}

.ab-research-section-head p {
	font-size: 1em;
	line-height: 1.6;
}

.ab-research-section-eyebrow {
	font-size: 0.75em;
	font-weight: 700;
	letter-spacing: 0.14em;
	display: block;
	margin-bottom: 12px;
	color: var(--wpex-palette-8973-color);
}

.ab-research-section-eyebrow--light {
	color: var(--wpex-palette-8974-color);
}

.ab-research-study-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ab-research-study-card {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 16px;
	padding: 26px 24px;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.ab-research-study-card:hover {
	border-color: rgba(53, 175, 161, 0.5);
	background: rgba(255, 255, 255, 0.08);
}

.ab-research-study-num {
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 0.78em;
	color: var(--wpex-palette-8974-color);
	margin-bottom: 14px;
	letter-spacing: 0.04em;
}

.ab-research-study-card h4 {
	font-size: 1.06em;
	line-height: 1.4;
	margin-bottom: 10px;
	font-weight: 600;
	color: #ffffff;
}

.ab-research-study-src {
	font-size: 0.81em;
	color: rgba(255, 255, 255, 0.55);
	font-style: italic;
}

.ab-research-btn-row {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}

/* Peer-reviewed (Block 03) — linen row */
.ab-research-peer {
	padding: 0;
}

.ab-research-peer-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 22px;
}

.ab-research-peer-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 28px;
	border: 1px solid rgba(30, 36, 69, 0.08);
	box-shadow: 0 2px 10px rgba(30, 36, 69, 0.04);
	display: flex;
	flex-direction: column;
	gap: 12px;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.ab-research-peer-card:hover {
	box-shadow: 0 12px 28px rgba(20, 90, 159, 0.12);
	transform: translateY(-3px);
}

.ab-research-peer-date {
	font-size: 0.78em;
	font-weight: 700;
	color: #EB744E;
	letter-spacing: 0.04em;
}

.ab-research-peer-card h4 {
	font-size: 1.1em;
	line-height: 1.4;
	color: var(--wpex-palette-9248-color);
	margin: 0;
}

.ab-research-peer-card p {
	font-size: 0.9em;
	line-height: 1.6;
	color: rgba(30, 36, 69, 0.68);
	margin: 0;
}

.ab-research-peer-read {
	margin-top: auto;
	font-size: 0.84em;
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	text-decoration: none;
}

.ab-research-peer-read:hover {
	color: var(--wpex-palette-9248-color);
}

@media (max-width: 1024px) {
	.ab-research-study-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.ab-research-study-grid {
		grid-template-columns: 1fr;
	}

	.ab-research-peer-grid {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   SECURITY PAGE
   ══════════════════════════════════════════════════════════ */

.ab-sec-eyebrow {
	font-weight: 700;
	font-size: 0.75em;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wpex-palette-8974-color);
	display: block;
	margin-bottom: 10px;
}

/* Hero */
.ab-sec-hero {
	text-align: center;
}

.ab-sec-hero h1 {
	font-size: 2.8em;
	font-weight: 600;
	margin: 18px 0 20px;
	line-height: 1.15;
	color: var(--wpex-palette-9248-color);
}

.ab-sec-hero p {
	font-size: 1.1em;
	color: rgba(30, 36, 69, 0.68);
	margin: 0 auto;
}

.ab-sec-hero-badges {
	display: flex;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 44px;
}

.ab-sec-hero-badge {
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.1);
	border-radius: 12px;
	padding: 16px 22px;
	text-align: center;
}

.ab-sec-hero-badge-name {
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	display: block;
	margin-bottom: 8px;
	letter-spacing: 0.02em;
}

.ab-sec-hero-badge-status {
	display: inline-block;
	font-size: 0.68em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 100px;
	white-space: nowrap;
}

/* Section header */
.ab-sec-head {
	text-align: center;
	margin-bottom: 56px;
}

.ab-sec-head h2 {
	font-size: 2em;
	font-weight: 600;
	margin-top: 10px;
	color: var(--wpex-palette-9248-color);
}

.ab-sec-head p {
	margin-top: 14px;
	font-size: 1em;
	color: rgba(30, 36, 69, 0.68);
}

/* Card grids */
.ab-sec-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ab-sec-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

/* Cards */
.ab-sec-card {
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.1);
	border-radius: 14px;
	padding: 32px 28px;
}

.ab-sec-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: rgba(20, 90, 159, 0.08);
	margin-bottom: 18px;
	font-size: 1.2em;
	color: var(--wpex-palette-8973-color);
}

.ab-sec-ai-gov .ab-sec-card-icon {
	background: rgba(53, 175, 161, 0.18);
	color: var(--wpex-palette-8974-color);
}

.ab-sec-card h3 {
	font-size: 1.1em;
	font-weight: 600;
	margin-bottom: 10px;
	color: var(--wpex-palette-9248-color);
}

.ab-sec-card p {
	font-size: 0.9em;
	color: rgba(30, 36, 69, 0.68);
	margin: 0;
}

/* Compliance list */
.ab-sec-compliance-list {
	display: flex;
	flex-direction: column;
	border: 1px solid rgba(30, 36, 69, 0.1);
	border-radius: 14px;
	overflow: hidden;
	background: #ffffff;
}

.ab-sec-compliance-row {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 28px;
	padding: 26px 30px;
	border-bottom: 1px solid rgba(30, 36, 69, 0.08);
	align-items: start;
}

.ab-sec-compliance-row:last-child {
	border-bottom: none;
}

.ab-sec-status {
	display: inline-block;
	font-size: 0.72em;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 6px 12px;
	border-radius: 100px;
	white-space: nowrap;
}

.ab-sec-status--active {
	background: rgba(53, 175, 161, 0.14);
	color: #1e7d70;
}

.ab-sec-status--assessment {
	background: rgba(235, 116, 78, 0.14);
	color: #b2521f;
}

.ab-sec-status--aligned {
	background: rgba(20, 90, 159, 0.12);
	color: var(--wpex-palette-8973-color);
}

.ab-sec-status--certified {
	background: rgba(30, 36, 69, 0.10);
	color: var(--wpex-palette-9248-color);
}

.ab-sec-compliance-row h3 {
	font-size: 1.06em;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--wpex-palette-9248-color);
}

.ab-sec-compliance-row p {
	font-size: 0.9em;
	color: rgba(30, 36, 69, 0.68);
	margin: 0;
}

/* AI Governance dark block */
.ab-sec-ai-gov {
	background: var(--wpex-palette-9248-color);
	border-radius: 20px;
	padding: 56px 48px;
	margin-top: 64px;
}

.ab-sec-ai-gov .ab-sec-head h2 {
	color: #ffffff;
}

.ab-sec-ai-gov .ab-sec-head p {
	color: rgba(255, 255, 255, 0.75);
}

.ab-sec-ai-gov .ab-sec-eyebrow {
	color: var(--wpex-palette-8974-color);
}

.ab-sec-ai-gov .ab-sec-card {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.ab-sec-ai-gov .ab-sec-card-icon {
	background: rgba(53, 175, 161, 0.18);
}

.ab-sec-ai-gov .ab-sec-card h3 {
	color: #ffffff;
}

.ab-sec-ai-gov .ab-sec-card p {
	color: rgba(255, 255, 255, 0.75);
}

/* Stat bar */
.ab-sec-stat-bar {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	background: linear-gradient(120deg, var(--wpex-palette-9248-color), var(--wpex-palette-8973-color) 55%, var(--wpex-palette-8974-color));
	border-radius: 16px;
	padding: 44px 24px;
	text-align: center;
	margin-bottom: 40px;
}

.ab-sec-stat-num {
	font-family: 'Poppins', sans-serif;
	font-size: 1.875em;
	font-weight: 600;
	color: #ffffff;
}

.ab-sec-stat-label {
	font-size: 0.78em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.78);
	margin-top: 6px;
	font-weight: 600;
}

/* CTA */
.ab-sec-cta {
	text-align: center;
	border-radius: 20px;
	padding: 64px 24px;
	background: linear-gradient(135deg, #F5F3F0 0%, #F1FAF9 100%);
}

.ab-sec-cta h2 {
	font-size: 1.625em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	margin-bottom: 22px;
}

@media (max-width: 1024px) {
	.ab-sec-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 767px) {
	.ab-sec-grid {
		grid-template-columns: 1fr;
	}

	.ab-sec-grid--2 {
		grid-template-columns: 1fr;
	}

	.ab-sec-stat-bar {
		grid-template-columns: 1fr;
	}

	.ab-sec-compliance-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.ab-sec-hero h1 {
		font-size: 2em;
	}

	.ab-sec-ai-gov {
		padding: 40px 24px;
	}
}


/* ══════════════════════════════════════════════════════════
   LEGAL PAGES — Privacy Policy & Terms of Service
   Shared ab-legal-* system used by both pages
   ══════════════════════════════════════════════════════════ */

/* Page header */
.ab-legal-head {
	text-align: center;
	padding: 64px 24px 48px;
	background: var(--wpex-palette-9681-color);
}

.ab-legal-eyebrow {
	font-weight: 700;
	font-size: 0.75em;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wpex-palette-8974-color);
	display: block;
	margin-bottom: 10px;
}

.ab-legal-head h1 {
	font-size: 2.375em;
	font-weight: 600;
	margin: 10px 0 18px;
	color: var(--wpex-palette-9248-color);
}

.ab-legal-entity {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-size: 0.94em;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 14px;
}

.ab-legal-meta-row {
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-top: 18px;
}

.ab-legal-meta-pill {
	background: #ffffff;
	border: 1px solid rgba(30, 36, 69, 0.12);
	border-radius: 100px;
	padding: 7px 16px;
	font-size: 0.78em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
}

/* Two-column layout */
.ab-legal-layout {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 64px;
	align-items: start;
	padding: 56px 0 100px;
}

/* TOC sidebar */
.ab-legal-toc {
	position: sticky;
	top: 120px;
	border-left: 2px solid rgba(30, 36, 69, 0.1);
	padding-left: 20px;
	max-height: calc(100vh - 160px);
	overflow-y: auto;
}

.ab-legal-toc ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
	counter-reset: toc;
}

.ab-legal-toc a {
	display: flex;
	gap: 8px;
	text-decoration: none;
	color: rgba(30, 36, 69, 0.55);
	font-size: 0.84em;
	font-weight: 500;
	padding: 7px 0 7px 12px;
	border-left: 2px solid transparent;
	margin-left: -14px;
	transition: color .15s, border-color .15s;
}

.ab-legal-toc a::before {
	counter-increment: toc;
	content: counter(toc);
	font-size: 0.69em;
	font-weight: 700;
	color: rgba(30, 36, 69, 0.3);
	min-width: 14px;
}

.ab-legal-toc a:hover {
	color: var(--wpex-palette-9248-color);
}

.ab-legal-toc a.active {
	color: var(--wpex-palette-8973-color);
	border-left-color: var(--wpex-palette-8973-color);
	font-weight: 700;
}

.ab-legal-toc a.active::before {
	color: var(--wpex-palette-8973-color);
}

/* Content area */
.ab-legal-content {
	line-height: 1.7;
}

.ab-legal-content h2 {
	font-size: 1.5em;
	font-weight: 600;
	margin: 0 0 18px;
	padding-top: 6px;
	scroll-margin-top: 120px;
	color: var(--wpex-palette-9248-color);
}

.ab-legal-content h3 {
	font-size: 1.125em;
	font-weight: 600;
	margin: 36px 0 12px;
	scroll-margin-top: 120px;
	color: var(--wpex-palette-9248-color);
}

.ab-legal-content h4 {
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin: 28px 0 8px;
}

.ab-legal-content p {
	margin: 0 0 16px;
	font-size: 0.94em;
}

.ab-legal-content strong {
	color: var(--wpex-palette-9248-color);
}

.ab-legal-content a {
	color: var(--wpex-palette-8973-color);
}

.ab-legal-content ul {
	margin: 0 0 16px;
	padding-left: 22px;
}

.ab-legal-content ul li {
	font-size: 0.94em;
	margin-bottom: 10px;
}

.ab-legal-content ul li:last-child {
	margin-bottom: 0;
}

.ab-legal-lead {
	font-size: 1.03em !important;
	color: var(--wpex-palette-9248-color) !important;
}

.ab-legal-num {
	color: var(--wpex-palette-8974-color);
	margin-right: 8px;
}

/* Sections with dividers (Terms of Service) */
.ab-legal-section {
	margin-bottom: 52px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(30, 36, 69, 0.08);
}

.ab-legal-section:last-child {
	border-bottom: none;
}

/* Address block */
.ab-legal-addr {
	background: #F5F3F0;
	border-radius: 10px;
	padding: 16px 20px;
	font-size: 0.91em;
	margin: 12px 0 16px;
	line-height: 1.8;
}

/* Definitions list (Terms of Service) */
.ab-legal-defn dt {
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	margin-top: 14px;
	font-size: 0.94em;
}

.ab-legal-defn dd {
	margin: 4px 0 0;
	font-size: 0.91em;
}

/* Misc */
.ab-legal-divider {
	border: none;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
	margin: 48px 0;
}

.ab-legal-footnote {
	font-size: 0.84em;
	color: rgba(30, 36, 69, 0.45);
	margin-top: 40px;
}

.ab-legal-contact-cta {
	background: #F5F3F0;
	border-radius: 14px;
	padding: 32px 28px;
	margin-top: 8px;
}

.ab-legal-contact-cta a {
	font-weight: 600;
}

@media (max-width: 860px) {
	.ab-legal-layout {
		grid-template-columns: 1fr;
		gap: 32px;
		padding-top: 32px;
	}

	.ab-legal-toc {
		position: static;
		border-left: none;
		border-top: 1px solid rgba(30, 36, 69, 0.1);
		padding-left: 0;
		padding-top: 20px;
		max-height: none;
	}

	.ab-legal-toc ul {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px;
	}

	.ab-legal-toc a {
		border: 1px solid rgba(30, 36, 69, 0.12);
		border-radius: 100px;
		padding: 6px 14px;
		margin-left: 0;
	}

	.ab-legal-toc a::before {
		display: none;
	}

	.ab-legal-toc a.active {
		border-color: var(--wpex-palette-8973-color);
	}
}


/* ══════════════════════════════════════════════════════════
   COACHING PAGE — Pricing tiers
   ══════════════════════════════════════════════════════════ */

.ab-coach-pricing-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.ab-coach-pricing-card {
	background: var(--wpex-palette-9681-color);
	border-radius: 16px;
	padding: 36px 32px;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.ab-coach-pricing-tag {
	font-size: 1em;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wpex-palette-8974-color);
}

.ab-coach-pricing-price {
	font-family: 'Poppins', sans-serif;
	font-size: 3em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
	line-height: 1;
}

.ab-coach-pricing-period {
	font-size: 0.875em;
	color: rgba(30, 36, 69, 0.55);
	margin-top: 4px;
}

.ab-coach-pricing-desc {
	font-size: 0.9em;
	color: var(--wpex-palette-9248-color);
	line-height: 1.6;
	border-top: 1px solid rgba(30, 36, 69, 0.1);
	padding-top: 8px;
	margin-top: 0;
}

.ab-coach-pricing-features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
}

.ab-coach-pricing-features li {
	padding-left: 20px;
	position: relative;
	font-size: 0.9em;
	color: var(--wpex-palette-9248-color);
	margin: 0;
	line-height: 1.5;
}

.ab-coach-pricing-features li::before {
	content: '✦';
	position: absolute;
	left: 0;
	color: var(--wpex-palette-8974-color);
	font-size: 0.7em;
	top: 4px;
}

@media (max-width: 1024px) {
	.ab-coach-pricing-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ══════════════════════════════════════════════════════════
   COACHING PAGE — Trust badge strip (ICF + Community)
   ══════════════════════════════════════════════════════════ */

.ab-coach-trust {
	display: flex;
	gap: 48px;
	align-items: center;
}

.ab-coach-trust-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 12px;
	flex: 1;
}

.ab-coach-trust-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50px;
}

.ab-coach-trust-icon img {
	height: 40px;
	width: auto;
}

.ab-coach-trust-icon svg {
	height: 50px;
	width: 50px;
}

.ab-coach-trust-heading {
	font-size: 1.05em;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px;
	line-height: 1.25;
}

.ab-coach-trust-body {
	font-size: 0.875em;
	color: rgba(255, 255, 255, 0.7);
	line-height: 1.6;
	margin: 0;
}

.ab-coach-trust-item--link {
	text-decoration: none;
	transition: opacity 0.2s;
}

.ab-coach-trust-item--link:hover {
	opacity: 0.8;
	text-decoration: none;
}

@media (max-width: 768px) {
	.ab-coach-trust {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
	}
}

@media (max-width: 1024px) {
	.ab-coach-pricing-grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}
}

/* ══════════════════════════════════════════════════════════
   GLOBAL — Book a Demo modal
   ══════════════════════════════════════════════════════════ */

.ab-modal {
	position: fixed;
	inset: 0;
	z-index: 10001;
	display: none;
	overflow-y: auto;
}

.ab-modal.ab-modal--open {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.ab-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(30, 36, 69, 0.6);
	opacity: 0;
	animation: ab-modal-fade-in 0.2s ease forwards;
}

.ab-modal-panel {
	position: relative;
	z-index: 1;
	max-width: 560px;
	width: 100%;
	max-height: calc(100vh - 40px);
	overflow-y: auto;
	margin: auto;
	background: var(--wpex-palette-8988-color);
	border-radius: 16px;
	padding: 40px;
	box-shadow: 0 20px 60px rgba(30, 36, 69, 0.3);
	opacity: 0;
	transform: translateY(16px);
	animation: ab-modal-panel-in 0.25s ease forwards;
}

@keyframes ab-modal-fade-in {
	to {
		opacity: 1;
	}
}

@keyframes ab-modal-panel-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ab-modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	border-radius: 50%;
	font-size: 1.5rem;
	line-height: 1;
	color: var(--wpex-palette-9248-color);
	cursor: pointer;
	transition: background 0.2s;
}

.ab-modal-close:hover {
	background: var(--wpex-palette-9681-color);
}

.ab-modal-panel #ab-demo-modal-title {
	font-family: Poppins, sans-serif;
	color: var(--wpex-palette-9248-color);
	margin: 0 0 8px;
	padding-right: 24px;
}

.ab-modal-panel .body-small {
	font-family: 'Manrope', sans-serif;
	color: rgba(30, 36, 69, 0.7);
	margin: 0 0 20px;
}

body.ab-modal-lock {
	overflow: hidden;
}

/* GTranslate's language switcher renders itself above literally
   everything (inline z-index set by its own JS, not just the
   z-index:10000 in its class rule above) — no CSS z-index on our
   side can reliably out-rank it, so hide it outright while any
   modal is open instead of fighting the stacking order. */
body.ab-modal-lock .gtranslate_wrapper {
	visibility: hidden;
}

/* Compact modifier — tighter than the full-page .ab-hs-form */
.ab-hs-form--compact .hs-form-field {
	margin-bottom: 8px !important;
}

.ab-hs-form--compact .hs-form-field label {
	font-size: 0.85rem !important;
	margin-bottom: 4px !important;
}

.ab-hs-form--compact input.hs-input:not([type="checkbox"]):not([type="radio"]),
.ab-hs-form--compact select.hs-input {
	height: 38px !important;
	padding: 8px 16px !important;
}

.ab-hs-form--compact textarea.hs-input {
	min-height: 80px !important;
}

.ab-hs-form--compact .hs_submit .actions {
	margin-top: 4px !important;
}

@media (max-width: 640px) {
	.ab-modal-panel {
		padding: 28px 20px;
		border-radius: 12px;
	}
}


/* ══════════════════════════════════════════════════════════
   WPFORMS — reskin to match .ab-hs-form design system
   WPForms loads its own CSS dynamically, same as HubSpot, so
   these need !important to reliably win regardless of load order.
   ══════════════════════════════════════════════════════════ */

.ab-wpforms {
	text-align: left !important;
}

.ab-wpforms form.wpforms-form {
	font-family: 'Manrope', sans-serif !important;
	font-size: 16px !important;
	max-width: 100% !important;
	text-align: left !important;
}

.ab-wpforms .wpforms-field,
.ab-wpforms .wpforms-field-label,
.ab-wpforms .wpforms-field-sublabel,
.ab-wpforms .wpforms-field-description,
.ab-wpforms .wpforms-submit-container {
	text-align: left !important;
}

.ab-wpforms .wpforms-field-container {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.ab-wpforms .wpforms-field {
	margin-bottom: 8px !important;
	padding: 0 !important;
}

.ab-wpforms .wpforms-field-label {
	display: block !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.85rem !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--wpex-palette-9248-color) !important;
	margin-bottom: 4px !important;
}

.ab-wpforms .wpforms-required-label {
	color: var(--wpex-palette-8973-color) !important;
}

.ab-wpforms .wpforms-field-description,
.ab-wpforms .wpforms-field-sublabel {
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.8rem !important;
	color: rgba(30, 36, 69, 0.6) !important;
	margin-top: 4px !important;
}

.ab-wpforms input[type="text"],
.ab-wpforms input[type="email"],
.ab-wpforms input[type="tel"],
.ab-wpforms input[type="url"],
.ab-wpforms input[type="number"],
.ab-wpforms select,
.ab-wpforms textarea {
	width: 100% !important;
	box-sizing: border-box !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.95rem !important;
	color: var(--wpex-palette-9248-color) !important;
	background: var(--wpex-palette-9681-color) !important;
	border: 1px solid rgba(20, 90, 159, 0.18) !important;
	border-radius: 50px !important;
	padding: 8px 16px !important;
	height: 38px !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.2s !important;
}

.ab-wpforms textarea {
	border-radius: 12px !important;
	min-height: 80px !important;
	height: auto !important;
	padding: 10px 16px !important;
	resize: vertical !important;
}

.ab-wpforms input[type="text"]:focus,
.ab-wpforms input[type="email"]:focus,
.ab-wpforms input[type="tel"]:focus,
.ab-wpforms input[type="url"]:focus,
.ab-wpforms input[type="number"]:focus,
.ab-wpforms select:focus,
.ab-wpforms textarea:focus {
	border-color: var(--wpex-palette-8973-color) !important;
}

.ab-wpforms .wpforms-field-checkbox ul,
.ab-wpforms .wpforms-field-radio ul,
.ab-wpforms .wpforms-field-gdpr-checkbox ul {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
}

.ab-wpforms .wpforms-field-checkbox li label,
.ab-wpforms .wpforms-field-radio li label,
.ab-wpforms .wpforms-field-gdpr-checkbox li label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.9rem !important;
	font-weight: 400 !important;
	color: var(--wpex-palette-9248-color) !important;
}

.ab-wpforms .wpforms-field-checkbox input,
.ab-wpforms .wpforms-field-radio input,
.ab-wpforms .wpforms-field-gdpr-checkbox input {
	margin: 3px 0 0 !important;
}

.ab-wpforms .wpforms-submit-container {
	margin-top: 4px !important;
}

.ab-wpforms button.wpforms-submit,
.ab-wpforms input.wpforms-submit {
	background: var(--wpex-palette-8973-color) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 50px !important;
	padding: 10px 24px !important;
	font-weight: 600 !important;
	font-family: 'Manrope', sans-serif !important;
	font-size: 0.95rem !important;
	cursor: pointer !important;
	transition: background 0.2s !important;
}

.ab-wpforms button.wpforms-submit:hover,
.ab-wpforms input.wpforms-submit:hover {
	background: var(--wpex-palette-9248-color) !important;
}

.ab-wpforms label.wpforms-error,
.ab-wpforms .wpforms-error {
	color: #c0392b !important;
	font-size: 0.8em !important;
	font-weight: 500 !important;
	font-family: 'Manrope', sans-serif !important;
}

.ab-wpforms input.wpforms-error,
.ab-wpforms textarea.wpforms-error,
.ab-wpforms select.wpforms-error {
	border-color: #c0392b !important;
}

/* ══════════════════════════════════════════════════════════
   GLOBAL — .ab-anim-hero: unified full-bleed animated-background
   hero system.

   Replaces the old .ab-hero / .ab-hero-inner / .ab-hero-copy--full
   flex system for any hero that's copy-only with a full-bleed
   animated SVG background. That old system's flex-grow:1 +
   min-height combination was the root cause of nearly every
   "content stuck at the top with dead space below" bug across
   Science/Integrations/Homepage — this system has no flex-grow and
   no forced min-height, so the hero is always exactly as tall as
   its own padding + content. There is nothing to "center within"
   because there's never excess space to begin with.

   Markup:
     <section class="ab-anim-hero ab-anim-hero--[page]">
       <div class="ab-anim-hero-bg" aria-hidden="true"></div>
       <div class="ab-anim-hero-overlay" aria-hidden="true"></div>  (optional — only if a fade is needed)
       <div class="ab-anim-hero-content">
         ...eyebrow, h1, p, CTAs, etc...
       </div>
     </section>

   Full-bleed width is handled entirely by WPBakery's Stretch Row
   setting on the row itself — .ab-anim-hero is just width:100% of
   whatever the row gives it, no width:100vw/negative-margin
   breakout hack and no fighting .ab-hero:has() specificity.

   Each page adds a .ab-anim-hero--[page] modifier for its own
   background-image (and overlay gradient, if used) — see the
   per-page rules below this block. .ab-anim-hero--center is
   available for pages whose copy should be centered (Contact,
   About Us) instead of the default left alignment.
   ══════════════════════════════════════════════════════════ */

.ab-anim-hero {
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-block: clamp(48px, 8vw, 120px);
	display: flex;
	align-items: center;
}

.ab-anim-hero-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-size: cover;
	background-position: center;
	pointer-events: none;
}

.ab-anim-hero-overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

/* Any content sitting directly in .ab-anim-hero without going
   through .ab-anim-hero-content (e.g. About Us, which reuses the
   shared .ab-section-header--center component instead) still needs
   lifting above .ab-anim-hero-bg — an absolutely-positioned
   background paints above static content by default regardless of
   DOM order, even at z-index:0. */
.ab-anim-hero .ab-section-header--center {
	position: relative;
	z-index: 1;
}

.ab-anim-hero-content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1200px;
	margin-inline: auto;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Below the row's normal container width, the row's own gutter
   shrinks/disappears, so text starts touching the true edge without
   this. 1024–1200px is left alone (matches the 1200px+ look, no
   padding needed) — this only kicks in narrower than that. Mobile
   gets a smaller value than tablet — see the max-width:767px
   override right below, which must stay after this rule in source
   order since both share the same selector and specificity. */
@media (max-width: 1023px) {
	.ab-anim-hero-content {
		padding-inline: 40px;
	}
}

@media (max-width: 767px) {
	.ab-anim-hero-content {
		padding-inline: 16px;
	}
}

.ab-anim-hero--center .ab-anim-hero-content {
	text-align: center;
	align-items: center;
}

/* Standalone centering wrapper — put this directly in the HTML
   content itself (wrap the h1/p/etc in a div with this class), no
   WPBakery row/column setup required. Use this instead of
   .ab-anim-hero--center when you don't want to depend on getting
   classes onto the right row vs. column in the builder. */
.ab-hero-center {
	text-align: center;
	max-width: 720px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
}

/* — Homepage — */
.ab-anim-hero--homepage .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/homepage-hero-bg-graphic-3.svg");
}

.ab-anim-hero--homepage .ab-anim-hero-overlay {
	background: linear-gradient(to right, #fff 0%, #fff 32%, rgba(255, 255, 255, 0) 48%, rgba(255, 255, 255, 0) 100%);
}

.ab-is-safari .ab-anim-hero--homepage .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/ABHero-Safari-scaled.webp");
}

.ab-anim-hero--homepage .ab-hero-subhead {
	max-width: 50%;
}

@media (max-width: 767px) {
	.ab-anim-hero--homepage .ab-hero-subhead {
		max-width: 100%;
	}
}

/* — Science — */
.ab-anim-hero--science .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/science-hero-bg-graphic.svg");
}

.ab-anim-hero--science .ab-anim-hero-overlay {
	background: linear-gradient(to right, rgba(245, 243, 240, 0.92) 0%, rgba(245, 243, 240, 0.55) 45%, rgba(245, 243, 240, 0) 80%);
}

/* The grid graphic's own fade only covers up to ~80% width, so
   copy wider than that clashes visibly with the grid cells —
   capping it keeps text inside the faded zone. Applied to the
   headline/body text specifically, not .ab-anim-hero-content
   itself — capping the whole content box would also shrink the
   margin:auto centering math and shift its left edge to a
   different position than every other page's, instead of just
   wrapping the text earlier from the same starting point. This is
   scoped to .ab-anim-hero--science, so it can never leak into
   another page the way the old .ab-hero--light version did. */
.ab-anim-hero--science .hero-1,
.ab-anim-hero--science .body-large {
	max-width: 640px;
}

/* — Integrations — */
.ab-anim-hero--integrations .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/partners-hero-bg-graphic.svg");
}

/* — AI Intelligence Layer — */
.ab-anim-hero--ai-layer .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/ai-hero-bg-graphic.svg");
}

/* — Contact — */
.ab-anim-hero--contact .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/contact-hero-bg-graphic.svg");
}

/* — About Us — */
/* This graphic is wide/short with a transparent background (layers
   over the row's own gradient rather than replacing it), so it
   needs bottom/100%-auto sizing instead of the usual cover/center,
   plus a bit of extra bottom padding and a small negative margin on
   the graphic itself so the wave shape has room to read well. */
.ab-anim-hero--about {
	padding-top: 7%;
	padding-bottom: 12%;
}

.ab-anim-hero--about .ab-anim-hero-bg {
	background-image: url("/wp-content/uploads/2026/07/aboutus-hero-bg-graphic-v2.svg");
	background-position: bottom;
	background-size: 100% auto;
	margin-bottom: -40px;
}


/* ══════════════════════════════════════════════════════════
   GLOBAL — reusable decorative hero background graphic
   Reusable across any hero, not just the Solutions page. Drop an
   SVG (or other graphic) inside .ab-hero-bg-graphic as the first
   child of .ab-hero, before .ab-hero-inner. It sits behind the
   hero copy (.ab-hero-inner is z-index:1, this is z-index:0),
   fills the hero, and is pinned to the right edge here — adjust
   justify-content on a per-hero basis if a different position is
   needed. .ab-hero already has position:relative and
   overflow:hidden, so this just needs to fill it.

   Note: if the hero is copy-only (uses .ab-hero-copy--full, no
   visual/image column), .ab-hero itself needs to actually be
   full-width for this to reach real open space — see the
   .ab-hero:has(.ab-hero-copy--full) rule earlier in this file,
   which already handles that for any hero using that modifier.
   ══════════════════════════════════════════════════════════ */

.ab-hero-bg-graphic {
	position: absolute;
	inset: 0;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	pointer-events: none;
}

.ab-hero-bg-graphic svg {
	width: auto;
	height: 90%;
	max-width: none;
	max-height: 100%;
}

/* Solutions page hero-specific vertical spacing — not part of the
   reusable background-graphic system, since it was sized for this
   hero's specific right-aligned accent graphic (which needs the
   extra height to have room to draw). Other heroes using
   .ab-hero-copy--full (e.g. Science) size themselves via their own
   min-height instead and don't need this. */
.ab-solutions-hero {
	padding-top: 10%;
	padding-bottom: 10%;
}

/* Solutions hero graphic — loaded from the media library as a
   background-image instead of inline SVG, same approach as the
   homepage hero. auto/90% mirrors the sizing the inline <svg> used
   to get from .ab-hero-bg-graphic svg (height:90%, width:auto),
   right-aligned as an accent rather than edge-to-edge. */
.ab-solutions-hero .ab-hero-bg-graphic {
	background: url("/wp-content/uploads/2026/07/solutions-hero-bg-graphic.svg") right center / auto 90% no-repeat;
}

/* AI Intelligence Layer hero graphic — loaded from the media
   library as a background-image instead of inline SVG, same
   approach as the other three heroes. Its <animateMotion>/<mpath>
   particle-following was converted to CSS offset-path +
   offset-distance keyframes, and its SMIL radius pulses to a
   shared rPulse keyframe using --r0/--r1 custom properties, so
   nothing in the graphic depends on SMIL (<animate>/<animateMotion>)
   surviving the upload sanitizer. */
.ab-section--bg-graphic .ab-hero-bg-graphic--full {
	background: url("/wp-content/uploads/2026/07/ai-hero-bg-graphic.svg") center / cover no-repeat;
}

@media (max-width: 767px) {
	.ab-hero-bg-graphic {
		display: none;
	}
}

/* --full variant — graphic IS the row's entire background (edge to
   edge, no right-alignment/90%-height accent treatment), for cases
   where the SVG bakes in its own fill color and is meant to replace
   the row background outright rather than sit as a side accent. */
.ab-hero-bg-graphic--full {
	justify-content: stretch;
	align-items: stretch;
}

.ab-hero-bg-graphic--full svg {
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
}

@media (max-width: 767px) {
	.ab-hero-bg-graphic--full {
		display: flex;
	}
}

/* Section wrapper for a --full background graphic — gives the
   absolutely-positioned graphic a positioning context to fill, and
   lifts the real content (.ab-split) above it. Row-level padding
   should be removed in WPBakery for this section so the graphic
   truly reaches edge-to-edge; .ab-section's own 8%/12% padding
   doesn't block that, since an absolutely-positioned child with
   inset:0 already fills the padding box regardless. */
.ab-section--bg-graphic {
	position: relative;
	overflow: hidden;
	padding: 8% 0 !important;
}

.ab-section--bg-graphic .ab-split {
	position: relative;
	z-index: 1;
}

/* Reserves height for the worst-case 2-line wrap (longest word:
   "the people you support") so the H1's box never shrinks/grows
   as the word cycles — prevents the whole page shifting/bouncing
   every time a shorter word swaps in. line-height is 1.0 on
   .hero-1, so 2em = 2 lines; the extra 0.15em is a small buffer
   for font metrics. */
.ab-solutions-hero-h1 {
	min-height: 2.15em;
}

.ab-solutions-swap {
	display: block;
	width: 100%;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--wpex-palette-9248-color);
	margin: 4px 0 0;
}

#ab-audience-word {
	color: var(--wpex-palette-8973-color);
	transition: opacity 0.2s ease;
}

.ab-solutions-period {
	color: var(--wpex-palette-8973-color);
}

.ab-solutions-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 4px 0 0;
}

.ab-solutions-links a {
	font-size: 0.9em;
	font-weight: 600;
	color: var(--wpex-palette-9248-color);
	text-decoration: none;
	padding: 4px 0;
	transition: color 0.2s;
}

.ab-solutions-links a:hover,
.ab-solutions-links a:focus {
	color: var(--wpex-palette-8973-color);
}

.ab-solutions-links a:not(:last-child)::after {
	content: '·';
	display: inline-block;
	color: rgba(18, 15, 53, 0.25);
	font-weight: 400;
	margin: 0 12px;
}

@media (max-width: 640px) {
	.ab-solutions-links {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.ab-solutions-links a:not(:last-child)::after {
		display: none;
	}
}

/* .ab-hero-copy defaults to shrink-to-fit inside the .ab-hero-inner
   flex row, which is fine when there's a visual/image sibling
   splitting the width, but collapses to an oddly narrow column on
   single-column heroes with no visual side. Use this modifier on
   any hero that's copy-only. */
.ab-hero-copy--full {
	flex: 1 1 100%;
	max-width: none;
	width: 100%;
}

/* ══════════════════════════════════════════════════════════
   SOLUTIONS (PARENT) PAGE — Explore the solutions (card grid)
   ══════════════════════════════════════════════════════════ */

.ab-solutions-explore-head {
	max-width: 640px;
	margin: 0 0 40px;
}

.ab-solutions-explore-head h2 {
	margin: 0 0 12px;
	color: var(--wpex-palette-9248-color);
}

.ab-solutions-explore-head p {
	margin: 0;
	color: #555555;
	line-height: 1.7;
}

/* This grid deliberately breaks from the site's usual breakpoints —
   2-column only at 1440px and up. Everything below that (including
   normal "desktop" widths) is single column, since the photo cards
   need real width per card to avoid the text/person overlap. */
.ab-solutions-explore-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px;
}

@media (min-width: 1440px) {
	.ab-solutions-explore-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.ab-solutions-explore-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	background: var(--wpex-palette-8988-color);
	border: 1px solid rgba(20, 90, 159, 0.1);
	border-radius: 14px;
	padding: 28px 28px 24px;
	text-align: left;
	overflow: hidden;
}

.ab-solutions-explore-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: var(--wpex-palette-8973-color);
}

/* Photo variant — uses the same hero banner image as the vertical's
   own page (person positioned on the right of the source image).
   A left-to-right gradient scrim keeps the text legible without
   hiding the person on the right side of the image. */
.ab-solutions-explore-card--photo {
	justify-content: flex-start;
	padding: 32px;
	background-size: cover;
	background-position: right top;
	border: none;
}


.ab-solutions-explore-card--photo::before {
	display: none;
}

.ab-solutions-explore-card--photo::after {
	display: none;
}

.ab-solutions-explore-card--photo>* {
	position: relative;
	z-index: 1;
	max-width: 62%;
}

/* Narrower text column — for photo cards where the person(s) sit
   further left than usual (e.g. Workforce, two people close together).
   Chained with --photo so specificity beats it regardless of source order. */
.ab-solutions-explore-card--photo.ab-solutions-explore-card--narrow>* {
	max-width: 50%;
}

.ab-solutions-explore-card--photo .ab-solutions-explore-label {
	color: var(--wpex-palette-9248-color);
}

.ab-solutions-explore-card--photo .ab-solutions-explore-body {
	color: #3a3d45;
}

.ab-solutions-explore-card--photo .ab-solutions-explore-meta {
	color: #6a6d75;
	border-top-color: rgba(20, 90, 159, 0.15);
}

@media (max-width: 640px) {
	.ab-solutions-explore-card--photo {
		background: linear-gradient(135deg, #F1FAF9 0%, #F0F7FC 50%, #FAF9F7 100%) !important;
	}

	.ab-solutions-explore-card--photo>* {
		max-width: 100%;
	}
}

.ab-solutions-explore-grid .ab-solutions-explore-card:nth-child(2)::before,
.ab-solutions-explore-grid .ab-solutions-explore-card:nth-child(5)::before {
	background: var(--wpex-palette-8974-color);
}

.ab-solutions-explore-grid .ab-solutions-explore-card:nth-child(3)::before,
.ab-solutions-explore-grid .ab-solutions-explore-card:nth-child(6)::before {
	background: #EB744E;
}

.ab-solutions-explore-label {
	font-size: 0.7em;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wpex-palette-9248-color);
}

.ab-solutions-explore-hook {
	margin: 0;
	font-size: 1.35em;
	font-weight: 700;
	line-height: 1.25;
	color: var(--wpex-palette-9248-color);
}

.ab-solutions-explore-body {
	margin: 0;
	color: #555555;
}

.ab-solutions-explore-meta {
	margin-top: 6px;
	padding-top: 12px;
	border-top: 1px solid rgba(20, 90, 159, 0.1);
	font-size: 0.78em;
	color: rgba(30, 36, 69, 0.6);
}


/* ══════════════════════════════════════════════════════════
   SOLUTIONS (PARENT) PAGE — Problem section (50/50 split,
   text stacked in the left column, right column empty)
   ══════════════════════════════════════════════════════════ */

.ab-solutions-problem-text {
	flex: 1 1 50%;
	max-width: 50%;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-solutions-problem-empty {
	flex: 1 1 50%;
	max-width: 50%;
}

.ab-solutions-problem-text h2 {
	margin: 0;
}

.ab-solutions-problem-text p {
	margin: 0;
	color: #555555;
	line-height: 1.7;
}

.ab-solutions-problem--dark .ab-solutions-problem-text h2 {
	color: var(--wpex-palette-8988-color);
}

.ab-solutions-problem--dark .ab-solutions-problem-text p {
	color: rgba(255, 255, 255, 0.75);
}

@media (max-width: 767px) {

	.ab-solutions-problem-text,
	.ab-solutions-problem-empty {
		max-width: 100%;
	}

	.ab-solutions-problem-empty {
		display: none;
	}
}


/* ══════════════════════════════════════════════════════════
   CERTIFICATION PAGE
   Reuses .ab-section / .ab-split / .ab-section-header / .ab-grid-3
   .ab-card / .ab-icon-item-icon / .ab-cta-inner from the shared
   system. Only the pieces genuinely unique to this page (the
   credential preview card, the path-toggle tabs, and the tiered
   level cards) get their own classes below.
   ══════════════════════════════════════════════════════════ */

.ab-cert-hero-ctas {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-top: 8px;
}

/* Two-line hero headline: "Get certified." (.hero-1 styling) directly
   above the real <h1>. Grouped in their own wrapper with a tight
   margin so they read as one headline instead of two separate lines. */
.ab-cert-hero-headline {
	display: flex;
	flex-direction: column;
}

.ab-cert-hero-headline .hero-1 {
	margin-bottom: 4px;
}

.ab-cert-hero-headline h1 {
	margin: 0;
}

/* Hero background — the animated SVG (with its own internal fade
   mask) is attached as the WPBakery row's own background image, see
   certification-block-01-hero.html comment. Width is controlled by
   the WPBakery column this is placed in, not capped here. */
.ab-cert-hero-content {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

/* Path toggle (Get certified / Become a trainer) */
.ab-cert-path-title {
	margin-bottom: 24px;
}

.ab-cert-path-tabs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.ab-cert-path-tab {
	position: relative;
	background: var(--wpex-palette-8988-color);
	border: 2px solid rgba(20, 36, 69, 0.1);
	border-radius: 10px;
	padding: 22px 26px;
	cursor: pointer;
	text-align: left;
	font-family: 'Manrope', sans-serif;
	transition: border-color 0.2s, background 0.2s;
}

.ab-cert-path-tab.active {
	border-color: var(--wpex-palette-8974-color);
	background: #F1FAF9;
}

.ab-cert-path-tab:not(.active):hover {
	border-color: rgba(20, 36, 69, 0.25);
}

.ab-cert-path-tab-arrow {
	position: absolute;
	top: 20px;
	right: 22px;
	font-size: 1.1em;
	color: rgba(20, 36, 69, 0.3);
	transition: color 0.2s, transform 0.2s;
}

.ab-cert-path-tab:hover .ab-cert-path-tab-arrow,
.ab-cert-path-tab.active .ab-cert-path-tab-arrow {
	color: var(--wpex-palette-8974-color);
	transform: translateX(3px);
}

.ab-cert-path-tab-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}

.ab-cert-path-tab-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(20, 36, 69, 0.25);
	flex-shrink: 0;
}

.ab-cert-path-tab.active .ab-cert-path-tab-dot {
	background: var(--wpex-palette-8974-color);
}

.ab-cert-path-tab-title {
	font-family: 'Poppins', sans-serif;
	font-size: 1em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
}

.ab-cert-path-tab-desc {
	color: #555555;
	line-height: 1.6;
}

/* Certification levels grid */
.ab-cert-level-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: start;
}

.ab-cert-level-grid--trainer {
	grid-template-columns: 1fr 1fr;
}

.ab-cert-level-grid[hidden] {
	display: none;
}

.ab-cert-level-cta {
	text-align: center;
	margin-top: 32px;
}

.ab-cert-level-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.ab-cert-level-card--seafoam {
	background: #F1FAF9;
	border-color: rgba(53, 175, 161, 0.3);
}

.ab-cert-level-card--seafoam h3 {
	color: var(--wpex-palette-8974-color);
}

.ab-cert-level-card--seafoam .ab-cert-level-chip {
	color: var(--wpex-palette-8974-color);
}

.ab-cert-level-card--silver {
	background: #F1F2F4;
	border-color: rgba(107, 114, 128, 0.35);
}

.ab-cert-level-card--silver h3 {
	color: #5B6270;
}

.ab-cert-level-card--silver .ab-cert-level-chip {
	color: #5B6270;
}

.ab-cert-level-card--sienna {
	background: #fce8e3;
	border-color: rgba(235, 116, 78, 0.3);
}

.ab-cert-level-card--sienna h3 {
	color: #b8451f;
}

.ab-cert-level-card--sienna .ab-cert-level-chip {
	color: #b8451f;
}

.ab-cert-level-card--sky {
	background: #EAF4FC;
	border-color: rgba(59, 143, 214, 0.4);
}

.ab-cert-level-card--sky h3 {
	color: #3B8FD6;
}

.ab-cert-level-card--sky .ab-cert-level-chip {
	color: #3B8FD6;
}

.ab-cert-level-card--lapis {
	background: #EEF5FB;
	border-color: var(--wpex-palette-8973-color);
}

.ab-cert-level-card--lapis h3 {
	color: var(--wpex-palette-8973-color);
}

.ab-cert-level-card--lapis .ab-cert-level-chip {
	color: var(--wpex-palette-8973-color);
}

.ab-cert-badge {
	width: 80px;
	height: 80px;
	margin-bottom: 18px;
	object-fit: contain;
	display: block;
}

.ab-cert-level-card h3 {
	font-family: 'Poppins', sans-serif;
	font-size: 1.1875em;
	font-weight: 700;
	margin-bottom: 10px;
	letter-spacing: -0.2px;
}

.ab-cert-level-card .desc {
	color: #555555;
	line-height: 1.65;
	margin-bottom: 18px;
}

.ab-cert-level-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--wpex-palette-8988-color);
	border-radius: 20px;
	padding: 6px 14px;
	font-weight: 700;
	margin-bottom: 16px;
	width: fit-content;
}

.ab-cert-chip-icon {
	width: 20px;
	height: 20px;
	object-fit: contain;
	flex-shrink: 0;
}

.ab-cert-level-detail {
	color: #555555;
	margin-bottom: auto;
	padding-bottom: 20px;
}

.ab-cert-level-link {
	font-weight: 700;
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-top: 16px;
}

.ab-cert-level-link:hover {
	text-decoration: underline;
}

/* "What you receive" cards — sample images instead of the shared
   .ab-icon-item-icon system, since these are actual asset previews
   (badge/certificate/logo), not decorative line icons. */
.ab-cert-receive-grid {
	gap: 24px;
}

.ab-cert-receive-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
	gap: 12px;
}

.ab-cert-receive-icon {
	height: 75px;
	width: auto;
	object-fit: contain;
}

.ab-cert-receive-icon--rounded {
	border-radius: 12px;
}

/* Shared .ab-icon-item-body defaults to 0.9em, which read smaller than
   the rest of this page's body copy. Scoped here rather than changed
   globally, since that class is also used on Performance/Platform. */
.ab-cert-receive-card .ab-icon-item-body {
	font-size: 1em;
}

.ab-cert-receive-extra {
	margin-top: 8px;
	color: #555555;
}

.ab-cert-receive-extra strong {
	color: var(--wpex-palette-9248-color);
}

@media (max-width: 1024px) {
	.ab-cert-path-tabs {
		grid-template-columns: 1fr;
	}

	.ab-cert-level-grid,
	.ab-cert-level-grid--trainer {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 767px) {
	.ab-cert-level-grid,
	.ab-cert-level-grid--trainer {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   MINI HERO — reusable lightweight header for sub-pages
   (detail pages, policy pages, anything that doesn't need a full
   animated hero). Row background/padding set in WPBakery, same as
   every other hero on this site — no padding baked in here.
   ══════════════════════════════════════════════════════════ */

.ab-mini-hero {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ab-mini-hero h1 {
	margin: 0;
}

.ab-mini-hero .body-large {
	max-width: 640px;
}

.ab-mini-hero-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.9em;
	font-weight: 600;
	color: var(--wpex-palette-8973-color);
	text-decoration: none;
	width: fit-content;
}

.ab-mini-hero-back:hover {
	text-decoration: underline;
}


/* ══════════════════════════════════════════════════════════
   COMPARE TABLE — reusable multi-column comparison table
   (Certification Details levels-at-a-glance/requirements tables;
   reusable anywhere else a tiered/leveled comparison is needed).
   Column tone modifiers (--sienna/--silver/--seafoam) reuse the
   same three tones as the Certification levels cards, so this page
   reads as a continuation of the summary cards rather than a
   separate system.
   ══════════════════════════════════════════════════════════ */

.ab-compare-table-wrap {
	overflow-x: auto;
	margin-bottom: 24px;
	border-radius: 12px;
	border: 1px solid rgba(20, 36, 69, 0.1);
}

.ab-compare-table {
	width: 100%;
	min-width: 640px;
	table-layout: fixed;
	border-collapse: collapse;
	font-family: 'Manrope', sans-serif;
	font-size: 1em;
}

.ab-compare-table th,
.ab-compare-table td {
	border: 1px solid rgba(20, 36, 69, 0.1);
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
}

.ab-compare-table thead th {
	font-family: 'Poppins', sans-serif;
	font-size: 1.25em;
	font-weight: 700;
	color: var(--wpex-palette-8988-color);
}

.ab-compare-table thead th.ab-compare-row-label {
	color: var(--wpex-palette-9248-color);
}

.ab-compare-table .ab-compare-tagline {
	display: block;
	font-family: 'Manrope', sans-serif;
	font-size: 0.75em;
	font-weight: 400;
	opacity: 0.9;
	margin-top: 4px;
}

.ab-compare-row-label {
	background: var(--wpex-palette-9681-color);
	color: var(--wpex-palette-9248-color);
	font-weight: 700;
	width: 200px;
}

.ab-compare-table th.ab-compare-tone--sienna {
	background: #EB744E;
}

.ab-compare-table th.ab-compare-tone--silver {
	background: #5B6270;
}

.ab-compare-table th.ab-compare-tone--seafoam {
	background: var(--wpex-palette-8974-color);
}

.ab-compare-table th.ab-compare-tone--sky {
	background: #3B8FD6;
}

.ab-compare-table th.ab-compare-tone--lapis {
	background: var(--wpex-palette-8973-color);
}

.ab-compare-table td.ab-compare-tone--sienna {
	background: #fce8e3;
}

.ab-compare-table td.ab-compare-tone--silver {
	background: #F1F2F4;
}

.ab-compare-table td.ab-compare-tone--seafoam {
	background: #F1FAF9;
}

.ab-compare-table td.ab-compare-tone--sky {
	background: #EAF4FC;
}

.ab-compare-table td.ab-compare-tone--lapis {
	background: #EEF5FB;
}

.ab-compare-big {
	display: block;
	font-family: 'Poppins', sans-serif;
	font-size: 1.3em;
	font-weight: 800;
	color: var(--wpex-palette-9248-color);
}

.ab-compare-dash {
	color: rgba(30, 36, 69, 0.35);
}

.ab-compare-check {
	color: var(--wpex-palette-8974-color);
	font-weight: 700;
}

.ab-compare-legend {
	margin-top: -8px;
}

/* Advancement pathway — plain two-column layout, no box/pills.
   Two panels — "Getting to Professional" and "From Professional,
   two directions" — each a dark-header card containing tone-colored
   sub-cards for each path. Tones reuse the same sienna/silver/
   seafoam/lapis system as the rest of this page. */
.ab-pathway-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
}

.ab-pathway-panel {
	background: var(--wpex-palette-9681-color);
	border: 1px solid rgba(20, 36, 69, 0.08);
	border-radius: 16px;
	overflow: hidden;
}

.ab-pathway-panel-head {
	background: var(--wpex-palette-9248-color);
	color: var(--wpex-palette-8988-color);
	font-family: 'Poppins', sans-serif;
	font-size: 1.15em;
	font-weight: 700;
	padding: 20px 24px;
}

.ab-pathway-panel-body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.ab-pathway-card {
	border-radius: 12px;
	border: 1.5px solid;
	padding: 20px 22px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.ab-pathway-card--sienna {
	background: #fce8e3;
	border-color: #EB744E;
}

.ab-pathway-card--sienna h4 {
	color: #b8451f;
}

.ab-pathway-card--silver {
	background: #F1F2F4;
	border-color: rgba(107, 114, 128, 0.5);
}

.ab-pathway-card--silver h4 {
	color: #5B6270;
}

.ab-pathway-card--seafoam {
	background: #F1FAF9;
	border-color: rgba(53, 175, 161, 0.5);
}

.ab-pathway-card--seafoam h4 {
	color: var(--wpex-palette-8974-color);
}

.ab-pathway-card--lapis {
	background: #EEF5FB;
	border-color: var(--wpex-palette-8973-color);
}

.ab-pathway-card--lapis h4 {
	color: var(--wpex-palette-8973-color);
}

.ab-pathway-card--sky {
	background: #EAF4FC;
	border-color: #3B8FD6;
}

.ab-pathway-card--sky h4 {
	color: #3B8FD6;
}

.ab-pathway-card-head {
	display: flex;
	align-items: center;
	gap: 12px;
}

.ab-pathway-badge {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--wpex-palette-8988-color);
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 0.85em;
}

.ab-pathway-card--sienna .ab-pathway-badge {
	background: #EB744E;
}

.ab-pathway-card--silver .ab-pathway-badge {
	background: #5B6270;
}

.ab-pathway-card h4 {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-size: 1.05em;
	font-weight: 700;
}

.ab-pathway-card p {
	margin: 0;
	color: var(--wpex-palette-9248-color);
}

.ab-pathway-down-arrow {
	font-weight: 700;
	color: #EB744E;
}

.ab-pathway-caption {
	margin: 0;
	font-size: 0.85em;
	color: #555555;
}

.ab-pathway-apex {
	margin-top: 4px;
	border: 1.5px dashed rgba(30, 36, 69, 0.35);
	border-radius: 10px;
	padding: 14px 16px;
	background: rgba(255, 255, 255, 0.6);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ab-pathway-apex h5 {
	margin: 0;
	font-family: 'Poppins', sans-serif;
	font-size: 0.95em;
	font-weight: 700;
	color: var(--wpex-palette-9248-color);
}

.ab-compare-arrow {
	color: rgba(30, 36, 69, 0.4);
	padding: 0 2px;
}

@media (max-width: 767px) {
	.ab-pathway-cols {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.ab-compare-row-label {
		width: 140px;
	}
}


/* ══════════════════════════════════════════════════════════
   CERTIFICATION BOARD — meta line, bio card grid
   ══════════════════════════════════════════════════════════ */

.ab-section-header--no-max {
	max-width: none;
}

.ab-board-meta {
	font-size: 0.85em;
	color: rgba(30, 36, 69, 0.55);
	margin: 0;
}

.ab-board-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-top: 32px;
}

.ab-board-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
	background: #ffffff;
	border-radius: 12px;
	padding: 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.ab-board-card--wide {
	grid-column: 1 / -1;
}

.ab-board-avatar {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	font-family: 'Poppins', sans-serif;
	font-weight: 800;
	font-size: 0.9em;
	color: #ffffff;
}

img.ab-board-avatar {
	object-fit: cover;
	object-position: top;
}

.ab-board-avatar--sienna {
	background: #EB744E;
}

.ab-board-avatar--silver {
	background: #5B6270;
}

.ab-board-avatar--seafoam {
	background: var(--wpex-palette-8974-color);
}

.ab-board-avatar--sky {
	background: #3B8FD6;
}

.ab-board-avatar--lapis {
	background: var(--wpex-palette-8973-color);
}

.ab-board-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.ab-board-name {
	font-family: 'Manrope', sans-serif;
	font-weight: 700;
	font-size: 1em;
	color: var(--wpex-palette-9248-color);
}

.ab-board-role {
	font-size: 0.8em;
	font-weight: 600;
	color: var(--wpex-palette-8973-color);
	margin-bottom: 6px;
}

.ab-board-bio {
	font-size: 0.9em;
	line-height: 1.6;
	margin: 0;
}

.ab-board-contact {
	text-align: center;
}

.ab-board-contact h2 {
	margin-bottom: 12px;
}

@media (max-width: 767px) {
	.ab-board-grid {
		grid-template-columns: 1fr;
	}
}


/* ══════════════════════════════════════════════════════════
   CERTIFICATION BOARD — ALT ROW LAYOUT (comparison version,
   see certification-board-block-05-meet-board-alt-rows.html)
   ══════════════════════════════════════════════════════════ */

.ab-board-row-list {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 32px;
}

.ab-board-row {
	display: flex;
	align-items: center;
	gap: 24px;
	background: #ffffff;
	border-radius: 12px;
	padding: 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.ab-board-row-avatar {
	flex: none;
	width: 240px;
	height: 240px;
	border-radius: 12px;
	object-fit: cover;
	object-position: top;
}

.ab-board-row-info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

@media (max-width: 767px) {
	.ab-board-row {
		flex-direction: column;
	}

	.ab-board-row-avatar {
		width: 192px;
		height: 192px;
	}
}


/* ══════════════════════════════════════════════════════════
   404 PAGE
   ══════════════════════════════════════════════════════════ */

.ab-404 {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
}

.ab-404-dot {
	position: absolute;
	border-radius: 50%;
}

.ab-404-dot--1  { width: 14px; height: 14px; background: var(--wpex-palette-8974-color); opacity: .25; top: 8%;  left: 12%; }
.ab-404-dot--2  { width: 8px;  height: 8px;  background: #9aa5b1; opacity: .3;  top: 14%; left: 22%; }
.ab-404-dot--3  { width: 22px; height: 22px; background: var(--wpex-palette-8973-color); opacity: .15; top: 20%; left: 6%; }
.ab-404-dot--4  { width: 10px; height: 10px; background: #EB744E; opacity: .3;  top: 78%; left: 16%; }
.ab-404-dot--5  { width: 16px; height: 16px; background: var(--wpex-palette-8974-color); opacity: .2;  top: 82%; left: 30%; }
.ab-404-dot--6  { width: 6px;  height: 6px;  background: #9aa5b1; opacity: .35; top: 10%; right: 14%; }
.ab-404-dot--7  { width: 26px; height: 26px; background: var(--wpex-palette-8973-color); opacity: .12; top: 70%; right: 10%; }
.ab-404-dot--8  { width: 12px; height: 12px; background: #EB744E; opacity: .25; top: 30%; right: 8%; }
.ab-404-dot--9  { width: 9px;  height: 9px;  background: var(--wpex-palette-8974-color); opacity: .3;  top: 88%; right: 22%; }
.ab-404-dot--10 { width: 18px; height: 18px; background: #9aa5b1; opacity: .15; top: 6%;  right: 30%; }

.ab-404-wrap {
	position: relative;
	z-index: 2;
	text-align: center;
	max-width: 640px;
	padding: 0 24px;
}

.ab-404-mark {
	width: 96px;
	height: 96px;
	margin: 0 auto 28px;
	display: block;
}

.ab-404-eyebrow {
	font-size: 0.6875em;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--wpex-palette-8974-color);
	margin-bottom: 14px;
}

.ab-404-heading {
	font-size: 2.1em;
	margin-bottom: 16px;
}

.ab-404-sub {
	max-width: 480px;
	margin: 0 auto 34px;
}

.ab-404-actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

.ab-404-code {
	margin-top: 44px;
	color: rgba(30, 36, 69, 0.45);
	letter-spacing: 0.04em;
}