/* AZ / shared visual system · 2026-09-30 · no framework */
:root {
  --az-bg:#091727; --az-surface:#0f2136; --az-surface-2:#142941;
  --az-text:#f2f1ec; --az-muted:#a4b0c0; --az-subtle:#78889d;
  --az-gold:#c6a85a; --az-gold-bright:#deca94; --az-gold-ink:#152034;
  --az-line:rgba(184,202,223,.13); --az-gold-line:rgba(198,168,90,.29);
  --az-header:rgba(9,23,39,.96); --az-footer:#071320; --az-shadow:0 24px 80px #0005;
  --az-font:'IBM Plex Sans Arabic','Noto Sans Arabic','Segoe UI',Tahoma,Arial,sans-serif;
  --az-latin:'Inter','Segoe UI',Arial,sans-serif;
  --az-max:1280px; --az-header-h:84px; --az-radius:18px;
  --az-ease:cubic-bezier(.22,.7,.3,1);
  color-scheme:dark;
}
html[data-theme="light"] {
  --az-bg:#f7f6f2; --az-surface:#fffefa; --az-surface-2:#eeeae1;
  --az-text:#13253c; --az-muted:#576576; --az-subtle:#667586;
  --az-gold:#927332; --az-gold-bright:#ac8b42; --az-gold-ink:#fff;
  --az-line:rgba(15,36,58,.13); --az-gold-line:rgba(150,116,51,.3);
  --az-header:rgba(247,246,242,.97); --az-shadow:0 24px 80px #0b19201a;
  color-scheme:light;
}
* {box-sizing:border-box}
html {scroll-behavior:smooth;scroll-padding-top:calc(var(--az-header-h) + 22px);-webkit-text-size-adjust:100%}
body.az-home,body.az-inner {margin:0;font-family:var(--az-font);-webkit-font-smoothing:antialiased}
html:not([lang="ar"]) body.az-home,html:not([lang="ar"]) body.az-inner {font-family:var(--az-latin)}
.az-home {background:var(--az-bg);color:var(--az-text);line-height:1.8}
.az-home h1,.az-home h2,.az-home h3,.az-home p {margin:0}
.az-home h1,.az-home h2,.az-home h3 {color:inherit;line-height:1.45;font-weight:600}
.az-home a,.az-header a,.az-footer a,.az-dialog a {color:inherit;text-decoration:none}
.az-home button,.az-header button,.az-footer button,.az-dialog button {font:inherit;color:inherit;border:0;cursor:pointer;background:none}
.az-home img {display:block;max-width:100%}
.az-home button,.az-header button,.az-dialog button {touch-action:manipulation}
.az-home ::selection,.az-inner ::selection {background:#c6a85a;color:#091727}
:focus-visible {outline:2px solid var(--az-gold);outline-offset:5px}
[hidden] {display:none!important}
.az-icon {width:22px;height:22px;flex-shrink:0;display:inline-block;vertical-align:middle;overflow:visible}
.az-sr {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.az-anchor {display:block;height:0;scroll-margin-top:100px}
.az-container {max-width:var(--az-max);width:calc(100% - 96px);margin-inline:auto}
.az-direction {transition:transform .25s var(--az-ease)}
html[dir="ltr"] .az-direction {transform:scaleX(-1)}
.az-prev {rotate:180deg}
.az-skip {position:fixed;z-index:9999;top:10px;inset-inline-start:12px;background:var(--az-gold);color:#071727!important;padding:10px 20px;border-radius:6px;transform:translateY(-180%)}
.az-skip:focus {transform:none}
/* Header is a single horizontal row. Mobile navigation opens DOWN, never as a sidebar. */
.az-header {position:sticky;top:0;z-index:150;background:var(--az-header);backdrop-filter:blur(18px);color:var(--az-text);border-bottom:1px solid var(--az-line);font-family:var(--az-font)}
html:not([lang="ar"]) .az-header {font-family:var(--az-latin)}
.az-header__inner {height:var(--az-header-h);max-width:1520px;margin-inline:auto;padding:0 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative}
.az-brand {display:inline-flex;gap:12px;align-items:center;flex-shrink:0;line-height:1.25}
.az-monogram {display:grid;place-items:center;position:relative;width:45px;height:47px;border:1px solid var(--az-gold-line);color:var(--az-gold);font-family:Georgia,serif;font-weight:400;font-size:23px;letter-spacing:-2px;padding-inline-end:2px}
.az-monogram:before {content:'';position:absolute;inset:3px;border:1px solid var(--az-gold-line);pointer-events:none}
.az-monogram>span {position:absolute;bottom:-1px;inset-inline-end:-1px;width:8px;height:8px;background:var(--az-gold)}
.az-brand__text {display:flex;flex-direction:column;gap:5px}
.az-brand__text strong {font-size:22px;font-weight:600;color:var(--az-text);white-space:nowrap}
.az-brand__text small {font-size:10px;color:var(--az-muted);font-weight:400;line-height:1.3}
.az-nav {display:flex;align-items:center;justify-content:center;gap:0;flex:1;min-width:0}
.az-nav__link {position:relative;padding:13px 10px;font-size:13px;font-weight:500;line-height:1.4;white-space:nowrap;color:var(--az-muted)!important;border-radius:7px;transition:background .18s,color .18s}
.az-nav__link:hover,.az-nav__link.is-active {color:var(--az-text)!important;background:var(--az-surface-2)}
.az-nav__link.is-active:after {content:'';position:absolute;bottom:-8px;left:30%;right:30%;height:2px;background:var(--az-gold)}
html:not([lang="ar"]) .az-nav__link {font-size:11px;padding-inline:9px}
html:not([lang="ar"]) .az-brand__text strong {font-size:17px}
.az-tools {display:flex;align-items:center;gap:7px;flex-shrink:0;position:relative}
.az-tool {width:39px;height:39px;border:1px solid var(--az-line)!important;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0!important;color:var(--az-muted)!important;transition:background .18s,color .18s,border-color .18s}
.az-tool:hover {background:var(--az-surface-2)!important;color:var(--az-gold)!important;border-color:var(--az-gold-line)!important}
.az-tool .az-icon {width:18px;height:18px}
.az-tool:disabled {opacity:.35;cursor:default}
.az-language {position:relative}
.az-language__toggle {display:flex;align-items:center;gap:6px;height:39px;border:1px solid var(--az-line)!important;border-radius:30px;padding:0 10px!important;color:var(--az-muted)!important;font-family:var(--az-latin)!important;font-size:11px!important}
.az-language__toggle>.az-icon {width:17px;height:17px}
.az-language__toggle>.az-chevron {width:12px;height:12px}
.az-language__toggle:hover {color:var(--az-gold)!important;border-color:var(--az-gold-line)!important}
.az-language__menu {position:absolute;top:calc(100% + 15px);inset-inline-end:0;width:185px;padding:6px;border:1px solid var(--az-gold-line);background:var(--az-surface);box-shadow:var(--az-shadow);border-radius:12px;z-index:170}
.az-language__menu .lang-btn {display:flex;align-items:center;justify-content:space-between;width:100%;border-radius:7px;padding:11px 12px!important;color:var(--az-muted);font-size:13px!important;letter-spacing:0;background:none;text-align:start}
.az-language__menu .lang-btn small {font-family:var(--az-latin);font-size:10px;opacity:.65}
.az-language__menu .lang-btn:hover {background:var(--az-surface-2);color:var(--az-text)}
.az-language__menu .lang-btn.is-active {background:var(--az-gold);color:#0b1c30}
html[data-theme="light"] .az-language__menu .lang-btn.is-active {color:#fff}
.az-menu-toggle {display:none}
.menu-close-icon,.theme-moon {display:none}
html[data-theme="light"] .theme-sun {display:none}
html[data-theme="light"] .theme-moon {display:block}
.az-reading-line {position:absolute;bottom:-1px;width:100%;height:2px;overflow:hidden;pointer-events:none;opacity:.7}
.az-reading-line>span {display:block;width:100%;height:100%;background:var(--az-gold);transform:scaleX(0);transform-origin:right;transition:transform .15s linear}
html[dir="ltr"] .az-reading-line>span {transform-origin:left}
/* Shared actions */
.az-btn {display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:10px 23px;border:1px solid var(--az-line)!important;border-radius:7px;font-size:14px;font-weight:500;line-height:1.6;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.az-btn .az-icon {width:19px;height:19px}
.az-btn--gold {background:var(--az-gold)!important;color:#0a1a2f!important;border-color:var(--az-gold)!important}
html[data-theme="light"] .az-btn--gold {color:#fff!important}
.az-btn--gold:hover {background:var(--az-gold-bright)!important;border-color:var(--az-gold-bright)!important;transform:translateY(-2px)}
.az-btn--quiet {color:var(--az-text);background:transparent}
.az-btn--quiet:hover {border-color:var(--az-gold)!important;background:var(--az-surface-2)}
.az-text-link {display:inline-flex;align-items:center;gap:18px;font-size:14px;font-weight:500;color:var(--az-gold)!important;flex-shrink:0}
.az-text-link:hover {color:var(--az-gold-bright)!important}
.az-eyebrow {display:flex;align-items:center;gap:10px;font-size:12px;color:var(--az-gold);font-weight:500;line-height:1.6;margin:0 0 12px!important}
.az-eyebrow:before {content:'';display:inline-block;width:23px;height:1px;background:currentColor;flex-shrink:0}
html:not([lang="ar"]) .az-eyebrow {font-size:10px;letter-spacing:1.2px;text-transform:uppercase}
.az-socials {display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.az-socials a {width:24px;height:24px;display:grid;place-items:center;color:var(--az-muted);transition:color .2s,transform .2s}
.az-socials a:hover {color:var(--az-gold);transform:translateY(-2px)}
.az-socials svg {width:18px;height:18px;display:block}
/* The contact information lives once, in this footer. */
.az-footer {background:var(--az-footer);color:#d2d9e2;font-family:var(--az-font);border-top:1px solid #c6a85a45}
html:not([lang="ar"]) .az-footer {font-family:var(--az-latin)}
.az-footer .az-brand__text strong {color:#f2f1ec}
.az-footer .az-brand__text small {color:#96a6b9}
.az-footer .az-monogram {color:#c6a85a;border-color:#c6a85a55}
.az-footer .az-monogram:before {border-color:#c6a85a55}
.az-footer .az-monogram>span {background:#c6a85a}
.az-footer__main {display:grid;grid-template-columns:1.25fr 1fr 1.15fr;gap:70px;padding-block:52px 42px}
.az-footer__identity>p {font-size:13px;line-height:2;max-width:340px;color:#92a1b3;margin:19px 0 13px}
.az-location {font-size:11px;color:#8092a8;display:flex;align-items:center;gap:7px}
.az-location .az-icon {width:14px;height:14px}
.az-footer h2 {font-family:inherit;font-size:14px;font-weight:500;color:#e2e6eb;margin:0 0 23px;line-height:1.5}
.az-footer__links nav {display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.az-footer__links a {font-size:12px;color:#92a1b3;line-height:1.6}
.az-footer__links a:hover {color:#c6a85a}
.az-footer__email {display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--az-latin);font-size:clamp(13px,1.3vw,18px);padding-block:0 15px;margin-bottom:22px;border-bottom:1px solid #c6a85a44;color:#d8c593!important;overflow-wrap:anywhere}
.az-footer__email .az-icon {width:17px;height:17px;transform:rotate(-45deg)}
.az-footer .az-socials a {color:#a8b5c6}
.az-footer .az-socials a:hover {color:#c6a85a}
.az-footer__profile {display:inline-block;font-family:var(--az-latin);font-size:10px;color:#7c8b9f!important;margin-top:18px}
.az-footer__bottom {display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;border-top:1px solid #ffffff10;font-size:11px;color:#8092a8}
.az-footer__top {display:inline-flex;align-items:center;gap:12px}
.az-footer__top .az-icon {width:15px;height:15px}
/* Native dialogs: focus trapping, Escape and screen-reader semantics. */
.az-dialog {border:1px solid var(--az-gold-line);border-radius:20px;background:var(--az-bg);color:var(--az-text);max-width:calc(100vw - 32px);max-height:calc(100dvh - 40px);padding:0;box-shadow:var(--az-shadow);font-family:var(--az-font);overscroll-behavior:contain}
html:not([lang="ar"]) .az-dialog {font-family:var(--az-latin)}
.az-dialog::backdrop {background:#020c18c9;backdrop-filter:blur(8px)}
body.az-dialog-open {overflow:hidden}
.az-dialog__close {flex-shrink:0;z-index:5}
.az-search-dialog {width:720px;padding:30px}
.az-search__head {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:24px}
.az-search__head h2 {font-size:26px;font-weight:500;line-height:1.4;color:var(--az-text);margin:0}
.az-search__field {display:flex;align-items:center;gap:15px;border:1px solid var(--az-gold-line);padding:14px 18px;border-radius:8px;background:var(--az-surface)}
.az-search__field>.az-icon {color:var(--az-gold)}
.az-search__field input {width:100%;min-width:0;outline:0;border:0;background:transparent;color:var(--az-text);font:inherit;font-size:15px}
.az-search__field:focus-within {outline:2px solid var(--az-gold);outline-offset:2px}
.az-search__field input::placeholder {color:var(--az-subtle);opacity:1}
.az-search__hint {font-size:12px;color:var(--az-muted);margin:12px 0 22px}
.az-search__results {max-height:55dvh;overflow-y:auto;scrollbar-width:thin}
.az-search__label {color:var(--az-subtle);font-size:11px;margin:0 0 12px}
.az-search__result {display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--az-line);padding:16px 8px;border-radius:5px}
.az-search__result:hover {background:var(--az-surface)}
.az-search__result small {display:block;color:var(--az-gold);font-size:10px;margin-bottom:5px}
.az-search__result strong {display:block;font-size:15px;font-weight:500;color:var(--az-text);line-height:1.65}
.az-search__result>.az-icon {color:var(--az-gold);width:17px;height:17px}
.az-search__empty {padding:20px 6px;font-size:14px;color:var(--az-muted);line-height:1.8}
/* Responsive shell */
@media(min-width:1181px) and (max-width:1350px){.az-header__inner{padding-inline:25px;gap:16px}.az-nav__link{padding-inline:7px;font-size:12px}.az-tools{gap:5px}.az-tool{width:35px;height:35px}.az-language__toggle{height:35px;padding-inline:8px!important}.az-brand{gap:8px}.az-brand__text strong{font-size:19px}.az-monogram{width:39px;height:43px}.az-header__inner .az-brand__text small{font-size:9px}html:not([lang="ar"]) .az-nav__link{font-size:10px;padding-inline:6px}}
@media(max-width:1180px){
 .az-nav {display:none;position:absolute;top:calc(100% + 1px);left:0;right:0;max-height:calc(100dvh - var(--az-header-h));overflow-y:auto;background:var(--az-bg);border-bottom:1px solid var(--az-gold-line);padding:20px 32px 28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;box-shadow:0 28px 35px #0002}
 .az-header.is-menu-open .az-nav {display:grid}
 .az-nav__link {font-size:14px;padding:15px 18px;border:1px solid var(--az-line);white-space:normal;line-height:1.5}
 html:not([lang="ar"]) .az-nav__link {font-size:13px;padding:15px}
 .az-nav__link.is-active:after {display:none}
 .az-menu-toggle {display:inline-flex}
 .az-header.is-menu-open .menu-open-icon {display:none}
 .az-header.is-menu-open .menu-close-icon {display:block}
 .az-footer__main {gap:40px}
}
@media(max-width:800px){
 :root {--az-header-h:74px}
 .az-container {width:calc(100% - 48px)}
 .az-header__inner {padding-inline:24px;gap:12px}
 .az-footer__main {grid-template-columns:1fr 1fr;gap:32px;padding-block:38px}
 .az-footer__identity {grid-column:1/-1}
 .az-footer__identity>p {max-width:500px}
 .az-footer__email {font-size:15px}
 .az-footer__links nav {gap:12px}
}
@media(max-width:520px){
 :root {--az-header-h:70px}
 .az-container {width:calc(100% - 40px)}
 .az-header__inner {padding-inline:15px;gap:8px}
 .az-brand {gap:8px}
 .az-monogram {width:33px;height:38px;font-size:19px}
 .az-brand__text strong {font-size:19px}
 .az-brand__text small {font-size:8px}
 html:not([lang="ar"]) .az-brand__text strong {font-size:13px}
 html:not([lang="ar"]) .az-brand__text small {font-size:7px}
 .az-tools {gap:5px}
 .az-tool {width:32px;height:32px}
 .az-tool .az-icon {width:16px;height:16px}
 .az-language__toggle {height:32px;padding:0 8px!important;gap:4px;font-size:10px!important}
 .az-language__toggle>.az-icon {display:none}
 .az-language__toggle>.az-chevron {display:block;width:10px;height:10px}
 .az-nav {grid-template-columns:1fr 1fr;padding:15px 20px 22px;gap:8px}
 .az-nav__link {font-size:13px;padding:13px 14px}
 html:not([lang="ar"]) .az-nav__link {font-size:11px;padding:13px}
 .az-btn {font-size:13px;padding:11px 17px;min-height:46px;gap:14px}
 .az-footer__main {grid-template-columns:1fr;gap:32px}
 .az-footer__identity {grid-column:auto}
 .az-footer__links nav {grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px}
 .az-footer__links a {font-size:11px}
 .az-footer h2 {margin-bottom:16px}
 .az-footer__email {max-width:340px;font-size:16px}
 .az-footer__bottom {align-items:flex-start;gap:12px;font-size:10px;padding-block:20px}
 .az-footer__top {gap:6px;white-space:nowrap}
 .az-footer__top .az-icon {width:12px;height:12px}
 .az-search-dialog {padding:22px 18px}
 .az-search__head h2 {font-size:22px}
 .az-search__field {padding:12px;gap:10px}
 .az-search__field input {font-size:12px}
 .az-search__results {max-height:58dvh}
}
@media(max-width:359px){.az-header__inner{padding-inline:10px}.az-tools{gap:4px}.az-brand__text small{display:none}.az-brand__text strong{font-size:17px}.az-tool{width:29px;height:29px}.az-language__toggle{padding-inline:6px!important}.az-monogram{width:30px;height:34px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media print{.az-header,.az-footer,.az-dialog,.az-hero__scroll,.gallery-controls{display:none!important}.az-home{color:#111;background:#fff}.az-container{width:100%}.project-panel[hidden]{display:grid!important}.project-tabs{display:none!important}a{color:inherit!important}}
