// Site chrome — sticky nav, footer, big-CTA band. function Nav({ lang, setLang, route, setRoute, t, accent }) { const [scrolled, setScrolled] = React.useState(false); const [mobileOpen, setMobileOpen] = React.useState(false); React.useEffect(() => { const onScroll = () => setScrolled(window.scrollY > 14); onScroll(); window.addEventListener('scroll', onScroll, { passive: true }); return () => window.removeEventListener('scroll', onScroll); }, []); return (
Skip to content
{ e.preventDefault(); setRoute('home'); setMobileOpen(false); }}> {lang {lang === 'ko' ? '그리심소망' : 'GHPC'}
{t.nav.map(([id, label]) => ( { e.preventDefault(); setRoute(id); setMobileOpen(false); }} className={`mobile-link ${route === id ? 'is-active' : ''}`}> {label} ))}
); } function CTABand({ lang, t, setRoute, accent }) { return (

{t.misc.bigCta}

); } function Footer({ lang, t, setRoute, accent }) { return ( ); } Object.assign(window, { Nav, CTABand, Footer });