Add a POST /api/contact minimal API that returns JSON instead of relying
on the Razor Page's OnPostAsync full-page reload. The contact form now
submits via fetch(), showing an inline success or error message without
reloading the page.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SLdp8vEGVX6EKSDQPAx36a