Page chrome: #brand-home and #nav-hub are always present — both are same-origin links to /. Bot click → URL change → PASS.
AJAX success — inline
Page role: Form submit is intercepted in JS and sent with fetch (no full navigation).
Success signal: thank-you text is written into #ajax-inline-result above the form.
Bot scoring: same URL, page text/DOM changes → PASS.
Hidden field outcome=success tells the API which JSON response to return.
Inline result area — filled after AJAX completes (success or error text).
Modal overlay #ajax-modal — present in DOM but unused on the inline variant .