/*
Theme Name: Wise Consult
Theme URI: https://wiseconsultltd.com/
Author: Wise Consult IT
Description: Custom block theme for WiseConsult Ltd. Colours, fonts, spacing and grid come from the Wise Consult design system; every page is built from locked-down block patterns so it behaves the same from 360px phones to 1920px desktops, in English and Arabic.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
Version: 0.1.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: wise-consult
Tags: full-site-editing, block-patterns, rtl-language-support, translation-ready
*/

:root {
	--wc-navy-900: var(--wp--preset--color--navy-900);
	--wc-navy-700: var(--wp--preset--color--navy-700);
	--wc-gold-500: var(--wp--preset--color--gold-500);
	--wc-gold-600: var(--wp--preset--color--gold-600);
	--wc-gold-700: var(--wp--preset--color--gold-700);
	--wc-slate-600: var(--wp--preset--color--slate-600);
	--wc-surface: var(--wp--preset--color--surface);
	--wc-surface-alt: var(--wp--preset--color--surface-alt);
	--wc-line: var(--wp--preset--color--line);
	--wc-line-strong: var(--wp--preset--color--line-strong);
	--wc-on-navy-muted: var(--wp--preset--color--on-navy-muted);
	--wc-success: var(--wp--preset--color--success);
	--wc-success-soft: var(--wp--preset--color--success-soft);
	--wc-error: var(--wp--preset--color--error);
	--wc-error-soft: var(--wp--preset--color--error-soft);
	--wc-serif: var(--wp--preset--font-family--serif);
	--wc-sans: var(--wp--preset--font-family--sans);
	--wc-arabic-serif: var(--wp--preset--font-family--arabic-serif);
	--wc-arabic-sans: var(--wp--preset--font-family--arabic-sans);
	--wc-space-1: var(--wp--preset--spacing--1);
	--wc-space-2: var(--wp--preset--spacing--2);
	--wc-space-3: var(--wp--preset--spacing--3);
	--wc-space-4: var(--wp--preset--spacing--4);
	--wc-space-5: var(--wp--preset--spacing--5);
	--wc-space-6: var(--wp--preset--spacing--6);
	--wc-space-7: var(--wp--preset--spacing--7);
	--wc-space-8: var(--wp--preset--spacing--8);
	--wc-space-9: var(--wp--preset--spacing--9);
	--wc-space-10: var(--wp--preset--spacing--10);
	--wc-radius-sm: 4px;
	--wc-radius-md: 8px;
	--wc-radius-full: 9999px;
	--wc-shadow-sm: var(--wp--preset--shadow--shadow-sm);
	--wc-shadow-lg: var(--wp--preset--shadow--shadow-lg);
	--wc-gutter: 16px;
	--wc-margin: 20px;
	--wc-header-h: 64px;
	--wc-section-y: clamp(48px, 2rem + 4.45vw, 96px);
	--wc-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}
@media (min-width: 768px) { :root { --wc-gutter: 24px; --wc-margin: 32px; } }
@media (min-width: 1025px) { :root { --wc-margin: 40px; --wc-header-h: 80px; } }

/* ==========================================================================
   Wise Consult — components (shared by the WordPress theme and the design system)
   Every value comes from a --wc-* token; nothing one-off.
   ========================================================================== */

/* ---------- Context: light (default) vs navy bands ---------- */
body {
	--wc-heading: var(--wc-navy-900);
	--wc-body: var(--wc-slate-600);
	--wc-accent: var(--wc-gold-700);
	--wc-link: var(--wc-navy-900);
	--wc-link-hover: var(--wc-gold-700);
	--wc-focus: var(--wc-navy-900);
	--wc-border: var(--wc-line);
	color: var(--wc-body);
	background: var(--wc-surface);
	font-family: var(--wc-sans);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
.has-navy-900-background-color,
.has-navy-700-background-color,
.wc-footer {
	--wc-heading: var(--wc-surface);
	--wc-body: var(--wc-on-navy-muted);
	--wc-accent: var(--wc-gold-500);
	--wc-link: var(--wc-surface);
	--wc-link-hover: var(--wc-gold-500);
	--wc-focus: var(--wc-gold-500);
	--wc-border: var(--wc-navy-700);
	color: var(--wc-surface);
}

h1, h2, h3, h4, h5, h6 { color: var(--wc-heading); font-family: var(--wc-serif); font-weight: 600; margin-block: 0; text-wrap: balance; }
p { text-wrap: pretty; }
a { color: var(--wc-link); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { color: var(--wc-link-hover); }

/* ---------- Focus: 2px solid ring, 2px offset; gold inside navy bands ---------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wc-focus);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ---------- Text styles ---------- */
.wc-eyebrow {
	color: var(--wc-accent);
	font-family: var(--wc-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
	margin: 0;
}
.wc-lead { color: var(--wc-body); }
.has-navy-900-background-color .wc-lead,
.has-navy-700-background-color .wc-lead { color: var(--wc-surface); }
.wc-intro { display: flex; flex-direction: column; gap: var(--wc-space-3); margin-bottom: 0; }
.wc-intro > * { margin: 0; max-width: 720px; }
.wc-intro--center { text-align: center; align-items: center; }

/* ---------- Sections ---------- */
.wc-section { padding-block: var(--wc-section-y); }
.wc-section > * + * { margin-block-start: var(--wc-space-5); }
.wc-section > .wc-intro + * { margin-block-start: var(--wc-space-6); }
.wc-section__actions { margin-top: var(--wc-space-6); }

/* ---------- Buttons ---------- */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: var(--wc-space-3); align-items: center; }
.wp-block-button__link,
.wc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wc-space-2);
	min-height: 48px;
	padding: 12px 24px;
	border: 2px solid var(--wc-gold-500);
	border-radius: var(--wc-radius-sm);
	background: var(--wc-gold-500);
	color: var(--wc-navy-900);
	font-family: var(--wc-sans);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.wp-block-button__link:hover { background: var(--wc-navy-900); border-color: var(--wc-navy-900); color: var(--wc-surface); }
.wp-block-button__link:active { transform: translateY(1px); }
.has-navy-900-background-color .wp-block-button__link:hover,
.has-navy-700-background-color .wp-block-button__link:hover { background: var(--wc-surface); border-color: var(--wc-surface); color: var(--wc-navy-900); }

/* secondary = outline */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: var(--wc-navy-900);
	color: var(--wc-navy-900);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wc-navy-900); color: var(--wc-surface); }
.has-navy-900-background-color .wp-block-button.is-style-outline > .wp-block-button__link,
.has-navy-700-background-color .wp-block-button.is-style-outline > .wp-block-button__link { border-color: var(--wc-surface); color: var(--wc-surface); }
.has-navy-900-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.has-navy-700-background-color .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wc-surface); color: var(--wc-navy-900); }

/* text link with arrow */
.wp-block-button.is-style-text-arrow > .wp-block-button__link,
.wc-link-arrow {
	background: none;
	border: 0;
	min-height: 44px;
	padding: 0;
	color: var(--wc-link);
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: var(--wc-space-2);
}
.wp-block-button.is-style-text-arrow > .wp-block-button__link::after,
.wc-link-arrow::after {
	content: "";
	width: 18px;
	height: 18px;
	flex: none;
	background: currentColor;
	-webkit-mask: var(--wc-icon-arrow) center / contain no-repeat;
	mask: var(--wc-icon-arrow) center / contain no-repeat;
	transition: transform .2s ease;
}
.wp-block-button.is-style-text-arrow > .wp-block-button__link:hover,
.wc-link-arrow:hover { color: var(--wc-link-hover); background: none; }
.wp-block-button.is-style-text-arrow > .wp-block-button__link:hover::after,
.wc-link-arrow:hover::after { transform: translateX(3px); }

.wp-block-button__link[aria-disabled="true"],
.wc-button[disabled] { background: var(--wc-surface-alt); border-color: var(--wc-line-strong); color: var(--wc-slate-600); cursor: not-allowed; }

/* ---------- Icons (SVG files, 24px grid) ---------- */
.wc-icon { margin: 0 0 var(--wc-space-4); line-height: 0; }
.wc-icon img { width: 40px; height: 40px; display: block; }
.wc-icon--sm { margin: 0; }
.wc-icon--sm img { width: 24px; height: 24px; }

/* ---------- Cards ---------- */
.wp-block-group.wc-cards { display: grid; gap: var(--wc-gutter); grid-template-columns: 1fr; }
@media (min-width: 768px) { .wp-block-group.wc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wp-block-group.wc-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.wp-block-group.wc-cards--team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .wp-block-group.wc-cards--team { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wp-block-group.wc-cards--team { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.wc-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--wc-space-2);
	padding: var(--wc-space-5);
	background: var(--wc-surface);
	border: 1px solid var(--wc-line);
	border-radius: var(--wc-radius-md);
	color: var(--wc-slate-600);
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
@media (min-width: 1025px) { .wc-card { padding: var(--wc-space-6); } }
.wc-card > * { margin: 0; }
.wc-card .wc-card__title { color: var(--wc-navy-900); }
.wc-card__tagline { color: var(--wc-navy-900); font-weight: 600; }
.wc-card__text { color: var(--wc-slate-600); }
.wc-card__meta { color: var(--wc-slate-600); font-size: 14px; }
.wc-card__more { margin-top: auto !important; padding-top: var(--wc-space-2); }
.wc-card__more .wc-link-arrow { color: var(--wc-navy-900); }
.wc-card:has(.wc-stretch):hover { border-color: var(--wc-gold-600); box-shadow: var(--wc-shadow-sm); }
.wc-card:has(.wc-stretch:focus-visible) { outline: 2px solid var(--wc-focus); outline-offset: 2px; }
.wc-stretch::before { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.wc-stretch:focus-visible { outline: none; }

.wc-card--compact { padding: var(--wc-space-5); }
.wc-card--compact .wc-icon img { width: 32px; height: 32px; }
.wc-card--plain { border: 0; background: transparent; padding: 0; }
.wc-card--team { padding: 0; border: 0; background: transparent; gap: var(--wc-space-1); }
.wc-card--team .wc-card__title { margin-top: var(--wc-space-3); }
.wc-card--details { background: var(--wc-surface-alt); border: 0; gap: var(--wc-space-1); }
.wc-card--details h2, .wc-card--details h3 { margin-top: var(--wc-space-4); }
.wc-card--details > h2:first-child { margin-top: 0; }

.wc-portrait { margin: 0; }
.wc-portrait img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--wc-radius-md); background: var(--wc-surface-alt); display: block; }

/* ---------- Hero ---------- */
.wc-hero { position: relative; overflow: hidden; }
.wc-hero__inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--wc-space-4); }
.wc-hero__inner > * { margin: 0; max-width: 820px; }
.wc-hero--home { padding-block: var(--wc-space-8) var(--wc-space-8); }
@media (min-width: 1025px) { .wc-hero--home { padding-block: var(--wc-space-10); } }
.wc-hero--page, .wc-hero--service { padding-block: var(--wc-space-7); }
@media (min-width: 1025px) { .wc-hero--page, .wc-hero--service { padding-block: var(--wc-space-9) var(--wc-space-8); } }
.wc-hero .wp-block-buttons { margin-top: var(--wc-space-3); }
/* decoration: three gold rising rules, echoing the logo's bars; hidden from assistive tech (pure CSS) */
.wc-hero::after {
	content: "";
	position: absolute;
	inset-block: 0;
	inset-inline-end: -8%;
	width: min(44%, 560px);
	background:
		linear-gradient(135deg, transparent 49.6%, var(--wc-gold-500) 49.6%, var(--wc-gold-500) 50.4%, transparent 50.4%) 0 40% / 60% 60% no-repeat,
		linear-gradient(135deg, transparent 49.6%, var(--wc-gold-500) 49.6%, var(--wc-gold-500) 50.4%, transparent 50.4%) 30% 70% / 60% 60% no-repeat,
		linear-gradient(135deg, transparent 49.7%, var(--wc-navy-700) 49.7%, var(--wc-navy-700) 50.3%, transparent 50.3%) 70% 100% / 80% 80% no-repeat;
	opacity: .55;
	pointer-events: none;
}
@media (max-width: 767px) { .wc-hero::after { opacity: .25; width: 70%; } }

/* ---------- Proof bar ---------- */
.wp-block-group.wc-proof { display: grid; gap: var(--wc-space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 767px) { .wp-block-group.wc-proof { grid-template-columns: 1fr; } }
.wc-figure { border-top: 2px solid var(--wc-gold-500); padding-top: var(--wc-space-4); }
.wc-figure > * { margin: 0; }
.wc-figure__value { font-family: var(--wc-serif); font-weight: 600; color: var(--wc-navy-900); font-size: clamp(36px, 1.6rem + 2vw, 48px); line-height: 1.1; }
.wc-figure__label { color: var(--wc-slate-600); font-size: 14px; font-weight: 600; margin-top: var(--wc-space-1); }

/* ---------- Feature band (Local Representation) ---------- */
.wc-feature .wp-block-columns { gap: var(--wc-space-7); align-items: center; margin: 0; }
.wc-feature .wp-block-column > * { margin-block: 0 var(--wc-space-4); }
.wp-block-group.wc-points { display: grid; gap: var(--wc-gutter); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 479px) { .wp-block-group.wc-points { grid-template-columns: 1fr; } }
.wc-point { border: 1px solid var(--wc-navy-700); border-radius: var(--wc-radius-md); padding: var(--wc-space-5); background: var(--wc-navy-700); }
.wc-point > * { margin: 0; }
.wc-point h3 { color: var(--wc-surface); }
.wc-point .wc-icon { margin-bottom: var(--wc-space-3); }
.wc-point .wc-icon img { width: 32px; height: 32px; }

/* ---------- Quote ---------- */
.wc-quote {
	margin: var(--wc-space-7) auto 0;
	max-width: 880px;
	padding: 0;
	border: 0;
	text-align: center;
}
.wc-quote::before {
	content: "“";
	display: block;
	font-family: var(--wc-serif);
	font-size: 72px;
	line-height: .8;
	color: var(--wc-gold-600);
	margin-bottom: var(--wc-space-2);
}
.wc-quote p { font-family: var(--wc-serif); font-style: italic; font-weight: 600; color: var(--wc-navy-900); font-size: clamp(20px, 1rem + 1vw, 26px); line-height: 1.45; margin: 0; }
.wc-quote cite { display: block; margin-top: var(--wc-space-4); font-style: normal; font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wc-gold-700); }

/* ---------- Timeline: horizontal ≥1025px, vertical below ---------- */
.wp-block-group.wc-timeline { display: grid; gap: 0; grid-template-columns: 1fr; position: relative; }
.wc-timeline__item { position: relative; padding: 0 0 var(--wc-space-6) var(--wc-space-6); border-inline-start: 2px solid var(--wc-line); margin: 0; }
.wc-timeline__item::before { content: ""; position: absolute; inset-inline-start: -7px; top: 6px; width: 12px; height: 12px; border-radius: var(--wc-radius-full); background: var(--wc-gold-500); box-shadow: 0 0 0 3px var(--wc-surface); }
.wc-timeline__item > * { margin: 0; }
.wc-timeline__year { font-family: var(--wc-serif); font-weight: 600; font-size: 22px; line-height: 1.35; color: var(--wc-navy-900); margin-bottom: var(--wc-space-2) !important; }
@media (min-width: 1025px) {
	.wp-block-group.wc-timeline { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.wc-timeline__item { border-inline-start: 0; border-top: 2px solid var(--wc-line); padding: var(--wc-space-6) var(--wc-space-5) 0 0; }
	.wc-timeline__item::before { inset-inline-start: 0; top: -7px; }
}

/* vertical timeline at any width (used on phones automatically; this modifier forces it) */
.wp-block-group.wc-timeline.wc-timeline--vertical { grid-template-columns: 1fr; }
.wc-timeline--vertical .wc-timeline__item { border-top: 0; border-inline-start: 2px solid var(--wc-line); padding: 0 0 var(--wc-space-6) var(--wc-space-6); }
.wc-timeline--vertical .wc-timeline__item::before { inset-inline-start: -7px; top: 6px; }

/* ---------- Steps ---------- */
.wp-block-group.wc-steps { display: grid; gap: var(--wc-gutter); grid-template-columns: 1fr; counter-reset: step; }
@media (min-width: 768px) { .wp-block-group.wc-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wp-block-group.wc-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.wc-step { display: flex; flex-direction: column; gap: var(--wc-space-2); }
.wc-step > * { margin: 0; }
.wc-step__num { width: 44px; height: 44px; border-radius: var(--wc-radius-full); border: 2px solid var(--wc-gold-600); display: grid; place-items: center; font-family: var(--wc-serif); font-weight: 600; font-size: 20px; color: var(--wc-navy-900); margin-bottom: var(--wc-space-2) !important; }

/* ---------- Checklist (What we do) ---------- */
.wp-block-group.wc-checks { display: grid; gap: var(--wc-space-4) var(--wc-gutter); grid-template-columns: 1fr; }
@media (min-width: 768px) { .wp-block-group.wc-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wp-block-group.wc-checks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.wc-check { display: flex; gap: var(--wc-space-3); align-items: flex-start; background: var(--wc-surface); border-radius: var(--wc-radius-md); padding: var(--wc-space-4) var(--wc-space-5); }
.wc-check > * { margin: 0; }
.wc-check__text { color: var(--wc-navy-900); font-weight: 600; }

/* ---------- Vision / mission, lead partner, contact columns ---------- */
.wc-vm.wp-block-columns, .wc-lead-partner.wp-block-columns, .wc-contact__cols.wp-block-columns { gap: var(--wc-space-7); margin: 0; }
.wc-vm .wc-card > * + * { margin-top: var(--wc-space-2); }
.wc-lead-partner .wp-block-column:first-child { flex-basis: 280px; flex-grow: 0; }
.wc-contact__cols .wp-block-column:first-child > * { margin-block: 0 var(--wc-space-4); }
.wc-contact__cols .wp-block-column:last-child { flex-basis: 360px; flex-grow: 0; }

/* ---------- Closing band ---------- */
.wc-closing { text-align: center; }
.wc-closing :where(h2, .wc-lead) { margin-block: 0 var(--wc-space-4) !important; }
.wc-closing .wp-block-buttons { margin-block: var(--wc-space-5) 0 !important; }

/* ---------- Breadcrumbs ---------- */
.wc-breadcrumbs, .wp-block-breadcrumbs { font-size: 14px; color: var(--wc-body); margin: 0; }
.wp-block-breadcrumbs a { color: var(--wc-link); text-decoration: none; }
.wp-block-breadcrumbs a:hover { text-decoration: underline; }
.wp-block-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--wc-space-2); list-style: none; margin: 0; padding: 0; }

/* ---------- Header ---------- */
.wc-site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 50;
	background: var(--wc-surface);
	border-bottom: 1px solid var(--wc-line);
}
.wc-header { padding-block: 0; }
.wc-header__bar { min-height: var(--wc-header-h); gap: var(--wc-space-4); }
.wc-brand { gap: var(--wc-space-3); flex-shrink: 0; }
.wc-brand__logo img { width: auto; max-height: 44px; }
.wc-brand__name { margin: 0; font-family: var(--wc-serif); font-size: 20px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.1; white-space: nowrap; }
.wc-brand__name a { color: var(--wc-navy-900); text-decoration: none; }
.wc-nav { flex: 1 1 auto; font-size: 16px; font-weight: 600; }
.wc-nav .wp-block-navigation-item__content { color: var(--wc-navy-900); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; box-sizing: border-box; }
.wc-nav .wp-block-navigation-item__content:hover,
.wc-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wc-gold-700); }
.wc-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wc-line) !important;
	border-radius: var(--wc-radius-md);
	box-shadow: var(--wc-shadow-lg);
	padding: var(--wc-space-2) 0;
	min-width: 280px !important;
	font-weight: 400;
}
.wc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 20px; width: 100%; }
.wc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wc-surface-alt); }
.wc-lang { margin: 0; font-weight: 600; white-space: nowrap; }
.wc-lang a { color: var(--wc-navy-900); text-decoration: none; min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wc-lang a:hover { color: var(--wc-gold-700); text-decoration: underline; }
.wc-lang a[lang="ar"] { font-family: var(--wc-arabic-sans); font-size: 17px; }
.wc-header__cta { margin: 0; }
.wc-header__cta .wp-block-button__link { min-height: 44px; padding: 10px 20px; }

/* phone + tablet (≤1024px): one row — logo, language, Menu */
@media (max-width: 1024px) {
	.wc-header__bar > .wp-block-buttons.wc-header__cta { display: none; }
	.wc-brand__name { font-size: 17px; }
	.wc-header__bar > .wc-lang { order: 2; margin-inline-start: auto; }
	.wc-header__bar > .wc-nav { order: 3; flex: 0 0 auto; }
}
/* core switches to the overlay below 600px; extend that to 1024px */
@media (min-width: 600px) and (max-width: 1024px) {
	.wc-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.wc-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
.wc-nav .wp-block-navigation__responsive-container-open,
.wc-nav .wp-block-navigation__responsive-container-close { width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--wc-navy-900); }
.wc-nav .wp-block-navigation__responsive-container-open svg,
.wc-nav .wp-block-navigation__responsive-container-close svg { width: 28px; height: 28px; }
/* the open menu: full screen, large links, Services expanded, CTA + contact at the bottom */
.wc-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wc-surface) !important;
	color: var(--wc-navy-900) !important;
	padding: var(--wc-space-4) var(--wc-margin) var(--wc-space-7);
}
.wc-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: var(--wc-space-8) !important; gap: var(--wc-space-2) !important; }
.wc-nav .is-menu-open .wp-block-navigation-item__content { font-family: var(--wc-serif); font-size: 26px; font-weight: 600; padding-block: 6px !important; }
.wc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--wc-sans); font-size: 17px; font-weight: 400; padding-block: 8px !important; }
.wc-nav .wp-block-navigation__responsive-container.is-menu-open { --navigation-layout-justification-setting: flex-start; --navigation-layout-justify: flex-start; --navigation-layout-align: flex-start; text-align: start; }
.wc-nav .is-menu-open .wp-block-navigation__responsive-container-content, .wc-nav .is-menu-open .wp-block-navigation__container, .wc-nav .is-menu-open .wp-block-navigation-item.has-child { align-items: flex-start !important; }
.wc-nav .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; border-inline-start: 2px solid var(--wc-line) !important; border-radius: 0; box-shadow: none; min-width: 0 !important; padding: 0 !important; padding-inline-start: var(--wc-space-4) !important; margin-top: var(--wc-space-1); }
.wc-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none; }
.wc-nav .is-menu-open .wc-nav__overlay-only .wp-block-navigation-item__content { font-family: var(--wc-sans); font-size: 16px; font-weight: 600; color: var(--wc-gold-700); }
.wc-nav .is-menu-open .wp-block-buttons { margin-top: var(--wc-space-5); width: 100%; }
.wc-nav .is-menu-open .wp-block-button, .wc-nav .is-menu-open .wp-block-button__link { width: 100%; }
@media (min-width: 1025px) {
	.wc-nav .wp-block-navigation__container > .wc-nav__overlay-only,
	.wc-nav .wp-block-navigation__container > .wp-block-buttons,
	.wc-nav .wp-block-navigation__responsive-container-content > .wp-block-buttons { display: none; }
}

/* ---------- Footer ---------- */
.wc-footer { padding-block: var(--wc-space-8) var(--wc-space-6); font-size: 16px; }
.wc-footer a { color: var(--wc-on-navy-muted); text-decoration: none; }
.wc-footer a:hover { color: var(--wc-gold-500); text-decoration: underline; }
.wp-block-group.wc-footer__grid { display: grid; gap: var(--wc-space-6) var(--wc-gutter); grid-template-columns: 1fr; }
@media (min-width: 768px) { .wp-block-group.wc-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wp-block-group.wc-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; } }
.wc-footer__grid > * > * { margin: 0 0 var(--wc-space-3); }
.wc-footer .wc-brand__name a { color: var(--wc-surface); }
.wc-footer__title { font-family: var(--wc-sans) !important; font-size: 14px !important; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wc-gold-500) !important; }
.wc-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.wc-footer__links li a { display: inline-flex; min-height: 40px; align-items: center; }
.wc-footer__text { color: var(--wc-on-navy-muted); max-width: 34ch; }
.wc-footer__bottom { border-top: 1px solid var(--wc-navy-700); margin-top: var(--wc-space-6) !important; padding-top: var(--wc-space-5); gap: var(--wc-space-3) var(--wc-space-5); font-size: 14px; color: var(--wc-on-navy-muted); }
.wc-footer__bottom > * { margin: 0; }

/* ---------- Articles (Insights) ---------- */
.wc-articles .wp-block-post-template { display: grid; gap: var(--wc-space-7) var(--wc-gutter); grid-template-columns: 1fr; list-style: none; padding: 0; margin: 0; }
@media (min-width: 768px) { .wc-articles .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1025px) { .wc-articles .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } .wc-articles .wp-block-post-template > li:first-child { grid-column: 1 / -1; } .wc-articles .wp-block-post-template > li:first-child .wc-article { display: grid; grid-template-columns: 1.3fr 1fr; gap: var(--wc-space-6); align-items: center; } .wc-articles .wp-block-post-template > li:first-child .wp-block-post-title { font-size: 36px !important; } }
.wc-article { display: flex; flex-direction: column; gap: var(--wc-space-2); position: relative; }
.wc-article > * { margin: 0; }
.wc-article .wp-block-post-featured-image img { border-radius: var(--wc-radius-md); aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.wc-article .wp-block-post-title a { color: var(--wc-navy-900); text-decoration: none; }
.wc-article .wp-block-post-title a:hover { color: var(--wc-gold-700); text-decoration: underline; }
.wc-meta { font-size: 14px; color: var(--wc-slate-600); gap: var(--wc-space-2) var(--wc-space-4) !important; }
.wc-meta > * { margin: 0; }
.wc-terms a, .wc-article .wp-block-post-terms a { color: var(--wc-gold-700); font-size: 14px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.wc-filter { list-style: none; margin: 0 0 var(--wc-space-6); padding: 0; display: flex; flex-wrap: wrap; gap: var(--wc-space-2); }
.wc-filter li a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--wc-space-4); border: 1px solid var(--wc-line-strong); border-radius: var(--wc-radius-sm); color: var(--wc-navy-900); text-decoration: none; font-weight: 600; font-size: 14px; }
.wc-filter .cat-item-none { display: none; }
.wc-filter li a:hover, .wc-filter li.current-cat a { background: var(--wc-navy-900); border-color: var(--wc-navy-900); color: var(--wc-surface); }
.wp-block-query-pagination { gap: var(--wc-space-2); margin-top: var(--wc-space-7); font-weight: 600; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: var(--wc-radius-sm); text-decoration: none; }
.wp-block-query-pagination .page-numbers.current { background: var(--wc-navy-900); color: var(--wc-surface); }
.wc-prose { font-size: 18px; line-height: 1.75; color: var(--wc-slate-600); }
.wc-prose h2 { font-size: var(--wc-h2, 32px); margin-top: var(--wc-space-7); margin-bottom: var(--wc-space-3); }
.wc-prose h3 { margin-top: var(--wc-space-6); margin-bottom: var(--wc-space-2); }
.wc-prose blockquote { border-inline-start: 3px solid var(--wc-gold-500); margin-inline: 0; padding-inline-start: var(--wc-space-5); font-family: var(--wc-serif); font-style: italic; color: var(--wc-navy-900); }
.wc-prose figcaption { font-size: 14px; color: var(--wc-slate-600); text-align: start; }
.wc-prose table { border-collapse: collapse; width: 100%; font-size: 16px; }
.wc-prose th, .wc-prose td { border-bottom: 1px solid var(--wc-line); padding: 10px 12px; text-align: start; }
.wc-prose th { color: var(--wc-navy-900); }
.wc-share { gap: var(--wc-space-2) !important; }
.wc-share > * { margin: 0; }
.wc-share a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--wc-space-4); border: 1px solid var(--wc-line-strong); border-radius: var(--wc-radius-sm); color: var(--wc-navy-900); text-decoration: none; font-weight: 600; font-size: 14px; }
.wc-share a:hover { background: var(--wc-navy-900); color: var(--wc-surface); border-color: var(--wc-navy-900); }
.wc-author-box { background: var(--wc-surface-alt); border-radius: var(--wc-radius-md); padding: var(--wc-space-5); }
.wc-author-box .wp-block-post-author__avatar img, .wc-meta .wp-block-avatar img { border-radius: var(--wc-radius-full); }

/* ---------- Forms (WPForms modern markup + fallback) ---------- */
.wc-form, .wpforms-container {
	--wpforms-field-border-color: var(--wc-line-strong);
	--wpforms-field-border-radius: var(--wc-radius-sm);
	--wpforms-field-border-size: 1px;
	--wpforms-field-background-color: var(--wc-surface);
	--wpforms-field-text-color: var(--wc-navy-900);
	--wpforms-field-size-input-height: 48px;
	--wpforms-field-size-font-size: 16px;
	--wpforms-label-color: var(--wc-navy-900);
	--wpforms-label-sublabel-color: var(--wc-slate-600);
	--wpforms-label-error-color: var(--wc-error);
	--wpforms-label-size-font-size: 14px;
	--wpforms-button-background-color: var(--wc-gold-500);
	--wpforms-button-text-color: var(--wc-navy-900);
	--wpforms-button-border-radius: var(--wc-radius-sm);
	--wpforms-button-size-height: 48px;
	--wpforms-button-size-font-size: 16px;
	--wpforms-page-break-color: var(--wc-gold-500);
}
.wc-field { display: flex; flex-direction: column; gap: var(--wc-space-2); margin-bottom: var(--wc-space-5); }
.wc-field label, .wpforms-container .wpforms-field-label { font-size: 14px !important; font-weight: 600 !important; color: var(--wc-navy-900); }
.wc-field .wc-required, .wpforms-container .wpforms-required-label { color: var(--wc-error) !important; }
.wc-input, .wpforms-container input[type=text], .wpforms-container input[type=email], .wpforms-container input[type=tel], .wpforms-container select, .wpforms-container textarea {
	min-height: 48px; width: 100%; box-sizing: border-box; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--wc-navy-900);
	background: var(--wc-surface); border: 1px solid var(--wc-line-strong); border-radius: var(--wc-radius-sm);
}
textarea.wc-input, .wpforms-container textarea { min-height: 140px; }
.wc-input:focus-visible, .wpforms-container input:focus, .wpforms-container select:focus, .wpforms-container textarea:focus { outline: 2px solid var(--wc-focus) !important; outline-offset: 2px; border-color: var(--wc-navy-900) !important; box-shadow: none !important; }
.wc-input[aria-invalid="true"], .wpforms-container .wpforms-error:is(input, select, textarea) { border-color: var(--wc-error) !important; border-width: 2px !important; }
.wc-input:disabled { background: var(--wc-surface-alt); color: var(--wc-slate-600); cursor: not-allowed; }
.wc-help { font-size: 14px; color: var(--wc-slate-600); margin: 0; }
.wc-error-text, .wpforms-container em.wpforms-error, .wpforms-container label.wpforms-error { font-size: 14px !important; color: var(--wc-error) !important; font-style: normal; display: flex; gap: 6px; align-items: center; }
.wc-check-field { display: flex; gap: var(--wc-space-3); align-items: flex-start; font-size: 16px; }
.wc-check-field input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--wc-navy-900); }
.wpforms-container button[type=submit] { font-weight: 600 !important; padding-inline: 28px !important; }
.wpforms-container button[type=submit]:hover { background: var(--wc-navy-900) !important; color: var(--wc-surface) !important; }
.wc-status { display: flex; gap: var(--wc-space-3); align-items: flex-start; padding: var(--wc-space-4) var(--wc-space-5); border-radius: var(--wc-radius-md); font-size: 16px; }
.wc-status > * { margin: 0; }
.wc-status--success, .wpforms-confirmation-container-full { background: var(--wc-success-soft) !important; color: var(--wc-success) !important; border: 1px solid var(--wc-success) !important; border-radius: var(--wc-radius-md) !important; }
.wc-status--error { background: var(--wc-error-soft); color: var(--wc-error); border: 1px solid var(--wc-error); }
.wc-status--sending { background: var(--wc-surface-alt); color: var(--wc-navy-900); border: 1px solid var(--wc-line); }

/* ---------- Arabic / RTL ---------- */
:lang(ar) body, body:lang(ar) { font-family: var(--wc-arabic-sans); font-size: 17px; line-height: 1.85; }
:lang(ar) :is(h1, h2, h3, h4, h5, h6, .wc-figure__value, .wc-timeline__year, .wc-quote p):not(.wc-brand__name) { font-family: var(--wc-arabic-serif); font-weight: 700; line-height: 1.45; letter-spacing: 0; font-style: normal; }
:lang(ar) :is(.wc-eyebrow, .wc-footer__title, .wc-quote cite, .wc-terms a) { text-transform: none; letter-spacing: 0; font-size: 15px; }
[dir="rtl"] .wc-link-arrow::after,
[dir="rtl"] .wp-block-button.is-style-text-arrow > .wp-block-button__link::after { transform: scaleX(-1); }
[dir="rtl"] .wc-link-arrow:hover::after { transform: scaleX(-1) translateX(3px); }
[dir="rtl"] .wc-hero::after { transform: scaleX(-1); }

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

/* ---------- Client logo, as supplied (26 Sep 2026) ---------- */
.wc-brand__logo img { height: 56px; width: auto; max-height: none; }
.wc-brand__logo a { display: block; }
@media (max-width: 1024px) { .wc-brand__logo img { height: 40px; } }
@media (max-width: 380px) { .wc-brand__logo img { height: 34px; } }
.wp-block-site-logo.wc-footer__logo { margin: 0 0 var(--wc-space-4); }
.wc-footer__logo a { display: inline-block; background: #fff; padding: 12px 16px; border-radius: var(--wc-radius-md); }
.wc-footer__logo img { height: 44px; width: auto; display: block; }
/* No white stripe between the closing band and the navy footer */
footer.wp-block-template-part { margin-block-start: 0; }
