const App = () => {
  React.useEffect(() => {
    const io = new IntersectionObserver(es => es.forEach(e => { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } }), { rootMargin: '0px 0px -8% 0px', threshold: 0.08 });
    const scan = () => document.querySelectorAll('[data-reveal]:not(.in)').forEach(el => io.observe(el));
    scan();
    const mo = new MutationObserver(scan); mo.observe(document.getElementById('root'), { childList: true, subtree: true });
    return () => { io.disconnect(); mo.disconnect(); };
  }, []);
  return (
    <>
      <Nav />
      <main id="main">
        <Hero /><Logos /><Team /><OneTeam /><WhoWeWorkWith /><Receipts /><Services /><Machine /><Process /><CTA />
      </main>
      <Footer />
      <FormModal />
    </>
  );
};
ReactDOM.createRoot(document.getElementById('root')).render(<App />);
