/* ==========================================================================
   Ahmad Consult — design system
   Ink navy on white and cool paper, one signal colour (andon amber) used only
   for markers, focus and the primary action on dark bands.
   IBM Plex (Latin), IBM Plex Sans Condensed (English headings),
   IBM Plex Sans Arabic (Arabic). All spacing uses logical properties so the
   Arabic version mirrors without a separate stylesheet.
   ========================================================================== */

:root {
	/* Editable in Appearance → Customize → Theme design → Colors. Derived tokens are computed there too. */
	--ink: #0F1E33;          /* primary: buttons, dark sections, footer */
	--ink-2: #1B2E4A;        /* primary hover */
	--on-ink: #FFFFFF;       /* text on primary */
	--text: #0F1E33;         /* headings and body text */
	--ink-soft: #33435A;     /* secondary text */
	--steel: #526175;        /* captions and meta */
	--rule: #D9DEE5;         /* lines */
	--rule-strong: #B9C2CE;
	--paper: #F2F4F7;        /* light sections */
	--bg: #FFFFFF;           /* page background */
	--signal: #E8A317;       /* accent */
	--signal-hover: #F4B83A;
	--on-signal: #0F1E33;    /* text on accent */
	--white: #FFFFFF;
	--ok: #1E6B45;
	--err: #A3261B;

	/* Editable in Customize → Theme design → Fonts. */
	--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--font-head: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;
	--font-ar: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif;
	--font-ar-head: "IBM Plex Sans Arabic", "IBM Plex Sans", system-ui, sans-serif;

	--wrap: 1200px;
	--gutter: clamp(16px, 4vw, 32px);
	--section: clamp(64px, 9vw, 120px);
	--radius: 4px;
	--header-h: max(72px, calc(var(--logo-h) + 24px));
	--logo-h: 40px;
	--hero-img-w: 520px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }

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

body {
	margin: 0;
	font-family: var(--font);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: var(--text);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

:lang(ar) body, body.lang-ar { font-family: var(--font-ar); font-size: 1.0625rem; line-height: 1.8; }
:lang(ar) h1, :lang(ar) h2, :lang(ar) h3, :lang(ar) h4 { font-family: var(--font-ar-head); }

img, svg, video { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { text-decoration-color: var(--signal); }

:focus-visible { outline: 3px solid var(--signal); outline-offset: 2px; border-radius: 2px; }

h1, h2, h3, h4 { margin: 0; font-weight: 600; color: inherit; text-wrap: balance; }
p { margin: 0; }
ul, ol { margin: 0; }

.screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.ac-skip:focus {
	position: fixed !important; inset-block-start: 8px; inset-inline-start: 8px; width: auto; height: auto;
	clip: auto; margin: 0; padding: 10px 16px; background: var(--ink); color: var(--on-ink); z-index: 1000; border-radius: var(--radius);
}

.ac-main:focus { outline: none; }

/* --------------------------------------------------------------------------
   Type scale
   -------------------------------------------------------------------------- */

.ac-display {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(2.6rem, 5.4vw, 4.5rem);
	line-height: 1.02;
	letter-spacing: -0.012em;
	max-width: 15ch;
}

.ac-page-title {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(2.3rem, 4.4vw, 3.5rem);
	line-height: 1.05;
	letter-spacing: -0.01em;
	max-width: 22ch;
}

.ac-section h2, .ac-prose h2, .ac-article h2 {
	font-family: var(--font-head);
	font-weight: 600;
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	line-height: 1.08;
	letter-spacing: -0.005em;
	max-width: 24ch;
}

.ac-section h3 { font-size: 1.3rem; line-height: 1.3; font-weight: 600; }

.ac-lead { font-size: clamp(1.125rem, 1.6vw, 1.3rem); line-height: 1.55; color: var(--ink-soft); max-width: 62ch; }

.ac-muted { color: var(--steel); }

.ac-small-head.wp-block-heading, .ac-section .ac-small-head {
	font-family: var(--font);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--steel);
	letter-spacing: 0.01em;
	margin-block: 1.75rem 0.75rem;
}
.ac-small-head:first-child { margin-block-start: 0; }

/* Arabic: no condensed face; heavier weight and open leading instead. */
:lang(ar) .ac-display,
:lang(ar) .ac-page-title,
:lang(ar) .ac-section h2,
:lang(ar) .ac-prose h2,
:lang(ar) .ac-article h2,
:lang(ar) .ac-case__value,
:lang(ar) .ac-stats dd,
:lang(ar) .ac-flow strong,
:lang(ar) .ac-rc__score,
:lang(ar) .ac-upcoming__day {
	font-family: var(--font-ar-head);
	font-weight: 700;
	letter-spacing: 0;
}
:lang(ar) .ac-display { font-size: clamp(2.2rem, 4.5vw, 3.7rem); line-height: 1.28; max-width: 17ch; }
:lang(ar) .ac-page-title { font-size: clamp(2rem, 3.8vw, 3rem); line-height: 1.3; }
:lang(ar) .ac-section h2, :lang(ar) .ac-prose h2, :lang(ar) .ac-article h2 { font-size: clamp(1.6rem, 2.8vw, 2.2rem); line-height: 1.4; }
:lang(ar) .ac-section h3 { line-height: 1.5; }
:lang(ar) .ac-lead { line-height: 1.85; }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.ac-header {
	position: sticky; inset-block-start: 0; z-index: 50;
	background: color-mix(in srgb, var(--bg) 96%, transparent);
	backdrop-filter: saturate(1.4) blur(8px);
	border-block-end: 1px solid var(--rule);
}
.admin-bar .ac-header { inset-block-start: 32px; }
@media (max-width: 782px) { .admin-bar .ac-header { inset-block-start: 46px; } }

.ac-header__inner {
	max-width: calc(var(--wrap) + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
	min-height: var(--header-h);
	display: flex; align-items: center; gap: 24px;
}

.ac-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; line-height: 1.25; margin-inline-end: auto; min-width: 0; }
.ac-brand__text { display: grid; min-width: 0; }
.ac-brand__logo { height: var(--logo-h); width: auto; max-width: min(260px, 55vw); object-fit: contain; }
@media (max-width: 600px) { .ac-brand__logo { height: calc(var(--logo-h) * 0.8); } }
.ac-footer__logo { height: calc(var(--logo-h) * 1.1); width: auto; max-width: 240px; object-fit: contain; object-position: left; }
[dir="rtl"] .ac-footer__logo { object-position: right; }
:lang(ar) .ac-brand { line-height: 1.35; }
.ac-brand__name { font-family: var(--font-head); font-weight: 600; font-size: 1.2rem; letter-spacing: -0.005em; }
.ac-brand__role { font-size: 0.8rem; color: var(--steel); }
:lang(ar) .ac-brand__name { font-family: var(--font-ar-head); font-weight: 700; font-size: 1.15rem; }

.ac-nav { display: flex; align-items: center; gap: 28px; }
.ac-menu { list-style: none; padding: 0; display: flex; gap: 22px; }
.ac-menu a {
	text-decoration: none; font-size: 0.95rem; font-weight: 500; color: var(--ink-soft);
	padding-block: 6px; border-block-end: 2px solid transparent;
}
.ac-menu a:hover { color: var(--text); border-block-end-color: var(--rule-strong); }
.ac-menu .current-menu-item > a, .ac-menu .current_page_item > a, .ac-menu .current_page_parent > a {
	color: var(--text); border-block-end-color: var(--signal);
}
.ac-nav__extra { display: flex; align-items: center; gap: 18px; }

.ac-lang { font-size: 0.95rem; font-weight: 500; text-decoration: none; color: var(--ink-soft); }
.ac-lang:hover { color: var(--text); text-decoration: underline; }
.ac-lang:lang(ar) { font-family: var(--font-ar); }
.ac-lang:lang(en) { font-family: var(--font); }

.ac-nav-toggle {
	display: none; align-items: center; gap: 10px;
	background: none; border: 1px solid var(--rule-strong); border-radius: var(--radius);
	padding: 8px 12px; font: inherit; font-size: 0.95rem; color: var(--text); cursor: pointer;
}
.ac-nav-toggle__bars, .ac-nav-toggle__bars::before, .ac-nav-toggle__bars::after {
	display: block; width: 18px; height: 2px; background: currentColor; position: relative; transition: transform 0.2s ease;
}
.ac-nav-toggle__bars::before, .ac-nav-toggle__bars::after { content: ""; position: absolute; inset-inline-start: 0; }
.ac-nav-toggle__bars::before { top: -6px; }
.ac-nav-toggle__bars::after { top: 6px; }
.ac-nav-toggle[aria-expanded="true"] .ac-nav-toggle__bars { background: transparent; }
.ac-nav-toggle[aria-expanded="true"] .ac-nav-toggle__bars::before { transform: translateY(6px) rotate(45deg); }
.ac-nav-toggle[aria-expanded="true"] .ac-nav-toggle__bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 1080px) {
	.ac-nav-toggle { display: inline-flex; }
	.ac-nav {
		display: none;
		position: absolute; inset-inline: 0; inset-block-start: 100%;
		background: var(--bg); border-block-end: 1px solid var(--rule);
		padding: 8px var(--gutter) 24px;
		flex-direction: column; align-items: stretch; gap: 16px;
		max-height: calc(100vh - var(--header-h)); overflow-y: auto;
	}
	.ac-nav.is-open { display: flex; }
	.ac-menu { flex-direction: column; gap: 0; }
	.ac-menu a { display: block; padding-block: 14px; font-size: 1.1rem; border-block-end: 1px solid var(--rule); }
	.ac-menu .current-menu-item > a, .ac-menu .current_page_item > a { border-block-end-color: var(--rule); box-shadow: inset 3px 0 0 var(--signal); padding-inline-start: 12px; }
	[dir="rtl"] .ac-menu .current-menu-item > a, [dir="rtl"] .ac-menu .current_page_item > a { box-shadow: inset -3px 0 0 var(--signal); }
	.ac-nav__extra { justify-content: space-between; padding-block-start: 8px; }
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.ac-btn,
.wp-block-button .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 12px 22px;
	font: inherit; font-weight: 600; font-size: 1rem; line-height: 1.2;
	border-radius: var(--radius); border: 2px solid var(--ink);
	background: var(--ink); color: var(--on-ink);
	text-decoration: none; cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.ac-btn:hover, .wp-block-button .wp-block-button__link:hover { background: var(--ink-2); border-color: var(--ink-2); color: var(--on-ink); }
.ac-btn--small { min-height: 40px; padding: 8px 16px; font-size: 0.95rem; }

.wp-block-button.is-style-ac-quiet .wp-block-button__link,
.ac-btn--quiet {
	background: transparent; color: var(--text); border-color: transparent;
	padding-inline: 0; min-height: 48px;
	text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; text-underline-offset: 0.35em;
}
.wp-block-button.is-style-ac-quiet .wp-block-button__link:hover,
.ac-btn--quiet:hover { background: transparent; color: var(--text); border-color: transparent; text-decoration-color: var(--text); }

.wp-block-button.is-style-ac-signal .wp-block-button__link { background: var(--signal); border-color: var(--signal); color: var(--on-signal); }
.wp-block-button.is-style-ac-signal .wp-block-button__link:hover { background: var(--signal-hover); border-color: var(--signal-hover); color: var(--on-signal); }

.wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-block-start: 2rem; }

.ac-textlink { font-weight: 600; text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; text-underline-offset: 0.35em; }
.ac-textlink:hover { text-decoration-color: var(--text); }

/* Dark sections */
.is-style-ac-ink .wp-block-button.is-style-ac-quiet .wp-block-button__link,
.is-style-ac-ink .ac-textlink { color: var(--on-ink); }
.is-style-ac-ink .wp-block-button.is-style-ac-quiet .wp-block-button__link:hover { color: var(--on-ink); text-decoration-color: var(--on-ink); }
.is-style-ac-ink .wp-block-button.is-style-ac-primary .wp-block-button__link { background: var(--on-ink); color: var(--ink); border-color: var(--on-ink); }

/* --------------------------------------------------------------------------
   Sections and layout
   -------------------------------------------------------------------------- */

.ac-sections > .wp-block-group,
.ac-sections > .ac-section { margin: 0; }

.ac-section { padding-block: var(--section); background: var(--bg); }
.ac-section:not(.is-style-ac-paper):not(.is-style-ac-ink):not(.ac-page-head):not(.ac-hero) + .ac-section:not(.is-style-ac-paper):not(.is-style-ac-ink) { padding-block-start: calc(var(--section) * 0.35); }
.ac-section.ac-hero + .ac-section,
.ac-section.ac-page-head + .ac-section:not(.is-style-ac-paper):not(.is-style-ac-ink) { padding-block-start: calc(var(--section) * 0.4); }

.is-style-ac-paper { background: var(--paper); }
.is-style-ac-ink { background: var(--ink); color: var(--on-ink); }
.is-style-ac-ink .ac-lead { color: color-mix(in srgb, var(--on-ink) 78%, transparent); }

.ac-wrap { max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }

/* Rhythm inside a section */
.ac-wrap > * + * { margin-block-start: 1.25rem; }
.ac-wrap > h2 + .ac-lead { margin-block-start: 1rem; }
.ac-wrap > h2 + *:not(.ac-lead), .ac-wrap > .ac-lead + *:not(.wp-block-buttons) { margin-block-start: clamp(2rem, 4vw, 3rem); }
.wp-block-column > * + * { margin-block-start: 1.1rem; }
.wp-block-column > h1 + .ac-lead { margin-block-start: 1.25rem; }
.wp-block-column > .ac-small-head + * { margin-block-start: 0; }

.ac-hide-empty:not(:has(.ac-case, .ac-video, .ac-post, .ac-upcoming__item, .ac-talk, .ac-resource, .ac-stats)) { display: none; }

/* Columns */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 2rem; margin: 0; }
.wp-block-column { flex: 1 1 0; min-width: 0; }
@media (min-width: 782px) { .wp-block-columns { flex-wrap: nowrap; } }
@media (max-width: 781px) { .wp-block-column { flex-basis: 100% !important; } }

.wp-block-columns.ac-split { gap: clamp(1.5rem, 6vw, 6rem); align-items: start; }
.wp-block-columns.ac-split--media { align-items: center; }
.wp-block-columns.ac-three { gap: clamp(1rem, 2.5vw, 2rem); align-items: stretch; }

/* Lists */
.ac-section ul.wp-block-list, .ac-prose ul, .ac-prose ol { padding-inline-start: 1.2em; }
.ac-section li + li, .ac-prose li + li { margin-block-start: 0.5em; }

ul.wp-block-list.is-style-ac-ticks, .ac-section ul.wp-block-list.is-style-ac-ticks { list-style: none; padding-inline-start: 0; }
.wp-block-list.is-style-ac-ticks li { position: relative; padding-inline-start: 1.9em; }
.wp-block-list.is-style-ac-ticks li::before {
	content: ""; position: absolute; inset-inline-start: 0; inset-block-start: 0.55em;
	width: 0.95em; height: 0.55em; border-inline-start: 2px solid var(--ink); border-block-end: 2px solid var(--ink);
	transform: rotate(-45deg); transform-origin: center;
}
[dir="rtl"] .wp-block-list.is-style-ac-ticks li::before { transform: rotate(45deg); }
.is-style-ac-ink .wp-block-list.is-style-ac-ticks li::before { border-color: var(--signal); }

/* Images */
.wp-block-image { margin: 0; }
.wp-block-image img { width: 100%; }
.ac-photo img { border-radius: var(--radius); aspect-ratio: 4 / 3; object-fit: cover; }
.wp-block-image figcaption, .wp-element-caption { font-size: 0.875rem; color: var(--steel); margin-block-start: 0.6rem; }

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */

.ac-hero { padding-block: clamp(40px, 6vw, 88px) 0; overflow: hidden; }
.ac-hero__cols.wp-block-columns { align-items: end; gap: clamp(1.5rem, 4vw, 4rem); }
.ac-hero__text { padding-block-end: clamp(40px, 6vw, 88px); }
.ac-hero__text > .ac-lead { margin-block-start: 1.75rem; }
.ac-hero__media { align-self: end; }
.ac-hero__portrait img { width: 100%; max-width: var(--hero-img-w); margin-inline: auto; object-fit: cover; }
/* Hero image shape and position: Customize → Theme design → Home hero image */
.hero-shape-square .ac-hero__portrait img { aspect-ratio: 1; }
.hero-shape-portrait .ac-hero__portrait img { aspect-ratio: 4 / 5; border-radius: var(--radius); }
.hero-shape-landscape .ac-hero__portrait img { aspect-ratio: 4 / 3; border-radius: var(--radius); }
.hero-shape-circle .ac-hero__portrait img { aspect-ratio: 1; border-radius: 50%; }
.hero-align-center .ac-hero__cols.wp-block-columns { align-items: center; }
.hero-align-center .ac-hero__media { align-self: center; padding-block-end: clamp(40px, 6vw, 88px); }
@media (max-width: 781px) {
	.ac-hero__media { width: 100%; }
	.ac-hero__portrait img { max-width: min(var(--hero-img-w), 300px); }
	.hero-align-center .ac-hero__media { padding-block-end: 0; }
	.ac-hero__text { padding-block-end: 8px; }
}

/* Credentials: a small spec plate of facts */
.ac-creds {
	list-style: none; padding: 0; margin-block-start: 2.75rem !important;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 24px;
	font-size: 0.9rem; font-weight: 500; color: var(--ink-soft); line-height: 1.4;
	max-width: 640px;
}
.ac-creds li { margin: 0 !important; padding-block-start: 12px; border-block-start: 1px solid var(--rule-strong); }
.ac-creds li:first-child { border-block-start-color: var(--text); }
@media (max-width: 600px) { .ac-creds { grid-template-columns: 1fr; } .ac-creds li { padding-block: 10px; } }

/* Numbers strip */
.ac-stats {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	margin: 0; border-block-start: 1px solid var(--rule);
}
.ac-hero .ac-stats { margin-block-start: 0 !important; }
.ac-stats > div { padding: 28px 24px 32px 0; display: flex; flex-direction: column-reverse; gap: 6px; }
[dir="rtl"] .ac-stats > div { padding: 28px 0 32px 24px; }
.ac-stats > div + div { border-inline-start: 1px solid var(--rule); padding-inline-start: 24px; }
.ac-stats dt { font-size: 0.9rem; color: var(--steel); max-width: 22ch; }
.ac-stats dd { margin: 0; font-family: var(--font-head); font-weight: 600; font-size: clamp(2rem, 3.4vw, 2.8rem); line-height: 1; }

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

.ac-page-head { padding-block: clamp(56px, 7vw, 96px) clamp(40px, 5vw, 64px); border-block-end: 1px solid var(--rule); }
.ac-page-head .ac-lead { margin-block-start: 1.5rem; }

/* --------------------------------------------------------------------------
   Service index
   -------------------------------------------------------------------------- */

.ac-svc-list { border-block-end: 1px solid var(--rule); }
.ac-svc {
	display: grid; grid-template-columns: 7rem minmax(0, 1.1fr) minmax(0, 1fr); gap: 8px 32px; align-items: baseline;
	padding-block: 26px; border-block-start: 1px solid var(--rule);
}
.ac-svc > * { margin: 0 !important; }
.ac-svc__code {
	justify-self: start; font-size: 0.8rem; font-weight: 600; color: var(--ink-soft);
	border: 1px solid var(--rule-strong); border-radius: 3px; padding: 2px 8px; line-height: 1.5;
}
.ac-svc__title.wp-block-heading { font-family: var(--font-head); font-size: clamp(1.35rem, 2vw, 1.65rem); font-weight: 600; line-height: 1.2; }
:lang(ar) .ac-svc__title.wp-block-heading { font-family: var(--font-ar-head); font-weight: 700; line-height: 1.5; }
.ac-svc__title a { text-decoration: none; }
.ac-svc__title a:hover { text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; }
.ac-svc__text { color: var(--ink-soft); }
@media (max-width: 781px) {
	.ac-svc { grid-template-columns: 1fr; }
}

.ac-service .ac-svc__code { display: inline-block; margin-block-end: 0.75rem; }
.ac-service .ac-svc__code + h2 { margin-block-start: 0.5rem; }
.ac-service .ac-videos { margin-block-start: 3rem !important; }

/* --------------------------------------------------------------------------
   The line: a process drawn as a conveyor with four stations
   -------------------------------------------------------------------------- */

.ac-flow-section h2 { color: var(--on-ink); }

ol.ac-flow {
	--station: 40px;
	list-style: none; padding: 0; counter-reset: station;
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px;
	position: relative;
}
ol.ac-flow::before {
	content: ""; position: absolute; inset-inline: 0; inset-block-start: calc(var(--station) / 2);
	height: 2px; background: color-mix(in srgb, var(--on-ink) 22%, transparent);
}
ol.ac-flow::after {
	content: ""; position: absolute; inset-block-start: calc(var(--station) / 2 - 5px);
	inset-inline-start: 0; width: 28px; height: 12px; border-radius: 2px; background: var(--signal);
	opacity: 0;
}
ol.ac-flow.is-running::after { animation: ac-carrier 2.6s cubic-bezier(0.55, 0, 0.3, 1) 0.2s forwards; }
@keyframes ac-carrier {
	0% { opacity: 1; inset-inline-start: 0; }
	88% { opacity: 1; inset-inline-start: calc(100% - 28px); }
	100% { opacity: 0; inset-inline-start: calc(100% - 28px); }
}

ol.ac-flow > li {
	counter-increment: station;
	position: relative; margin: 0 !important;
	padding-block-start: calc(var(--station) + 22px);
	color: color-mix(in srgb, var(--on-ink) 78%, transparent);
}
ol.ac-flow > li::before {
	content: counter(station);
	position: absolute; inset-block-start: 0; inset-inline-start: 0;
	width: var(--station); height: var(--station); border-radius: 50%;
	display: grid; place-items: center;
	background: var(--ink); border: 2px solid color-mix(in srgb, var(--on-ink) 85%, transparent);
	font-family: var(--font-head); font-weight: 600; font-size: 1.05rem; color: var(--on-ink);
	z-index: 1;
	transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
ol.ac-flow.is-done > li::before { background: var(--signal); border-color: var(--signal); color: var(--on-signal); }
ol.ac-flow.is-running > li:nth-child(1)::before { transition-delay: 0.3s; }
ol.ac-flow.is-running > li:nth-child(2)::before { transition-delay: 1s; }
ol.ac-flow.is-running > li:nth-child(3)::before { transition-delay: 1.7s; }
ol.ac-flow.is-running > li:nth-child(4)::before { transition-delay: 2.4s; }
ol.ac-flow > li strong {
	display: block; color: var(--on-ink); margin-block-end: 8px;
	font-family: var(--font-head); font-weight: 600; font-size: 1.45rem; line-height: 1.2;
}
:lang(ar) ol.ac-flow > li::before { font-family: var(--font-ar); }

.ac-section:not(.is-style-ac-ink) ol.ac-flow::before { background: var(--rule-strong); }
.ac-section:not(.is-style-ac-ink) ol.ac-flow > li { color: var(--ink-soft); }
.ac-section:not(.is-style-ac-ink) ol.ac-flow > li::before { background: var(--bg); border-color: var(--text); color: var(--text); }
.ac-section:not(.is-style-ac-ink) ol.ac-flow > li strong { color: var(--text); }

@media (max-width: 860px) {
	ol.ac-flow { grid-template-columns: 1fr; gap: 28px; }
	ol.ac-flow::before { inset-inline: auto; inset-inline-start: calc(var(--station) / 2 - 1px); inset-block: 0; width: 2px; height: auto; }
	ol.ac-flow::after { display: none; }
	ol.ac-flow > li { padding-block-start: 6px; padding-inline-start: calc(var(--station) + 20px); min-height: var(--station); }
}

/* --------------------------------------------------------------------------
   Case studies
   -------------------------------------------------------------------------- */

.ac-cases { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 40px 32px; }
.ac-case { border-block-start: 3px solid var(--ink); }
.ac-case__link { display: flex; flex-direction: column; height: 100%; text-decoration: none; color: inherit; }
.ac-case__media { order: -1; margin-block-end: 0; }
.ac-case__media img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.ac-case__media + .ac-case__body { padding-block-start: 20px; }
.ac-case:has(.ac-case__media) { border-block-start: 0; }
.ac-case:has(.ac-case__media) .ac-case__body { border-block-start: 3px solid var(--ink); margin-block-start: 0; }
.ac-case__body { display: flex; flex-direction: column; gap: 12px; padding-block-start: 20px; flex: 1; }
.ac-case__sector { font-size: 0.875rem; font-weight: 500; color: var(--steel); }
.ac-case__title { font-size: 1.3rem; line-height: 1.3; font-weight: 600; }
.ac-case__result { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 10px; padding-block: 12px; border-block: 1px solid var(--rule); }
.ac-case__value { font-family: var(--font-head); font-weight: 600; font-size: 1.9rem; line-height: 1; }
.ac-case__label { font-size: 0.9rem; color: var(--ink-soft); }
.ac-case__by { font-size: 0.875rem; color: var(--steel); }
.ac-case__more { margin-block-start: auto; padding-block-start: 8px; font-weight: 600; text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; text-underline-offset: 0.35em; }
.ac-case__link:hover .ac-case__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
.ac-case__link:hover .ac-case__more { text-decoration-color: var(--text); }
.is-style-ac-paper .ac-case { background: transparent; }

/* --------------------------------------------------------------------------
   Photos
   -------------------------------------------------------------------------- */

.wp-block-columns.ac-mosaic { gap: clamp(12px, 2vw, 24px); align-items: stretch; }
.ac-mosaic .wp-block-column { display: flex; flex-direction: column; gap: clamp(12px, 2vw, 24px); }
.ac-mosaic .wp-block-column > * + * { margin-block-start: 0; }
.ac-mosaic .ac-photo img { aspect-ratio: 3 / 2; }
.ac-mosaic .wp-block-column:first-child:not(:last-child) .ac-photo { flex: 1 1 auto; display: flex; flex-direction: column; }
.ac-mosaic .wp-block-column:first-child:not(:last-child) .ac-photo img { flex: 1 1 0; min-height: 0; height: auto; aspect-ratio: auto; }
@media (max-width: 781px) { .ac-mosaic .wp-block-column:first-child .ac-photo img { flex: none !important; aspect-ratio: 4 / 3 !important; } }

/* --------------------------------------------------------------------------
   Videos (click-to-load YouTube)
   -------------------------------------------------------------------------- */

/* Five-column grid: a reel takes one column, a long video three, so both come out about the same height. */
.ac-videos__list { display: grid; gap: 28px 20px; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-auto-flow: row dense; align-items: start; }
.ac-videos__list .ac-video--long { grid-column: span 3; }
@media (max-width: 900px) { .ac-videos__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ac-videos__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ac-videos__list .ac-video--long { grid-column: 1 / -1; } }
@media (max-width: 700px) {
	.ac-videos--strip .ac-videos__list {
		grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: 62%;
		overflow-x: auto; scroll-snap-type: x mandatory; padding-block-end: 8px;
		margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter);
	}
	.ac-videos--strip .ac-video { scroll-snap-align: start; }
	.ac-videos--strip .ac-video--long { grid-column: auto; }
	.ac-videos--strip .ac-videos__list:has(.ac-video--long) { grid-auto-columns: 85%; }
}
.ac-video { margin: 0; }
.ac-video figcaption { font-size: 0.95rem; font-weight: 500; margin-block-start: 10px; line-height: 1.4; }
.ac-video[hidden] { display: none; }

.ac-yt {
	position: relative; overflow: hidden; border-radius: var(--radius); background: var(--ink);
	aspect-ratio: 16 / 9;
}
.ac-yt--reel { aspect-ratio: 9 / 16; }
.ac-yt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.ac-yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ac-yt__play {
	position: absolute; inset: 0; margin: auto; width: 64px; height: 64px;
	border-radius: 50%; border: 0; cursor: pointer;
	background: color-mix(in srgb, var(--ink) 82%, transparent); color: var(--on-ink);
	display: grid; place-items: center;
	transition: transform 0.15s ease, background-color 0.15s ease;
}
.ac-yt__play svg { width: 28px; height: 28px; margin-inline-start: 4px; }
[dir="rtl"] .ac-yt__play svg { margin-inline-start: 0; margin-inline-end: -4px; }
.ac-yt:hover .ac-yt__play { background: var(--ink); transform: scale(1.05); }
.ac-yt__play:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }

.ac-filters { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-block-end: 28px; }
.ac-chip {
	font: inherit; font-size: 0.95rem; font-weight: 500;
	padding: 8px 16px; border-radius: 999px; border: 1px solid var(--rule-strong);
	background: var(--bg); color: var(--text); cursor: pointer;
}
.ac-chip.is-active, .ac-chip[aria-pressed="true"] { background: var(--ink); color: var(--on-ink); border-color: var(--text); }
.ac-filters__topic select {
	font: inherit; font-size: 0.95rem; padding: 8px 36px 8px 14px; border-radius: 999px; border: 1px solid var(--rule-strong); background: var(--bg);
}

/* --------------------------------------------------------------------------
   Talks and events
   -------------------------------------------------------------------------- */

.ac-talks { list-style: none; padding: 0; }
.ac-talk {
	display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 32px; align-items: start;
	padding-block: 32px; border-block-start: 1px solid var(--rule);
	margin: 0 !important;
}
.ac-talk:last-child { border-block-end: 1px solid var(--rule); }
.ac-talk:not(:has(.ac-talk__media)) { grid-template-columns: 1fr; }
.ac-talk__media img { aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--radius); width: 100%; }
.ac-talk__body { display: flex; flex-direction: column; gap: 10px; }
.ac-talk__event, .ac-upcoming__body h3 { font-size: 1.35rem; line-height: 1.3; }
.ac-talk__meta { list-style: none; padding: 0; display: flex; flex-wrap: wrap; font-size: 0.9rem; color: var(--steel); }
.ac-talk__meta li { margin: 0 !important; padding-inline: 12px; border-inline-start: 1px solid var(--rule-strong); line-height: 1.2; }
.ac-talk__meta li:first-child { padding-inline-start: 0; border: 0; }
.ac-talk__topic { color: var(--ink-soft); max-width: 60ch; }
@media (max-width: 700px) { .ac-talk { grid-template-columns: 1fr; gap: 16px; } }

.ac-upcoming { list-style: none; padding: 0; }
.ac-upcoming__item { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr); gap: 24px; padding-block: 24px; border-block-start: 1px solid var(--rule); margin: 0 !important; }
.ac-upcoming__date { display: grid; align-content: start; }
.ac-upcoming__day { font-family: var(--font-head); font-weight: 600; font-size: 3rem; line-height: 0.9; }
.ac-upcoming__month { font-size: 0.9rem; color: var(--steel); margin-block-start: 6px; }
.ac-upcoming__body { display: flex; flex-direction: column; gap: 8px; }

/* --------------------------------------------------------------------------
   Three-up content cards (SIRI building blocks, engagement models)
   -------------------------------------------------------------------------- */

.ac-block-card { background: var(--bg); border-block-start: 3px solid var(--ink); padding: 28px 24px 32px; }
.ac-section:not(.is-style-ac-paper) .ac-block-card { background: var(--paper); }
.ac-block-card h3 { font-family: var(--font-head); font-size: 1.6rem; }
:lang(ar) .ac-block-card h3 { font-family: var(--font-ar-head); font-weight: 700; }

/* --------------------------------------------------------------------------
   Delivery partners
   -------------------------------------------------------------------------- */

.wp-block-columns.ac-partners { gap: 32px; }
.ac-partners .wp-block-column { border-block-start: 1px solid var(--rule); padding-block-start: 24px; }
.ac-wordmark.wp-block-heading { font-family: var(--font-head) !important; font-size: 1.5rem; letter-spacing: 0.04em; font-weight: 600; }
.ac-partners p { color: var(--ink-soft); max-width: 48ch; }

/* --------------------------------------------------------------------------
   Closing call to action
   -------------------------------------------------------------------------- */

.ac-cta h2 { max-width: 20ch; }
.ac-cta .ac-wrap { position: relative; }
.ac-cta .ac-wrap::before {
	content: ""; display: block; width: 56px; height: 4px; background: var(--signal); margin-block-end: 28px;
}

/* --------------------------------------------------------------------------
   Articles
   -------------------------------------------------------------------------- */

.ac-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 32px; }
.ac-posts--list { grid-template-columns: 1fr; gap: 0; max-width: 820px; }
.ac-post { display: flex; flex-direction: column; gap: 10px; padding-block-start: 20px; border-block-start: 1px solid var(--rule-strong); }
.ac-posts--list .ac-post { padding-block: 28px; }
.ac-post__meta { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 0.875rem; color: var(--steel); }
.ac-post__meta a { color: inherit; }
.ac-post__title { font-size: 1.35rem; line-height: 1.3; }
.ac-post__title a { text-decoration: none; }
.ac-post__title a:hover { text-decoration: underline; text-decoration-color: var(--signal); text-decoration-thickness: 2px; }
.ac-post__excerpt { color: var(--ink-soft); }

.ac-article { max-width: calc(760px + 2 * var(--gutter)); margin-inline: auto; padding: clamp(48px, 7vw, 96px) var(--gutter) clamp(56px, 8vw, 104px); }
.ac-article__head { display: flex; flex-direction: column; gap: 18px; margin-block-end: 40px; }
.ac-article__media { margin: 0 0 40px; }
.ac-article__media img { border-radius: var(--radius); width: 100%; }
.ac-prose { font-size: 1.125rem; line-height: 1.75; }
:lang(ar) .ac-prose { line-height: 1.95; }
.ac-prose > * + * { margin-block-start: 1.2em; }
.ac-prose h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem) !important; margin-block-start: 2em; }
.ac-prose h3 { font-size: 1.3rem; margin-block-start: 1.6em; }
.ac-prose a { text-decoration-color: var(--signal); text-decoration-thickness: 2px; }

.ac-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 0; margin: 12px 0 0; border-block: 1px solid var(--rule); }
.ac-facts > div { padding: 16px 16px 16px 0; }
[dir="rtl"] .ac-facts > div { padding: 16px 0 16px 16px; }
.ac-facts > div + div { border-inline-start: 1px solid var(--rule); padding-inline-start: 16px; }
.ac-facts dt { font-size: 0.85rem; color: var(--steel); }
.ac-facts dd { margin: 4px 0 0; font-weight: 500; }

.ac-author { display: flex; gap: 18px; align-items: flex-start; margin-block-start: 56px; padding-block-start: 28px; border-block-start: 1px solid var(--rule); }
.ac-author img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; flex: none; background: var(--paper); }
.ac-author > div { display: flex; flex-direction: column; gap: 6px; }
.ac-author__name { font-weight: 600; }
.ac-author p:not(.ac-author__name) { color: var(--ink-soft); font-size: 0.95rem; }

.ac-pager { display: flex; justify-content: space-between; margin-block-start: 32px; }
.ac-empty { max-width: 60ch; padding: 32px; background: var(--paper); border-radius: var(--radius); display: grid; gap: 12px; }
.ac-empty p:first-child { color: var(--ink-soft); }

/* --------------------------------------------------------------------------
   Downloads
   -------------------------------------------------------------------------- */

.ac-resources { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 32px; }
.ac-resource { border-block-start: 3px solid var(--ink); }
.ac-resource:has(.ac-resource__media) { border: 0; }
.ac-resource__media img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; background: var(--paper); }
.ac-resource__body { display: flex; flex-direction: column; gap: 10px; padding-block-start: 18px; }
.ac-resource__kind { font-size: 0.875rem; color: var(--steel); }
.ac-resource__body h3 { font-size: 1.25rem; }
.ac-resource__body > p:not(.ac-resource__kind) { color: var(--ink-soft); }

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */

.ac-form { display: flex; flex-direction: column; gap: 20px; }
.ac-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 600px) { .ac-form__grid { grid-template-columns: 1fr; } }
.ac-field { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.ac-field label, .ac-field legend { font-size: 0.9rem; font-weight: 600; padding: 0; }
.ac-field__opt { font-weight: 400; color: var(--steel); }
.ac-field input, .ac-field textarea, .ac-field select {
	font: inherit; font-size: 1rem; color: var(--text);
	padding: 12px 14px; min-height: 48px; width: 100%;
	border: 1px solid var(--rule-strong); border-radius: var(--radius); background: var(--bg);
	transition: border-color 0.15s ease;
}
.ac-field textarea { resize: vertical; min-height: 140px; }
.ac-field input:hover, .ac-field textarea:hover { border-color: var(--steel); }
.ac-field input:focus, .ac-field textarea:focus { outline: 3px solid color-mix(in srgb, var(--signal) 55%, transparent); outline-offset: 0; border-color: var(--text); }
.ac-field.has-error input, .ac-field.has-error textarea { border-color: var(--err); }
.ac-field.has-error label::after { content: " *"; color: var(--err); }

.ac-choices { display: flex; flex-wrap: wrap; gap: 10px; margin-block-start: 6px; }
.ac-choice { position: relative; }
.ac-choice input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.ac-choice span {
	display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px;
	border: 1px solid var(--rule-strong); border-radius: var(--radius); background: var(--bg);
	font-size: 0.95rem; font-weight: 500;
}
.ac-choice input:checked + span { background: var(--ink); color: var(--on-ink); border-color: var(--text); }
.ac-choice input:focus-visible + span { outline: 3px solid var(--signal); outline-offset: 2px; }

.ac-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
.ac-form__note { font-size: 0.875rem; color: var(--steel); }
.ac-form__status { font-weight: 500; min-height: 1.5em; }
.ac-form__status.is-ok { color: var(--ok); }
.ac-form__status.is-err { color: var(--err); }
.ac-form.is-busy button[type="submit"] { opacity: 0.6; pointer-events: none; }
.ac-hp { position: absolute !important; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ac-form--inline { flex-direction: row; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.ac-form--inline .ac-field { flex: 1 1 200px; }
.ac-form--inline .ac-form__status { flex-basis: 100%; }

.ac-form-col { background: var(--paper); padding: clamp(20px, 3vw, 40px); border-radius: var(--radius); }
.ac-page-head .ac-contact { align-items: start; }

.ac-details { margin: 2rem 0 0; display: grid; gap: 0; border-block-start: 1px solid var(--rule); }
.ac-details > div { display: grid; grid-template-columns: 7.5rem 1fr; gap: 12px; padding-block: 14px; border-block-end: 1px solid var(--rule); }
.ac-details dt { font-size: 0.9rem; color: var(--steel); }
.ac-details dd { margin: 0; font-weight: 500; }
.ac-details + p { margin-block-start: 1.5rem; }

/* --------------------------------------------------------------------------
   Readiness check
   -------------------------------------------------------------------------- */

.ac-rc { max-width: 820px; display: flex; flex-direction: column; gap: 24px; }
.ac-rc__stage { background: var(--bg); border-radius: var(--radius); padding: clamp(24px, 4vw, 48px); border-block-start: 4px solid var(--ink); }
.ac-rc__progress { display: flex; gap: 4px; margin-block-end: 28px; }
.ac-rc__progress span { flex: 1; height: 4px; background: var(--rule); border-radius: 2px; }
.ac-rc__progress span.is-done { background: var(--ink); }
.ac-rc__progress span.is-current { background: var(--signal); }
.ac-rc__count { font-size: 0.9rem; color: var(--steel); margin-block-end: 8px; }
.ac-rc__block { font-size: 0.9rem; font-weight: 600; color: var(--ink-soft); }
.ac-rc__q { font-size: clamp(1.35rem, 2.4vw, 1.75rem); line-height: 1.3; margin-block: 6px 24px; outline: none; }
:lang(ar) .ac-rc__q { line-height: 1.6; }
.ac-rc__options { display: grid; gap: 10px; border: 0; padding: 0; margin: 0; }
.ac-rc__option { position: relative; }
.ac-rc__option input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; width: 100%; height: 100%; }
.ac-rc__option span {
	display: block; padding: 16px 18px 16px 52px; border: 1px solid var(--rule-strong); border-radius: var(--radius);
	background: var(--bg); line-height: 1.45; position: relative;
}
[dir="rtl"] .ac-rc__option span { padding: 16px 52px 16px 18px; }
.ac-rc__option span::before {
	content: ""; position: absolute; inset-inline-start: 18px; inset-block-start: 50%; transform: translateY(-50%);
	width: 18px; height: 18px; border-radius: 50%; border: 2px solid var(--rule-strong); background: var(--bg);
}
.ac-rc__option input:hover + span { border-color: var(--steel); }
.ac-rc__option input:checked + span { border-color: var(--text); background: var(--paper); }
.ac-rc__option input:checked + span::before { border-color: var(--text); background: radial-gradient(circle, var(--ink) 45%, var(--bg) 50%); }
.ac-rc__option input:focus-visible + span { outline: 3px solid var(--signal); outline-offset: 2px; }
.ac-rc__nav { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-block-start: 28px; }
.ac-rc__nav .ac-btn[disabled] { opacity: 0.4; cursor: not-allowed; }
.ac-rc__result h3 { font-size: 0.95rem; color: var(--steel); font-weight: 600; }
.ac-rc__score { font-family: var(--font-head); font-weight: 600; font-size: clamp(3.5rem, 8vw, 5.5rem); line-height: 1; margin-block: 8px; }
.ac-rc__level { font-size: 1.5rem; font-weight: 600; margin-block-end: 12px; }
.ac-rc__text { color: var(--ink-soft); max-width: 62ch; }
.ac-rc__bars { display: grid; gap: 14px; margin-block: 28px; }
.ac-rc__bar { display: grid; grid-template-columns: 9rem 1fr 3rem; gap: 12px; align-items: center; font-size: 0.95rem; }
.ac-rc__bar-track { height: 10px; background: var(--rule); border-radius: 5px; overflow: hidden; }
.ac-rc__bar-fill { height: 100%; background: var(--ink); border-radius: 5px; }
.ac-rc__bar b { text-align: end; font-weight: 600; }
.ac-rc__send { background: var(--bg); border-radius: var(--radius); padding: clamp(24px, 4vw, 40px); }
.ac-rc__send h3 { font-size: 1.3rem; }
.ac-rc__disclaimer { font-size: 0.875rem; color: var(--steel); }

/* --------------------------------------------------------------------------
   General-purpose sections: quote, questions, logos
   -------------------------------------------------------------------------- */

.wp-block-quote { margin: 0; padding: 0; border: 0; }
.wp-block-quote.is-style-ac-testimonial { max-width: 860px; padding-inline-start: 28px; border-inline-start: 4px solid var(--signal); }
.wp-block-quote.is-style-ac-testimonial p { font-family: var(--font-head); font-size: clamp(1.4rem, 2.6vw, 2rem); line-height: 1.3; font-weight: 500; }
:lang(ar) .wp-block-quote.is-style-ac-testimonial p { font-family: var(--font-ar-head); line-height: 1.7; }
.wp-block-quote cite { display: block; margin-block-start: 16px; font-style: normal; font-size: 0.95rem; color: var(--steel); }

.ac-faq .wp-block-details { border-block-end: 1px solid var(--rule); padding-block: 4px; margin: 0 !important; }
.ac-faq .wp-block-details:first-child { border-block-start: 1px solid var(--rule); }
.wp-block-details summary { cursor: pointer; font-weight: 600; font-size: 1.1rem; padding-block: 16px; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; font-size: 1.4rem; line-height: 1; color: var(--steel); }
.wp-block-details[open] summary::after { content: "\2212"; }
.wp-block-details > p { padding-block-end: 16px; color: var(--ink-soft); }

.wp-block-gallery.ac-logos { display: flex; flex-wrap: wrap; gap: 32px 48px; align-items: center; }
.wp-block-gallery.ac-logos .wp-block-image { width: auto !important; flex: 0 0 auto; }
.wp-block-gallery.ac-logos img { height: 48px !important; width: auto !important; object-fit: contain !important; filter: grayscale(1); opacity: 0.8; }
.wp-block-gallery.ac-logos img:hover { filter: none; opacity: 1; }

/* --------------------------------------------------------------------------
   Social, footer, WhatsApp
   -------------------------------------------------------------------------- */

.ac-social { list-style: none; padding: 0; display: flex; gap: 6px; }
.ac-social li { margin: 0 !important; }
.ac-social a { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--rule-strong); color: var(--text); }
.ac-social a:hover { background: var(--ink); color: var(--on-ink); border-color: var(--text); }
.ac-social svg { width: 20px; height: 20px; }

.ac-footer { background: var(--ink); color: color-mix(in srgb, var(--on-ink) 82%, transparent); font-size: 0.95rem; border-block-start: 1px solid color-mix(in srgb, var(--on-ink) 14%, transparent); }
.ac-footer a { color: var(--on-ink); text-decoration: none; }
.ac-footer a:hover { text-decoration: underline; text-decoration-color: var(--signal); }
.ac-footer__inner {
	max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding: 72px var(--gutter) 48px;
	display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px;
}
.ac-footer__brand { display: flex; flex-direction: column; gap: 14px; max-width: 36ch; }
.ac-footer__name { font-family: var(--font-head); font-size: 1.4rem; font-weight: 600; color: var(--on-ink); }
:lang(ar) .ac-footer__name { font-family: var(--font-ar-head); font-weight: 700; }
.ac-footer .ac-social a { border-color: color-mix(in srgb, var(--on-ink) 30%, transparent); color: var(--on-ink); }
.ac-footer .ac-social a:hover { background: var(--on-ink); color: var(--ink); }
.ac-footer__label { font-weight: 600; color: var(--on-ink); margin-block-end: 12px; }
.ac-footer ul { list-style: none; padding: 0; display: grid; gap: 10px; }
.ac-footer__menu { list-style: none; padding: 0; display: grid; gap: 10px; }
.ac-footer__base { max-width: calc(var(--wrap) + 2 * var(--gutter)); margin-inline: auto; padding: 0 var(--gutter) 32px; font-size: 0.875rem; color: color-mix(in srgb, var(--on-ink) 60%, transparent); }
.ac-footer__base-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; padding-block-start: 20px; border-block-start: 1px solid color-mix(in srgb, var(--on-ink) 14%, transparent); }
.ac-footer__base .ac-lang { color: var(--on-ink); }
@media (max-width: 900px) { .ac-footer__inner { grid-template-columns: 1fr 1fr; } .ac-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 520px) { .ac-footer__inner { grid-template-columns: 1fr; } }

.ac-wa {
	position: fixed; inset-block-end: 20px; inset-inline-end: 20px; z-index: 40;
	width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center;
	background: #1FA855; color: #FFFFFF; box-shadow: 0 6px 18px rgba(15, 30, 51, 0.22);
}
.ac-wa svg { width: 28px; height: 28px; }
.ac-wa:hover { background: #178C46; }

.ac-editor-note { border: 1px dashed var(--rule-strong); padding: 16px; font-size: 0.9rem; color: var(--steel); border-radius: var(--radius); background: var(--paper); }

/* --------------------------------------------------------------------------
   Motion preferences and print
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
	ol.ac-flow > li::before { background: var(--ink); }
}

@media print {
	.ac-header, .ac-footer, .ac-wa, .wp-block-buttons, .ac-videos { display: none !important; }
	.is-style-ac-ink { background: none; color: var(--text); }
}
