/*
Theme Name: Albadyea Fast
Theme URI: https://www.albadyeaunited.com
Description: Performance-focused child theme for Albadyea United, built on GeneratePress. Visual design ported from the original Wilmer-child stylesheet to match the live site pixel-perfectly while shedding Wilmer's heavy CSS chain.
Author: Albadyea United team
Author URI: https://www.albadyeaunited.com
Version: 1.0.0
Text Domain: albadyea-fast
Template: generatepress
*/

/*
 * Albadyea United visual refresh - 2026-04-26
 * Lightweight overrides only: keep Wilmer/Elementor structure intact.
 */

:root {
	--ab-navy: #001a4d;
	--ab-blue: #00235a;
	--ab-red: #ed2b24;
	--ab-ink: #12192d;
	--ab-muted: #667085;
	--ab-line: #e8edf5;
	--ab-soft: #f6f8fb;
	--ab-white: #ffffff;
	--ab-shadow: 0 18px 55px rgba(0, 26, 77, 0.12);
	--ab-radius: 18px;
}

html {
	scroll-behavior: smooth;
}

html, body {
	/* Critical fix: prevent horizontal overflow caused by full-bleed
	 * sections using width: 100vw (which includes the scrollbar width
	 * but body's 100% does not). Without this, content overflows right. */
	overflow-x: hidden;
	max-width: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	background: var(--ab-white);
}

/* Allow flex/grid items to shrink below their content's intrinsic width.
 * Default min-width: auto causes overflow when text/images are too wide. */
.ab-svc-detail__body,
.ab-svc-detail__media,
.ab-services__grid > *,
.ab-stats__grid > *,
.ab-sectors__grid > *,
.ab-bridge__inner > *,
.ab-closing__inner > *,
.ab-process__steps > * {
	min-width: 0;
}

/* Universal box-sizing for our custom sections (some Wilmer styles
 * inherit content-box which makes padding ADD to width). */
[class^="ab-"], [class*=" ab-"] {
	box-sizing: border-box;
}

/* Defensive: every full-bleed section clips its own overflow */
.ab-hero,
.ab-bridge,
.ab-stats,
.ab-services,
.ab-process,
.ab-sectors,
.ab-svc-detail,
.ab-closing,
.ab-page-header,
.ab-quickstats,
.ab-view-all {
	overflow-x: clip;
}

/* Inner containers: explicit width: 100% so they don't shrink to content
 * width inside flex/grid contexts (which would let children overflow). */
.ab-bridge__inner,
.ab-stats__inner,
.ab-services__inner,
.ab-process__inner,
.ab-sectors__inner,
.ab-svc-detail__inner,
.ab-closing__inner,
.ab-page-header__inner,
.ab-quickstats__inner,
.ab-view-all__inner {
	width: 100%;
}

.ab-bridge__logos {
	width: 100%;
	max-width: 100%;
}

/* Service detail images: never exceed their column */
.ab-svc-detail__media img {
	max-width: 100%;
}

/* All card text: long words break gracefully */
.ab-sector-card__text,
.ab-service-card__text,
.ab-process-step__text,
.ab-stat span,
.ab-card__text {
	overflow-wrap: anywhere;
	word-break: normal;
	hyphens: auto;
}

/* Process step text: it's 70+ chars in a narrow card — needs wrap */
.ab-process-step__text {
	font-size: 13.5px;
	line-height: 1.5;
}

body,
.mkdf-content,
.elementor-widget-text-editor {
	color: #4e5969;
}

a,
.mkdf-btn,
.mkdf-main-menu > ul > li > a,
.mkdf-mobile-nav a {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

img {
	max-width: 100%;
	height: auto;
}

.mkdf-top-bar {
	border-bottom: 1px solid rgba(0, 35, 90, 0.08);
}

/* English-only line badge next to +(971) 50 651 6099 in the top bar */
.mkdf-top-bar .ab-en-tag,
.ab-en-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	background: rgba(237, 43, 36, 0.10);
	color: var(--ab-red);
	border: 1px solid rgba(237, 43, 36, 0.30);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: middle;
	line-height: 1.3;
}

.mkdf-top-bar .mkdf-icon-widget-holder,
.mkdf-top-bar .mkdf-social-icon-widget-holder {
	opacity: 0.92;
}

.mkdf-page-header .mkdf-menu-area,
.mkdf-sticky-header .mkdf-sticky-holder,
.mkdf-mobile-header .mkdf-mobile-header-holder {
	box-shadow: 0 10px 32px rgba(0, 26, 77, 0.08);
}

/* ─── Header logo: image (calligraphic AB) + company name ─── */
.mkdf-logo-wrapper.mkdf-text-logo-type a {
	display: inline-flex !important;
	align-items: center;
	gap: 14px;
	height: 100%;
	text-decoration: none;
}

.mkdf-logo-wrapper.mkdf-text-logo-type .mkdf-text-logo {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	letter-spacing: -0.02em;
	white-space: nowrap;
	font-family: var(--ab-font-display);
	font-weight: 800;
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1;
	letter-spacing: 0.01em;
}

/* Brand mark (calligraphic AB logo) before the text */
.mkdf-logo-wrapper.mkdf-text-logo-type .mkdf-text-logo::before {
	content: "";
	display: inline-block;
	width: clamp(38px, 3.6vw, 52px);
	height: clamp(38px, 3.6vw, 52px);
	background-image: url("../img/albadyea-new-logo-300x235.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	flex-shrink: 0;
	/* When sitting on the red header box, invert to white silhouette */
	filter: brightness(0) invert(1);
	transition: transform 220ms var(--ab-ease);
}

.mkdf-logo-wrapper.mkdf-text-logo-type a:hover .mkdf-text-logo::before {
	transform: rotate(-6deg) scale(1.05);
}

.mkdf-main-menu > ul > li > a .item_text {
	font-weight: 700;
	letter-spacing: 0.01em;
}

.mkdf-main-menu > ul > li > a:hover,
.mkdf-main-menu > ul > li.mkdf-active-item > a {
	color: var(--ab-red);
}

.mkdf-drop-down .second .inner ul {
	border-radius: 0 0 14px 14px;
	box-shadow: var(--ab-shadow);
	overflow: hidden;
}

.mkdf-search-opener,
.mkdf-side-menu-button-opener,
.mkdf-mobile-menu-opener {
	border-radius: 12px;
}

.mkdf-btn.mkdf-btn-solid {
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(237, 43, 36, 0.22);
	font-weight: 700;
	letter-spacing: 0.01em;
}

.mkdf-btn.mkdf-btn-solid:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 36px rgba(237, 43, 36, 0.28);
}

#rev_slider_1_1_wrapper {
	position: relative;
	background-color: var(--ab-navy) !important;
	overflow: hidden;
}

#rev_slider_1_1_wrapper::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 5;
	pointer-events: none;
	background:
		linear-gradient(90deg, rgba(0, 26, 77, 0.72) 0%, rgba(0, 35, 90, 0.38) 42%, rgba(0, 0, 0, 0.12) 100%),
		radial-gradient(circle at 80% 18%, rgba(237, 43, 36, 0.22), transparent 32%);
}

#rev_slider_1_1_wrapper .wilmer-navigation.tparrows {
	border-radius: 16px;
	box-shadow: 0 12px 35px rgba(0, 26, 77, 0.18);
}

#rev_slider_1_1_wrapper .tp-bullets {
	transform: translateY(-18px);
}

.page-id-25 .mkdf-section-title-holder .mkdf-st-intro-title {
	color: var(--ab-red);
	font-weight: 800;
	letter-spacing: 0.14em;
}

.page-id-25 .mkdf-section-title-holder .mkdf-st-title,
.page-id-25 .elementor-heading-title {
	color: var(--ab-navy);
	letter-spacing: -0.025em;
}

.page-id-25 .mkdf-section-title-holder .mkdf-st-text {
	color: #5d6878;
	font-size: 18px;
	line-height: 1.8 !important;
}

.page-id-25 .elementor-element-338d00cc {
	background:
		linear-gradient(180deg, #ffffff 0%, #f7f9fd 100%);
}

.page-id-25 .elementor-element-584e799b {
	padding: clamp(72px, 8vw, 124px) 0 clamp(56px, 7vw, 96px);
}

.page-id-25 .elementor-element-6cd90b69 .elementor-widget-html img {
	display: block;
	width: 100%;
	border-radius: var(--ab-radius);
	box-shadow: var(--ab-shadow);
	object-fit: cover;
}

.page-id-25 .elementor-element-84deb74 {
	max-width: 72%;
	margin-left: auto;
}

.page-id-25 .elementor-element-a2b2351 {
	max-width: 58%;
	margin-top: -18%;
	margin-left: 0;
}

.page-id-25 .mkdf-team-holder {
	height: 100%;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	overflow: hidden;
	box-shadow: 0 10px 34px rgba(0, 26, 77, 0.08);
	transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.page-id-25 .mkdf-team-holder:hover {
	transform: translateY(-6px);
	border-color: rgba(237, 43, 36, 0.26);
	box-shadow: var(--ab-shadow);
}

.page-id-25 .mkdf-team-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.page-id-25 .mkdf-team-info {
	padding: 18px 18px 20px;
	background: var(--ab-white);
}

.page-id-25 .mkdf-team-name {
	font-size: clamp(18px, 2vw, 22px);
	line-height: 1.25;
}

.page-id-25 .mkdf-testimonial-content-inner,
.page-id-25 .mkdf-accordion-holder.mkdf-ac-boxed .mkdf-accordion-title,
.page-id-25 .mkdf-accordion-holder.mkdf-ac-boxed .mkdf-accordion-content {
	border-radius: var(--ab-radius);
}

.page-id-25 .mkdf-testimonial-content-inner {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	box-shadow: 0 10px 34px rgba(0, 26, 77, 0.08);
}

.page-id-25 .mkdf-pie-chart-holder {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	padding: 26px;
	box-shadow: 0 10px 34px rgba(0, 26, 77, 0.08);
}

.page-id-25 .elementor-element-0abadbe .elementor-column,
.page-id-25 .elementor-element-816764f .elementor-column,
.page-id-25 .elementor-element-8d4e237 .elementor-column,
.page-id-25 .elementor-element-390696f .elementor-column,
.page-id-25 .elementor-element-69d7644 .elementor-column,
.page-id-25 .elementor-element-ba216f3 .elementor-column,
.page-id-25 .elementor-element-6bbca29 .elementor-column,
.page-id-25 .elementor-element-1a4e971 .elementor-column,
.page-id-25 .elementor-element-c4452dc .elementor-column {
	margin-bottom: 0 !important;
}

.page-id-25 .elementor-element-0abadbe .elementor-widget-wrap,
.page-id-25 .elementor-element-816764f .elementor-widget-wrap,
.page-id-25 .elementor-element-8d4e237 .elementor-widget-wrap,
.page-id-25 .elementor-element-390696f .elementor-widget-wrap,
.page-id-25 .elementor-element-69d7644 .elementor-widget-wrap,
.page-id-25 .elementor-element-ba216f3 .elementor-widget-wrap,
.page-id-25 .elementor-element-6bbca29 .elementor-widget-wrap,
.page-id-25 .elementor-element-1a4e971 .elementor-widget-wrap,
.page-id-25 .elementor-element-c4452dc .elementor-widget-wrap {
	height: 100%;
	padding: 24px !important;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-radius);
	box-shadow: 0 8px 26px rgba(0, 26, 77, 0.06);
}

.page-id-25 .elementor-widget-heading h4 {
	line-height: 1.3;
}

.page-id-25 .elementor-widget-text-editor p,
.page-id-25 .elementor-widget-text-editor strong {
	color: #5d6878;
	line-height: 1.65;
}

.mkdf-page-footer .mkdf-footer-top-holder {
	background:
		linear-gradient(135deg, rgba(0, 26, 77, 0.98), rgba(0, 35, 90, 0.94)),
		radial-gradient(circle at 92% 8%, rgba(237, 43, 36, 0.28), transparent 28%);
}

.mkdf-page-footer .mkdf-widget-title {
	letter-spacing: -0.01em;
}

/* ─── Footer brand mark — logo image above the first column ─── */
.mkdf-page-footer .mkdf-footer-column-1:first-of-type .mkdf-widget-title-holder::before {
	content: "";
	display: block;
	width: 72px;
	height: 72px;
	background-image: url("../img/albadyea-new-logo-300x235.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	filter: brightness(0) invert(1);
	margin-bottom: 18px;
	opacity: 0.95;
}

/* Slight tagline-like styling on the first column's title (now company name) */
.mkdf-page-footer .mkdf-footer-column-1:first-of-type .mkdf-widget-title {
	font-family: var(--ab-font-display);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.005em;
	margin-bottom: 14px;
}

.mkdf-page-footer a:hover {
	color: #ffb3b0 !important;
}

.mkdf-page-footer .mkdf-footer-bottom-holder {
	background: #06142c;
}

#mkdf-back-to-top {
	border-radius: 999px;
	box-shadow: 0 12px 30px rgba(0, 26, 77, 0.22);
}

@media only screen and (max-width: 1200px) {
	.mkdf-main-menu > ul > li > a {
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media only screen and (max-width: 1024px) {
	.mkdf-top-bar {
		display: none;
	}

	.mkdf-content {
		margin-top: 0 !important;
	}

	.mkdf-mobile-header {
		position: sticky;
		top: 0;
		z-index: 999;
	}

	.mkdf-mobile-header .mkdf-mobile-header-holder {
		background: var(--ab-white);
	}

	.mkdf-mobile-nav {
		box-shadow: 0 18px 35px rgba(0, 26, 77, 0.12);
	}

	.mkdf-mobile-nav ul li a,
	.mkdf-mobile-nav ul li h6 {
		font-size: 15px;
		font-weight: 700;
	}

	#rev_slider_1_1_wrapper,
	#rev_slider_1_1,
	#rev_slider_1_1_forcefullwidth {
		min-height: 620px !important;
	}

	.page-id-25 .elementor-section {
		padding-left: 22px;
		padding-right: 22px;
	}

	.page-id-25 .elementor-element-584e799b {
		padding-top: 64px;
	}

	.page-id-25 .elementor-column {
		width: 100% !important;
	}

	.page-id-25 .elementor-widget-wrap {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.page-id-25 .elementor-element-84deb74,
	.page-id-25 .elementor-element-a2b2351 {
		max-width: 100%;
		margin: 18px 0 0;
	}

	.page-id-25 .elementor-element-6cd90b69 .elementor-widget-html img {
		max-height: 360px;
	}

	.page-id-25 .mkdf-row-background-text-holder {
		display: none;
	}

	.page-id-25 .mkdf-team-holder,
	.page-id-25 .mkdf-pie-chart-holder,
	.page-id-25 .mkdf-testimonial-content-inner {
		margin-bottom: 22px;
	}
}

@media only screen and (max-width: 680px) {
	.mkdf-mobile-header .mkdf-mobile-logo-wrapper .mkdf-text-logo,
	.mkdf-logo-wrapper.mkdf-text-logo-type .mkdf-text-logo {
		font-size: 21px !important;
		line-height: 1.1;
	}

	#rev_slider_1_1_wrapper,
	#rev_slider_1_1,
	#rev_slider_1_1_forcefullwidth {
		min-height: 560px !important;
	}

	#rev_slider_1_1_wrapper .wilmer-navigation.tparrows {
		width: 52px !important;
		height: 52px !important;
	}

	#rev_slider_1_1_wrapper .wilmer-navigation.tparrows::before {
		line-height: 52px !important;
		font-size: 24px !important;
	}

	.page-id-25 .elementor-section {
		padding-left: 18px;
		padding-right: 18px;
	}

	.page-id-25 .mkdf-section-title-holder .mkdf-st-title,
	.page-id-25 .elementor-widget-text-editor h2 {
		font-size: clamp(34px, 10vw, 48px);
		line-height: 1.05;
	}

	.page-id-25 .mkdf-section-title-holder .mkdf-st-text {
		font-size: 16px;
		line-height: 1.75 !important;
	}

	.page-id-25 .elementor-element-6cd90b69 .elementor-widget-html img {
		max-height: 300px;
	}

	.page-id-25 .mkdf-team-info {
		padding: 16px;
	}

	.page-id-25 .mkdf-pie-chart-holder {
		text-align: center;
	}

	.page-id-25 .elementor-widget-heading h4 {
		font-size: 21px;
	}

	.page-id-25 .elementor-element-c827947 .mkdf-btn,
	.page-id-25 .elementor-element-2a35e76 .mkdf-btn {
		display: block;
		width: 100%;
		margin: 0 !important;
		text-align: center;
	}

	.mkdf-page-footer .mkdf-footer-bottom-column-2 p {
		margin-left: 0 !important;
		text-align: center;
	}

	footer .mkdf-btn.mkdf-footer-logo-btn {
		width: 100%;
		padding-left: 18px;
		padding-right: 18px;
		text-align: center;
	}
}

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

/* ─────────────────────────────────────────────────────────────────
 * Modern hero section — front page
 * Replaces the old Revolution Slider with a fast static block
 * ───────────────────────────────────────────────────────────────── */

.ab-hero {
	/* Break out of .mkdf-content-inner constraints into the full viewport.
	 * The page sits under a transparent header pulled up by margin-top: -110px,
	 * so we add equivalent top padding to clear it. */
	position: relative;
	overflow: hidden;
	color: #fff;
	box-sizing: border-box;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	margin-top: 0;
	margin-bottom: 0;
	background:
		radial-gradient(circle at 88% 18%, rgba(237, 43, 36, 0.45), transparent 40%),
		radial-gradient(circle at 8% 88%, rgba(237, 43, 36, 0.18), transparent 45%),
		linear-gradient(135deg, #001a4d 0%, #00235a 55%, #001a4d 100%);
	padding-top: clamp(170px, 14vw, 230px); /* clears the overlapping transparent header */
	padding-right: clamp(20px, 5vw, 80px);
	padding-bottom: clamp(50px, 7vw, 90px);
	padding-left: clamp(20px, 5vw, 80px);
	font-family: "Poppins", "Roboto", system-ui, sans-serif;
}

/* Big watermark logo behind the hero — visual brand presence */
.ab-hero::after {
	content: "";
	position: absolute;
	right: -120px;
	bottom: -180px;
	width: clamp(380px, 42vw, 620px);
	height: clamp(380px, 42vw, 620px);
	background-image: url("../img/albadyea-new-logo-1024x804.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.07;
	filter: brightness(0) invert(1);
	pointer-events: none;
	z-index: 0;
	transform: rotate(-12deg);
}

.ab-hero__inner,
.ab-hero__strip { position: relative; z-index: 1; }

/* Cancel any stray .mkdf-slider container left over by the theme when no slider is configured. */
.page-id-25 .mkdf-content-inner > .mkdf-slider:empty,
.page-id-25 .mkdf-content-inner > .mkdf-slider .mkdf-slider-inner:empty {
	display: none !important;
}

.page-id-25 .mkdf-content {
	margin-top: 0 !important;
}

.ab-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(rgba(255, 255, 255, 0.08) 1px, transparent 1px);
	background-size: 30px 30px;
	opacity: 0.4;
	pointer-events: none;
}

.ab-hero__inner {
	position: relative;
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}

.ab-hero__content {
	max-width: 640px;
}

.ab-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: #fff;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.ab-hero__badge svg {
	color: #ed2b24;
	fill: #ed2b24;
}

.ab-hero__title {
	margin: 22px 0 18px;
	font-size: clamp(30px, 4.4vw, 52px);
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: #fff;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: auto;
}

.ab-hero__title-accent {
	color: #ed2b24;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	background-image: linear-gradient(transparent 88%, rgba(237, 43, 36, 0.35) 88%);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding-bottom: 2px;
}

.ab-hero__lead {
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 24px;
	max-width: 580px;
}

.ab-hero__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 32px;
	padding: 0;
}

.ab-hero__chips li {
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.92);
	transition: background 200ms ease, transform 200ms ease;
}

.ab-hero__chips li:hover {
	background: rgba(255, 255, 255, 0.14);
	transform: translateY(-1px);
}

.ab-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.ab-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 28px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: all 220ms cubic-bezier(0.4, 0, 0.2, 1);
	cursor: pointer;
	border: 2px solid transparent;
	font-family: inherit;
}

.ab-btn--primary {
	background: #ed2b24;
	color: #fff;
	box-shadow: 0 10px 24px rgba(237, 43, 36, 0.35);
}

.ab-btn--primary:hover {
	background: #c91f19;
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(237, 43, 36, 0.45);
	color: #fff;
}

.ab-btn--ghost {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.ab-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.16);
	border-color: rgba(255, 255, 255, 0.5);
	color: #fff;
	transform: translateY(-2px);
}

.ab-hero__visual {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
}

.ab-hero__card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 20px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 18px;
	color: #fff;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform 240ms ease, background 240ms ease;
}

.ab-hero__card:hover {
	background: rgba(255, 255, 255, 0.1);
	transform: translateY(-3px);
}

.ab-hero__card svg {
	color: #ed2b24;
	margin-bottom: 4px;
}

.ab-hero__card strong {
	font-size: 28px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.ab-hero__card span {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.3;
}

.ab-hero__card--2 { transform: translateY(-14px); }
.ab-hero__card--3 { transform: translateY(14px); }

.ab-hero__card--2:hover { transform: translateY(-17px); }
.ab-hero__card--3:hover { transform: translateY(11px); }

.ab-hero__strip {
	position: relative;
	max-width: 1280px;
	margin: clamp(40px, 6vw, 70px) auto 0;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.ab-hero__strip-item {
	display: flex;
	align-items: center;
	gap: 10px;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	font-weight: 500;
}

.ab-hero__strip-item svg {
	color: #ed2b24;
	flex-shrink: 0;
}

/* Responsive */
@media (max-width: 960px) {
	.ab-hero__inner {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.ab-hero__visual {
		max-width: 480px;
	}
	.ab-hero__strip {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 540px) {
	.ab-hero__visual {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.ab-hero__card {
		padding: 16px 14px;
	}
	.ab-hero__card strong {
		font-size: 22px;
	}
	.ab-hero__card--2,
	.ab-hero__card--3 {
		transform: none;
	}
	.ab-hero__strip {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.ab-btn {
		padding: 12px 22px;
		font-size: 14px;
	}
}

/* ═════════════════════════════════════════════════════════════════
 * BRIDGE BAND — between dark hero and light content
 * Soft slate background, animated logo strip, smooth color transition.
 * ═════════════════════════════════════════════════════════════════ */

.ab-bridge {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(40px, 5vw, 70px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
	border-bottom: 1px solid var(--ab-line);
	overflow: hidden;
	font-family: var(--ab-font-display);
}

.ab-bridge__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
}

.ab-bridge__label {
	display: inline-flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ab-muted);
	white-space: nowrap;
}

.ab-bridge__line {
	width: 48px;
	height: 1px;
	background: var(--ab-line-2);
}

.ab-bridge__logos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
	width: 100%;
}

.ab-bridge__logos li {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 16px 20px;
	background: #ffffff;
	border: 1px solid rgba(13, 27, 42, 0.08);
	border-radius: 10px;
	font-family: var(--ab-font-display, Poppins, sans-serif);
	font-size: 14.5px;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: #0d1b2a;
	text-align: center;
	cursor: default;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease, color 220ms ease;
}

.ab-bridge__logos li:hover {
	transform: translateY(-3px);
	border-color: #ff0000;
	box-shadow: 0 10px 28px rgba(13, 27, 42, 0.1);
	color: #ff0000;
}

@media (max-width: 1024px) {
	.ab-bridge__logos { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
	.ab-bridge__label { font-size: 11px; gap: 10px; }
	.ab-bridge__line { width: 24px; }
	.ab-bridge__logos { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.ab-bridge__logos li { min-height: 56px; padding: 12px 14px; font-size: 13px; }
}

/* ═════════════════════════════════════════════════════════════════
 * STEP 3 — "WHO WE ARE" + Mikado section title widget refresh
 * Aligns the Elementor mkdf_section_title widget with the design
 * system. Targets all section title widgets across the site for a
 * consistent look without rebuilding pages in Elementor.
 * ═════════════════════════════════════════════════════════════════ */

/* Section title widget — eyebrow */
.mkdf-section-title-holder .mkdf-st-intro-title {
	display: inline-block;
	font-family: var(--ab-font-display) !important;
	font-size: var(--ab-fs-eyebrow) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: var(--ab-red) !important;
	margin: 0 0 var(--ab-s-3) !important;
	padding: 0 !important;
}

/* Eyebrow as a colored pill (more visible) */
.mkdf-section-title-holder .mkdf-st-intro-title::before {
	content: "";
	display: inline-block;
	width: 28px;
	height: 2px;
	background: var(--ab-red);
	vertical-align: middle;
	margin-right: 12px;
	border-radius: 2px;
}

/* Section title — H2 */
.mkdf-section-title-holder .mkdf-st-title {
	font-family: var(--ab-font-display) !important;
	font-size: var(--ab-fs-h2) !important;
	font-weight: 800 !important;
	line-height: var(--ab-lh-tight) !important;
	letter-spacing: -0.015em !important;
	color: var(--ab-ink) !important;
	margin: 0 0 var(--ab-s-4) !important;
	padding: 0 !important;
}

/* Lead paragraph */
.mkdf-section-title-holder .mkdf-st-text {
	font-family: var(--ab-font-body) !important;
	font-size: var(--ab-fs-lead) !important;
	line-height: var(--ab-lh-normal) !important;
	color: var(--ab-slate) !important;
	margin: 0 0 var(--ab-s-6) !important;
	max-width: 64ch;
}

/* ─── Mikado solid button — match design system primary ─── */
.mkdf-btn.mkdf-btn-solid {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 14px 28px !important;
	background: var(--ab-red) !important;
	color: #fff !important;
	border: 2px solid transparent !important;
	border-radius: var(--ab-r-pill) !important;
	font-family: var(--ab-font-display) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	line-height: 1 !important;
	box-shadow: var(--ab-shadow-red) !important;
	transition: all 220ms var(--ab-ease) !important;
	text-transform: none !important;
}

.mkdf-btn.mkdf-btn-solid:hover {
	background: var(--ab-red-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(237, 43, 36, 0.42) !important;
	color: #fff !important;
}

.mkdf-btn.mkdf-btn-solid .mkdf-btn-text {
	color: inherit !important;
	font: inherit !important;
}

/* Subtle arrow after the button */
.mkdf-btn.mkdf-btn-solid::after {
	content: "";
	width: 18px;
	height: 18px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 5l7 7-7 7'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	transition: transform 220ms var(--ab-ease);
}

.mkdf-btn.mkdf-btn-solid:hover::after {
	transform: translateX(3px);
}

/* ─── Section padding for the home content area ─── */
.page-id-25 .elementor-widget-mkdf_section_title {
	padding-top: var(--ab-s-5);
	padding-bottom: var(--ab-s-3);
}

/* ─── Right column images on Who We Are: round corners + shadow + stagger ─── */
.page-id-25 .elementor-widget-html img {
	width: 100%;
	height: auto;
	border-radius: var(--ab-r-lg);
	box-shadow: var(--ab-shadow-md);
	transition: transform 320ms var(--ab-ease), box-shadow 320ms var(--ab-ease);
}

.page-id-25 .elementor-widget-html img:hover {
	transform: translateY(-4px);
	box-shadow: var(--ab-shadow-lg);
}

/* Subtle stagger for the two stacked images on Who We Are */
.page-id-25 .elementor-widget-html:first-child + .elementor-widget-html img,
.page-id-25 .elementor-widget-html + .elementor-widget-html img {
	margin-top: var(--ab-s-4);
}

/* ─── Section spacing — calibrated, not blanket ─── */
/* Default top sections get a moderate breathing room. */
.page-id-25 .elementor-section.elementor-top-section {
	padding-top: clamp(20px, 3vw, 40px);
	padding-bottom: clamp(20px, 3vw, 40px);
}

/* Hero already handles its own padding — first section: minimal top. */
.page-id-25 .elementor > .elementor-section.elementor-top-section:first-child {
	padding-top: clamp(20px, 3vw, 40px);
}

/* Sections that need EXTRA breathing room (major content blocks) */
.page-id-25 .elementor-element-338d00cc,        /* Who We Are */
.page-id-25 .elementor-element-d0bc932,         /* Testimonials */
.page-id-25 .elementor-element-952e3d3,         /* Pie charts */
.page-id-25 .elementor-element-1a70ace {        /* Accordion + image */
	padding-top: clamp(48px, 6vw, 90px);
	padding-bottom: clamp(48px, 6vw, 90px);
}

/* Section "We offer labour supply..." title — minimal padding */
.page-id-25 .elementor-element-1ef3e2da {
	padding-top: clamp(40px, 5vw, 70px);
	padding-bottom: clamp(8px, 1.5vw, 16px);
}

/* The 9 individual company-list sections need ZERO extra padding —
 * they should sit tightly together as a single grid block. */
.page-id-25 .elementor-element-0abadbe,
.page-id-25 .elementor-element-816764f,
.page-id-25 .elementor-element-8d4e237,
.page-id-25 .elementor-element-390696f,
.page-id-25 .elementor-element-69d7644,
.page-id-25 .elementor-element-ba216f3,
.page-id-25 .elementor-element-6bbca29,
.page-id-25 .elementor-element-1a4e971,
.page-id-25 .elementor-element-c4452dc,
.page-id-25 .elementor-element-5723751,
.page-id-25 .elementor-element-183b804 {
	padding-top: 0 !important;
	padding-bottom: 12px !important;
}

/* Heading section right above the companies list — small bottom padding */
.page-id-25 .elementor-element-390b477 {
	padding-top: clamp(50px, 6vw, 80px) !important;
	padding-bottom: clamp(16px, 2vw, 24px) !important;
}

/* Final closing CTA section — restore standard padding */
.page-id-25 .elementor-element-6b703d1 {
	padding-top: clamp(40px, 5vw, 70px);
	padding-bottom: clamp(40px, 5vw, 70px);
}

/* Hide the giant decorative "Albadyea" watermark text behind the
 * categories section — pure clutter, doesn't add value. */
.page-id-25 .mkdf-row-background-text-holder { display: none !important; }

/* ═════════════════════════════════════════════════════════════════
 * STICKY HEADER — make it actually usable
 * Note: .mkdf-sticky-header is a TOP-LEVEL div in the DOM (NOT inside
 * .mkdf-page-header), so selectors must NOT prefix it.
 * Solid white background with shadow, fixed 76px height, lisible.
 * ═════════════════════════════════════════════════════════════════ */

.mkdf-sticky-header {
	background: #ffffff !important;
	box-shadow: 0 6px 24px rgba(0, 26, 77, 0.10) !important;
	border-bottom: 1px solid var(--ab-line);
}

.mkdf-sticky-header .mkdf-sticky-holder {
	background: transparent !important;
	height: 76px !important;
	box-shadow: none !important;
}

/* The vertical-align containers inside should match the height */
.mkdf-sticky-header .mkdf-vertical-align-containers,
.mkdf-sticky-header .mkdf-position-left,
.mkdf-sticky-header .mkdf-position-center,
.mkdf-sticky-header .mkdf-position-right,
.mkdf-sticky-header .mkdf-position-left-inner,
.mkdf-sticky-header .mkdf-position-center-inner,
.mkdf-sticky-header .mkdf-position-right-inner {
	height: 76px !important;
}

/* Sticky logo: compact red box, fixed height */
.mkdf-sticky-header .mkdf-logo-wrapper {
	height: 76px !important;
	display: flex !important;
	align-items: center;
}

.mkdf-sticky-header .mkdf-logo-wrapper.mkdf-text-logo-type a {
	background: var(--ab-red);
	padding: 0 22px 0 22px !important;
	border-radius: 0 0 12px 0;
	height: 76px !important;
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
	color: #fff !important;
	margin: 0 !important;
}

.mkdf-sticky-header .mkdf-text-logo {
	color: #fff !important;
	font-size: 17px !important;
	display: inline-flex !important;
	align-items: center;
	gap: 12px;
}

.mkdf-sticky-header .mkdf-text-logo::before {
	width: 34px !important;
	height: 34px !important;
	background-image: url("../img/albadyea-new-logo-300x235.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	filter: brightness(0) invert(1);
	flex-shrink: 0;
}

/* Sticky menu items in dark navy on white bg */
.mkdf-sticky-header .mkdf-main-menu > ul > li > a {
	color: var(--ab-ink) !important;
	height: 76px !important;
	line-height: 76px !important;
}

.mkdf-sticky-header .mkdf-main-menu > ul > li > a:hover,
.mkdf-sticky-header .mkdf-main-menu > ul > li.mkdf-active-item > a {
	color: var(--ab-red) !important;
}

.mkdf-sticky-header .mkdf-main-menu > ul > li > a .item_text {
	color: inherit !important;
}

/* Side menu / search openers in sticky */
.mkdf-sticky-header .mkdf-side-menu-button-opener,
.mkdf-sticky-header .mkdf-search-opener,
.mkdf-sticky-header .mkdf-side-menu-button-opener > * {
	color: var(--ab-ink) !important;
}

/* ═════════════════════════════════════════════════════════════════
 * COMPANIES GRID — turn the 9 stacked sections into a true grid
 * Each section originally has columns. Tighten gaps + make cards
 * proper hoverable cards with consistent height.
 * ═════════════════════════════════════════════════════════════════ */

.page-id-25 .elementor-element-0abadbe .elementor-container,
.page-id-25 .elementor-element-816764f .elementor-container,
.page-id-25 .elementor-element-8d4e237 .elementor-container,
.page-id-25 .elementor-element-390696f .elementor-container,
.page-id-25 .elementor-element-69d7644 .elementor-container,
.page-id-25 .elementor-element-ba216f3 .elementor-container,
.page-id-25 .elementor-element-6bbca29 .elementor-container,
.page-id-25 .elementor-element-1a4e971 .elementor-container,
.page-id-25 .elementor-element-c4452dc .elementor-container,
.page-id-25 .elementor-element-5723751 .elementor-container,
.page-id-25 .elementor-element-183b804 .elementor-container {
	gap: 16px;
}

/* Restyle the company cards (already had base styles earlier) */
.page-id-25 .elementor-element-0abadbe .elementor-widget-wrap,
.page-id-25 .elementor-element-816764f .elementor-widget-wrap,
.page-id-25 .elementor-element-8d4e237 .elementor-widget-wrap,
.page-id-25 .elementor-element-390696f .elementor-widget-wrap,
.page-id-25 .elementor-element-69d7644 .elementor-widget-wrap,
.page-id-25 .elementor-element-ba216f3 .elementor-widget-wrap,
.page-id-25 .elementor-element-6bbca29 .elementor-widget-wrap,
.page-id-25 .elementor-element-1a4e971 .elementor-widget-wrap,
.page-id-25 .elementor-element-c4452dc .elementor-widget-wrap,
.page-id-25 .elementor-element-5723751 .elementor-widget-wrap,
.page-id-25 .elementor-element-183b804 .elementor-widget-wrap {
	height: 100%;
	padding: 22px !important;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-md);
	box-shadow: 0 4px 12px rgba(0, 26, 77, 0.04);
	transition: transform 220ms var(--ab-ease), box-shadow 220ms var(--ab-ease), border-color 220ms var(--ab-ease);
}

.page-id-25 [class*="elementor-element-0abadbe"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-816764f"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-8d4e237"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-390696f"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-69d7644"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-ba216f3"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-6bbca29"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-1a4e971"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-c4452dc"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-5723751"] .elementor-widget-wrap:hover,
.page-id-25 [class*="elementor-element-183b804"] .elementor-widget-wrap:hover {
	transform: translateY(-3px);
	border-color: rgba(237, 43, 36, 0.30);
	box-shadow: 0 14px 30px rgba(0, 26, 77, 0.08);
}

/* Company card title (h4) */
.page-id-25 [class*="elementor-element-0abadbe"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-816764f"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-8d4e237"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-390696f"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-69d7644"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-ba216f3"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-6bbca29"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-1a4e971"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-c4452dc"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-5723751"] .elementor-widget-heading h4,
.page-id-25 [class*="elementor-element-183b804"] .elementor-widget-heading h4 {
	font-family: var(--ab-font-display);
	font-size: 17px;
	font-weight: 700;
	color: var(--ab-ink);
	margin: 0 0 8px;
	line-height: 1.3;
}

/* Company card text */
.page-id-25 [class*="elementor-element-0abadbe"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-816764f"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-8d4e237"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-390696f"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-69d7644"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-ba216f3"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-6bbca29"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-1a4e971"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-c4452dc"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-5723751"] .elementor-widget-text-editor p,
.page-id-25 [class*="elementor-element-183b804"] .elementor-widget-text-editor p {
	font-size: 14px;
	color: var(--ab-muted);
	line-height: 1.5;
	margin: 0;
}

/* ═════════════════════════════════════════════════════════════════
 * TESTIMONIALS — fix overlap & broken slider rendering
 * ═════════════════════════════════════════════════════════════════ */

/* The Mikado testimonial slider (mkdf_testimonials) renders multiple
 * cards in a flex row that can break visually when JS is delayed.
 * Force them to be a clean responsive grid (no slider). */
.page-id-25 .mkdf-testimonials-holder {
	overflow: visible !important;
}

.page-id-25 .mkdf-testimonials-holder .mkdf-testimonials-inner {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	transform: none !important;
	width: 100% !important;
}

@media (max-width: 960px) {
	.page-id-25 .mkdf-testimonials-holder .mkdf-testimonials-inner {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.page-id-25 .mkdf-testimonials-holder .mkdf-testimonials-inner {
		grid-template-columns: 1fr;
	}
}

.page-id-25 .mkdf-testimonials-holder .mkdf-testimonial-content {
	width: 100% !important;
	margin: 0 !important;
}

/* Hide slider navigation arrows/dots if any */
.page-id-25 .mkdf-testimonials-holder .slick-arrow,
.page-id-25 .mkdf-testimonials-holder .slick-dots,
.page-id-25 .mkdf-testimonials-holder .mkdf-testimonials-navigation {
	display: none !important;
}

/* Each testimonial: clean card */
.page-id-25 .mkdf-testimonial-content-inner {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	padding: 28px 24px 22px;
	box-shadow: 0 6px 18px rgba(0, 26, 77, 0.05);
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Testimonial author — clean photo + name layout */
.page-id-25 .mkdf-testimonial-author-image {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 14px;
	flex-shrink: 0;
}

.page-id-25 .mkdf-testimonial-author-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ─── Who We Are section — bring it into the same visual language
 * as the hero: red eyebrow with bar, lifted images, accent corner. ─── */

/* Subtle red corner accent + container card feel */
.page-id-25 .elementor-element-584e799b {
	position: relative;
}

.page-id-25 .elementor-element-584e799b::before {
	content: "";
	position: absolute;
	top: -10px;
	left: -2vw;
	width: 240px;
	height: 240px;
	background: radial-gradient(circle at 30% 30%, rgba(237, 43, 36, 0.10), transparent 70%);
	pointer-events: none;
	z-index: 0;
}

/* Image stack — one big rounded image + accent block */
.page-id-25 .elementor-element-6cd90b69 {
	position: relative;
}

.page-id-25 .elementor-element-6cd90b69 .elementor-widget-html img {
	border: 6px solid #fff;
	box-shadow: 0 24px 60px rgba(0, 26, 77, 0.18);
	transition: transform 320ms var(--ab-ease), box-shadow 320ms var(--ab-ease);
}

/* Decorative red dot grid behind the images (echoes hero pattern) */
.page-id-25 .elementor-element-6cd90b69::before {
	content: "";
	position: absolute;
	top: -20px;
	right: -20px;
	width: 140px;
	height: 140px;
	background-image: radial-gradient(rgba(237, 43, 36, 0.32) 2px, transparent 2px);
	background-size: 16px 16px;
	z-index: 0;
	pointer-events: none;
	opacity: 0.5;
}

/* Floating mini-stat badge on the lower image */
.page-id-25 .elementor-element-a2b2351 {
	position: relative;
}

.page-id-25 .elementor-element-a2b2351::after {
	content: "★ Licensed №35 — Iraqi Ministry of Labor";
	position: absolute;
	left: 12px;
	bottom: 14px;
	display: inline-flex;
	align-items: center;
	padding: 10px 18px;
	background: var(--ab-white);
	color: var(--ab-ink);
	font-family: var(--ab-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	border-radius: var(--ab-r-pill);
	box-shadow: 0 14px 32px rgba(0, 26, 77, 0.18);
	pointer-events: none;
}

/* Make sure the column content sits above the decorative pseudo-elements */
.page-id-25 .elementor-element-584e799b > .elementor-container { position: relative; z-index: 1; }

/* ═════════════════════════════════════════════════════════════════
 * HOME — HIDE BROKEN / DEMO ELEMENTOR SECTIONS
 * Replaced by custom PHP-rendered sections (ab-stats, ab-services,
 * ab-process, ab-view-all, ab-closing).
 * ═════════════════════════════════════════════════════════════════ */

/* "We offer labour supply..." title (the chips in the hero already cover this) */
.page-id-25 .elementor-element-1ef3e2da,
/* Categories of labour — General/Skilled/Mason/Charge Hands (broken team widget) */
.page-id-25 .elementor-element-5f282de,
/* More categories — Electrician/Scaffolder etc (broken) */
.page-id-25 .elementor-element-bced62e,
/* Orphan button section */
.page-id-25 .elementor-element-434888c,
/* "What Clients Say" title (testimonials hidden) */
.page-id-25 .elementor-element-9976d5d,
/* Testimonials (Lorem ipsum demo content) */
.page-id-25 .elementor-element-d0bc932,
/* Pie charts (fake percentages from theme demo) */
.page-id-25 .elementor-element-952e3d3,
/* Accordion + image (theme demo content) */
.page-id-25 .elementor-element-1a70ace,
/* Junk "Discover More" final section with empty link */
.page-id-25 .elementor-element-6b703d1 {
	display: none !important;
}

/* Hide the extra company sections (keep only first 4 = 12 companies visible) */
.page-id-25 .elementor-element-69d7644,
.page-id-25 .elementor-element-ba216f3,
.page-id-25 .elementor-element-6bbca29,
.page-id-25 .elementor-element-1a4e971,
.page-id-25 .elementor-element-c4452dc,
.page-id-25 .elementor-element-5723751,
.page-id-25 .elementor-element-183b804 {
	display: none !important;
}

/* Section "Albadyea united supplied foreign Manpower..." heading — give it real space */
.page-id-25 .elementor-element-390b477 {
	padding-top: clamp(48px, 6vw, 90px) !important;
	padding-bottom: clamp(16px, 2vw, 28px) !important;
}

.page-id-25 .elementor-element-390b477 .elementor-widget-heading h2 {
	font-family: var(--ab-font-display);
	font-size: var(--ab-fs-h2);
	font-weight: 800;
	color: var(--ab-ink);
	line-height: var(--ab-lh-tight);
	letter-spacing: -0.015em;
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

/* ═════════════════════════════════════════════════════════════════
 * DARK SECTIONS — force white text for shared design-system classes
 * (.ab-h2/.ab-lead default to dark; override when nested in dark BG).
 * ═════════════════════════════════════════════════════════════════ */
.ab-stats .ab-h2,
.ab-sectors .ab-h2,
.ab-page-header .ab-h2,
.ab-stats .ab-section__header h2,
.ab-sectors .ab-section__header h2 {
	color: #fff !important;
}

.ab-stats .ab-lead,
.ab-sectors .ab-lead,
.ab-page-header .ab-lead,
.ab-stats .ab-section__header p,
.ab-sectors .ab-section__header p {
	color: rgba(255, 255, 255, 0.82) !important;
}

.ab-stats .ab-eyebrow,
.ab-sectors .ab-eyebrow {
	color: #ff8a85 !important;
}

/* ═════════════════════════════════════════════════════════════════
 * AB-STATS — dark navy stats section (replaces pie charts)
 * ═════════════════════════════════════════════════════════════════ */

.ab-stats {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background:
		radial-gradient(circle at 88% 18%, rgba(237, 43, 36, 0.30), transparent 42%),
		radial-gradient(circle at 8% 82%,  rgba(237, 43, 36, 0.12), transparent 45%),
		linear-gradient(135deg, #001a4d 0%, #00235a 55%, #001a4d 100%);
	color: #fff;
	overflow: hidden;
	font-family: var(--ab-font-body);
}

.ab-stats__inner {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.ab-stats__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
	margin-top: var(--ab-s-7);
}

.ab-stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 28px 24px;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--ab-r-lg);
	color: #fff;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform 240ms var(--ab-ease), background 240ms var(--ab-ease);
}

.ab-stat:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.10);
}

.ab-stat svg { color: var(--ab-red); margin-bottom: 6px; }

.ab-stat strong {
	font-family: var(--ab-font-display);
	font-size: clamp(30px, 3vw, 40px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.ab-stat span {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.74);
	line-height: 1.35;
}

.ab-stats__note {
	margin: var(--ab-s-7) auto 0;
	max-width: 760px;
	text-align: center;
	font-size: 14px;
	color: rgba(255, 255, 255, 0.74);
}

.ab-stats__note strong { color: #fff; font-weight: 700; }

/* Expandable "and more" toggle inside the recruitment offices line */
.ab-more {
	display: inline-block;
	margin-left: 6px;
	vertical-align: baseline;
}

.ab-more > summary {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 12px;
	background: rgba(237, 43, 36, 0.20);
	color: #fff;
	border: 1px solid rgba(237, 43, 36, 0.40);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
	transition: background 200ms var(--ab-ease);
}

.ab-more > summary::-webkit-details-marker { display: none; }
.ab-more > summary::marker { display: none; content: ""; }

.ab-more > summary:hover {
	background: rgba(237, 43, 36, 0.35);
}

.ab-more__chev {
	display: inline-block;
	font-size: 16px;
	line-height: 1;
	transform: rotate(90deg);
	transition: transform 200ms var(--ab-ease);
}

.ab-more[open] > summary .ab-more__chev {
	transform: rotate(-90deg);
}

.ab-more__list {
	display: inline-block;
	margin-left: 8px;
	font-weight: 700;
	color: #fff;
	animation: abFadeIn 240ms var(--ab-ease);
}

@keyframes abFadeIn {
	from { opacity: 0; transform: translateY(-2px); }
	to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 540px) {
	.ab-more {
		display: block;
		margin: 8px 0 0;
	}
	.ab-more__list { display: block; margin: 6px 0 0; }
}

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

/* ═════════════════════════════════════════════════════════════════
 * AB-SERVICES — six service cards (white section)
 * ═════════════════════════════════════════════════════════════════ */

.ab-services {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
	font-family: var(--ab-font-body);
}

.ab-services__inner { max-width: 1280px; margin: 0 auto; }

.ab-services__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-top: var(--ab-s-7);
}

.ab-service-card {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	padding: 28px 24px;
	transition: transform 240ms var(--ab-ease), box-shadow 240ms var(--ab-ease), border-color 240ms var(--ab-ease);
	height: 100%;
}

.ab-service-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.10);
	border-color: rgba(237, 43, 36, 0.30);
}

.ab-service-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--ab-red-soft);
	color: var(--ab-red);
	margin-bottom: var(--ab-s-4);
	transition: background 240ms var(--ab-ease), color 240ms var(--ab-ease);
}

.ab-service-card:hover .ab-service-card__icon {
	background: var(--ab-red);
	color: #fff;
}

.ab-service-card__title {
	font-family: var(--ab-font-display);
	font-size: 19px;
	font-weight: 700;
	color: var(--ab-ink);
	margin: 0 0 var(--ab-s-2);
	line-height: 1.25;
}

.ab-service-card__text {
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--ab-slate);
	margin: 0;
}

.ab-services__cta {
	text-align: center;
	margin-top: var(--ab-s-9);
}

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

/* ═════════════════════════════════════════════════════════════════
 * AB-PROCESS — 4 numbered steps (soft section)
 * ═════════════════════════════════════════════════════════════════ */

.ab-process {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
	font-family: var(--ab-font-body);
}

.ab-process__inner { max-width: 1280px; margin: 0 auto; }

.ab-process__steps {
	list-style: none;
	margin: var(--ab-s-7) 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	position: relative;
}

.ab-process__steps::before {
	content: "";
	position: absolute;
	top: 32px;
	left: 12%;
	right: 12%;
	height: 2px;
	background: repeating-linear-gradient(
		90deg,
		var(--ab-line-2) 0 6px,
		transparent 6px 12px
	);
	z-index: 0;
}

.ab-process-step {
	position: relative;
	z-index: 1;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	padding: 24px 22px 22px;
	text-align: center;
	transition: transform 240ms var(--ab-ease), box-shadow 240ms var(--ab-ease);
}

.ab-process-step:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.08);
}

.ab-process-step__num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--ab-red);
	color: #fff;
	font-family: var(--ab-font-display);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0.01em;
	margin: 0 auto 14px;
	box-shadow: 0 8px 20px rgba(237, 43, 36, 0.30);
}

.ab-process-step__title {
	font-family: var(--ab-font-display);
	font-size: 17px;
	font-weight: 700;
	color: var(--ab-ink);
	margin: 0 0 6px;
}

.ab-process-step__text {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ab-slate);
	margin: 0;
}

@media (max-width: 960px) {
	.ab-process__steps { grid-template-columns: repeat(2, 1fr); }
	.ab-process__steps::before { display: none; }
}
@media (max-width: 480px) {
	.ab-process__steps { grid-template-columns: 1fr; }
}

/* ═════════════════════════════════════════════════════════════════
 * AB-VIEW-ALL — link to full clients list under the 12 visible
 * ═════════════════════════════════════════════════════════════════ */

.ab-view-all {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 12px 20px clamp(40px, 5vw, 70px);
	background: var(--ab-white);
	text-align: center;
	font-family: var(--ab-font-body);
}

.ab-view-all__inner { max-width: 1280px; margin: 0 auto; }

.ab-view-all__label {
	font-size: 14px;
	color: var(--ab-muted);
	margin: 0 0 var(--ab-s-4);
	font-style: italic;
}

/* ═════════════════════════════════════════════════════════════════
 * AB-CLOSING — final call-to-action band
 * ═════════════════════════════════════════════════════════════════ */

.ab-closing {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background:
		radial-gradient(circle at 90% 10%, rgba(237, 43, 36, 0.10), transparent 40%),
		var(--ab-soft);
	border-top: 1px solid var(--ab-line);
	border-bottom: 1px solid var(--ab-line);
	font-family: var(--ab-font-body);
}

.ab-closing__inner {
	max-width: 880px;
	margin: 0 auto;
	text-align: center;
}

/* Force inner blocks to center properly — the .ab-lead has a max-width
   inherited from the design system that needs auto margins to center. */
.ab-closing__inner .ab-eyebrow,
.ab-closing__inner .ab-h2,
.ab-closing__inner .ab-lead {
	margin-left: auto !important;
	margin-right: auto !important;
}

.ab-closing__inner .ab-lead {
	max-width: 56ch;
}

.ab-closing__cta {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin: var(--ab-s-6) 0 var(--ab-s-7);
}

/* Equalize button widths for visual balance */
.ab-closing__cta .ab-btn {
	min-width: 240px;
	justify-content: center;
}

.ab-closing__contact {
	font-size: 15px;
	color: var(--ab-muted);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin: 0 auto;
}

.ab-closing__contact a {
	color: var(--ab-ink);
	text-decoration: none;
	font-weight: 600;
}

.ab-closing__contact a:hover {
	color: var(--ab-red);
}

/* ═════════════════════════════════════════════════════════════════
 * MODERN FOOTER — replaces the broken widget-area footer
 * ═════════════════════════════════════════════════════════════════ */

/* Hide the original Wilmer widget-area footer (broken icons, etc.) */
.mkdf-page-footer .mkdf-footer-top-holder,
.mkdf-page-footer .mkdf-footer-bottom-holder {
	display: none !important;
}

/* Container — full bleed, dark navy with subtle red glow */
.ab-footer {
	width: 100%;
	background:
		radial-gradient(circle at 92% 8%, rgba(237, 43, 36, 0.18), transparent 32%),
		linear-gradient(135deg, #001a4d 0%, #00235a 55%, #001a4d 100%);
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--ab-font-body);
}

.ab-footer__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: clamp(56px, 6vw, 90px) clamp(20px, 5vw, 60px) clamp(32px, 4vw, 56px);
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
	gap: clamp(28px, 4vw, 56px);
	align-items: start;
}

.ab-footer__col {}

/* ─── BRAND column ─── */
.ab-footer__logo {
	width: 64px;
	height: 64px;
	background-image: url("../img/albadyea-new-logo-300x235.png");
	background-repeat: no-repeat;
	background-position: left center;
	background-size: contain;
	filter: brightness(0) invert(1);
	margin-bottom: 14px;
}

.ab-footer__brand-name {
	font-family: var(--ab-font-display);
	font-size: 20px;
	font-weight: 800;
	color: #fff;
	margin: 0 0 10px;
	letter-spacing: -0.005em;
}

.ab-footer__brand-text {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.74);
	margin: 0 0 18px;
	max-width: 38ch;
}

.ab-footer__license {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 14px;
	background: rgba(237, 43, 36, 0.15);
	border: 1px solid rgba(237, 43, 36, 0.40);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #fff;
	margin: 0;
}

.ab-footer__license svg { color: #ffd64d; }

/* ─── Section titles ─── */
.ab-footer__title {
	font-family: var(--ab-font-display);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #fff;
	margin: 0 0 var(--ab-s-5);
	position: relative;
	padding-bottom: 10px;
}

.ab-footer__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: var(--ab-red);
	border-radius: 2px;
}

/* ─── Links list (Quick links) ─── */
.ab-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ab-footer__links li {
	margin-bottom: 10px;
}

.ab-footer__links a {
	color: rgba(255, 255, 255, 0.74);
	text-decoration: none;
	font-size: 14px;
	transition: color 200ms var(--ab-ease), padding-left 200ms var(--ab-ease);
	display: inline-block;
	position: relative;
}

.ab-footer__links a::before {
	content: "›";
	color: var(--ab-red);
	margin-right: 8px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 200ms var(--ab-ease), transform 200ms var(--ab-ease);
	display: inline-block;
}

.ab-footer__links a:hover {
	color: #fff;
}

.ab-footer__links a:hover::before {
	opacity: 1;
	transform: translateX(0);
}

/* ─── Recruitment offices grid (2 cols) ─── */
.ab-footer__offices {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 18px;
}

.ab-footer__offices li {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.78);
	padding-left: 16px;
	position: relative;
}

.ab-footer__offices li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--ab-red);
}

/* ─── Contact list ─── */
.ab-footer__contact {
	list-style: none;
	margin: 0 0 var(--ab-s-5);
	padding: 0;
}

.ab-footer__contact li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.78);
}

.ab-footer__contact li svg {
	color: var(--ab-red);
	flex-shrink: 0;
	margin-top: 2px;
}

.ab-footer__contact li a {
	color: rgba(255, 255, 255, 0.78);
	text-decoration: none;
	transition: color 200ms var(--ab-ease);
}

.ab-footer__contact li a:hover {
	color: #fff;
}

/* Sub-numbers (no icon) — indented under main phone */
.ab-footer__contact--sub {
	padding-left: 30px;
	margin-top: -6px !important;
	font-size: 13px !important;
	color: rgba(255, 255, 255, 0.6) !important;
}

/* ─── Social icons ─── */
.ab-footer__socials {
	display: flex;
	gap: 10px;
}

.ab-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.85);
	transition: all 220ms var(--ab-ease);
}

.ab-footer__socials a:hover {
	background: var(--ab-red);
	border-color: var(--ab-red);
	color: #fff;
	transform: translateY(-2px);
}

/* ─── Bottom strip ─── */
.ab-footer__bottom {
	background: #06142c;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.ab-footer__bottom-inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 18px clamp(20px, 5vw, 60px);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
}

.ab-footer__copy { margin: 0; }
.ab-footer__copy strong { color: #fff; font-weight: 700; }

.ab-footer__legal {
	margin: 0;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.45);
}

/* Responsive */
@media (max-width: 1024px) {
	.ab-footer__inner {
		grid-template-columns: 1fr 1fr;
		gap: 40px;
	}
}

@media (max-width: 600px) {
	.ab-footer__inner {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.ab-footer__bottom-inner {
		flex-direction: column;
		text-align: center;
	}
}


/* ═════════════════════════════════════════════════════════════════
 * INTERNAL PAGES — shared components
 * Used by Our Services and (later) other internal pages.
 * ═════════════════════════════════════════════════════════════════ */

/* ─── Hide the original Elementor content on Our Services (id 1636) ─── */
.page-id-1636 .mkdf-content > .mkdf-content-inner > .mkdf-full-width {
	/* The_content filter has already replaced the rendered content
	   in our PHP layer — but Elementor leaves wrapper markup. Trim it. */
}
.page-id-1636 .mkdf-content { margin-top: 0 !important; }

/* ═════════════════════════════════════════════════════════════════
 * AB-PAGE-HEADER — dark navy hero for internal pages
 * ═════════════════════════════════════════════════════════════════ */

.ab-page-header {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(140px, 14vw, 200px) clamp(20px, 5vw, 80px) clamp(50px, 6vw, 80px);
	background:
		radial-gradient(circle at 88% 18%, rgba(237, 43, 36, 0.40), transparent 42%),
		radial-gradient(circle at 8% 88%,  rgba(237, 43, 36, 0.16), transparent 45%),
		linear-gradient(135deg, #001a4d 0%, #00235a 55%, #001a4d 100%);
	color: #fff;
	overflow: hidden;
	font-family: var(--ab-font-body);
}

.ab-page-header::after {
	content: "";
	position: absolute;
	right: -100px;
	bottom: -160px;
	width: clamp(340px, 38vw, 540px);
	height: clamp(340px, 38vw, 540px);
	background-image: url("../img/albadyea-new-logo-1024x804.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.06;
	filter: brightness(0) invert(1);
	pointer-events: none;
	transform: rotate(-12deg);
	z-index: 0;
}

.ab-page-header__inner {
	position: relative;
	z-index: 1;
	max-width: 1280px;
	margin: 0 auto;
}

.ab-breadcrumb {
	display: flex;
	gap: 8px;
	font-size: 13px;
	margin-bottom: var(--ab-s-5);
	color: rgba(255, 255, 255, 0.65);
}

.ab-breadcrumb a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color 200ms var(--ab-ease);
}

.ab-breadcrumb a:hover { color: #fff; }
.ab-breadcrumb__current { color: #fff; font-weight: 600; }

.ab-page-header__title {
	font-family: var(--ab-font-display);
	font-size: clamp(40px, 6vw, 76px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0 0 var(--ab-s-5);
	max-width: 14ch;
}

.ab-page-header__lead {
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.82);
	margin: 0;
	max-width: 60ch;
}

/* ═════════════════════════════════════════════════════════════════
 * AB-QUICKSTATS — slim 4-figure strip below page header
 * ═════════════════════════════════════════════════════════════════ */

.ab-quickstats {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 0 clamp(20px, 5vw, 60px);
	background: var(--ab-soft);
	border-bottom: 1px solid var(--ab-line);
	font-family: var(--ab-font-body);
}

.ab-quickstats__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 28px 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	align-items: center;
}

.ab-qs {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: center;
	border-right: 1px solid var(--ab-line-2);
}

.ab-qs:last-child { border-right: none; }

.ab-qs strong {
	font-family: var(--ab-font-display);
	font-size: clamp(22px, 2.4vw, 32px);
	font-weight: 800;
	color: var(--ab-red);
	line-height: 1;
	letter-spacing: -0.015em;
}

.ab-qs span {
	font-size: 13px;
	color: var(--ab-muted);
	font-weight: 500;
	letter-spacing: 0.02em;
}

@media (max-width: 700px) {
	.ab-quickstats__inner { grid-template-columns: repeat(2, 1fr); gap: 22px; padding: 22px 0; }
	.ab-qs:nth-child(2) { border-right: none; }
	.ab-qs { padding: 6px 0; }
}

/* ═════════════════════════════════════════════════════════════════
 * AB-SERVICE-CARD — clickable variant for the services grid
 * ═════════════════════════════════════════════════════════════════ */

.ab-service-card--link {
	position: relative;
	text-decoration: none;
	color: inherit;
	display: block;
}

.ab-service-card--link .ab-service-card__arrow {
	position: absolute;
	top: 24px;
	right: 24px;
	width: 28px;
	height: 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--ab-soft);
	color: var(--ab-muted);
	font-size: 18px;
	font-weight: 700;
	transition: all 220ms var(--ab-ease);
}

.ab-service-card--link:hover .ab-service-card__arrow {
	background: var(--ab-red);
	color: #fff;
	transform: translateX(2px);
}

/* ═════════════════════════════════════════════════════════════════
 * AB-SVC-DETAIL — alternating image/text blocks per service
 * ═════════════════════════════════════════════════════════════════ */

.ab-svc-detail {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
	font-family: var(--ab-font-body);
}

.ab-svc-detail:nth-of-type(even) {
	background: var(--ab-soft);
}

.ab-svc-detail__inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: clamp(32px, 5vw, 80px);
	align-items: center;
}

.ab-svc-detail--flip .ab-svc-detail__inner {
	grid-template-columns: 1.2fr 1fr;
}

.ab-svc-detail--flip .ab-svc-detail__media {
	order: 2;
}

.ab-svc-detail__media {
	position: relative;
}

.ab-svc-detail__media img {
	width: 100%;
	height: auto;
	border-radius: var(--ab-r-lg);
	box-shadow: 0 24px 60px rgba(0, 26, 77, 0.18);
	border: 6px solid #fff;
	display: block;
}

.ab-svc-detail__placeholder {
	aspect-ratio: 4/3;
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--ab-line-2);
}

/* Decorative SVG panel — used when there's no relevant photo */
.ab-svc-detail__panel {
	position: relative;
	aspect-ratio: 1 / 1;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	border-radius: var(--ab-r-lg);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 26, 77, 0.18);
	border: 6px solid #fff;
}

.ab-svc-detail__panel svg {
	width: 100%;
	height: 100%;
	display: block;
}

.ab-svc-detail__panel-label {
	position: absolute;
	bottom: 14px;
	left: 14px;
	right: 14px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--ab-ink);
	border-radius: 999px;
	font-family: var(--ab-font-display);
	font-size: 13px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.02em;
	box-shadow: 0 8px 22px rgba(0, 26, 77, 0.18);
}

.ab-svc-detail__badges {
	position: absolute;
	bottom: 18px;
	left: 18px;
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}

.ab-svc-badge {
	display: inline-flex;
	align-items: center;
	padding: 8px 14px;
	background: var(--ab-white);
	color: var(--ab-ink);
	border-radius: 999px;
	font-family: var(--ab-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	box-shadow: 0 12px 28px rgba(0, 26, 77, 0.20);
}

.ab-svc-detail__body {
	max-width: 640px;
}

.ab-svc-detail__body .ab-eyebrow {
	color: var(--ab-red);
}

@media (max-width: 880px) {
	.ab-svc-detail__inner,
	.ab-svc-detail--flip .ab-svc-detail__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.ab-svc-detail--flip .ab-svc-detail__media {
		order: 0;
	}
}

/* ═════════════════════════════════════════════════════════════════
 * AB-SECTORS — industries served grid
 * ═════════════════════════════════════════════════════════════════ */

.ab-sectors {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background:
		radial-gradient(circle at 88% 18%, rgba(237, 43, 36, 0.30), transparent 42%),
		radial-gradient(circle at 8% 82%,  rgba(237, 43, 36, 0.12), transparent 45%),
		linear-gradient(135deg, #001a4d 0%, #00235a 55%, #001a4d 100%);
	color: #fff;
	overflow: hidden;
	font-family: var(--ab-font-body);
}

.ab-sectors__inner {
	max-width: 1280px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.ab-sectors__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	margin-top: var(--ab-s-7);
}

.ab-sector-card {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: var(--ab-r-lg);
	padding: 26px 24px;
	color: #fff;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	transition: transform 240ms var(--ab-ease), background 240ms var(--ab-ease);
}

.ab-sector-card:hover {
	transform: translateY(-4px);
	background: rgba(255, 255, 255, 0.10);
}

.ab-sector-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(237, 43, 36, 0.20);
	color: #fff;
	margin-bottom: 14px;
}

.ab-sector-card__title {
	font-family: var(--ab-font-display);
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px;
	line-height: 1.25;
}

.ab-sector-card__text {
	font-size: 13.5px;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.72);
	margin: 0;
}

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

/* ═════════════════════════════════════════════════════════════════
 * AB-CLIENTS — full custom layout for /our-supplied/ page
 * ═════════════════════════════════════════════════════════════════ */

/* ─── Premium clients strip (just under the header) ─── */
.ab-clients-premium {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(40px, 5vw, 70px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
	border-bottom: 1px solid var(--ab-line);
	font-family: var(--ab-font-display);
	box-sizing: border-box;
	overflow: hidden;
}

.ab-clients-premium__inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.ab-clients-premium__label {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ab-muted);
}

.ab-clients-premium__line {
	width: 36px;
	height: 1px;
	background: var(--ab-line-2);
}

.ab-clients-premium__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: clamp(24px, 4vw, 56px);
	width: 100%;
	max-width: 100%;
}

.ab-clients-premium__list li {
	font-size: clamp(15px, 1.4vw, 19px);
	font-weight: 700;
	color: var(--ab-ink);
	letter-spacing: 0.01em;
	transition: color 200ms var(--ab-ease), transform 200ms var(--ab-ease);
	cursor: default;
}

.ab-clients-premium__list li:hover {
	color: var(--ab-red);
	transform: translateY(-2px);
}

/* ─── Main clients grid + filters ─── */
.ab-clients {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
	font-family: var(--ab-font-body);
	box-sizing: border-box;
	overflow: hidden;
}

.ab-clients__inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
}

/* Filter buttons */
.ab-clients__filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: var(--ab-s-7) 0 var(--ab-s-7);
}

.ab-clients-filter {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 18px;
	background: var(--ab-soft);
	color: var(--ab-slate);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-pill);
	font-family: var(--ab-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	cursor: pointer;
	transition: all 200ms var(--ab-ease);
}

.ab-clients-filter:hover {
	background: var(--ab-white);
	border-color: var(--ab-red);
	color: var(--ab-red);
}

.ab-clients-filter.is-active {
	background: var(--ab-red);
	color: #fff;
	border-color: var(--ab-red);
	box-shadow: 0 8px 18px rgba(237, 43, 36, 0.25);
}

.ab-clients-filter__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	background: rgba(0, 26, 77, 0.08);
	color: var(--ab-ink);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 700;
}

.ab-clients-filter.is-active .ab-clients-filter__count {
	background: rgba(255, 255, 255, 0.25);
	color: #fff;
}

/* Cards grid */
.ab-clients__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

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

.ab-client-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 18px;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-md);
	transition: transform 220ms var(--ab-ease), box-shadow 220ms var(--ab-ease), border-color 220ms var(--ab-ease);
	min-width: 0;
}

.ab-client-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 26, 77, 0.10);
	border-color: rgba(237, 43, 36, 0.30);
}

.ab-client-card.is-hidden {
	display: none;
}

.ab-client-card.is-premium {
	background: linear-gradient(135deg, #ffffff 0%, #fef0ef 100%);
	border-color: rgba(237, 43, 36, 0.28);
}

.ab-client-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: var(--ab-red-soft);
	color: var(--ab-red);
}

.ab-client-card__name {
	font-family: var(--ab-font-display);
	font-size: 15px;
	font-weight: 700;
	color: var(--ab-ink);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.ab-client-card__sector {
	font-size: 12px;
	color: var(--ab-muted);
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin-top: auto;
}

.ab-client-card__star {
	position: absolute;
	top: 14px;
	right: 14px;
	color: var(--ab-red);
	font-size: 14px;
}

.ab-clients__note {
	margin: var(--ab-s-9) 0 0;
	text-align: center;
	font-size: 14px;
	font-style: italic;
	color: var(--ab-muted);
}

/* ═════════════════════════════════════════════════════════════════
 * AB-PATHS — "Choose your path" cards (Contact Us)
 * ═════════════════════════════════════════════════════════════════ */

.ab-paths {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
	font-family: var(--ab-font-body);
	box-sizing: border-box;
	overflow: hidden;
}

.ab-paths__inner { max-width: 1080px; width: 100%; margin: 0 auto; }

.ab-paths__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-top: var(--ab-s-7);
}

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

.ab-path-card {
	all: unset;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px 28px;
	background: #fff;
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	transition: transform 220ms var(--ab-ease), box-shadow 220ms var(--ab-ease), border-color 220ms var(--ab-ease);
	text-align: left;
	box-sizing: border-box;
}

.ab-path-card:hover,
.ab-path-card:focus-visible {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.10);
	border-color: rgba(237, 43, 36, 0.35);
}

.ab-path-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 14px;
	background: var(--ab-red-soft);
	color: var(--ab-red);
	transition: background 220ms var(--ab-ease), color 220ms var(--ab-ease);
}

.ab-path-card:hover .ab-path-card__icon {
	background: var(--ab-red);
	color: #fff;
}

.ab-path-card__title {
	font-family: var(--ab-font-display);
	font-size: clamp(20px, 1.8vw, 24px);
	font-weight: 800;
	color: var(--ab-ink);
	margin: 0;
	letter-spacing: -0.01em;
}

.ab-path-card__text {
	font-size: 15px;
	line-height: 1.55;
	color: var(--ab-slate);
	margin: 0;
}

.ab-path-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 6px;
	font-family: var(--ab-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ab-red);
}

/* ═════════════════════════════════════════════════════════════════
 * AB-METHODS — 4 quick contact cards
 * ═════════════════════════════════════════════════════════════════ */

.ab-methods {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(20px, 3vw, 36px) clamp(20px, 5vw, 80px) clamp(40px, 5vw, 70px);
	background: var(--ab-soft);
	font-family: var(--ab-font-body);
	box-sizing: border-box;
	overflow: hidden;
}

.ab-methods__inner { max-width: 1280px; width: 100%; margin: 0 auto; }

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

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

.ab-method-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 22px 20px;
	background: #fff;
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg);
	text-decoration: none;
	color: var(--ab-slate);
	transition: transform 220ms var(--ab-ease), box-shadow 220ms var(--ab-ease), border-color 220ms var(--ab-ease);
}

.ab-method-card:hover {
	transform: translateY(-3px);
	border-color: rgba(237, 43, 36, 0.30);
	box-shadow: 0 12px 28px rgba(0, 26, 77, 0.08);
	color: var(--ab-slate);
}

.ab-method-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: var(--ab-red-soft);
	color: var(--ab-red);
	margin-bottom: 6px;
}

.ab-method-card__label {
	font-family: var(--ab-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ab-muted);
}

.ab-method-card__value {
	font-family: var(--ab-font-display);
	font-size: 16px;
	font-weight: 700;
	color: var(--ab-ink);
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.ab-method-card__sub {
	font-size: 13px;
	color: var(--ab-muted);
	margin-top: 2px;
}

/* ═════════════════════════════════════════════════════════════════
 * AB-CONTACT-FORM — main form area + sidebar info
 * ═════════════════════════════════════════════════════════════════ */

.ab-contact-form {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
	font-family: var(--ab-font-body);
	box-sizing: border-box;
	overflow: hidden;
	scroll-margin-top: 100px;
}

.ab-contact-form__inner {
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}

@media (max-width: 880px) {
	.ab-contact-form__inner { grid-template-columns: 1fr; }
}

.ab-contact-form__main { min-width: 0; }
.ab-contact-form__side { min-width: 0; }

/* Form fields styling — overrides CF7 default */
.ab-form { margin-top: var(--ab-s-6); }

.ab-form__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-bottom: 18px;
}

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

.ab-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.ab-form__label {
	font-family: var(--ab-font-display);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ab-ink);
}

.ab-form__req {
	color: var(--ab-red);
	margin-left: 2px;
}

.ab-form input[type="text"],
.ab-form input[type="email"],
.ab-form input[type="tel"],
.ab-form input[type="url"],
.ab-form select,
.ab-form textarea {
	width: 100% !important;
	padding: 14px 16px !important;
	background: var(--ab-soft) !important;
	border: 1px solid var(--ab-line) !important;
	border-radius: var(--ab-r-md) !important;
	font-family: var(--ab-font-body) !important;
	font-size: 15px !important;
	color: var(--ab-ink) !important;
	transition: border-color 200ms var(--ab-ease), box-shadow 200ms var(--ab-ease), background 200ms var(--ab-ease);
	box-sizing: border-box;
	line-height: 1.4 !important;
}

.ab-form textarea { min-height: 140px; resize: vertical; }

.ab-form input:focus,
.ab-form select:focus,
.ab-form textarea:focus {
	outline: none !important;
	border-color: var(--ab-red) !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(237, 43, 36, 0.08) !important;
}

.ab-form input::placeholder,
.ab-form textarea::placeholder { color: var(--ab-muted); opacity: 0.7; }

/* CF7 wrappers */
.ab-form .wpcf7-form-control-wrap,
.ab-form .wpcf7-form-control { display: block; }

.ab-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--ab-red);
	font-weight: 600;
}

.ab-form .wpcf7-response-output {
	margin: 24px 0 0 !important;
	padding: 14px 18px !important;
	border: 1px solid var(--ab-line) !important;
	border-radius: var(--ab-r-md);
	font-size: 14px;
	background: var(--ab-soft);
}

.ab-form .wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--ab-success) !important;
	background: rgba(22, 163, 74, 0.08);
	color: var(--ab-success);
}

.ab-form .wpcf7 form.invalid .wpcf7-response-output,
.ab-form .wpcf7 form.failed .wpcf7-response-output {
	border-color: var(--ab-red) !important;
	background: rgba(237, 43, 36, 0.06);
	color: var(--ab-red);
}

.ab-form__submit {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 8px;
}

.ab-form__submit .wpcf7-submit,
.ab-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 14px 32px !important;
	background: var(--ab-red) !important;
	color: #fff !important;
	border: 2px solid transparent !important;
	border-radius: var(--ab-r-pill) !important;
	font-family: var(--ab-font-display) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(237, 43, 36, 0.30) !important;
	transition: all 220ms var(--ab-ease) !important;
	width: auto !important;
}

.ab-form__submit .wpcf7-submit:hover,
.ab-form input[type="submit"]:hover {
	background: var(--ab-red-dark) !important;
	transform: translateY(-2px);
	box-shadow: 0 16px 32px rgba(237, 43, 36, 0.42) !important;
}

.ab-form__note {
	font-size: 13px;
	color: var(--ab-muted);
	font-style: italic;
}

/* Spinner */
.ab-form .wpcf7-spinner { background-color: var(--ab-red); margin-left: 8px; }

/* ─── Sidebar ─── */
.ab-side-title {
	font-family: var(--ab-font-display);
	font-size: 18px;
	font-weight: 800;
	color: var(--ab-ink);
	margin: 0 0 var(--ab-s-5);
	padding-bottom: 10px;
	border-bottom: 2px solid var(--ab-red);
	display: inline-block;
}

.ab-side-block {
	display: flex;
	gap: 14px;
	padding: 16px 0;
	border-bottom: 1px solid var(--ab-line);
	align-items: flex-start;
}

.ab-side-block:last-of-type { border-bottom: none; }

.ab-side-block svg {
	color: var(--ab-red);
	flex-shrink: 0;
	margin-top: 3px;
}

.ab-side-block strong {
	display: block;
	font-family: var(--ab-font-display);
	font-size: 14px;
	font-weight: 700;
	color: var(--ab-ink);
	margin-bottom: 4px;
}

.ab-side-block p {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--ab-slate);
}

.ab-side-muted { color: var(--ab-muted); }

.ab-side-link {
	display: inline-block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 700;
	color: var(--ab-red);
	text-decoration: none;
	transition: color 200ms var(--ab-ease);
}

.ab-side-link:hover { color: var(--ab-red-dark); }

.ab-side-pledge {
	margin-top: 24px;
	padding: 22px;
	background:
		radial-gradient(circle at 90% 10%, rgba(237, 43, 36, 0.18), transparent 50%),
		linear-gradient(135deg, var(--ab-navy), var(--ab-navy-2));
	color: #fff;
	border-radius: var(--ab-r-lg);
	display: flex;
	align-items: center;
	gap: 16px;
}

.ab-side-pledge__num {
	font-family: var(--ab-font-display);
	font-size: 36px;
	font-weight: 800;
	color: #fff;
	line-height: 1;
	letter-spacing: -0.02em;
}

.ab-side-pledge__text {
	font-size: 14px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.88);
	line-height: 1.3;
}

/* ═════════════════════════════════════════════════════════════════
 * AB-CONTACT-MAP — full-bleed Google Maps with overlay card
 * ═════════════════════════════════════════════════════════════════ */

.ab-contact-map {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	height: clamp(420px, 55vw, 560px);
	background: var(--ab-soft);
	overflow: hidden;
	font-family: var(--ab-font-body);
}

.ab-contact-map__iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(0.10) contrast(1.05);
}

.ab-contact-map__overlay {
	position: absolute;
	top: clamp(28px, 4vw, 48px);
	left: clamp(20px, 5vw, 60px);
	max-width: 380px;
	padding: 28px 26px;
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-radius: var(--ab-r-lg);
	box-shadow: 0 24px 60px rgba(0, 26, 77, 0.25);
	z-index: 1;
}

.ab-contact-map__overlay .ab-eyebrow { color: var(--ab-red); }
.ab-contact-map__overlay .ab-h2 { font-size: clamp(22px, 2vw, 28px) !important; margin-top: 6px !important; }
.ab-contact-map__overlay .ab-lead { color: var(--ab-slate) !important; font-size: 15px; margin-bottom: 18px; }
.ab-contact-map__overlay .ab-btn { font-size: 14px; padding: 11px 22px; }

@media (max-width: 600px) {
	.ab-contact-map__overlay {
		left: 12px;
		right: 12px;
		max-width: none;
		padding: 20px 18px;
	}
}

/* ─────────────────────────────────────────────────────────────────
 *  ABOUT US PAGE
 * ───────────────────────────────────────────────────────────────── */

/* Identity strip */
.ab-about-strip {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ab-soft);
	border-bottom: 1px solid var(--ab-line);
	padding: 22px clamp(20px, 5vw, 80px);
}
.ab-about-strip__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 18px 32px;
}
.ab-about-strip__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--ab-ink);
	font-size: 14px;
}
.ab-about-strip__item svg { color: var(--ab-red); flex-shrink: 0; }
.ab-about-strip__item strong { color: var(--ab-ink); font-weight: 700; }

/* Story */
.ab-about-story {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
}
.ab-about-story__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}
@media (max-width: 880px) {
	.ab-about-story__inner { grid-template-columns: 1fr; }
}
.ab-about-story__text .ab-h2 { margin-top: 8px; }
.ab-about-story__text .ab-lead { margin-bottom: 18px; }
.ab-about-story__text p {
	color: var(--ab-slate, #344054);
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 16px;
}
.ab-about-story__text p strong { color: var(--ab-ink); font-weight: 700; }

.ab-about-story__media {
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.ab-about-story__card {
	padding: 28px 26px;
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg, 18px);
	border-left: 4px solid var(--ab-red);
}
.ab-about-story__card--alt {
	background: var(--ab-navy);
	color: #fff;
	border-color: var(--ab-navy);
	border-left-color: #fff;
}
.ab-about-story__card-eyebrow {
	display: block;
	font-family: var(--ab-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ab-red);
	margin-bottom: 10px;
}
.ab-about-story__card--alt .ab-about-story__card-eyebrow { color: rgba(255,255,255,0.85); }
.ab-about-story__card p {
	margin: 0;
	font-size: 15px;
	line-height: 1.6;
	color: var(--ab-ink);
}
.ab-about-story__card--alt p { color: rgba(255,255,255,0.92); }

/* What sets us apart */
.ab-about-diff {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
}
.ab-about-diff__inner { max-width: 1280px; margin: 0 auto; }
.ab-about-diff__grid {
	margin-top: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 880px) { .ab-about-diff__grid { grid-template-columns: 1fr; } }
.ab-about-diff__card {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg, 18px);
	padding: 30px 26px;
	transition: transform 220ms var(--ab-ease, ease), box-shadow 220ms var(--ab-ease, ease);
}
.ab-about-diff__card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.10);
}
.ab-about-diff__icon {
	display: inline-flex;
	width: 52px;
	height: 52px;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(237, 43, 36, 0.1);
	color: var(--ab-red);
	margin-bottom: 18px;
}
.ab-about-diff__title {
	font-family: var(--ab-font-display);
	font-size: 20px;
	font-weight: 700;
	color: var(--ab-ink);
	margin: 0 0 10px;
}
.ab-about-diff__text {
	margin: 0;
	color: var(--ab-slate, #475467);
	font-size: 15px;
	line-height: 1.6;
}

/* Office (about) */
.ab-about-office {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
}
.ab-about-office__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: center;
}
@media (max-width: 880px) {
	.ab-about-office__inner { grid-template-columns: 1fr; }
}
.ab-about-office__media {
	position: relative;
	border-radius: var(--ab-r-lg, 18px);
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0, 26, 77, 0.18);
	aspect-ratio: 1280 / 767;
}
.ab-about-office__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ab-about-office__badge {
	position: absolute;
	left: 16px;
	bottom: 16px;
	padding: 8px 14px;
	background: rgba(0, 26, 77, 0.92);
	color: #fff;
	font-family: var(--ab-font-display);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: 8px;
	border-left: 3px solid var(--ab-red);
	backdrop-filter: blur(6px);
}
.ab-about-office__text .ab-h2 { margin-top: 8px; }
.ab-about-office__text .ab-lead { margin-bottom: 18px; color: var(--ab-slate, #475467); }
.ab-about-office__meta {
	margin: 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--ab-line);
	display: grid;
	grid-template-columns: 110px 1fr;
	row-gap: 14px;
	column-gap: 16px;
	font-size: 14px;
	line-height: 1.5;
}
.ab-about-office__meta dt {
	font-family: var(--ab-font-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ab-red);
	margin: 0;
	padding-top: 2px;
}
.ab-about-office__meta dd {
	margin: 0;
	color: var(--ab-ink);
}
.ab-about-office__muted {
	color: var(--ab-muted);
	font-style: italic;
}

/* Sourcing */
.ab-about-sourcing {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-white);
}
.ab-about-sourcing__inner { max-width: 1080px; margin: 0 auto; }
.ab-about-sourcing__grid {
	margin-top: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}
@media (max-width: 880px) { .ab-about-sourcing__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 480px) { .ab-about-sourcing__grid { grid-template-columns: repeat(2, 1fr); } }
.ab-about-sourcing__chip {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 14px 18px;
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-radius: 12px;
	transition: border-color 200ms ease, transform 200ms ease;
}
.ab-about-sourcing__chip:hover {
	border-color: var(--ab-red);
	transform: translateY(-2px);
}
.ab-about-sourcing__flag {
	font-size: 22px;
	line-height: 1;
}
.ab-about-sourcing__name {
	font-weight: 600;
	color: var(--ab-ink);
	font-size: 14px;
}

/* Values */
.ab-about-values {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: var(--ab-soft);
}
.ab-about-values__inner { max-width: 1280px; margin: 0 auto; }
.ab-about-values__grid {
	margin-top: clamp(28px, 4vw, 48px);
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
@media (max-width: 1024px) { .ab-about-values__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 540px) { .ab-about-values__grid { grid-template-columns: 1fr; } }
.ab-about-values__card {
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg, 18px);
	padding: 26px 22px;
}
.ab-about-values__icon {
	display: inline-flex;
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
	background: var(--ab-navy);
	color: #fff;
	margin-bottom: 14px;
}
.ab-about-values__title {
	font-family: var(--ab-font-display);
	font-size: 17px;
	font-weight: 700;
	color: var(--ab-ink);
	margin: 0 0 8px;
}
.ab-about-values__text {
	margin: 0;
	color: var(--ab-slate, #475467);
	font-size: 14px;
	line-height: 1.55;
}

/* License callout */
.ab-about-license {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
	background: linear-gradient(135deg, var(--ab-navy) 0%, var(--ab-blue) 100%);
	color: #fff;
}
.ab-about-license__inner {
	max-width: 1080px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: auto 1fr;
	gap: clamp(28px, 5vw, 56px);
	align-items: center;
}
@media (max-width: 720px) {
	.ab-about-license__inner { grid-template-columns: 1fr; text-align: left; }
}
.ab-about-license__badge {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 160px;
	height: 160px;
	background: rgba(255,255,255,0.06);
	border: 1.5px solid rgba(255,255,255,0.18);
	border-radius: 50%;
	color: var(--ab-red);
	gap: 4px;
}
.ab-about-license__badge svg { color: var(--ab-red); }
.ab-about-license__num {
	font-family: var(--ab-font-display);
	font-size: 26px;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.02em;
}
.ab-about-license__body .ab-eyebrow { color: rgba(255,255,255,0.85); }
.ab-about-license__body .ab-h2 { color: #fff !important; margin-top: 6px; }
.ab-about-license__body .ab-lead { color: rgba(255,255,255,0.92) !important; }
.ab-about-license__body p {
	color: rgba(255,255,255,0.82);
	font-size: 15px;
	line-height: 1.7;
	margin: 14px 0 0;
}
.ab-about-license__body p strong { color: #fff; font-weight: 700; }

/* ─────────────────────────────────────────────────────────────────
 *  SECTOR PAGES — Phase 2 / Sprint B
 * ───────────────────────────────────────────────────────────────── */

/* Sector strip (3 stats) */
.ab-sector-strip {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ab-soft);
	border-bottom: 1px solid var(--ab-line);
	padding: 32px clamp(20px, 5vw, 80px);
}
.ab-sector-strip__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 720px) {
	.ab-sector-strip__inner { grid-template-columns: 1fr; }
}
.ab-sector-strip__item {
	display: flex;
	flex-direction: column;
	padding: 14px 18px;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-left: 3px solid var(--ab-red);
	border-radius: 10px;
}
.ab-sector-strip__num {
	font-family: var(--ab-font-display);
	font-size: 28px;
	font-weight: 700;
	color: var(--ab-navy);
	line-height: 1.1;
}
.ab-sector-strip__label {
	margin-top: 4px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ab-red);
}
.ab-sector-strip__sub {
	margin-top: 4px;
	font-size: 12px;
	color: var(--ab-muted);
	font-style: italic;
}

/* Sector grid: roles + sourcing */
.ab-sector-grid {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ab-white);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
}
.ab-sector-grid__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: clamp(32px, 5vw, 64px);
	align-items: start;
}
@media (max-width: 880px) { .ab-sector-grid__inner { grid-template-columns: 1fr; } }
.ab-sector-grid__col .ab-h2 { margin-top: 8px; margin-bottom: 18px; }
.ab-sector-grid__roles {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px;
}
.ab-sector-grid__roles li {
	padding: 12px 16px 12px 36px;
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-radius: 8px;
	color: var(--ab-ink);
	font-size: 14px;
	line-height: 1.4;
	position: relative;
}
.ab-sector-grid__roles li::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ab-red);
	transform: translateY(-50%);
}
.ab-sector-grid__sources {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.ab-sector-grid__chip {
	display: inline-block;
	padding: 8px 14px;
	background: var(--ab-navy);
	color: #fff;
	font-weight: 600;
	font-size: 13px;
	border-radius: 999px;
	letter-spacing: 0.02em;
}
.ab-sector-grid__hint {
	margin-top: 18px;
	font-size: 13px;
	color: var(--ab-muted);
	font-style: italic;
	border-top: 1px solid var(--ab-line);
	padding-top: 14px;
}

/* Sector clients + compliance */
.ab-sector-clients {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ab-soft);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
}
.ab-sector-clients__inner {
	max-width: 1280px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: clamp(32px, 5vw, 56px);
	align-items: start;
}
@media (max-width: 880px) {
	.ab-sector-clients__inner { grid-template-columns: 1fr; }
}
.ab-sector-clients__refs .ab-h2 { margin-top: 8px; margin-bottom: 18px; }
.ab-sector-clients__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ab-sector-clients__list li {
	padding: 14px 18px;
	background: var(--ab-white);
	border: 1px solid var(--ab-line);
	border-radius: 8px;
	color: var(--ab-ink);
	margin-bottom: 8px;
	font-size: 14px;
}
.ab-sector-clients__more {
	margin-top: 16px;
	font-size: 14px;
	color: var(--ab-muted);
}
.ab-sector-clients__more a {
	color: var(--ab-red);
	font-weight: 600;
	text-decoration: none;
}
.ab-sector-clients__more a:hover { text-decoration: underline; }
.ab-sector-clients__compliance {
	background: var(--ab-navy);
	color: #fff;
	padding: 32px 28px;
	border-radius: var(--ab-r-lg, 18px);
	border-top: 4px solid var(--ab-red);
}
.ab-sector-clients__compliance .ab-eyebrow { color: rgba(255,255,255,0.85); }
.ab-sector-clients__compliance-title {
	font-family: var(--ab-font-display);
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin: 8px 0 14px;
	line-height: 1.3;
}
.ab-sector-clients__compliance p {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255,255,255,0.85);
	margin: 0 0 18px;
}

/* Sectors index page (the /sectors/ page) */
.ab-sectors-index {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	background: var(--ab-white);
	padding: clamp(56px, 7vw, 100px) clamp(20px, 5vw, 80px);
}
.ab-sectors-index__inner { max-width: 1280px; margin: 0 auto; }
.ab-sectors-index__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
@media (max-width: 1024px) { .ab-sectors-index__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .ab-sectors-index__grid { grid-template-columns: 1fr; } }

.ab-sectorx-card {
	display: flex;
	flex-direction: column;
	padding: 28px 26px;
	background: var(--ab-soft);
	border: 1px solid var(--ab-line);
	border-radius: var(--ab-r-lg, 18px);
	text-decoration: none;
	color: inherit;
	transition: transform 220ms var(--ab-ease, ease), box-shadow 220ms var(--ab-ease, ease), border-color 220ms ease;
}
.ab-sectorx-card:hover {
	transform: translateY(-3px);
	border-color: var(--ab-red);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.12);
}
.ab-sectorx-card__eyebrow {
	font-family: var(--ab-font-display);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ab-red);
}
.ab-sectorx-card__title {
	margin: 10px 0 12px;
	font-family: var(--ab-font-display);
	font-size: 24px;
	font-weight: 700;
	color: var(--ab-ink);
	line-height: 1.2;
}
.ab-sectorx-card__lead {
	margin: 0 0 22px;
	color: var(--ab-slate, #475467);
	font-size: 14px;
	line-height: 1.55;
}
.ab-sectorx-card__cta {
	margin-top: auto;
	color: var(--ab-red);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.02em;
}

/* Sector card - clickable variant (Sprint B integration on Our Services) */
.ab-sector-card--link {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: inherit;
	transition: transform 220ms var(--ab-ease, ease), border-color 220ms ease, box-shadow 220ms ease;
}
.ab-sector-card--link:hover {
	transform: translateY(-3px);
	border-color: var(--ab-red);
	box-shadow: 0 18px 40px rgba(0, 26, 77, 0.12);
}
.ab-sector-card__cta {
	display: inline-block;
	margin-top: 18px;
	color: var(--ab-red);
	font-family: var(--ab-font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.04em;
}
.ab-sectors__footer {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}


/* ═════════════════════════════════════════════════════════════════
 * Phone-language badges + multi-phone Call card (contact-us)
 * Added 2026-05-12 — visible Arabic-only vs Arabic & English numbers.
 * ═════════════════════════════════════════════════════════════════ */

.ab-ar-tag {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	background: rgba(13, 27, 42, 0.06);
	color: rgba(13, 27, 42, 0.65);
	border: 1px solid rgba(13, 27, 42, 0.18);
	border-radius: 999px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	vertical-align: middle;
	line-height: 1.3;
}

/* Call-us card holds 3 phone links; not itself a link, so no card hover */
.ab-method-card--phones:hover {
	transform: none;
	border-color: var(--ab-line);
	box-shadow: none;
}

.ab-method-card__phone {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px 8px;
	padding: 8px 0;
	border-top: 1px solid rgba(13, 27, 42, 0.06);
	text-decoration: none;
	color: var(--ab-ink);
	transition: color 180ms var(--ab-ease);
}
.ab-method-card__phone:first-of-type { border-top: 0; padding-top: 4px; }
.ab-method-card__phone:hover { color: var(--ab-red); }

.ab-method-card__phone-num {
	font-family: var(--ab-font-display);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

/* ═════════════════════════════════════════════════════════════════
 * Fix 2026-05-12 — supprime l'espace blanc entre le header rouge et
 * la 1re section custom (.ab-page-header / .ab-hero) sur toutes les
 * pages publiques. Origine de l'espace : GP wrapper .entry-header
 * vide + padding par défaut sur .inside-article + container padding.
 * Backup : style.css.bak-task3-headerspace-20260512
 * ═════════════════════════════════════════════════════════════════ */
.one-container.no-sidebar .entry-header { display: none; }
.one-container.no-sidebar .inside-article { padding-top: 0; padding-bottom: 0; }
.one-container.no-sidebar .site.grid-container.container,
.one-container.no-sidebar .site-content,
.one-container.no-sidebar .site-main { padding-top: 0; margin-top: 0; }
.one-container.no-sidebar .entry-content > .ab-hero:first-child,
.one-container.no-sidebar .entry-content > .ab-page-header:first-child { margin-top: 0; }

/* ═════════════════════════════════════════════════════════════════
 * SEO/A11y fix 2026-05-14 — WCAG AA contrast on red eyebrows + en-tag.
 * --ab-red (#ed2b24) vs white = 4.0:1 (fails AA for <14pt text).
 * --ab-red-aa (#b8231d) vs white = 5.5:1 (passes AA).
 * Brand red unchanged on buttons/CTAs (large/bold text is AA at 3:1).
 * ═════════════════════════════════════════════════════════════════ */

:root {
	--ab-red-aa: #b8231d;
}
.ab-eyebrow {
	color: var(--ab-red-aa);
}
.ab-en-tag,
.mkdf-top-bar .ab-en-tag {
	color: var(--ab-red-aa);
	border-color: rgba(184, 35, 29, 0.35);
	background: rgba(184, 35, 29, 0.10);
}

/* Dark-background containers — use a brighter, lighter red for AA contrast.
 * #b8231d (light-bg AA red) is too dark on navy/black; use #ff8a85 instead. */
.ab-companies .ab-eyebrow,
.ab-faq .ab-faq__eyebrow,
.ab-faq .ab-faq__question {
	color: #ff8a85 !important;
}

/* Footer — secondary link group ("Iraq Employment Guide" under Quick links), 16 May 2026 */
.ab-footer__title--sub { margin-top: 30px; }
