/* ==========================================================================
   Mesosphere — shell.css
   Header (over / solid / docked), desktop nav + dropdown, language pill,
   mobile menu, page banner, breadcrumbs, closing CTA, footer, to-top, preloader.
   Loads on every view.
   ========================================================================== */

/* ---- Header ---- */
.meso-header{position:relative;z-index:60;block-size:var(--meso-header-h)}
.meso-header__in{block-size:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.meso-brand{display:inline-flex;align-items:center;flex:0 0 auto}
.meso-logo{block-size:var(--meso-logo-h);inline-size:auto}
.meso-logo--light{display:none}
/* A white-only logo shown on a light surface is rendered in charcoal. */
.meso-logo--tint{filter:brightness(0);opacity:.84}
.meso-mnav .meso-logo--light,.meso-footer .meso-logo--light{display:block}

/* Over mode: floats inside the hero / banner frame */
.meso-header-over .meso-header{position:absolute;inset-block-start:14px;inset-inline:14px}
.meso-header-over .meso-header .meso-logo--light{display:block}
.meso-header-over .meso-header .meso-logo--dark{display:none}

/* Docked: soft white bar with blur, slides in */
.meso-header.is-stuck{position:fixed;inset-block-start:10px;inset-inline:10px;block-size:72px;border-radius:20px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:0 1px 0 rgba(var(--meso-ink-rgb),.05),0 18px 40px -22px rgba(var(--meso-ink-rgb),.35);animation:meso-dock .8s var(--meso-ease) both}
.meso-header.is-stuck .meso-logo--light{display:none}
/* A white-only logo shown on a light surface is rendered in charcoal. */
.meso-logo--tint{filter:brightness(0);opacity:.84}
.meso-mnav .meso-logo--light,.meso-footer .meso-logo--light{display:block}
.meso-header.is-stuck .meso-logo--dark{display:block}
@keyframes meso-dock{from{transform:translate3d(0,-120%,0)}to{transform:none}}
.meso-header-sticky.meso-header-solid .meso-page{padding-block-start:0}

/* ---- Desktop nav ---- */
.meso-nav__list{display:flex;align-items:center;gap:4px;margin:0;padding:0;list-style:none}
.meso-nav__item{position:relative}
.meso-nav__link{display:flex;align-items:center;gap:6px;block-size:42px;padding-inline:16px;border-radius:999px;font-size:.9375rem;font-weight:500;color:var(--meso-ink);transition:background-color var(--meso-t-c) var(--meso-ease-s),color var(--meso-t-c) var(--meso-ease-s)}
.meso-nav__link:hover{background:var(--meso-bg-soft)}
.meso-nav__link.is-on{background:var(--meso-ink);color:#fff}
.meso-nav__link svg{transition:transform .6s var(--meso-ease)}
.meso-nav__item.has-drop:hover>.meso-nav__link svg,.meso-nav__item.has-drop:focus-within>.meso-nav__link svg{transform:rotate(180deg)}
.meso-header-over .meso-header:not(.is-stuck) .meso-nav__link{color:rgba(255,255,255,.86)}
.meso-header-over .meso-header:not(.is-stuck) .meso-nav__link:hover{background:rgba(255,255,255,.14);color:#fff}
.meso-header-over .meso-header:not(.is-stuck) .meso-nav__link.is-on{background:#fff;color:var(--meso-ink)}

/* Dropdown */
.meso-drop{position:absolute;inset-block-start:calc(100% + 10px);inset-inline-start:0;min-inline-size:260px;padding:10px;border-radius:20px;background:#fff;box-shadow:var(--meso-sh-m);border:1px solid var(--meso-line);opacity:0;visibility:hidden;transform:translate3d(0,8px,0);transition:opacity .45s var(--meso-ease-s),transform .6s var(--meso-ease),visibility .45s}
.meso-drop::before{content:"";position:absolute;inset-inline:0;inset-block-start:-12px;block-size:12px}
.meso-nav__item:hover>.meso-drop,.meso-nav__item:focus-within>.meso-drop{opacity:1;visibility:visible;transform:none}
.meso-drop__list{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}
.meso-drop__link{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;font-size:.9375rem;font-weight:500;transition:background-color var(--meso-t-c) var(--meso-ease-s)}
.meso-drop__link:hover,.meso-drop__link.is-on{background:var(--meso-bg-soft)}

/* Actions */
.meso-header__actions{display:flex;align-items:center;gap:10px}
.meso-lang{display:flex;align-items:center;block-size:46px;padding:4px;gap:2px;border-radius:999px;border:1px solid var(--meso-line-2)}
.meso-lang a{min-inline-size:38px;block-size:36px;padding-inline:10px;border-radius:999px;display:grid;place-items:center;font-size:.8125rem;font-weight:600;transition:background-color var(--meso-t-c) var(--meso-ease-s),color var(--meso-t-c) var(--meso-ease-s)}
.meso-lang a[data-lang="ar"]{font-family:var(--meso-font-ar);font-size:.95rem}
.meso-lang a:hover{background:var(--meso-bg-soft)}
.meso-lang a.is-on{background:var(--meso-ink);color:#fff}
.meso-header-over .meso-header:not(.is-stuck) .meso-lang,.meso-lang--dark{border-color:rgba(255,255,255,.28);color:#fff}
.meso-header-over .meso-header:not(.is-stuck) .meso-lang a:hover,.meso-lang--dark a:hover{background:rgba(255,255,255,.12)}
.meso-header-over .meso-header:not(.is-stuck) .meso-lang a.is-on,.meso-lang--dark a.is-on{background:#fff;color:var(--meso-ink)}
.meso-burger{display:none;inline-size:46px;block-size:46px;border-radius:50%;border:1px solid var(--meso-line-2);background:#fff;color:var(--meso-ink);place-items:center;transition:background-color var(--meso-t-c) var(--meso-ease-s),color var(--meso-t-c) var(--meso-ease-s)}
.meso-burger:hover{background:var(--meso-ink);color:#fff}
.meso-header-over .meso-header:not(.is-stuck) .meso-burger{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);color:#fff}

@media (max-width:1180px){
	.meso-nav{display:none}
	.meso-burger{display:grid}
}
@media (max-width:640px){
	:root{--meso-header-h:68px}
	.meso-logo{block-size:var(--meso-logo-h-m)}
	.meso-header__actions .meso-btn,.meso-header__lang{display:none}
	.meso-header-over .meso-header{inset-block-start:8px;inset-inline:8px}
	.meso-header.is-stuck{block-size:62px;border-radius:16px;inset-inline:8px;inset-block-start:8px}
}

/* ---- Mobile menu ---- */
.meso-mnav{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;background:var(--meso-dark);color:var(--meso-on-dark);overflow-y:auto;opacity:0;transform:translate3d(0,-12px,0);transition:opacity .6s var(--meso-ease-s),transform .8s var(--meso-ease)}
.meso-mnav[hidden]{display:none}
.meso-mnav.is-open{opacity:1;transform:none}
.meso-mnav__glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px 300px at 100% 0%,rgba(var(--meso-accent-rgb),.14),transparent 70%)}
.meso-mnav__top{position:relative;display:flex;align-items:center;justify-content:space-between;block-size:72px;padding-inline:18px}
.meso-mnav__top .meso-logo{block-size:var(--meso-logo-h-m);display:block}
.meso-mnav__tools{display:flex;align-items:center;gap:8px}
.meso-mnav__links{position:relative;padding:10px 22px 0;display:flex;flex-direction:column}
.meso-mlink{display:flex;align-items:center;gap:16px;padding-block:12px;border-block-end:1px solid var(--meso-on-dark-line);opacity:0;transform:translate3d(0,14px,0);transition:opacity .6s var(--meso-ease-s),transform .8s var(--meso-ease),color var(--meso-t-c);transition-delay:calc(var(--meso-i,0) * 55ms + 120ms)}
.meso-mnav.is-open .meso-mlink{opacity:1;transform:none}
.meso-mlink__n{inline-size:22px;font-size:.75rem;font-weight:600;color:var(--meso-accent)}
.meso-mlink__t{flex:1;font-size:1.45rem;font-weight:600;letter-spacing:-.025em}
.meso-mlink__a{opacity:.5;display:inline-flex}
.meso-mlink.is-on .meso-mlink__t,.meso-mlink:hover .meso-mlink__t{color:var(--meso-accent)}
.meso-mnav__foot{position:relative;margin-block-start:auto;padding:28px 22px 26px;display:flex;flex-direction:column;gap:16px}
.meso-mnav__offs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.meso-mnav__off{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06)}
.meso-mnav__city{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--meso-accent)}
.meso-mnav__offs bdi{font-size:.66rem;font-weight:600;white-space:nowrap}
.meso-mnav__foot .meso-btn{justify-content:space-between}
.meso-mnav__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.875rem;color:var(--meso-on-dark-muted)}
.meso-mnav__meta .meso-soc{inline-size:38px;block-size:38px}
html.meso-lock,html.meso-lock body{overflow:hidden}

/* ---- Page banner ---- */
.meso-pb{position:relative;isolation:isolate;margin:14px;border-radius:var(--meso-frame);overflow:hidden;background:var(--meso-dark);color:var(--meso-on-dark);padding-block-start:var(--meso-header-h)}
.meso-pb__img{position:absolute;inset:0;z-index:-3;inline-size:100%;block-size:100%;object-fit:cover;opacity:var(--meso-banner-op);filter:grayscale(.35);transform:scale(1.04);animation:meso-pbz 2.4s var(--meso-ease) both}
@keyframes meso-pbz{from{transform:scale(1.12)}to{transform:scale(1.04)}}
.meso-pb::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(100deg,rgba(var(--meso-dark-rgb),.97) 0%,rgba(var(--meso-dark-rgb),.86) 42%,rgba(var(--meso-dark-rgb),.45) 100%)}
.meso-pb::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(600px 380px at 88% 12%,rgba(var(--meso-accent-rgb),.16),transparent 70%),radial-gradient(900px 500px at 0% 120%,rgba(var(--meso-accent-rgb),.07),transparent 60%)}
.meso-pb__dome{position:absolute;inset-inline-end:48px;inset-block-end:-4px;z-index:-1;color:rgba(var(--meso-accent-rgb),.16);pointer-events:none}
.meso-pb__in{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;padding-block:56px 84px}
.meso-pb__main{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-inline-size:780px}
.meso-pb__title{font-size:var(--meso-h2);line-height:1.08;letter-spacing:-.032em;color:#fff}
.meso-pb__lead{max-inline-size:400px;font-size:1.125rem;line-height:1.7;color:var(--meso-on-dark-muted)}
.meso-pb .meso-eyebrow{margin-block-start:8px}
@media (max-width:900px){
	.meso-pb__in{flex-direction:column;align-items:flex-start;gap:24px;padding-block:40px 56px}
	.meso-pb__dome{inline-size:260px;inset-inline-end:-40px}
}
@media (max-width:640px){.meso-pb{margin:8px;border-radius:24px}}

/* Breadcrumbs */
.meso-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;list-style:none}
.meso-crumb li{display:flex;align-items:center;gap:10px;font-size:.875rem}
.meso-crumb li+li::before{content:"";inline-size:4px;block-size:4px;border-radius:50%;background:currentColor;opacity:.35}
.meso-crumb--pill{display:inline-flex;align-items:center;min-block-size:38px;padding:6px 16px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--meso-on-dark-muted)}
.meso-crumb--pill a{transition:color var(--meso-t-c)}
.meso-crumb--pill a:hover{color:var(--meso-accent)}
.meso-crumb--pill [aria-current]{color:var(--meso-on-dark)}

/* ---- Closing CTA ---- */
.meso-cta{padding-block:0 var(--meso-space-section)}
.meso-main>*:last-child:not(.meso-pb){margin-block-end:0}
.meso-cta__card{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--meso-frame);background:var(--meso-dark);color:var(--meso-on-dark);padding:clamp(40px,6vw,88px) clamp(24px,6vw,80px)}
.meso-cta__img{position:absolute;inset:0;z-index:-3;inline-size:100%;block-size:100%;object-fit:cover;opacity:.28}
.meso-cta__card::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(var(--meso-dark-rgb),.96) 30%,rgba(var(--meso-dark-rgb),.55)),radial-gradient(500px 300px at 90% 0%,rgba(var(--meso-accent-rgb),.14),transparent 70%)}
.meso-cta__dome{position:absolute;inset-inline-end:60px;inset-block-end:-6px;z-index:-1;color:rgba(var(--meso-accent-rgb),.35);pointer-events:none}
.meso-cta__body{display:flex;flex-direction:column;align-items:flex-start;gap:22px;max-inline-size:640px}
.meso-cta__title{font-size:var(--meso-h2);line-height:1.08;color:#fff}
.meso-cta__text{font-size:1.125rem;line-height:1.7;color:var(--meso-on-dark-muted)}
.meso-cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-block-start:8px}
@media (max-width:640px){.meso-cta__dome{inline-size:220px;inset-inline-end:-30px}.meso-cta__btns{inline-size:100%}.meso-cta__btns .meso-btn{flex:1;justify-content:space-between}}

/* ---- Footer ---- */
.meso-footer{position:relative;isolation:isolate;overflow:hidden;background:var(--meso-dark);color:var(--meso-on-dark);border-radius:40px 40px 0 0;padding-block-start:84px}
.meso-footer::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(700px 360px at 85% 0%,rgba(var(--meso-accent-rgb),.10),transparent 70%)}
.meso-footer__dome{position:absolute;inset-inline-end:-60px;inset-block-end:-10px;z-index:-1;color:rgba(247,244,241,.05);pointer-events:none}
.meso-footer__top{display:grid;grid-template-columns:1fr minmax(0,560px);gap:80px;align-items:center;padding-block-end:64px;border-block-end:1px solid var(--meso-on-dark-line)}
.meso-footer__brand{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.meso-footer__brand .meso-logo{display:block;block-size:32px}
.meso-footer__brand p{max-inline-size:420px;line-height:1.8;color:var(--meso-on-dark-muted)}
.meso-footer__card{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 32px;border-radius:var(--meso-radius);background:rgba(255,255,255,.05);border:1px solid var(--meso-on-dark-line)}
.meso-footer__card-t{font-size:1.25rem;font-weight:600;letter-spacing:-.01em;color:var(--meso-on-dark)}
.meso-footer__card-s{margin-block-start:6px;font-size:.875rem;color:var(--meso-on-dark-muted)}
.meso-footer__grid{display:grid;grid-template-columns:1fr 1.1fr 1.1fr 1.1fr;gap:56px;padding-block:56px}
.meso-footer__h{display:flex;align-items:center;gap:10px;margin-block-end:20px;font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--meso-on-dark)}
.meso-footer__h::before{content:"";inline-size:6px;block-size:6px;border-radius:50%;background:var(--meso-accent)}
.meso-footer__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin:0;padding:0;list-style:none;font-size:.875rem}
.meso-footer__links a{display:inline-flex;align-items:center;color:var(--meso-on-dark-muted);transition:color var(--meso-t-c) var(--meso-ease-s)}
.meso-footer__links a::before{content:"";inline-size:0;block-size:1px;background:var(--meso-accent);margin-inline-end:0;transition:inline-size .6s var(--meso-ease),margin .6s var(--meso-ease)}
.meso-footer__links a:hover{color:var(--meso-on-dark)}
.meso-footer__links a:hover::before{inline-size:14px;margin-inline-end:8px}
.meso-footer__office{display:flex;flex-direction:column;gap:10px;font-size:.875rem;line-height:1.6;color:var(--meso-on-dark-muted)}
.meso-footer__i{display:flex;gap:10px;align-items:flex-start}
.meso-footer__i svg{flex:0 0 auto;margin-block-start:3px;color:var(--meso-accent)}
.meso-footer__i a{font-weight:600;color:var(--meso-on-dark);transition:color var(--meso-t-c)}
.meso-footer__i a:hover{color:var(--meso-accent)}
.meso-footer__bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-block-size:84px;border-block-start:1px solid var(--meso-on-dark-line);font-size:.8125rem;color:var(--meso-on-dark-muted)}
.meso-footer__tag{font-size:.6875rem;font-weight:600;letter-spacing:.32em}
.meso-footer__up{display:flex;align-items:center;gap:12px}
.meso-footer__up .meso-soc{inline-size:38px;block-size:38px}
@media (max-width:1024px){
	.meso-footer__top{grid-template-columns:1fr;gap:36px}
	.meso-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
}
@media (max-width:640px){
	.meso-footer{border-radius:30px 30px 0 0;padding-block-start:48px}
	.meso-footer__card{flex-direction:column;align-items:flex-start}
	.meso-footer__grid{grid-template-columns:1fr;gap:32px}
	.meso-footer__bar{flex-direction:column;justify-content:center;padding-block:22px;text-align:center}
}

/* ---- Back to top ---- */
.meso-totop{position:fixed;inset-block-end:24px;inset-inline-end:24px;z-index:50;inline-size:48px;block-size:48px;border-radius:50%;display:grid;place-items:center;background:var(--meso-ink);color:var(--meso-accent);box-shadow:var(--meso-sh-s);opacity:0;visibility:hidden;transform:translate3d(0,12px,0);transition:opacity .5s var(--meso-ease-s),transform .8s var(--meso-ease),visibility .5s,background-color var(--meso-t-c)}
.meso-totop.is-on{opacity:1;visibility:visible;transform:none}
.meso-totop:hover{background:var(--meso-accent);color:var(--meso-ink)}

/* ---- Preloader ---- */
.meso-preloader{position:fixed;inset:0;z-index:999;display:grid;place-items:center;background:var(--meso-dark);color:rgba(var(--meso-accent-rgb),.85);transition:opacity .7s var(--meso-ease-s),visibility .7s}
.meso-preloader line,.meso-preloader path{stroke-dasharray:420;stroke-dashoffset:420;animation:meso-draw 1.8s var(--meso-ease-io) forwards}
@keyframes meso-draw{to{stroke-dashoffset:0}}
.meso-loaded .meso-preloader{opacity:0;visibility:hidden}
/* Office addresses keep their calm muted look — only the link (gold underline on hover) is added. */
.meso-footer__i .meso-maplink,.meso-footer__h .meso-maplink{font-weight:inherit;color:inherit}
.meso-footer__i .meso-maplink:hover{color:var(--meso-on-dark)}
