/* MAHROUS typography Step 1 trial: self-hosted SIL-OFL fonts; no 3D edits. */
@font-face {
  font-family: 'MAHROUS Alexandria';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/alexandria-arabic-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'MAHROUS Alexandria';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/alexandria-arabic-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'MAHROUS Alexandria';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/alexandria-arabic-700-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'MAHROUS Manrope';
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/manrope-latin-400-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'MAHROUS Manrope';
  font-weight: 600;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/manrope-latin-600-normal.woff2') format('woff2');
}
@font-face {
  font-family: 'MAHROUS Manrope';
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  src: url('./fonts/manrope-latin-700-normal.woff2') format('woff2');
}

:root { --site-background:#EBF3F5; --site-surface:#fff; --site-text:#0C1E36; --site-muted:#3A4B63; --site-accent:#F06543; --site-border:#cad8e2; --site-font:'MAHROUS Outfit','Segoe UI',Arial,sans-serif; --site-font-en:'MAHROUS Outfit','Segoe UI',Arial,sans-serif; --site-font-ar:'MAHROUS Cairo','MAHROUS Outfit',Tahoma,Arial,sans-serif; }
/* S1 typography: Cairo for Arabic, Outfit for English (self-hosted, OFL). */
:root[lang="ar"] { --site-font:var(--site-font-ar); }
/* Arabic islands on English pages (e.g. the language switch) use Cairo too. */
:root:not([lang="ar"]) [lang="ar"] { font-family:var(--site-font-ar); }
/* The accepted 3D Hero and Journey keep their approved Manrope/Alexandria typography. */
.mahrous-hero { font-family:'MAHROUS Manrope','Segoe UI',Arial,sans-serif; }
:root[data-site-theme="dark"] { --site-background:#0A0F1D; --site-surface:#121829; --site-text:#F0F4F8; --site-muted:#C5D1E0; --site-border:#344358; }
body { margin:0; background:var(--site-background); color:var(--site-text); font-family:var(--site-font); }
a { color:inherit; text-underline-offset:4px; }
button,input { font:inherit; }
img { max-width:100%; height:auto; }
.wp-site-blocks { padding:0; }
.wp-site-blocks > * { margin-block-start:0; }
:where(a,button,summary,input):focus-visible { outline:3px solid #b94725; outline-offset:4px; }
.skip-link { position:absolute; left:16px; top:-100px; background:#fff; color:#0C1E36; padding:12px 20px; }
.skip-link:focus { top:12px; z-index:30; }
.site-footer { padding:40px clamp(24px,4vw,64px); border-top:1px solid var(--site-border); background:var(--site-background); color:var(--site-text); }
.site-footer p { margin:0 0 8px; }
.site-footer p:first-child { font-weight:700; letter-spacing:.08em; }
.site-footer small { color:var(--site-muted); }
.site-content { padding:64px 24px; min-height:45vh; }
.site-content > * { max-width:760px; margin-inline:auto; }
.site-content:has(>.mahrous-hero) { padding:0; }
.shell-cta { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; padding:10px 16px; border-radius:8px; background:#ab3820; color:#fff; font-size:14px; font-weight:600; text-decoration:none; }
.desktop-enquiry { flex-shrink:0; }
.mobile-enquiry { display:none; }
.language-link { min-width:44px; justify-content:center; }
.enquiry-channels { display:flex; flex-wrap:wrap; gap:12px; margin-block:24px; }
.site-footer .site-links { justify-content:flex-start; margin-block:24px; }
:root[data-site-theme="dark"] :where(a,button,summary,input):focus-visible { outline-color:#ff9b77; }

/* Premium Editorial Stage 1: the native menu retains the legacy floating silhouette. */
.site-header { position:relative; z-index:20; width:calc(100% - 32px); max-width:1400px; margin:12px auto!important; border-radius:34px; background:var(--nav-surface); color:var(--nav-ink); border:1px solid var(--nav-line); box-shadow:0 10px 28px #08090b14; backdrop-filter:blur(18px) saturate(1.14); }
.site-header-row { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:76px; padding:8px 16px; box-sizing:border-box; }
.site-header *, .site-header *::before { box-sizing:border-box; }
.site-header[dir=rtl], .site-footer[dir=rtl] { font-family:var(--site-font-ar); }
.site-brand { display:flex; align-items:center; flex:0 0 168px; min-width:0; }
.site-brand img { display:block; width:100%; max-width:168px; height:auto; object-fit:contain; }
.site-navigation { flex:1 1 auto; min-width:0; }
.site-links { list-style:none; margin:0; padding:0; display:flex; gap:14px; align-items:center; justify-content:center; }
.site-header .site-links a { display:flex; align-items:center; min-height:44px; font-size:13px; line-height:1.5; font-weight:600; text-decoration:none; }
.site-header .site-links a:hover, .site-header .site-links a[aria-current] { text-decoration:underline; }
.site-menu summary { display:none; }
.site-menu-panel { display:block; }
.site-controls { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.site-controls a,.site-controls button { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; font:600 13px var(--site-font); }
.site-controls button { border:1px solid var(--nav-line); border-radius:50%; background:var(--nav-control); color:var(--nav-ink); padding:8px; cursor:pointer; }
.site-controls button[hidden] { display:none; }
.site-header .shell-cta { border-radius:24px; background:#ab3820; font-size:13px; padding-inline:18px; }
.site-header :is(a,button,summary):focus-visible { outline:3px solid #ab3820; outline-offset:3px; }
@media(max-width:1024px) {
 .site-header { width:calc(100% - 18px); border-radius:24px; margin-block:10px!important; }
 .site-header-row { gap:8px; padding:6px 10px; min-height:64px; }
 .site-brand { flex:0 1 190px; margin-inline-end:auto; }
 .site-brand img { max-width:190px; }
 .site-navigation { flex:0 0 44px; order:3; }
 .site-menu summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; cursor:pointer; border:1px solid var(--nav-line); border-radius:50%; background:var(--nav-control); color:var(--nav-ink); font-size:20px; }
 .site-menu summary::marker { content:''; }
 .site-menu summary::-webkit-details-marker { display:none; }
 .site-menu:not([open]) > .site-menu-panel { display:none; }
 .site-menu-panel { position:absolute; top:calc(100% + 8px); inset-inline:0; padding:14px; border:1px solid var(--nav-line); border-radius:22px; background:var(--nav-surface); box-shadow:0 16px 36px #08090b1f; max-height:calc(100dvh - 110px); overflow-y:auto; }
 .site-header .site-links { flex-direction:column; align-items:stretch; gap:4px; }
 .site-header .site-links a { padding:8px 12px; font-size:14px; }
 .desktop-enquiry { display:none; }
 .mobile-enquiry { display:inline-flex; margin-top:12px; }
}
@media(max-width:430px) {
 .site-brand { flex-basis:156px; }
 .site-controls { gap:4px; }
 .site-header-row { gap:5px; padding-inline:8px; }
}
@media(max-width:360px) { .site-brand { flex-basis:120px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

.site-footer .site-links { flex-wrap:wrap; }

/* Shell-only tokens: never cascade a presentation change into the frozen Hero. */
.site-header { --nav-surface:#ffffff;--nav-ink:#102337;--nav-line:#d6e1e6;--nav-control:#f0f5f7;box-shadow:0 8px 30px #1023370c;max-width:1320px; }
:root[data-site-theme="dark"] .site-header { --nav-surface:#101f31;--nav-ink:#f0f6fa;--nav-line:#34485a;--nav-control:#162a3c;box-shadow:0 8px 30px #0003; }
:root[data-site-theme="dark"] .site-brand { background:#f5f8fa;border-radius:14px;padding:7px 10px; }
.site-header .site-links { gap:clamp(10px,1.2vw,18px); }
.site-header .site-links a { transition:text-decoration-color .25s ease; }
.site-header .site-links a:hover { color:#a93820; }
:root[data-site-theme="dark"] .site-header .site-links a:hover { color:#ffb297; }
.site-header .shell-cta { background:#10283e;border:1px solid var(--nav-line);transition:transform .25s ease; }
:root[data-site-theme="dark"] .site-header .shell-cta { background:#f0f6fa;color:#102337; }
.site-header .shell-cta:hover { transform:translateY(-2px);background:#ab3820;color:white; }
@media(min-width:1025px) and (max-width:1150px) { .site-header-row { gap:10px;padding-inline:12px; }.site-brand{flex-basis:136px;}.site-header .site-links{gap:10px;}.site-header .shell-cta{padding-inline:12px;}.site-controls{gap:4px;} }
@media(prefers-reduced-motion:reduce) { .site-header * { transition:none!important; }.site-header .shell-cta:hover {transform:none;} }

@media(max-width:1024px) {.site-header .site-links {gap:4px;}}
/* Operator correction, 2026-10-12: true page-wide sticky capsule. The native
   template-part wrapper must not limit sticky travel to the header's own height. */
.wp-block-template-part:has(> .site-header) { display:contents; }
.site-header { position:sticky;top:max(12px,env(safe-area-inset-top));z-index:100;backdrop-filter:none; }
:root[data-site-theme="dark"] .site-brand { background:#eef3f5;padding:5px 6px;border-radius:10px; }
html {scroll-padding-top:112px;}
@media(max-width:1024px) {.site-header {top:max(10px,env(safe-area-inset-top));}html{scroll-padding-top:96px;}}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto;}}
/* Off-screen placement alone can leak into full-document captures after sticky
   scrolling. Keep the native skip link visually hidden until keyboard focus. */
.skip-link {clip-path:inset(50%);}
.skip-link:focus {clip-path:none;}
/* Service-pilot typography (Ali-approved Cairo AR / Outfit EN), self-hosted SIL-OFL via Fontsource
   @fontsource/cairo 5.2.7 and @fontsource/outfit 5.2.8. Declared only; pages opt in. */
@font-face { font-family:'MAHROUS Cairo'; font-weight:400; font-style:normal; font-display:swap; src:url('./fonts/cairo-arabic-400-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:500; font-style:normal; font-display:swap; src:url('./fonts/cairo-arabic-500-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:700; font-style:normal; font-display:swap; src:url('./fonts/cairo-arabic-700-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:800; font-style:normal; font-display:swap; src:url('./fonts/cairo-arabic-800-normal.woff2') format('woff2'); unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:500; font-style:normal; font-display:swap; src:url('./fonts/cairo-latin-500-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:700; font-style:normal; font-display:swap; src:url('./fonts/cairo-latin-700-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'MAHROUS Cairo'; font-weight:800; font-style:normal; font-display:swap; src:url('./fonts/cairo-latin-800-normal.woff2') format('woff2'); unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'MAHROUS Outfit'; font-weight:300; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-300-normal.woff2') format('woff2'); }
@font-face { font-family:'MAHROUS Outfit'; font-weight:400; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family:'MAHROUS Outfit'; font-weight:500; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family:'MAHROUS Outfit'; font-weight:600; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family:'MAHROUS Outfit'; font-weight:700; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family:'MAHROUS Outfit'; font-weight:800; font-style:normal; font-display:swap; src:url('./fonts/outfit-latin-800-normal.woff2') format('woff2'); }
