/* ============================================================ Shared site navigation: mega menu, header, footer + data. Exposes to window: SERVICE_GROUPS, ServicesMenu, SiteHeader, SiteFooter, serviceHref. Load AFTER React/ReactDOM/Babel and BEFORE the page script. ============================================================ */ /* --- icons (simple line marks, one per group) --- */ function _icoDoc(c){return ;} function _icoGlobe(c){return ;} function _icoBank(c){return ;} function _icoLock(c){return ;} function _icoId(c){return ;} function _icoPeople(c){return ;} /* --- data: groups -> items (English) --- */ const SERVICE_GROUPS = [ { key: "formation", label: "Company Formation", icon: _icoDoc, items: [ { name: "Dubai (Free Zone & Mainland)", href: "Company Setup in Dubai.html" }, { name: "US (LLC or C-Corp)", slug: "us-llc" }, { name: "Cyprus Ltd", slug: "cyprus-ltd" }, { name: "Panama (IBC or S.A.)", slug: "panama-corp" } ] }, { key: "relocation", label: "Relocation", icon: _icoGlobe, items: [ { name: "Dubai (Golden) Visa", slug: "dubai-golden-visa" }, { name: "Panama Residency", slug: "panama-residency" }, { name: "Paraguay Residency", slug: "paraguay-residency" }, { name: "Cyprus Non-Dom", slug: "cyprus-nondom" } ] }, { key: "banking", label: "Banking", icon: _icoBank, items: [ { name: "Bank Account — Dubai", slug: "bank-dubai" }, { name: "Bank Account — Georgia", slug: "bank-georgia" }, { name: "Bank Account — Liechtenstein", slug: "bank-liechtenstein" }, { name: "Bank Account — Switzerland", slug: "bank-switzerland" } ] }, { key: "foundations", label: "Foundations", icon: _icoLock, items: [ { name: "Liechtenstein Foundation", slug: "liechtenstein-foundation" }, { name: "DIFC Foundation", slug: "difc-foundation" } ] }, { key: "cbi", label: "Passports (CBI)", icon: _icoId, items: [ { name: "Antigua & Barbuda", slug: "antigua" }, { name: "Dominica", slug: "dominica" }, { name: "Grenada", slug: "grenada" }, { name: "St. Kitts & Nevis", slug: "st-kitts-nevis" }, { name: "Turkey", slug: "turkey" }, { name: "Vanuatu", slug: "vanuatu" } ] }, { key: "advisory", label: "Advisory", icon: _icoPeople, promo: { text: "Book a consultation and get answers to your questions on tax, asset protection, relocation and more.", cta: "Book now", href: "Contact.html" } } ]; const _byKey = Object.fromEntries(SERVICE_GROUPS.map((g) => [g.key, g])); function serviceHref(it){ return it.href ? it.href : ("Service.html?s=" + it.slug); } /* short count label per group (mirrors the Services page) */ const _GROUP_COUNT = { formation: "4 jurisdictions", relocation: "4 programmes", banking: "4 jurisdictions", foundations: "2 structures", cbi: "6 passports" }; /* --- a single service link row inside the mega menu --- */ function _MegaItem({ it }) { const [h, setH] = React.useState(false); return ( setH(true)} onMouseLeave={() => setH(false)} style={{ display: "flex", alignItems: "center", justifyContent: "space-between", gap: 10, margin: "0 -12px", padding: "8px 12px", borderRadius: 12, background: h ? "var(--tint)" : "transparent", color: h ? "var(--ink)" : "var(--ink-soft)", transition: "background .15s, color .15s" }}> {it.name} ); } /* --- a single service group (icon header + links) --- */ function _MegaCol({ g }) { return (
{g.promo.text}
setH(true)} onMouseLeave={() => setH(false)} style={{ marginTop: "auto", alignSelf: "flex-start", display: "inline-flex", alignItems: "center", gap: 8, padding: "12px 22px", borderRadius: 999, background: h ? "#fff" : "#ffffffea", color: "var(--ink)", fontSize: 12, fontWeight: 700, letterSpacing: "0.08em", textTransform: "uppercase", transition: "background .15s" }}>{g.promo.cta}