const { useState, useEffect, useRef } = React; const NAV = [ ['Home', 'index.html'], ['About', 'about.html'], ['How it works', 'how-it-works.html'], ]; const SOLUTIONS = [ ['For Labour Contractors', 'Find requirements, bid, win work.', 'for-contractors.html'], ['For EPC & general contractors', 'Post requirements, compare bids, hire.', 'for-epcs.html'], ['For builders & developers', 'Run workforce procurement across projects.', 'for-builders.html'], ]; const NAV2 = [ ['Resources', 'resources.html'], ['Contact', 'contact.html'], ]; function Icon({ n, size = 20 }) { const r = useRef(null); useEffect(() => { if (r.current && window.lucide) window.lucide.createIcons({ attrs: { width: size, height: size }, nameAttr: 'data-lucide', root: r.current }); }); return ; } function Logo({ dark }) { return ( LT Labour Tech Digitizing India's construction workforce ); } function Nav({ page }) { const [open, setOpen] = useState(false); const [drawer, setDrawer] = useState(false); const solOn = ['for-contractors.html', 'for-epcs.html', 'for-builders.html'].includes(page); return (
    {NAV.map(([t, h]) =>
  • {t}
  • )}
  • setOpen(true)} onMouseLeave={() => setOpen(false)}> {open &&
    {SOLUTIONS.map(([t, d, h]) => {t}{d})}
    }
  • {NAV2.map(([t, h]) =>
  • {t}
  • )}
Log in Get started
{drawer && (
{[...NAV, ...SOLUTIONS.map(s => [s[0], s[2]]), ...NAV2, ['Log in', 'login.html'], ['Get started', 'get-started.html']].map(([t, h]) => setDrawer(false)}>{t})}
)}
); } const FOOT = [ ['Platform', [['How it works', 'how-it-works.html'], ['Subscription', 'pricing.html'], ['Contractor discovery', 'for-epcs.html'], ['Bidding & comparison', 'for-builders.html'], ['Dashboard preview', 'dashboard.html']]], ['Who it is for', [['Labour Contractors', 'for-contractors.html'], ['EPC & general contractors', 'for-epcs.html'], ['Builders & developers', 'for-builders.html']]], ['Company', [['About Labour Tech', 'about.html'], ['Resources', 'resources.html'], ['Contact', 'contact.html'], ['Get started', 'get-started.html']]], ]; function Footer() { return ( ); } function PHero({ eyebrow, title, sub, ctas, center }) { return (
{eyebrow && {eyebrow}}

{title}

{sub &&

{sub}

} {ctas &&
{ctas.map(([t, h, v]) => {t})}
}
); } function SecTitle({ eyebrow, title, sub, center = true }) { return (
{eyebrow && {eyebrow}}

{title}

{sub &&

{sub}

}
); } function Ticks({ items }) { return ; } function Ph({ label, style }) { return
{label}
; } function CtaBand({ title, sub, primary = ['Post a requirement', 'get-started.html'], secondary = ['Book a demo', 'contact.html'] }) { return (

{title}

{sub}

{primary[0]} {secondary[0]}
); } function Page({ page, children }) { useEffect(() => { if (window.lucide) window.lucide.createIcons(); }); return