// Top navigation. Transparent over hero, white otherwise. Mobile drawer. (function () { const { useState, useEffect } = React; const { Icons, Link } = window.GR; const { Hamburger, Close } = Icons; const LINKS = [ ['Home', '/'], ['About', '/about'], ['Mission', '/mission'], ['Chemicals', '/chemicals'], ['Commodities', '/commodities'], ['Industries', '/industries'], ['Logistics', '/logistics'], ['Advantages', '/advantages'], ['Contact', '/contact'], ]; function Nav({ route, openQuote }) { const [scrolled, setScrolled] = useState(false); const [mobile, setMobile] = useState(false); useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 40); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); useEffect(() => { setMobile(false); }, [route]); useEffect(() => { document.body.style.overflow = mobile ? 'hidden' : ''; }, [mobile]); const overHero = route === '/' && !scrolled; const linkColor = overHero ? 'rgba(255,255,255,0.92)' : 'var(--color-navy)'; return ( {/* Mobile menu */}
GR Unity Trading
{LINKS.map(([label, path], i) => ( setMobile(false)} style={{ fontFamily: 'var(--font-display)', fontSize: 'clamp(36px, 8vw, 56px)', letterSpacing: '0.02em', textTransform: 'uppercase', color: route === path ? 'var(--color-green)' : '#fff', lineHeight: 1, opacity: mobile ? 1 : 0, transform: mobile ? 'translateY(0)' : 'translateY(8px)', transitionDelay: `${i * 40}ms`, transition: 'opacity 0.4s var(--ease-out), transform 0.4s var(--ease-out)', }} > {label} ))}
Florida, USA ยท LATAM Distribution
); } window.GR = Object.assign(window.GR || {}, { Nav }); })();