function HomePage({ setRoute }) {
  const goPlans = () => { window.dispatchEvent(new CustomEvent("hijack:go", { detail: { dir: 1 } })); };
  // Footer is the final full-screen panel inside the snap container on BOTH
  // desktop (transform slide) and mobile (100dvh scroll-snap panel). It is sized
  // to fit one screen (see .hijack__panel:last-child .footer in site.css), so one
  // swipe from testimonials lands on it cleanly and holds.
  return (
    <ScrollHijack>
      <Hero onJoin={goPlans}/>
      <Plates/>
      <HowItWorks onJoin={goPlans}/>
      <Invitation/>
      <Testimonials/>
      <Footer setRoute={setRoute}/>
    </ScrollHijack>
  );
}
window.HomePage = HomePage;
