Static site on Cloudflare Pages. API and workers run separately.
Contact form → submits to the Worker and saves to D1.
Checkout → Stripe payment (core / protect / assure).
Assessment → Submit assessment (use link from payment email with ?hash=).
Admin → Submissions, payments, reports; approve and send report email.