I'd build with astro.build (because it's super performant and light on JS) and probably avoid using a CMS altogether. If a CMS was absolutely needed, I'd integrate with sanity.io because it's so flexible and nice to work with.
Thread
I really like working with Astro, and if it's for a site where other people are working on it, or the site's too big or too dynamic to make easily I usually end up using it. Astro SSR is awesome when I don't wanna do SSR manually, but I avoid it for static sites
I’ve built plenty of landing pages from hand but would also second Framer. Especially if you’re not super technical / want to iterate quickly.
If it's just one page, probably just HTML, CSS and JS if needed. If the page has a lot of dynamic content, maybe Elysia or Hono or even just Bun.serve if I can get away with it, depending on where I'm deploying. No point overcomplicating stuff like this more than I need to.