// ATOM Center — Shared Components (React + Babel) const { useState, useEffect, useRef, useMemo } = React; const t = (lang, path) => { const parts = path.split("."); let cur = window.I18N[lang]; for (const p of parts) { cur = cur?.[p]; if (cur == null) return path; } return cur; }; // Lucide icon helper (uses inline SVG paths to avoid CDN dependency) const Icon = ({ name, size = 20, ...props }) => { const paths = { "arrow-right": <>, "arrow-up-right": <>, "download": <>, "check": <>, "menu": <>, "x": <>, "map-pin": <>, "phone": <>, "mail": <>, "globe": <>, "message-circle": <>, "badge-check": <>, "award": <>, "graduation-cap": <>, "cloud": <>, "code-2": <>, "users-round": <>, "rocket": <>, "chevron-right": <>, "chevron-down": <>, "linkedin": <>, "calendar": <>, "clock": <>, "send": <>, "monitor": <>, "library": <>, "settings": <>, "layers": <>, }; return ( {paths[name]} ); }; // ---------------- NAVBAR ---------------- const Navbar = ({ page, lang, setLang, navigate, density }) => { const [mobileOpen, setMobileOpen] = useState(false); const tr = (k) => t(lang, "nav." + k); const links = [ { id: "home", label: tr("home") }, { id: "about", label: tr("about") }, { id: "programs", label: tr("programs") }, { id: "enterprise", label: tr("enterprise") }, { id: "blog", label: tr("blog") }, { id: "contact", label: tr("contact") }, ]; return ( <> {/* Mobile drawer — rendered as sibling of