/* UI atoms: Logo, Nav, Footer, CtaBand, PressStrip, Process, Lightbox, etc. */ const Logo = ({ dark=false, size=28 }) => ( ); const LogoFull = ({ size = 28 }) => (
window.__nav && window.__nav("home")}> EVENTCHIC
); const ArrowRight = ({ size=16 }) => ( ); const Nav = ({ route, setRoute, lang, setLang, scrolled, tone="dark" }) => { const t = COPY[lang]; const items = [ { id:"portfolio", lbl:t.nav.portfolio }, { id:"services", lbl:t.nav.services }, { id:"about", lbl:t.nav.about }, { id:"contact", lbl:t.nav.contact }, ]; return ( ); }; const PressStrip = ({ lang }) => { const t = COPY[lang]; return (
{t.press.label}
Harper's Bazaar Arabia Fact Magazines Bride Club ME Caterer Middle East
Permissioned mentions — please confirm publication rights before launch.
); }; const Process = ({ lang, dark=false }) => { const t = COPY[lang]; return (
{t.process.eyebrow}

{t.process.title}

{t.process.lede}

{t.process.steps.map((s,i)=>(
{s.num} · Phase
{s.nm}
{s.ds}
))}
); }; const CtaBand = ({ lang, setRoute }) => { const t = COPY[lang]; return (
{t.cta_band.title.split('.')[0]}

{t.cta_band.title}

{t.cta_band.body}

); }; const Footer = ({ lang, setRoute }) => { const t = COPY[lang]; return ( ); }; const Lightbox = ({ images, index, onClose, onPrev, onNext }) => { React.useEffect(() => { const h = (e) => { if (e.key === "Escape") onClose(); if (e.key === "ArrowLeft") onPrev(); if (e.key === "ArrowRight") onNext(); }; window.addEventListener("keydown", h); return () => window.removeEventListener("keydown", h); }, [onClose, onPrev, onNext]); return (
e.stopPropagation()}/>
); }; Object.assign(window, { Logo, LogoFull, Nav, PressStrip, Process, CtaBand, Footer, Lightbox, ArrowRight });