/*
 * Aljeel theme – front-end + editor styles.
 *
 * Desktop sizes and spacing are measured from the original aljeel.com at 1440px
 * so the rebuild matches it; smaller screens scale down from there.
 * Section blends use the original soft mask image (assets/images/fade-*.webp),
 * placed at the same offsets the original Elementor layout used.
 * Logical properties (inline-start/end) keep English (LTR) and Arabic (RTL) in sync.
 */

:root {
	--aj-blue: var(--wp--preset--color--primary, #0770b1);
	--aj-coral: var(--wp--preset--color--accent, #e0604c);
	--aj-ink: var(--wp--preset--color--ink, #32323c);
	--aj-muted: var(--wp--preset--color--muted, #5b6674);
	--aj-line: var(--wp--preset--color--line, #e4e8ee);
	--aj-surface: var(--wp--preset--color--surface, #f4f7fa);
	--aj-medium: "Ador Medium", sans-serif;
	--aj-container: 1150px;
	--aj-gutter: max(var(--wp--style--root--padding-left, 1rem), calc((100vw - var(--aj-container)) / 2));
	--aj-header-h: 70px;
	--aj-fade-h: 16.18vw; /* height of the original mask image at full width (4098×663) */
	--aj-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--aj-shadow: 0 18px 40px -18px rgba(20, 38, 63, 0.28);
}

/* ------------------------------------------------------------------ base */

html {
	scroll-padding-top: calc(var(--aj-header-h) + 16px);
	-webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

html,
body { overflow-x: clip; }

body { text-rendering: optimizeLegibility; }

::selection { background: var(--aj-blue); color: #fff; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--aj-coral);
	outline-offset: 3px;
	border-radius: 4px;
}

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

/* the original site sets every link in Ador Medium */
a { font-family: var(--aj-medium); }

.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > .aj-main { flex: 1 0 auto; }
.wp-site-blocks > * { margin-block: 0; }

.aj-main > .wp-block-post-content > * { margin-block: 0; }
.aj-main > .wp-block-post-content { position: relative; }
.aj-main > * { margin-block: 0 !important; }

/* Arabic: headings use GE Dinar One like the original site.
   Text left in Ador has no Arabic letters, so (as on the original) the browser draws it
   with the system's Arabic font – bold from weight 500 up. :where() keeps this rule weak
   so the per-element exceptions further down (":root:lang(ar) .class") win. */
:root:lang(ar) :where(h1, h2, h3, h4, h5, h6, .aj-kicker, .is-style-kicker, .wp-block-tab-list button, .aj-message__name) {
	font-family: var(--wp--preset--font-family--dinar);
	letter-spacing: 0;
}

/* Phone numbers etc. inside Arabic text */
bdi { unicode-bidi: isolate; direction: ltr; }

/* ------------------------------------------------------------------ section blends (original mask image) */

/* Every blend is a soft white "fog" made from the original maskdown image:
   fade-down = white at the top fading out, fade-up = white at the bottom. */
.aj-hero--home::after,
.aj-band::before,
.aj-band::after,
.aj-message::before,
.aj-message::after,
.aj-home-partners::before,
.aj-home-partners::after,
.wp-site-blocks > .aj-footer::before {
	content: "";
	position: absolute;
	inset-inline: 0;
	height: var(--aj-fade-h);
	background: url("../images/fade-down.webp") 50% 0 / 100% 100% no-repeat;
	pointer-events: none;
	z-index: 3;
}

/* ------------------------------------------------------------------ view transitions between pages */

@view-transition { navigation: auto; }

.wp-site-blocks > .aj-header { view-transition-name: aj-header; }

::view-transition-old(root) { animation: 0.25s var(--aj-ease) both aj-vt-out; }
::view-transition-new(root) { animation: 0.5s var(--aj-ease) 0.05s both aj-vt-in; }
::view-transition-group(aj-header) { animation-duration: 0.35s; }

@keyframes aj-vt-out { to { opacity: 0; } }
@keyframes aj-vt-in { from { opacity: 0; transform: translateY(16px); } }

@media (prefers-reduced-motion: reduce) {
	::view-transition-group(*),
	::view-transition-old(*),
	::view-transition-new(*) { animation: none !important; }
}

/* ------------------------------------------------------------------ header */

.wp-site-blocks > .aj-header {
	position: fixed;
	inset: 0 0 auto 0;
	z-index: 100;
	height: var(--aj-header-h);
	display: flex;
	align-items: center;
	color: #fff;
	transition: background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease;
}
.admin-bar .wp-site-blocks > .aj-header { top: var(--wp-admin--admin-bar--height, 32px); }

.aj-header.is-scrolled,
.aj-header.is-solid {
	background: #fff;
	color: var(--aj-ink);
	box-shadow: 0 4px 20px -10px rgba(20, 38, 63, 0.25);
}
.aj-header.is-scrolled { animation: aj-header-in 0.45s var(--aj-ease); }
@keyframes aj-header-in { from { transform: translateY(-100%); } }

.aj-header__inner {
	position: relative;
	width: 100%;
	max-width: 1170px;
	margin-inline: auto;
	padding-inline: 26px 25px;
	gap: 1.5rem;
}
.aj-header__actions { gap: 0; }

/* logo */
.aj-brand { display: inline-grid; line-height: 0; }
.aj-brand__img { grid-area: 1 / 1; height: auto; transition: opacity 0.3s ease; }
.aj-brand.is-variant-auto .aj-brand__img--color { opacity: 0; }
.aj-header.is-scrolled .aj-brand.is-variant-auto .aj-brand__img--color,
.aj-header.is-solid .aj-brand.is-variant-auto .aj-brand__img--color { opacity: 1; }
.aj-header.is-scrolled .aj-brand.is-variant-auto .aj-brand__img--white,
.aj-header.is-solid .aj-brand.is-variant-auto .aj-brand__img--white { opacity: 0; }
.aj-header .aj-brand img { width: 66px; }

/* navigation */
/* top-level items: Ador (English) / GE Dinar One (Arabic) at 600, the same over the hero and on the white sticky bar */
.aj-nav { font-family: var(--aj-medium); font-size: 16px; font-weight: 600; }
.aj-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--ador); }
:root:lang(ar) .aj-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--dinar); }
.aj-nav .wp-block-navigation__container { gap: 30px; }
.aj-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
	padding: 13px 20px;
	line-height: 20px;
	color: inherit;
	transition: color 0.25s ease;
}
/* hover and current page: white pill with coral text over the hero, coral text on the white sticky bar (as the original) */
.aj-nav .wp-block-navigation__container > .wp-block-navigation-item { border-radius: 5px; transition: background-color 0.25s ease, color 0.25s ease; }
.aj-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.aj-nav-more):is(:hover, :focus-within, .wp-block-navigation-link.current-menu-item) { color: var(--aj-coral); }
.aj-header:not(.is-scrolled):not(.is-solid) .aj-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.aj-nav-more):is(:hover, :focus-within, .wp-block-navigation-link.current-menu-item) { background: #fff; }
/* dropdown arrow sits inside the item, 20px wide, like the original */
.aj-nav .wp-block-navigation__container > .has-child:not(.aj-nav-more) > .wp-block-navigation-item__content { padding-inline-end: 0 !important; }
.aj-nav .wp-block-navigation__container > .has-child:not(.aj-nav-more) > .wp-block-navigation__submenu-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 32px;
	margin: 0 20px 0 0;
	margin-inline: 0 20px;
	padding: 0;
}
.aj-nav .wp-block-navigation__container > .has-child:not(.aj-nav-more) > .wp-block-navigation__submenu-icon svg { width: 11px; height: 11px; margin: 0; stroke-width: 2; }

.aj-nav .wp-block-navigation__submenu-container {
	min-width: 220px !important;
	padding: 20px 0 !important;
	border: 0 !important;
	background: #fff !important;
	color: var(--aj-muted) !important;
	box-shadow: 0 12px 30px -12px rgba(20, 38, 63, 0.3);
	font-family: var(--aj-medium);
	font-size: 13px;
	font-weight: 500;
}
.aj-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	width: 100%;
	padding: 8px 25px !important;
	line-height: 20px;
	color: var(--aj-muted);
}
.aj-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.aj-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { color: var(--aj-blue); }
@media (min-width: 1025px) {
	/* dropdown as on the original: 10px below the item, lined up with its start, rounded, one line per entry */
	.aj-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
		top: calc(100% + 10px) !important;
		min-width: 0 !important;
		padding: 20px 15px !important;
		border-radius: 6px;
	}
	.aj-nav .wp-block-navigation__container > .has-child:not(.aj-nav-more) > .wp-block-navigation__submenu-container { left: 0 !important; right: auto !important; }
	:root:lang(ar) .aj-nav .wp-block-navigation__container > .has-child:not(.aj-nav-more) > .wp-block-navigation__submenu-container { left: auto !important; right: 0 !important; }
	/* invisible bridge over the 10px gap so the menu stays open on the way down */
	.aj-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; inset: -10px 0 auto; height: 10px; }
	.aj-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 13px 28px !important; white-space: nowrap; border-radius: 4px; }
	.aj-nav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: #f6f6f6; }
}

/* "More" menu shows ••• instead of the word */
.aj-nav .aj-nav-more > .wp-block-navigation-item__content {
	box-sizing: border-box;
	width: 56px;
	overflow: hidden;
	white-space: nowrap;
	color: transparent !important;
	padding-inline: 20px !important;
}
.aj-nav .aj-nav-more > .wp-block-navigation-item__content::before {
	/* the original "•••" icon */
	content: "";
	position: absolute;
	inset: 0 20px;
	background: var(--aj-dot, #fff);
	-webkit-mask: url("../images/icons/three-dots-svgrepo-com.svg") 50% 50% / 16px auto no-repeat;
	mask: url("../images/icons/three-dots-svgrepo-com.svg") 50% 50% / 16px auto no-repeat;
}
.aj-nav .aj-nav-more > .wp-block-navigation-item__content::after { display: none; }
.aj-header.is-scrolled .aj-nav-more,
.aj-header.is-solid .aj-nav-more { --aj-dot: var(--aj-ink); }
.aj-nav .aj-nav-more > .wp-block-navigation__submenu-icon { display: none; }
.aj-nav .aj-nav-more > .wp-block-navigation__submenu-container { inset-inline-end: 0; inset-inline-start: auto !important; }

/* stand-alone language switcher block (if placed anywhere else) */
.aj-lang-switch { display: flex; gap: 0.75rem; }
.aj-lang-switch__link { color: inherit; }

/* mobile & tablet: hamburger below 1025px (core default is 600px) */
@media (min-width: 600px) and (max-width: 1024px) {
	.aj-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.aj-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.aj-nav .wp-block-navigation__responsive-container-open {
	width: 44px;
	height: 44px;
	align-items: center;
	justify-content: center;
	color: inherit;
}
.aj-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

.aj-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	padding: 1.25rem clamp(1.5rem, 6vw, 4rem) 3rem;
	background: #fff !important;
	color: var(--aj-ink) !important;
	font-weight: 500;
	animation: aj-menu-in 0.45s var(--aj-ease) both;
}
.aj-nav .is-menu-open .wp-block-navigation__responsive-container-close { top: 0.4rem; inset-inline-end: 0; inset-inline-start: auto; padding: 0.5rem; }
.aj-nav .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 30px; height: 30px; }
.aj-nav .is-menu-open .wp-block-navigation__responsive-dialog { margin-top: 0 !important; }
.aj-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.75rem !important;
	align-items: flex-start !important;
	gap: 1.1rem !important;
}
.aj-nav .is-menu-open :is(.wp-block-navigation__container, .wp-block-navigation-item, .wp-block-navigation__submenu-container) {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: start !important;
}
.aj-nav .is-menu-open .wp-block-navigation__container { gap: 1.25rem !important; }
.aj-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 0 !important;
	font-size: clamp(1.5rem, 5vw, 2rem);
	color: var(--aj-ink);
}
.aj-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { display: none; }
.aj-nav .is-menu-open .has-child > .wp-block-navigation-item__content { width: 100%; }
.aj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	margin-top: 0.4rem;
	padding: 0 !important;
	border-inline-start: 2px solid var(--aj-line) !important;
	box-shadow: none !important;
	background: transparent !important;
	font-size: 1.05rem !important;
}
.aj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.3rem 0 !important;
	padding-inline-start: 1rem !important;
	color: var(--aj-muted);
}
.aj-nav .is-menu-open .aj-nav-more > .wp-block-navigation-item__content { display: none; }
.aj-nav .is-menu-open .wp-block-navigation-item { animation: aj-rise 0.5s var(--aj-ease) both; }
.aj-nav .is-menu-open .wp-block-navigation__container > :nth-child(2) { animation-delay: 0.05s; }
.aj-nav .is-menu-open .wp-block-navigation__container > :nth-child(3) { animation-delay: 0.1s; }
.aj-nav .is-menu-open .wp-block-navigation__container > :nth-child(4) { animation-delay: 0.15s; }
.aj-nav .is-menu-open .wp-block-navigation__container > :nth-child(5) { animation-delay: 0.2s; }
.aj-nav .is-menu-open .wp-block-navigation__container > :nth-child(6) { animation-delay: 0.25s; }

@keyframes aj-menu-in { from { opacity: 0; clip-path: circle(0% at 95% 3%); } to { opacity: 1; clip-path: circle(150% at 95% 3%); } }
:root:lang(ar) .aj-nav .wp-block-navigation__responsive-container.is-menu-open { animation-name: aj-menu-in-rtl; }
@keyframes aj-menu-in-rtl { from { opacity: 0; clip-path: circle(0% at 5% 3%); } to { opacity: 1; clip-path: circle(150% at 5% 3%); } }
@keyframes aj-rise { from { opacity: 0; transform: translateY(14px); } }

@media (max-width: 1024px) {
	.aj-header__inner { padding-inline: 20px; }
	.aj-header .aj-brand img { width: 58px; }
}

/* ------------------------------------------------------------------ shared text styles */

.aj-section { position: relative; }

.aj-kicker,
.is-style-kicker {
	margin: 0 0 20px !important;
	color: var(--aj-coral) !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: 16px !important;
	font-weight: 400;
	line-height: 1 !important;
	letter-spacing: 0.33em;
}
:is(.aj-about, .aj-home-solutions, .aj-home-partners, .aj-home-clients, .aj-cta, .aj-story) .aj-kicker { font-family: var(--aj-medium); }
.aj-about .aj-kicker { color: #e3715f !important; }
.aj-story .aj-kicker { color: #de6148 !important; }
:root:lang(ar) :is(.aj-kicker, .is-style-kicker) { font-family: var(--wp--preset--font-family--dinar); letter-spacing: 0; font-size: 16px !important; }

.aj-section-title {
	margin: 0 !important;
	font-family: var(--aj-medium);
	font-size: clamp(34px, 3.9vw, 56px) !important;
	font-weight: 500;
	line-height: 1 !important;
	letter-spacing: 0;
}

.aj-lead {
	max-width: 772px;
	margin: 20px auto 0 !important;
	color: var(--aj-ink);
	font-size: 18px;
	line-height: 1.8;
}

.aj-short-rule {
	width: 120px;
	margin: 40px auto !important;
	border: 0;
	border-top: 1px solid var(--aj-ink) !important;
	opacity: 0.6;
}

/* ------------------------------------------------------------------ buttons (match the original pill buttons) */

.wp-block-buttons { margin-top: 0; }
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 14px 30px !important;
	border: 3px solid var(--aj-blue) !important;
	border-radius: 29px !important;
	background: transparent !important;
	color: #000 !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 18px !important;
	transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s var(--aj-ease), box-shadow 0.3s ease;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	background: var(--aj-blue) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 12px 24px -12px rgba(7, 112, 177, 0.6);
}

.is-style-arrow .wp-block-button__link::after,
.is-style-arrow-light .wp-block-button__link::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 3px solid currentColor;
	border-inline-end: 3px solid currentColor;
	transform: rotate(45deg);
	margin-inline-start: 4px;
	transition: transform 0.3s var(--aj-ease);
}
:root:lang(ar) .is-style-arrow .wp-block-button__link::after,
:root:lang(ar) .is-style-arrow-light .wp-block-button__link::after { transform: rotate(-45deg); }
.is-style-arrow .wp-block-button__link:hover::after,
.is-style-arrow-light .wp-block-button__link:hover::after { transform: translateX(3px) rotate(45deg); }
:root:lang(ar) .is-style-arrow .wp-block-button__link:hover::after,
:root:lang(ar) .is-style-arrow-light .wp-block-button__link:hover::after { transform: translateX(-3px) rotate(-45deg); }

.is-style-arrow-light .wp-block-button__link {
	border-width: 1px !important;
	color: #fff !important;
	border-color: #fff !important;
}
.is-style-arrow-light .wp-block-button__link:hover { background: #fff !important; color: var(--aj-blue) !important; }

.aj-btn-small .wp-block-button__link { font-size: 15px !important; border-width: 2px !important; padding-block: 14.5px !important; }
:root:lang(ar) .aj-benefits + .aj-cta .aj-btn-small .wp-block-button__link { font-size: 18px !important; }

.is-style-solid .wp-block-button__link { background: var(--aj-blue) !important; color: #fff !important; }
.is-style-solid .wp-block-button__link:hover { background: var(--aj-coral) !important; border-color: var(--aj-coral) !important; }

/* ------------------------------------------------------------------ inner page hero (564px + 10em, title centred) */

.aj-hero {
	position: relative;
	min-height: 744px !important;
	padding: 0 var(--aj-gutter) 180px !important;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
}
.aj-hero--template {
	display: flex;
	flex-direction: column;
	justify-content: center;
	background: #0770b1 url("../images/hero-gradient.webp") 50% 50% / cover no-repeat;
}
.aj-hero .wp-block-cover__image-background { object-position: 50% 50%; }
.aj-hero .wp-block-cover__inner-container,
.aj-hero--template > * {
	width: 100%;
	max-width: var(--aj-container) !important;
	margin-inline: auto !important;
	color: #fff;
}
.aj-hero__title {
	max-width: 869px;
	margin: 0 !important;
	color: #fff !important;
	font-family: var(--aj-medium);
	font-size: clamp(42px, 6.1112vw, 88px) !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	letter-spacing: 0;
	text-align: start;
	animation: aj-hero-title 1s var(--aj-ease) 0.1s both;
}
:root:lang(ar) .aj-hero__title:not(.aj-hero__title--home) { max-width: none; }
@keyframes aj-hero-title { from { opacity: 0; transform: translateY(24px); } }

/* "Back to solutions" on solution pages */
.aj-hero .aj-back-link { animation: aj-hero-title 0.9s var(--aj-ease) both; }
.aj-back-link {
	display: inline-flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 22px !important;
	color: #fff;
	font-family: var(--wp--preset--font-family--ador);
	font-size: 18px;
	font-weight: 400;
	line-height: 30px;
}
.aj-back-link:hover { color: #fff; }
.aj-back-link__icon {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid currentColor;
	border-radius: 50%;
	transition: transform 0.3s var(--aj-ease);
}
:root:lang(ar) .aj-back-link__icon svg { transform: scaleX(-1); }
.aj-back-link:hover .aj-back-link__icon { transform: translateX(-4px); }
:root:lang(ar) .aj-back-link:hover .aj-back-link__icon { transform: translateX(4px); }

/* ------------------------------------------------------------------ home: video hero */

.aj-hero--home {
	min-height: 100vh !important;
	min-height: 100svh !important;
	padding: 150px var(--aj-gutter) 0 !important;
	overflow: visible !important;
	z-index: 4;
}
.aj-hero--home .wp-block-cover__background {
	background: linear-gradient(230deg, rgba(23, 23, 23, 0.25) 0%, rgba(0, 0, 0, 0.25) 26%) !important;
	opacity: 1 !important;
}
.aj-hero--home .wp-block-cover__video-background { position: absolute; inset: 0; }
.aj-hero--home .wp-block-cover__inner-container { position: static; }
.aj-hero--home .wp-block-cover__inner-container > :not(.aj-scroll-cue) { position: relative; z-index: 2; }
.aj-hero--home::after {
	background-image: url("../images/fade-up.webp");
	bottom: calc(var(--aj-fade-h) * -0.382);
}
.aj-hero__title--home {
	max-width: 565px;
	font-size: clamp(48px, 6.67vw, 96px) !important;
	font-weight: 700 !important;
	line-height: 1.23 !important;
}
.aj-hero__subtitle {
	margin: 20px 0 0 !important;
	color: #fff !important;
	font-size: clamp(22px, 2.5vw, 36px) !important;
	font-weight: 400;
	line-height: 1.8 !important;
	animation: aj-hero-title 1s var(--aj-ease) 0.35s both;
}

/* animated "scroll" mouse */
.aj-scroll-cue {
	position: absolute;
	inset-inline: 0;
	bottom: 77px;
	max-width: none !important; /* full hero width, so the mouse sits in the middle of the page */
	margin: 0 !important;
	text-align: center !important;
	z-index: 5;
	line-height: 0;
}
.aj-scroll-cue a {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 47px;
	border: 1px solid #fff;
	border-radius: 20px;
}
.aj-scroll-cue a::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 10px;
	width: 2px;
	height: 8px;
	margin-left: -1px;
	border-radius: 5px;
	background: #fff;
	animation: aj-wheel 1.2s ease infinite;
}
@keyframes aj-wheel { 0% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(12px); } }

/* ------------------------------------------------------------------ home: about + counters */

.aj-about { padding: 109px 0 0 !important; }
.aj-about .aj-lead { margin-top: 26px !important; }

.aj-stats { padding: 60px 0 9px !important; }
/* the original centres each counter vertically, so the column with the shorter icon sits a little lower */
.aj-stats__cols { max-width: var(--aj-container); margin: 0 auto !important; gap: 0 !important; align-items: center !important; }
@media (min-width: 1025px) {
	/* the original Arabic home page is spaced slightly differently from the English one */
	:root:lang(ar) .aj-stats { padding: 40px 0 14px !important; } /* no margin under the Arabic intro text */
	:root:lang(ar) .aj-home-solutions { padding-top: 38px !important; }
	:root:lang(ar) .aj-home-partners { min-height: calc(598px + var(--aj-partners-shift) + var(--aj-orbit-depth)); }
	:root:lang(ar) .aj-home-clients { padding-bottom: 54px !important; }
	:root:lang(ar) .aj-solutions-page { padding-bottom: 59px !important; }
	:root:lang(ar) .aj-solutions-page .wp-block-query { margin-top: 24px !important; }
	:root:lang(ar) .aj-benefits + .aj-cta { padding: 149px 0 115px !important; }
	:root:lang(ar) .aj-values__accordion { min-height: 668px; }
}
.aj-stats__cols > .wp-block-column { text-align: center; }
.aj-stats__icon { margin: 0 auto 5px !important; }
.aj-stats__icon img { width: 60px !important; height: auto; margin-inline: auto; }
.aj-counter {
	margin: 0 !important;
	color: var(--aj-blue) !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: clamp(28px, 2.92vw, 42px) !important;
	font-weight: 400;
	line-height: 1.7 !important;
	direction: ltr;
	unicode-bidi: isolate;
	white-space: nowrap;
}
.aj-stats__label { margin: 0 !important; font-size: 20px !important; line-height: 1.62 !important; color: var(--aj-ink) !important; }

/* ------------------------------------------------------------------ home: image band */

.aj-band {
	min-height: clamp(300px, 40.2vw, 640px) !important;
	margin-top: 30px !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 2;
}
.aj-band .wp-block-cover__image-background { object-position: 50% 50%; }
.aj-band::before { top: calc(var(--aj-fade-h) * -0.086); }
.aj-band::after { background-image: url("../images/fade-up.webp"); bottom: calc(var(--aj-fade-h) * -0.116); }
.aj-band .wp-block-cover__inner-container { position: static; }
.aj-band__mark {
	position: absolute;
	left: 73.8%;
	top: 49.6%;
	width: 37.6vw;
	max-width: none !important;
	margin: 0 !important;
	z-index: 4;
}
.aj-band__mark img { width: 100%; }
@media (max-width: 1024px) {
	.aj-band__mark { display: none; }
}

/* ------------------------------------------------------------------ home: CEO message band */

.aj-message {
	position: relative;
	margin-top: calc(var(--aj-fade-h) * 0.116 + 30px) !important;
	padding: 235px var(--aj-gutter) 221px !important;
	background: linear-gradient(198deg, #e0604c 0%, #0770b1 100%);
	color: #fff;
	text-align: center;
	z-index: 3;
}
.aj-message::before { top: 0; height: 190px; }
.aj-message::after { background-image: url("../images/fade-up.webp"); bottom: 0; height: 166px; }
.aj-message > * { position: relative; z-index: 4; }
.aj-message__icon { margin: 0 auto 28px !important; }
.aj-message__icon img { width: 80px !important; height: 60px !important; object-fit: contain; margin-inline: auto; }
.aj-message__quote {
	max-width: 1050px;
	margin: 0 auto !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: clamp(20px, 2.2223vw, 32px) !important;
	font-weight: 400;
	line-height: 1.5 !important;
}
.aj-message__name {
	margin: 51px 0 0 !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--ador-bold);
	font-size: 20px !important;
	font-weight: 700;
	line-height: 1 !important;
}
.aj-message__role {
	margin: 12px 0 0 !important;
	color: #fff !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: 16px !important;
	font-weight: 500;
	line-height: 1 !important;
}
.aj-message .wp-block-buttons { margin-top: 48px !important; }
:root:lang(ar) :is(.aj-message__quote, .aj-message__role) { font-family: var(--wp--preset--font-family--dinar); }

/* ------------------------------------------------------------------ home + solutions page: solution cards */

.aj-home-solutions { padding: 15px 0 98px !important; }
.aj-home-solutions .aj-section-title { margin-top: 51px !important; }
:root:lang(ar) :is(.aj-about, .aj-home-solutions) .aj-section-title { color: #1d1d1d; font-weight: 600; }
.aj-home-solutions .wp-block-query { margin-top: 56px !important; }
.aj-home-solutions .wp-block-buttons { margin-top: 144px !important; }

.aj-solution-grid.wp-block-post-template {
	max-width: 1130px;
	margin-inline: auto !important;
	gap: 30px !important;
}
.aj-solution-card {
	position: relative;
	overflow: hidden;
	border-radius: 4px;
	background: var(--aj-ink);
	isolation: isolate;
	transition: transform 0.5s var(--aj-ease), box-shadow 0.5s var(--aj-ease);
}
.aj-solution-card:hover { transform: translateY(-6px); box-shadow: var(--aj-shadow); }
.aj-solution-card .wp-block-post-featured-image { margin: 0 !important; aspect-ratio: 260 / 338 !important; }
.aj-solution-card .wp-block-post-featured-image img { height: 100% !important; object-fit: cover; transition: transform 0.8s var(--aj-ease); }
.aj-solution-card:hover .wp-block-post-featured-image img { transform: scale(1.06); }
.aj-solution-card::after {
	content: "";
	position: absolute;
	inset: 45% 0 0 0;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.45) 100%);
	pointer-events: none;
	transition: opacity 0.4s ease;
}
.aj-solution-card__title {
	position: absolute;
	inset-inline: 20px 0;
	bottom: 42px;
	z-index: 1;
	margin: 0 !important;
	font-family: var(--aj-medium);
	font-size: 23px !important;
	font-weight: 600;
	line-height: 1 !important;
	transition: opacity 0.4s ease, transform 0.4s var(--aj-ease);
}
:root:lang(ar) .aj-solution-card__title { inset-inline-start: 15px; font-family: var(--aj-medium); }
/* the original Arabic carousel uses slightly larger cards (270px) with 20px gaps */
@media (min-width: 1025px) {
	:root:lang(ar) .aj-solution-grid.wp-block-post-template { max-width: 1140px; gap: 20px !important; }
}
.aj-solution-card__title a { color: #fff !important; }
.aj-solution-card__title a::before { content: ""; position: absolute; inset: -100vh -100vw; } /* whole card clickable */


/* ------------------------------------------------------------------ home: partners */

.aj-home-partners {
	/* 120px taller than the original so the soft top blend has room above the logos,
	   and the U of logos is 90px deeper so the lower logos clear the button */
	--aj-partners-shift: 120px;
	--aj-orbit-depth: 90px;
	min-height: calc(585px + var(--aj-partners-shift) + var(--aj-orbit-depth));
	margin-top: 0 !important;
	padding: calc(89px + var(--aj-partners-shift)) 0 0 !important;
	background: linear-gradient(180deg, #f0edef 0%, #e4edf4 100%);
	z-index: 2;
}
.aj-home-partners::before { top: -1px; }
.aj-home-partners::after { background-image: url("../images/fade-up.webp"); bottom: calc(var(--aj-fade-h) * -0.236); }
.aj-home-partners > * { position: relative; z-index: 4; }
.aj-home-partners .aj-lead { margin-top: 20px !important; font-size: 22px; line-height: 1.56; }
.aj-home-partners .wp-block-buttons { margin-top: 71px !important; }

.aj-orbit {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 40px !important;
}
.aj-orbit__logo {
	display: grid;
	place-items: center;
	width: 144px;
	aspect-ratio: 1;
	margin: 0 !important;
	border-radius: 50%;
	background: #fff;
	box-shadow: 2px 8px 30px -28px rgba(0, 0, 0, 0.5);
	transition: transform 0.4s var(--aj-ease), box-shadow 0.4s var(--aj-ease);
}
.aj-orbit__logo img { width: 76% !important; height: 76% !important; object-fit: contain; }
.aj-orbit__logo:hover { transform: scale(1.06); box-shadow: 2px 14px 30px -18px rgba(0, 0, 0, 0.35); }

@media (min-width: 1025px) {
	.aj-home-partners > .aj-orbit {
		position: absolute;
		inset: 0;
		max-width: none !important;
		margin: 0 !important;
		z-index: 5;
		pointer-events: none;
	}
	.aj-orbit__logo { position: absolute; pointer-events: auto; }
	/* U of logos around the title and button (relative to the 1150px container; mirrored in Arabic like the original) */
	.aj-orbit__logo:nth-child(1) { inset-inline-start: calc(var(--aj-gutter) + 10px); top: calc(17px + var(--aj-partners-shift)); }
	.aj-orbit__logo:nth-child(2) { inset-inline-start: calc(var(--aj-gutter) + 68px); top: calc(179px + var(--aj-partners-shift) + var(--aj-orbit-depth) / 3); }
	.aj-orbit__logo:nth-child(3) { inset-inline-start: calc(var(--aj-gutter) + 212px); top: calc(305px + var(--aj-partners-shift) + var(--aj-orbit-depth) * 2 / 3); }
	.aj-orbit__logo:nth-child(4) { inset-inline-start: calc(var(--aj-gutter) + 503px); top: calc(368px + var(--aj-partners-shift) + var(--aj-orbit-depth)); }
	.aj-orbit__logo:nth-child(5) { inset-inline-start: calc(var(--aj-gutter) + 793px); top: calc(305px + var(--aj-partners-shift) + var(--aj-orbit-depth) * 2 / 3); }
	.aj-orbit__logo:nth-child(6) { inset-inline-start: calc(var(--aj-gutter) + 938px); top: calc(179px + var(--aj-partners-shift) + var(--aj-orbit-depth) / 3); }
	.aj-orbit__logo:nth-child(7) { inset-inline-start: calc(var(--aj-gutter) + 996px); top: calc(17px + var(--aj-partners-shift)); }
	.aj-orbit__logo { animation: aj-bob 6s ease-in-out infinite; }
	.aj-orbit__logo:nth-child(even) { animation-delay: -3s; }
	.aj-orbit__logo:hover { animation-play-state: paused; }
}
@keyframes aj-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }

/* ------------------------------------------------------------------ home: clients */

.aj-home-clients { margin-top: 106px !important; padding: 10px 0 48px !important; }
.aj-home-clients .aj-lead { margin-top: 20px !important; }
.aj-home-clients .wp-block-buttons { margin-top: 94px !important; }
.aj-client-logos.wp-block-gallery {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	align-items: center;
	gap: 12px 0 !important;
	max-width: var(--aj-container);
	margin: 50px auto 0 !important;
}
.aj-client-logos.wp-block-gallery.has-nested-images figure.wp-block-image {
	width: auto !important;
	min-height: 104px;
	margin: 0 !important;
	justify-content: center;
	align-items: center;
}
.aj-client-logos.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: auto !important;
	height: auto !important;
	max-width: 100%;
	flex: 0 0 auto;
	object-fit: contain;
	transition: transform 0.4s var(--aj-ease);
}
.aj-client-logos.wp-block-gallery figure.wp-block-image:hover img { transform: scale(1.08); }

/* ------------------------------------------------------------------ call to action (home + benefits) */

.aj-cta {
	margin-top: 50px !important;
	padding: 117px 0 134px !important;
	background: url("../images/cta-mark.webp") 50% 50% / 32% auto no-repeat;
}
.aj-cta .aj-kicker { margin-bottom: 20px !important; }
.aj-cta__title {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: clamp(34px, 3.9vw, 56px) !important;
	font-weight: 500;
	line-height: 1.8 !important;
	letter-spacing: -0.059em;
}
:root:lang(ar) .aj-cta__title { font-family: var(--wp--preset--font-family--ador); letter-spacing: 0; }
.aj-cta__title mark { font-weight: 600; }
.aj-cta .aj-lead { max-width: none; margin-top: 39px !important; font-size: 18px; line-height: 1.5; }
.aj-cta .wp-block-buttons { margin-top: 48px !important; }
.aj-benefits + .aj-cta { padding: 127px 0 111px !important; }

/* ------------------------------------------------------------------ inner pages: shared section background (original wave image) */

.aj-story,
.aj-ceo,
.aj-method {
	background: url("../images/section-wave.webp") 50% 100% / cover no-repeat;
}

/* ------------------------------------------------------------------ who we are */

.aj-story { padding: 10px 0 120px !important; }
.aj-story__cols { gap: 0 !important; }
.aj-story__cols > .wp-block-column:first-child { flex-basis: 22% !important; }
.aj-story__cols > .wp-block-column:last-child { flex-basis: 78% !important; }
.aj-story__label { gap: 0 !important; align-items: center; margin-top: 22px !important; flex-wrap: nowrap !important; }
.aj-story__label .aj-kicker { flex: 0 0 130px; margin: 0 0 0 8px !important; font-size: 16px !important; letter-spacing: 0.36em; white-space: nowrap; }
:root:lang(ar) .aj-story__label .aj-kicker { margin: 0 8px 0 0 !important; letter-spacing: 0; }
.aj-story__line { flex: 0 0 87px; width: 87px; margin: 0 20px 0 0 !important; border: 0; border-top: 1px solid var(--aj-ink) !important; opacity: 1; }
:root:lang(ar) .aj-story__line { margin: 0 0 0 20px !important; }
.aj-story__title { margin: 0 0 20px !important; font-family: var(--aj-medium); font-size: clamp(34px, 3.9vw, 56px) !important; font-weight: 500; line-height: 1 !important; }
.aj-story p { margin: 0 0 20px; }

/* vision: big soft circles poster bleeding off the left edge, as on the original */
.aj-vision { min-height: 450px; margin: 36px 0 !important; padding: 0 !important; display: flex; align-items: center; isolation: isolate; }
.aj-vision > .wp-block-columns { width: 100%; gap: 0 !important; }
.aj-vision__cols > .wp-block-column:first-child { flex: 0 0 410px !important; }
.aj-vision__cols > .wp-block-column:last-child { flex: 0 1 720px !important; }
.aj-vision::before {
	content: "";
	position: absolute;
	left: calc(var(--aj-gutter) - 310px);
	top: -149px;
	width: 702px;
	height: 702px;
	background: url("../images/vision-poster.webp") 50% 50% / contain no-repeat;
	pointer-events: none;
	z-index: -1;
}
:root:lang(ar) .aj-vision::before { left: auto; right: calc(var(--aj-gutter) - 310px); }
.aj-vision__heading { margin: 0 !important; padding-inline-start: 18px; font-family: var(--wp--preset--font-family--ador); font-size: clamp(34px, 3.9vw, 56px) !important; font-weight: 600 !important; line-height: 1 !important; }
.aj-vision__text { margin: 0 !important; font-size: clamp(22px, 2.2223vw, 32px) !important; line-height: 1.8 !important; color: var(--aj-ink); }

/* mission */
.aj-mission { margin-top: 179px !important; padding: 10px 0 0 !important; }
/* as on the original: the text is centred vertically in a 278px band between the two quote marks */
.aj-mission .wp-block-quote {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	min-height: 278px;
	max-width: var(--aj-container);
	margin: 20px auto 0 !important;
	padding: 0 !important;
	border: 0 !important;
}
.aj-mission .wp-block-quote p {
	margin: 0 auto;
	max-width: 1005px;
	font-size: clamp(22px, 2.3612vw, 34px) !important;
	font-style: italic;
	font-weight: 700;
	line-height: 1.8 !important;
}
:root:lang(ar) .aj-mission .wp-block-quote p { font-style: normal; }
.is-style-big-quote::before,
.is-style-big-quote::after {
	position: absolute;
	width: 52px;
	height: 52px;
	background: var(--aj-blue);
	-webkit-mask: url("../images/icons/quote-left.svg") 50% 50% / contain no-repeat;
	mask: url("../images/icons/quote-left.svg") 50% 50% / contain no-repeat;
	content: "";
}
.is-style-big-quote::before { inset-inline-start: 11px; top: 187px; }
.is-style-big-quote::after { inset-inline-end: 11px; top: 38px; -webkit-mask-image: url("../images/icons/quote-right.svg"); mask-image: url("../images/icons/quote-right.svg"); }
:root:lang(ar) .is-style-big-quote::before { -webkit-mask-image: url("../images/icons/quote-right.svg"); mask-image: url("../images/icons/quote-right.svg"); }
:root:lang(ar) .is-style-big-quote::after { -webkit-mask-image: url("../images/icons/quote-left.svg"); mask-image: url("../images/icons/quote-left.svg"); }
/* the bed photo sits centred in its own 765px band on the original */
.aj-mission__image { margin: 238px auto 0 !important; width: 75%; max-width: 862px !important; }
.aj-mission__image img { width: 100%; margin-inline: auto; }

/* values: accordion with the original line icons */
.aj-values { margin-top: 123px !important; padding: 90px 0 30px !important; min-height: 0; }
.aj-values .aj-section-title { margin-bottom: 90px !important; }
.aj-values__accordion { position: relative; max-width: var(--aj-container); min-height: 722px; margin-inline: auto !important; padding-top: 9px; }
.wp-block-accordion > .wp-block-accordion-item,
.wp-block-accordion-item > .wp-block-accordion-panel { margin-top: 0 !important; }
.wp-block-accordion-item { border: 0; }
.wp-block-accordion-heading { margin: 0 !important; font-size: clamp(22px, 2.2223vw, 32px) !important; font-weight: 400; }
.wp-block-accordion-heading__toggle {
	display: flex;
	align-items: center;
	gap: 0;
	width: 100%;
	padding: 25px 0 !important;
	border: 0;
	background: none;
	color: #333;
	font: inherit;
	line-height: 1 !important;
	text-align: start;
	cursor: pointer;
	transition: color 0.25s ease;
}
.wp-block-accordion-heading__toggle:hover { color: var(--aj-blue); }
.wp-block-accordion-heading__toggle-icon { display: none; }
.wp-block-accordion-panel { padding: 0 0 2px; }
.wp-block-accordion-panel p { margin: 0; font-size: 18px; line-height: 1.8; }
:root:lang(ar) .wp-block-accordion-heading { font-family: var(--wp--preset--font-family--ador); }
:root:lang(ar) .wp-block-accordion-panel p { font-family: var(--wp--preset--font-family--dinar); }
.wp-block-accordion-item.is-open .wp-block-accordion-panel > * { animation: aj-rise 0.5s var(--aj-ease) both; }

.aj-values__accordion .wp-block-accordion-heading__toggle { padding-inline-start: 28px !important; }
.aj-values__accordion .wp-block-accordion-heading__toggle::before {
	/* the blue bar shown on the open value (transparent placeholder otherwise) */
	content: "";
	flex: 0 0 44px;
	height: 7px;
	margin-inline-end: 20px;
	border-radius: 2px;
	background: transparent;
	transition: background-color 0.3s ease;
}
.aj-values__accordion .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::before { background: var(--aj-blue); }
.aj-values__accordion .wp-block-accordion-heading__toggle-title { display: inline-flex; align-items: center; gap: 16px; }
.aj-values__accordion .wp-block-accordion-heading__toggle-title::before {
	content: "";
	flex: 0 0 auto;
	width: 44px;
	height: 30px;
	background: #cbcbd3;
	-webkit-mask: var(--aj-value-icon) 50% 50% / contain no-repeat;
	mask: var(--aj-value-icon) 50% 50% / contain no-repeat;
	transition: background-color 0.3s ease;
}
.aj-values__accordion .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-title::before { background: var(--aj-blue); }
.aj-value--1 { --aj-value-icon: url("../images/icons/Group-20498_3x.svg"); }
.aj-value--2 { --aj-value-icon: url("../images/icons/Path-18305_3x.svg"); }
.aj-value--3 { --aj-value-icon: url("../images/icons/Group-20639_3x.svg"); }
.aj-value--4 { --aj-value-icon: url("../images/icons/Resilience-1161.svg"); }
/* the text column ends 32px before the photo (which starts at half the width); the padding counts inside that width */
.aj-values__accordion .wp-block-accordion-panel { box-sizing: border-box; max-width: calc(50% - 32px); padding-inline-start: 100px; }
.aj-values__image img { border-radius: 50%; }

@media (min-width: 900px) {
	.aj-values__image {
		position: absolute;
		inset-inline-start: calc(50% + 0px);
		top: 10px;
		width: 575px;
		max-width: 50%;
		margin: 0 !important;
		pointer-events: none; /* the photo overlaps the other value titles; let clicks reach them */
	}
	.aj-values__image img { aspect-ratio: 1; object-fit: cover; }
}
@media (max-width: 899px) {
	.aj-values__accordion { min-height: 0; }
	.aj-values__accordion .wp-block-accordion-heading__toggle { padding-inline-start: 0 !important; }
	.aj-values__accordion .wp-block-accordion-panel { padding-inline-start: 0; max-width: none; }
	.aj-values__image { max-width: 260px; margin: 1rem auto 0 !important; }
}

/* ------------------------------------------------------------------ CEO */

.aj-ceo { padding: 10px 0 30px !important; }
.aj-ceo__cols { gap: 20px !important; }
.aj-ceo__cols > .wp-block-column { flex-basis: 50% !important; }
.aj-ceo__photo { margin: 0 !important; }
.aj-ceo__photo img { width: 100%; border-radius: 0; box-shadow: none; }
:root:lang(ar) .aj-ceo__title { font-family: var(--aj-medium); }
.aj-ceo__title { margin: 0 0 20px !important; font-family: var(--aj-medium); font-size: clamp(24px, 2.2223vw, 32px) !important; font-weight: 600 !important; line-height: 1.4 !important; }
.aj-ceo p { margin: 0 0 20px; }
@media (min-width: 782px) {
	.aj-ceo__photo { position: sticky; top: calc(var(--aj-header-h) + 20px); }
}

/* ------------------------------------------------------------------ images */

.is-style-soft-shadow img { border-radius: 8px; box-shadow: var(--aj-shadow); }

/* ------------------------------------------------------------------ business methodology */

.aj-method { padding: 10px 0 0 !important; }
.aj-method .aj-lead { max-width: none; margin-top: 20px !important; }

/* methodology steps: 180px circles in a zig-zag, one row every 222px, original dotted connectors */
.aj-steps { margin: 60px 0 0 !important; }
.aj-step {
	position: relative;
	gap: 39px !important;
	min-height: 222px;
	margin: 0 0 0 -10px !important;
	padding: 0;
	align-items: flex-start !important;
	flex-wrap: nowrap !important;
}
.aj-step:nth-child(even) { margin-inline-start: 40px !important; }
:root:lang(ar) .aj-step { margin: 0 -10px 0 0 !important; }
:root:lang(ar) .aj-step:nth-child(even) { margin: 0 40px 0 0 !important; }
.aj-step__icon {
	flex: 0 0 180px;
	display: grid;
	place-items: center;
	width: 180px;
	height: 180px;
	margin: 0 !important;
	border: 1px solid rgba(13, 140, 225, 0.24);
	border-radius: 50%;
	background: #fff;
	transition: transform 0.4s var(--aj-ease), box-shadow 0.4s var(--aj-ease);
}
.aj-step:hover .aj-step__icon { transform: scale(1.04); box-shadow: 0 14px 30px -18px rgba(7, 112, 177, 0.45); }
.aj-step__icon img { width: auto !important; max-width: 76px; max-height: 72px; }
.aj-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 181px;
	inset-inline-start: 130px;
	width: 23px;
	height: 41px;
	background: url("../images/dots-lr.png") 0 0 / contain no-repeat;
}
.aj-step:nth-child(even):not(:last-child)::after { inset-inline-start: 43px; top: 187px; background-image: url("../images/dots-rl.png"); }
:root:lang(ar) .aj-step:not(:last-child)::after { background-image: url("../images/dots-rl.png"); }
:root:lang(ar) .aj-step:nth-child(even):not(:last-child)::after { background-image: url("../images/dots-lr.png"); }
.aj-step__body { padding-top: 26px; }
.aj-step__title { margin: 0 0 20px !important; font-family: var(--aj-medium); font-size: clamp(32px, 3.9vw, 56px) !important; font-weight: 500; line-height: 1 !important; }
.aj-step__body p { margin: 0; max-width: 741px; color: var(--aj-ink); font-size: 18px; line-height: 1.8; }

/* capabilities (vertical tabs) */
.aj-capabilities { padding: 0 !important; margin-top: 10px !important; }
.aj-capabilities .aj-lead { max-width: none; }
.wp-block-tabs.aj-tabs { margin-top: 40px; }
.aj-tabs .wp-block-tab-panels { margin: 0 !important; }
.aj-tabs .wp-block-tab-list { gap: 0; }
.aj-tabs .wp-block-tab-list button {
	position: relative;
	padding: 20px 25px;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--aj-ink);
	font-family: var(--aj-medium);
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	white-space: normal;
	text-align: start;
	cursor: pointer;
	box-shadow: none !important;
	transition: color 0.25s ease;
}
:root:lang(ar) .aj-tabs .wp-block-tab-list button { font-family: var(--wp--preset--font-family--dinar); font-weight: 400; }
.aj-tabs .wp-block-tab-list button:hover,
.aj-tabs .wp-block-tab-list button[aria-selected="true"] { color: var(--aj-blue); }
.aj-tabs .wp-block-tab-list button[aria-selected="true"]::before {
	content: "";
	position: absolute;
	inset-inline-end: -1px;
	top: 0;
	height: 60px;
	width: 3px;
	background: var(--aj-blue);
	z-index: 1;
}
.aj-tabs .wp-block-tab-panel {
	padding: 20px;
	border: 1px solid #d5d8dc;
	background: #fff;
}
.aj-tabs .wp-block-tab-panel:not([hidden]) { animation: aj-rise 0.5s var(--aj-ease) both; }
.aj-tabs__image { margin: 0 !important; }
.aj-tabs__image img { width: 289px; max-width: 100%; height: auto; border-radius: 0; }
.aj-tabs__title { margin: 0 0 20px !important; font-family: var(--aj-medium); font-size: 23px !important; font-weight: 600; line-height: 1.4 !important; }
.aj-tabs .wp-block-tab-panel :is(p, li) { margin: 0; color: #000; font-size: 18px; line-height: 1.8; }
.aj-tabs .wp-block-tab-panel p { margin-bottom: 20px; }
.aj-tabs__list { margin: 15px 0 !important; margin-inline-start: 20px !important; padding: 0; }
/* the original uses two layouts: image floated beside the text … */
.aj-tabs__float { display: flow-root; }
.aj-tabs__float > .aj-tabs__image.alignleft { float: left; margin: 0 34.5px 0 0 !important; }
/* … and a two-cell table (image | text) */
.aj-tabs__table { gap: 0 !important; margin: 0 0 47px !important; }
.aj-tabs__table > .wp-block-column { box-sizing: border-box; flex: 0 0 50% !important; padding: 10px; border-bottom: 1px solid #e9e9e9; }

@media (min-width: 900px) {
	.aj-tabs.is-vertical { display: grid; grid-template-columns: 288px 1fr; gap: 0; align-items: start; }
	.aj-tabs.is-vertical .wp-block-tab-list { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
	.aj-tabs.is-vertical .wp-block-tab-list button { width: 100%; }
}
@media (max-width: 899px) {
	.aj-tabs .wp-block-tab-list { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-bottom: 0.75rem; scroll-snap-type: x mandatory; }
	.aj-tabs .wp-block-tab-list::-webkit-scrollbar { display: none; }
	.aj-tabs .wp-block-tab-list button { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; padding: 12px 16px; font-size: 16px; }
	.aj-tabs .wp-block-tab-list button[aria-selected="true"]::before { inset: auto 0 0 0; width: auto; height: 3px; }
	.aj-tabs__table > .wp-block-column { flex-basis: 100% !important; border-bottom: 0; padding: 0; }
	.aj-tabs__table > .wp-block-column:first-child { padding-bottom: 20px; }
	.aj-tabs__float > .aj-tabs__image.alignleft { float: none; margin: 0 0 20px !important; }
}

.aj-accreditation { padding: 120px 0 90px !important; }
.aj-accreditation .wp-block-columns { gap: 20px !important; }
.aj-accreditation .wp-block-columns > .wp-block-column:first-child { flex-basis: 66% !important; }
.aj-accreditation .wp-block-columns > .wp-block-column:last-child { flex-basis: 34% !important; }
.aj-accreditation .wp-block-columns + .wp-block-columns { margin-top: 181px !important; }
.aj-accreditation__title { margin: 0 0 60px !important; font-family: var(--aj-medium); font-size: clamp(30px, 2.78vw, 40px) !important; font-weight: 600 !important; line-height: 1 !important; }
:root:lang(ar) .aj-accreditation__title { font-family: var(--aj-medium); }
.aj-accreditation .wp-block-image img { width: 100%; max-width: 370px; border-radius: 0; box-shadow: 0 10px 30px -18px rgba(0, 0, 0, 0.35); }

/* ------------------------------------------------------------------ logo cards (partners & clients pages) */

.aj-logos { padding: 10px 10px 130px !important; }
.aj-logos--clients { padding-bottom: 0 !important; }
.aj-logos--clients > .wp-block-gallery { margin-bottom: -22px !important; }
/* the Arabic partners page ends right under the grid on the original */
:root:lang(ar) .aj-logos--partners { padding-bottom: 0 !important; }
:root:lang(ar) .aj-logos--partners > .wp-block-gallery { margin-bottom: -20px !important; }
.aj-logos > .aj-lead { max-width: none; margin: 0 0 20px !important; text-align: center; }
.aj-logos > .wp-block-gallery { max-width: none !important; }
.is-style-logo-cards.wp-block-gallery {
	--wp--style--unstable-gallery-gap: 30px;
	gap: 0 30px !important;
}
.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-direction: column !important;
	align-items: stretch;
	justify-content: flex-start;
	margin: 0 0 30px !important;
}
.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image img {
	display: block;
	width: 100% !important;
	height: 210px !important;
	padding: 30px 40px;
	object-fit: scale-down !important;
	border: 1px solid #e5e7ec;
	border-radius: 6px;
	background: #fff;
	transition: transform 0.45s var(--aj-ease), box-shadow 0.45s var(--aj-ease);
}
.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: translateY(-4px); box-shadow: var(--aj-shadow); }
.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	background: none !important;
	color: var(--aj-ink) !important;
	font-size: clamp(16px, 1.53vw, 22px) !important;
	font-style: italic;
	line-height: 1.3;
	text-align: start;
	text-shadow: none !important;
	overflow: visible !important;
}
.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image::before,
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image::before { display: none !important; }
.aj-logos--clients .is-style-logo-cards figcaption { text-align: center !important; line-height: 49px !important; }

/* ------------------------------------------------------------------ partnership benefits / careers feature rows */

.aj-benefits { padding: 10px 0 0 !important; }
.aj-benefits > .aj-section-title { color: #000 !important; }
.aj-feature { gap: 20px !important; margin: 100px 0 0 !important; }
/* benefits rows: 520px each; 90px/80px before the first two, then stacked (as on the original) */
.aj-benefits > .aj-feature { min-height: 520px; margin-top: 0 !important; }
.aj-benefits > .aj-feature:nth-child(2) { margin-top: 90px !important; }
.aj-benefits > .aj-feature:nth-child(3) { margin-top: 80px !important; }
.aj-benefits > .aj-feature:nth-child(2) .aj-feature__photo { margin-inline: 48px auto !important; }
.aj-feature > .wp-block-column { flex-basis: 50% !important; }
.aj-feature__icon { margin: 0 0 20px !important; }
.aj-feature__icon img { width: 56px !important; }
.aj-feature__title { margin: -10px 0 10px !important; color: #000; font-family: var(--aj-medium); font-size: clamp(28px, 2.78vw, 40px) !important; font-weight: 500 !important; line-height: 1.5 !important; }
.aj-feature__title strong { font-weight: 700; }
.aj-benefits .aj-feature__title { font-family: var(--wp--preset--font-family--ador); }
:root:lang(ar) .aj-feature__title { font-family: var(--wp--preset--font-family--dinar); }
.aj-benefits .aj-feature__title strong { font-family: var(--aj-medium); }
:root:lang(ar) .aj-feature__title strong { font-family: inherit; }
.aj-feature p { margin: 0; color: var(--aj-ink); font-size: 18px; line-height: 1.8; }
.aj-feature__photo { margin: 0 !important; }
.aj-feature__photo img { width: 100%; max-width: 470px; aspect-ratio: 470 / 500; object-fit: cover; border-radius: 6px; box-shadow: none; }
.aj-feature:not(.is-reversed) .aj-feature__photo { margin-inline-start: auto !important; width: fit-content; }

.aj-careers { padding: 10px 0 0 !important; }
.aj-careers .aj-feature__title { margin: 0 0 20px !important; color: var(--aj-ink); font-weight: 700 !important; line-height: 1 !important; }
/* as on the original English page: the first two text blocks keep a 20px gap below (so they sit a little higher) and the photos on the right are centred in their column */
:root:lang(en) .aj-careers .aj-feature:not(:last-child) p:last-child { margin-bottom: 20px; }
:root:lang(en) .aj-careers .aj-feature:not(.is-reversed) .aj-feature__photo { margin-inline: 48px auto !important; }
.aj-careers__mark { margin: 0 auto 20px !important; }
.aj-careers__mark img { margin-inline: auto; }
.aj-join { padding: 50px 0 29px !important; text-align: center; }
.aj-join .wp-block-social-links { margin-top: 20px !important; }
.aj-join .wp-social-link { width: 50px; height: 50px; border-radius: 5px !important; background: #0077b5 !important; color: #fff !important; }
.aj-join .wp-social-link a { display: grid; place-items: center; width: 100%; height: 100%; padding: 0 !important; }
.aj-join .wp-social-link svg { width: 25px; height: 25px; }

/* ------------------------------------------------------------------ solutions (pages + posts) */

.aj-solutions-page { padding: 10px 0 85px !important; }
.aj-solutions-page .aj-lead { max-width: 640px; }
.aj-solutions-page .wp-block-query { margin-top: 50px !important; }

.aj-solution { padding: 10px 0 0 !important; }
.aj-solution .aj-lead { max-width: var(--aj-container); margin: 0 auto 10px !important; font-size: 18px; line-height: 1.8; }
.aj-solution .aj-lead + .aj-short-rule { margin-top: 54px !important; }
.aj-solution .aj-lead.aj-gap-20 { margin-bottom: 20px !important; }
.aj-solution .aj-lead.aj-gap-30 { margin-bottom: 30px !important; }
.aj-solution .aj-lead.aj-gap-40 { margin-bottom: 40px !important; }
.aj-solution .aj-short-rule { width: 100px; margin: 54px auto 35px !important; }
.aj-product-group__title {
	margin: 0 0 20px !important;
	padding-top: 20px;
	color: #000 !important;
	font-family: var(--wp--preset--font-family--ador);
	font-size: clamp(24px, 2.2223vw, 32px) !important;
	font-weight: 600 !important;
	line-height: 1 !important;
}
:root:lang(ar) .is-style-product-grid figcaption { font-family: var(--wp--preset--font-family--dinar); }
.aj-short-rule + .aj-product-group__title { margin-bottom: 30px !important; padding-top: 0; }
.is-style-product-grid.wp-block-gallery {
	--wp--style--unstable-gallery-gap: 0px;
	max-width: 1172px !important;
	margin-inline: auto !important;
	gap: 44px 0 !important;
}
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image {
	flex-direction: column !important;
	justify-content: flex-start;
	margin: 0 !important;
}
.is-style-product-grid.wp-block-gallery.columns-4.has-nested-images figure.wp-block-image { width: 25% !important; flex-grow: 0 !important; }
.is-style-product-grid.wp-block-gallery { margin-top: 0 !important; margin-bottom: 0 !important; }
.is-style-product-grid.aj-space-after-3 { margin-bottom: 3vw !important; }
.is-style-product-grid.aj-space-after-5 { margin-bottom: 5vw !important; }
.is-style-product-grid.aj-space-after-8 { margin-bottom: 8vw !important; }
.is-style-product-grid.aj-space-after-10 { margin-bottom: 10vw !important; }
.is-style-product-grid.aj-row-spaced { padding: 0 0 30px !important; }
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: 100% !important;
	height: 224px !important;
	object-fit: contain !important;
	transition: transform 0.5s var(--aj-ease);
}
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image:hover img { transform: translateY(-6px) scale(1.03); }
.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	margin-top: 5px !important;
	padding: 0 !important;
	color: #000 !important;
	text-align: center !important;
	font-size: clamp(16px, 1.67vw, 24px) !important;
	font-weight: 400;
	font-style: italic;
	line-height: 1.8 !important;
}

/* ------------------------------------------------------------------ contact (original: full-width form) */

.aj-contact { padding: 10px 0 107px !important; }
.aj-contact .aj-contact__form,
.aj-contact .wpcf7 { max-width: 1070px; margin: 80px auto 0 !important; }
:root:lang(ar) .aj-contact .aj-contact__form,
:root:lang(ar) .aj-contact .wpcf7 { max-width: var(--aj-container); margin-top: 40px !important; }
:root:lang(ar) .aj-contact { padding-bottom: 67px !important; }
.aj-contact .wpcf7 .aj-contact__form { margin-top: 0 !important; }

/* Contact Form 7 */
.wpcf7 form { margin: 0; }
.aj-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 30px; }
.aj-form__field { display: flex; flex-direction: column; gap: 2px; margin: 0; font-size: 18px; line-height: 1.8; font-weight: 400; color: var(--aj-ink); }
.aj-form__field--full,
.aj-form__actions { grid-column: 1 / -1; }
.aj-form .wpcf7-form-control-wrap { display: block; }
.aj-form :is(input[type="text"], input[type="email"], input[type="tel"], textarea, select) {
	box-sizing: border-box;
	width: 100%;
	height: 57px;
	padding: 15px;
	border: 1px solid #ddd;
	border-radius: 3px;
	background: #fff;
	color: var(--aj-ink);
	font: inherit;
	font-size: 14px;
	line-height: 1.8;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.aj-form textarea.wpcf7-form-control { height: 242px; resize: vertical; }
.aj-form :is(input, textarea):focus { outline: none; border-color: var(--aj-blue); box-shadow: 0 0 0 3px rgba(7, 112, 177, 0.14); }
.aj-form ::placeholder { color: #8a929c; }
.aj-form__actions { margin: -14px 0 0; }
.aj-form .wpcf7-submit {
	/* as on the original: label at the start, chevron after it (input buttons can't hold an icon element) */
	display: inline-block;
	height: 48px;
	padding: 0 48px 0 21px;
	border: 0;
	border-radius: 0;
	background: #13aff0 url("../images/icons/chevron-right-white.svg") no-repeat right 28px center / 6px 10px;
	color: #fff;
	font-family: var(--wp--preset--font-family--ador);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.2px;
	text-align: start;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.3s ease, transform 0.3s var(--aj-ease);
}
:root:lang(ar) .aj-form .wpcf7-submit { padding: 0 21px 0 48px; background-image: url("../images/icons/chevron-left-white.svg"); background-position: left 28px center; letter-spacing: 0; }
.aj-form .wpcf7-submit:hover { background-color: var(--aj-blue); transform: translateY(-2px); }
.wpcf7 .wpcf7-spinner { vertical-align: middle; }
.wpcf7-not-valid-tip { margin-top: 4px; font-size: 13px; }
.wpcf7 form .wpcf7-response-output { margin: 20px 0 0; padding: 12px 14px; font-size: 15px; }
@media (max-width: 600px) {
	.aj-form { grid-template-columns: 1fr; gap: 28px; }
	.aj-form__spacer { display: none; }
}

/* ------------------------------------------------------------------ news / archive cards */

.aj-news { padding: 10px 0 60px !important; }
.aj-card-grid { gap: 30px !important; }
.aj-post-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--aj-line);
	border-radius: 6px;
	background: #fff;
	transition: transform 0.45s var(--aj-ease), box-shadow 0.45s var(--aj-ease);
}
.aj-post-card:hover { transform: translateY(-5px); box-shadow: var(--aj-shadow); }
.aj-post-card > :not(.wp-block-post-featured-image) { margin-inline: 20px !important; }
.aj-post-card .wp-block-post-featured-image { margin: 0 0 16px !important; }
.aj-post-card__date { color: var(--aj-coral); font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.aj-post-card__title { margin-top: 4px !important; font-size: 22px !important; }
.aj-post-card__title a { color: var(--aj-ink); }
.aj-post-card .wp-block-post-excerpt { margin-bottom: 24px !important; color: var(--aj-muted); font-size: 15px; }
.aj-empty { padding: 40px; border: 1px dashed var(--aj-line); border-radius: 6px; color: var(--aj-muted) !important; }
.aj-section:not(.aj-cta) + .wp-block-group { margin-top: 0; }

/* ------------------------------------------------------------------ footer (white fog into black, as the original) */

.wp-site-blocks > .aj-footer {
	position: relative;
	margin-top: 180px !important;
	padding: 152px 0 10px;
	background: #000;
	color: #fff;
	z-index: 2;
}
/* the original footer blends with one mask starting 71px above the black area */
.wp-site-blocks > .aj-footer::before { top: calc(var(--aj-fade-h) * -0.305); }
.aj-footer__inner { position: relative; z-index: 4; max-width: 1050px; margin-inline: auto; padding-inline: 0; }
.aj-footer__brand { display: flex; justify-content: center; margin: 0 auto 120px !important; }
.aj-footer__brand img { width: 66px; }
.aj-footer__cols { gap: 0 !important; }
.aj-footer__cols > .wp-block-column { padding-inline: 15px; }
.aj-footer__title { margin: 0 0 50px !important; color: #fff !important; font-family: var(--aj-medium); font-size: 20px !important; font-weight: 600 !important; line-height: 1 !important; letter-spacing: 0; }
:root:lang(ar) .aj-footer__title { font-family: var(--aj-medium); }
.aj-footer p { margin: 0 0 40px; color: #fff !important; font-size: 14px; line-height: 1.8; }
.aj-footer a { color: #fff; }
.aj-footer a:hover { color: #fff; opacity: 0.75; }
.aj-footer__links { margin: 0; padding: 0; list-style: none; }
.aj-footer__links li { margin: 0 0 20px; font-size: 16px; line-height: 18px; letter-spacing: -0.1px; }
.aj-footer__links a { display: inline-block; transition: transform 0.3s var(--aj-ease), opacity 0.3s ease; }
.aj-footer__links a:hover { opacity: 1; transform: translateX(4px); }
:root:lang(ar) .aj-footer__links a:hover { transform: translateX(-4px); }
.aj-footer__bottom {
	margin: 80px -50px 0 !important;
	padding: 20px 60px 30px;
	border-top: 1px solid #65a3cc;
	align-items: center;
}
.aj-footer__copy { margin: 0 !important; font-family: var(--wp--preset--font-family--montserrat); font-size: 14px !important; font-weight: 300; text-transform: capitalize; line-height: 1 !important; }
.aj-footer__social { margin: 0 !important; }
.aj-footer__social .wp-social-link { color: #fff; font-size: 22px; }
/* the original footer shows the plain "in" letters rather than the boxed logo */
.aj-footer__social .wp-social-link svg { display: none; }
.aj-footer__social .wp-social-link a::before { content: ""; display: block; width: 16px; height: 16px; background: currentColor; -webkit-mask: url("../images/icons/linkedin-in.svg") 50% 50% / contain no-repeat; mask: url("../images/icons/linkedin-in.svg") 50% 50% / contain no-repeat; }
.aj-footer__social .wp-social-link a { padding: 0; }

/* back to top */
.aj-to-top {
	position: fixed;
	inset-inline-end: 20px;
	bottom: 20px;
	z-index: 90;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 2px;
	background: rgba(0, 0, 0, 0.4);
	color: #fff;
	cursor: pointer;
	opacity: 0;
	transform: translateY(16px);
	pointer-events: none;
	transition: opacity 0.35s ease, transform 0.35s var(--aj-ease), background-color 0.25s ease;
}
.aj-to-top.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.aj-to-top:hover { background: var(--aj-blue); }

/* ------------------------------------------------------------------ scroll reveal (only when JS is running) */

.js .aj-reveal {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition: opacity 0.9s var(--aj-ease), transform 0.9s var(--aj-ease);
	transition-delay: var(--aj-delay, 0s);
}
.js .aj-reveal.is-revealed { opacity: 1; transform: none; }
.js .aj-reveal--zoom { transform: scale(0.94); }
.js .aj-reveal--zoom.is-revealed { transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
	.js .aj-reveal { opacity: 1; transform: none; }
}

/* ------------------------------------------------------------------ tablet */

@media (max-width: 1024px) {
	.aj-hero { min-height: 600px !important; padding-bottom: 150px !important; }
	.aj-hero--home { padding-top: 120px !important; }
	.aj-scroll-cue { bottom: 60px; }
	.aj-about { padding-top: 90px !important; }
	.aj-message { padding-top: 200px !important; padding-bottom: 190px !important; }
	.aj-home-solutions .wp-block-buttons { margin-top: 70px !important; }
	.aj-solution-grid.wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; max-width: 560px; }
	.aj-home-partners { --aj-partners-shift: 70px; min-height: 0; padding-bottom: 140px !important; }
	.aj-home-partners .aj-orbit { margin-top: 64px !important; }
	.aj-home-clients { margin-top: 80px !important; }
	.aj-home-clients .wp-block-buttons { margin-top: 60px !important; }
	.aj-cta { padding: 90px 0 !important; background-size: 60% auto; }
	.is-style-product-grid.wp-block-gallery.columns-4.has-nested-images figure.wp-block-image { width: 33.333% !important; }
	.aj-vision::before { width: 500px; height: 500px; top: -80px; left: calc(var(--aj-gutter) - 260px); }
	.aj-values__accordion { padding-inline-start: 0; }
	.wp-site-blocks > .aj-footer { margin-top: 120px !important; padding-top: 140px; }
}

/* ------------------------------------------------------------------ phones */

@media (max-width: 781px) {
	.aj-hero { min-height: 530px !important; padding-bottom: 180px !important; }
	.aj-hero--home { min-height: 92svh !important; padding: 100px var(--aj-gutter) 100px !important; }
	.aj-hero__title { max-width: none; }
	.aj-about { padding-top: 70px !important; }
	.aj-stats { padding-top: 40px !important; }
	.aj-stats__icon img { width: 44px !important; }
	.aj-stats__label { font-size: 15px !important; }
	.aj-message { padding: 150px 20px 150px !important; }
	.aj-message::before { height: 120px; }
	.aj-message::after { height: 110px; }
	.aj-message__name { margin-top: 32px !important; }
	.aj-message .wp-block-buttons { margin-top: 32px !important; }
	.aj-home-solutions .aj-section-title { margin-top: 0 !important; }
	.aj-home-solutions .wp-block-query { margin-top: 36px !important; }
	.aj-home-solutions .wp-block-buttons { margin-top: 48px !important; }
	.aj-solution-grid.wp-block-post-template { gap: 16px !important; }
	.aj-solution-card__title { inset-inline: 12px; bottom: 12px; font-size: 16px !important; }
	.aj-home-partners { --aj-partners-shift: 40px; padding: calc(90px + var(--aj-partners-shift)) 0 120px !important; }
	.aj-home-partners .aj-lead { font-size: 18px; }
	.aj-home-partners .wp-block-buttons { margin-top: 40px !important; }
	.aj-home-partners .aj-orbit { margin-top: 48px !important; gap: 12px; }
	.aj-orbit__logo { width: 92px; }
	.aj-home-clients { margin-top: 60px !important; }
	.aj-client-logos.wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 32px !important; gap: 20px 16px !important; }
	.aj-client-logos.wp-block-gallery.has-nested-images figure.wp-block-image { min-height: 80px; }
	.aj-client-logos.wp-block-gallery.has-nested-images figure.wp-block-image img { max-height: 80px; }
	.aj-home-clients .wp-block-buttons { margin-top: 40px !important; }
	.aj-cta { padding: 70px 0 !important; background-size: 80% auto; }
	.aj-cta .aj-lead { margin-top: 20px !important; }
	.aj-cta .wp-block-buttons { margin-top: 32px !important; }

	.aj-story__cols > .wp-block-column { flex-basis: 100% !important; }
	.aj-story__label { margin: 0 0 16px; }
	.aj-vision { min-height: 0; padding: 60px 0 0 !important; text-align: center; }
	.aj-vision::before { left: 50%; top: -40px; width: 340px; height: 340px; transform: translateX(-50%); }
	:root:lang(ar) .aj-vision::before { right: auto; left: 50%; }
	.aj-vision__heading { padding: 0; text-align: center; margin-bottom: 24px !important; }
	.aj-vision__text { text-align: center; }
	.aj-mission { padding-top: 80px !important; }
	.aj-mission__image { width: 100%; }
	.aj-values .aj-section-title { margin-bottom: 40px !important; }

	.aj-ceo__cols > .wp-block-column { flex-basis: 100% !important; }
	.aj-ceo__photo img { max-width: 420px; margin-inline: auto; }

	.aj-steps .aj-step,
	.aj-steps .aj-step:nth-child(even),
	:root:lang(ar) .aj-steps .aj-step,
	:root:lang(ar) .aj-steps .aj-step:nth-child(even) { margin: 0 0 32px !important; min-height: 0; gap: 16px !important; }
	.aj-step__icon { flex-basis: 90px; width: 90px; height: 90px; }
	.aj-step__icon img { max-width: 44px; max-height: 44px; }
	.aj-step__body { padding-top: 4px; }
	.aj-step:not(:last-child)::after { display: none; }
	.aj-accreditation { padding-top: 60px !important; }
	.aj-accreditation .wp-block-columns > .wp-block-column { flex-basis: 100% !important; }
	.aj-accreditation .wp-block-columns + .wp-block-columns { margin-top: 60px; }
	.aj-accreditation__title { margin-bottom: 24px !important; }

	.aj-logos > .aj-lead { margin-bottom: 40px !important; }
	.is-style-logo-cards.wp-block-gallery { --wp--style--unstable-gallery-gap: 16px; gap: 0 16px !important; }
	.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image img { height: 130px !important; padding: 20px; }

	.aj-feature { margin-top: 60px !important; }
	.aj-feature > .wp-block-column { flex-basis: 100% !important; }
	.aj-feature:not(.is-reversed) > .wp-block-column:last-child { order: -1; }
	.aj-feature__photo img { max-width: 100%; aspect-ratio: 4 / 3; }
	.aj-feature:not(.is-reversed) .aj-feature__photo { margin-inline: 0 !important; width: auto; }

	.is-style-product-grid.wp-block-gallery.columns-4.has-nested-images figure.wp-block-image { width: 50% !important; }
	.is-style-product-grid.wp-block-gallery { gap: 28px 0 !important; }
	.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image img { height: 140px !important; }


	.wp-site-blocks > .aj-footer { margin-top: 70px !important; padding-top: 90px; }
	.wp-site-blocks > .aj-footer::before { top: calc(var(--aj-fade-h) * -0.61); height: calc(var(--aj-fade-h) * 2); }
	.aj-footer__brand { margin-bottom: 48px !important; }
	.aj-footer__cols { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px !important; }
	.aj-footer__bottom { justify-content: center !important; flex-direction: column; gap: 14px; padding-inline: 0; text-align: center; }
	.aj-hero--home::after,
	.aj-band::before,
	.aj-band::after,
	.aj-home-partners::before,
	.aj-home-partners::after { height: calc(var(--aj-fade-h) * 2); }
	.aj-hero--home::after { bottom: calc(var(--aj-fade-h) * -0.764); }
	.aj-band::before { top: calc(var(--aj-fade-h) * -0.172); }
	.aj-band::after { bottom: calc(var(--aj-fade-h) * -0.232); }
}

@media (max-width: 600px) {
	.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image { width: calc(50% - var(--wp--style--unstable-gallery-gap, 16px) / 2) !important; }
	.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 14px !important; }
	.aj-mission .wp-block-quote p { padding-inline: 1.5rem; }
}


/* ------------------------------------------------------------------ editor niceties */

.editor-styles-wrapper .aj-hero { padding-top: 6rem !important; }
.editor-styles-wrapper .aj-reveal { opacity: 1 !important; transform: none !important; }
.editor-styles-wrapper .aj-nav .aj-nav-more > .wp-block-navigation-item__content { width: auto; color: inherit !important; background: none; }
.editor-styles-wrapper .aj-home-solutions .aj-solution-card__title { opacity: 1; transform: none; }

/* sections that live directly in templates (archive, search, 404) */
.aj-main > .aj-section { padding: 80px 0 40px !important; }

/* keep every block inside a constrained section centred on the 1150px column
   (some spacing rules above only mean to set top/bottom margins) */
.aj-main .is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull):not(.aj-orbit):not(.aj-band__mark):not(.aj-hero__title):not(.aj-hero__subtitle):not(.aj-back-link):not(.aj-scroll-cue) {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* hero text always starts at the column edge (left in English, right in Arabic) */
.aj-hero .aj-hero__title,
.aj-hero .aj-hero__subtitle,
.aj-hero .aj-back-link { margin-inline-start: 0 !important; margin-inline-end: auto !important; }

/* side margin on screens narrower than the 1150px column: the section spacing
   rules above use `padding: … 0 … !important`, which would otherwise let text
   touch the screen edge on phones, tablets and small laptops */
.aj-main .aj-section.alignfull,
.aj-main > .aj-section {
	padding-left: var(--wp--style--root--padding-left, 1rem) !important;
	padding-right: var(--wp--style--root--padding-right, 1rem) !important;
}
.wp-site-blocks > .aj-footer { padding-inline: var(--wp--style--root--padding-left, 1rem); }
@media (max-width: 1229px) {
	/* the copyright bar reaches 50px past the column on wide screens; below 1230px keep it inside the screen */
	.aj-footer__bottom {
		margin-left: calc(-1 * var(--wp--style--root--padding-left, 1rem)) !important;
		margin-right: calc(-1 * var(--wp--style--root--padding-right, 1rem)) !important;
		padding-inline: var(--wp--style--root--padding-left, 1rem);
	}
}

/* ------------------------------------------------------------------ tablet & phone sizes, measured on the original
   The original keeps its desktop sizes on tablets (768–1024px) and switches to its own
   phone sizes below 768px; these rules reproduce that instead of scaling with the screen. */
@media (min-width: 768px) and (max-width: 1024px) {
	.aj-hero:not(.aj-hero--home) { min-height: 584px !important; padding: 0 30px !important; }
	.aj-hero--home { min-height: 100vh !important; min-height: 100svh !important; padding: 150px 20px 0 !important; }
	.aj-hero__title { font-size: 88px !important; }
	.aj-hero__title--home { max-width: 47%; font-size: 69px !important; }
	.aj-hero__subtitle { max-width: 47%; font-size: 33px !important; }
	.aj-section-title, .aj-story__title, .aj-vision__heading, .aj-step__title, .aj-cta__title { font-size: 56px !important; }
	.aj-feature__title, .aj-accreditation__title { font-size: 40px !important; }
	.aj-vision__text, .aj-message__quote, .aj-ceo__title, .aj-product-group__title, .wp-block-accordion-heading { font-size: 32px !important; }
	.aj-mission .wp-block-quote p { font-size: 34px !important; }
	.aj-about .aj-lead { font-size: 16px !important; }
	.aj-tabs .wp-block-tab-list button { font-size: 20px; }
	.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 22px !important; }
	.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 24px !important; }
}
@media (max-width: 767px) {
	.aj-hero:not(.aj-hero--home) { min-height: 370px !important; padding: 0 30px !important; }
	.aj-hero--home { min-height: 491px !important; padding: 120px 20px 81px !important; }
	.aj-hero__title { font-size: 36px !important; }
	.aj-hero__title--home { font-size: 48px !important; }
	.aj-hero__subtitle { font-size: 18px !important; }
	.aj-section-title, .aj-story__title, .aj-cta__title, .aj-accreditation__title, .aj-feature__title { font-size: 24px !important; }
	.aj-vision__heading { font-size: 28px !important; }
	.aj-step__title { font-size: 18px !important; }
	.aj-vision__text { font-size: 18px !important; }
	.aj-mission .wp-block-quote p, .aj-message__quote { font-size: 16px !important; }
	.aj-ceo__title, .aj-product-group__title, .wp-block-accordion-heading, .aj-counter { font-size: 32px !important; }
	.aj-solution-card__title { font-size: 23px !important; }
	.aj-stats__label { font-size: 20px !important; }
	.aj-home-solutions .aj-kicker { font-size: 18px !important; }
	.aj-home-partners .aj-lead { font-size: 22px !important; }
	.aj-tabs .wp-block-tab-list button { font-size: 20px; }
	.is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 22px !important; }
	.is-style-product-grid.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { font-size: 24px !important; }
}

/* layout details of the original on tablets and phones */
@media (max-width: 1024px) {
	/* footer links in two columns (Contact Us | About Us, Quick Links | Support), aligned to the start */
	.aj-footer__cols { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px !important; text-align: start; }
}
@media (max-width: 767px) {
	/* counters one under the other */
	.aj-stats__cols.wp-block-columns { flex-wrap: wrap !important; row-gap: 36px !important; }
	.aj-stats__cols > .wp-block-column { flex-basis: 100% !important; }
	/* home section headings aligned to the start (the About text and the call to action stay centred) */
	.aj-about :is(.aj-kicker, .aj-section-title),
	:is(.aj-home-solutions, .aj-home-partners, .aj-home-clients) :is(.aj-kicker, .aj-section-title, .aj-lead) { text-align: start !important; }
}

/* text alignment details of the original */
.aj-vision__heading { padding-inline: 0 22px; text-align: center; }
:root:lang(ar) .is-style-logo-cards.wp-block-gallery.has-nested-images figure.wp-block-image figcaption { text-align: center !important; }
:root:lang(ar) .aj-capabilities .aj-lead,
:root:lang(ar) .aj-solution .aj-lead:has(+ .aj-short-rule) { text-align: start !important; }
@media (min-width: 768px) { :root:lang(ar) .aj-story__label .aj-kicker { text-align: center; } }
@media (min-width: 768px) and (max-width: 1024px) {
	.aj-story__label .aj-kicker { text-align: center; }
}
@media (max-width: 767px) {
	.aj-vision__heading, .aj-vision__text { padding: 0; text-align: start !important; }
	.aj-accreditation__title, .aj-benefits .aj-feature__title { text-align: center !important; }
	.aj-solution .aj-lead:has(+ .aj-short-rule) { text-align: start !important; }
	:root:lang(ar) .aj-capabilities .aj-section-title { text-align: start !important; }
}

/* per-section sizes the original sets differently on tablets / phones */
@media (min-width: 768px) and (max-width: 1024px) {
	:is(.aj-about, .aj-home-solutions) .aj-section-title { font-size: 34px !important; }
	.aj-home-clients .aj-section-title { font-size: 53px !important; }
	.aj-home-clients .aj-kicker, :root:lang(ar) .aj-home-clients .aj-kicker { font-size: 21px !important; }
	:root:lang(ar) :is(.page-id-3203, .page-id-3242) .aj-hero__title { font-size: 76px !important; }
}
@media (max-width: 767px) {
	:is(.aj-mission, .aj-values, .aj-contact) .aj-section-title { font-size: 56px !important; }
	:root:lang(ar) .aj-home-solutions .aj-kicker { font-size: 18px !important; }
}
@media (max-width: 1024px) {
	/* Our Story: "Know Us ———" above the title, text full width (as on the original) */
	.aj-story__cols.wp-block-columns { flex-wrap: wrap !important; }
	.aj-story .aj-story__cols > .wp-block-column { flex-basis: 100% !important; }
	.aj-story__label { margin: 0 0 30px !important; }
	/* Mission: keep the text clear of the two quote marks */
	.aj-mission .wp-block-quote p { max-width: calc(100% - 180px); }
}
@media (max-width: 781px) {
	/* the Vision heading column is 410px wide on desktop; let it fit narrow screens */
	.aj-vision .aj-vision__cols > .wp-block-column { flex: 0 0 100% !important; }
}
@media (max-width: 767px) {
	/* Capabilities: an accordion on phones, as on the original – each title row with its open content right below it */
	.aj-tabs.wp-block-tabs { display: flex !important; flex-direction: column; gap: 0; }
	.aj-tabs .wp-block-tab-list,
	.aj-tabs .wp-block-tab-panels { display: contents !important; }
	.aj-tabs .wp-block-tab-list button {
		width: 100%;
		margin: 0 0 -1px;
		padding: 15px 10px !important;
		border: 1px solid #d5d8dc !important;
		white-space: normal;
		text-align: start;
		line-height: 1.2;
	}
	.aj-tabs .wp-block-tab-list button[aria-selected="true"]::before { display: none; }
	.aj-tabs .wp-block-tab-panel { margin: 0 0 -1px !important; padding: 20px 10px !important; }
	.aj-tabs .wp-block-tab-list button:nth-child(1) { order: 1; } .aj-tabs .wp-block-tab-panel:nth-child(1) { order: 2; }
	.aj-tabs .wp-block-tab-list button:nth-child(2) { order: 3; } .aj-tabs .wp-block-tab-panel:nth-child(2) { order: 4; }
	.aj-tabs .wp-block-tab-list button:nth-child(3) { order: 5; } .aj-tabs .wp-block-tab-panel:nth-child(3) { order: 6; }
	.aj-tabs .wp-block-tab-list button:nth-child(4) { order: 7; } .aj-tabs .wp-block-tab-panel:nth-child(4) { order: 8; }
	.aj-tabs .wp-block-tab-list button:nth-child(5) { order: 9; } .aj-tabs .wp-block-tab-panel:nth-child(5) { order: 10; }
	.aj-tabs__title { display: none; }
	.aj-tabs__image img { margin-inline: auto; }
}
/* the phone menu lists sub-items directly, so no dropdown arrows there */
.aj-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none !important; }
