/* Nexgen Solutions Chitral — shared page chrome (Nav, Footer, section helpers). Composes the bound design system. Exported to window so each page's Babel script can use them (Babel scripts don't share scope). */ const NS = window.NexgenSolutionsChitralDesignSystem_3ef89c; const { Button, IconButton, AccentLine, TextLink } = NS; const C = window.NEXGEN_CONTACT; const NX_MAX = 1200; const nxWrap = { maxWidth: NX_MAX, margin: "0 auto", padding: "0 24px" }; const Icon = ({ name, size = 20, color, strokeWidth = 1.8 }) => ( ); function useLucide(dep) { React.useEffect(() => { if (window.lucide) window.lucide.createIcons(); }); } const NAV_LINKS = [ ["Home", "index.html"], ["Services", "services.html"], ["Courses", "courses.html"], ["Projects", "index.html#projects"], ["About", "about.html"], ["Contact", "contact.html"], ]; function Wordmark({ size = 15 }) { return ( NEXGEN SOLUTIONS CHITRAL ); } function TopNav({ active = "Home" }) { const [open, setOpen] = React.useState(false); useLucide(); React.useEffect(() => { document.body.style.overflow = open ? "hidden" : ""; return () => { document.body.style.overflow = ""; }; }, [open]); return (
setOpen(true)}>
{open && (
setOpen(false)}>
CALL · {C.phoneDisplay}
)}
); } function SectionHead({ eyebrow, title, sub, align = "left", max = 660 }) { return (
{eyebrow}

{title}

{sub &&

{sub}

}
); } function Footer() { useLucide(); const cols = [ ["Services", [ ["Web Development", "services.html"], ["Web Apps", "services.html"], ["Graphic Design", "services.html"], ["Video Editing", "services.html"], ["Audio Editing", "services.html"], ["Digital Marketing", "services.html"], ["AI Solutions", "services.html"], ]], ["Academy", [ ["All Courses", "courses.html"], ["Web Development", "courses.html"], ["Graphic Design", "courses.html"], ["Digital Marketing", "courses.html"], ["AI Tools", "courses.html"], ["Freelancing", "courses.html"], ]], ["Company", [ ["About", "about.html"], ["Projects", "index.html#projects"], ["Contact", "contact.html"], ]], ]; return ( ); } /* Big closing CTA band, reused across pages */ function ContactCTA({ title = "Ready to build what's next?", sub = "Tell us what you need — a website, an app, a brand, a campaign, or a new skill. Let's plan your next step together." }) { return (

{title}

{sub}

); } Object.assign(window, { NX_MAX, nxWrap, Icon, useLucide, Wordmark, TopNav, SectionHead, Footer, ContactCTA, NAV_LINKS });