Done this turn

Form wiring confirmation (verified vs live handler sal-custom-contact-intake-v2.php)

Endpoint sal/v1/contact-intake creates Litify intake + wp_mail. Handler reads full_name, phone, email, case_type, injured_status, message, page_url, referrer, gclid, utm_source/medium/campaign. Working form is rendered server-side via shortcode [sal_contact_intake] (wp_nonce_field = fresh nonce). Plugin variants: default, hero_compact. The custom photo-wall split is NOT a plugin variant.

Blocker for live publish (Sam decision)

A working custom photo-wall form needs either (a) the existing [sal_contact_intake] shortcode (works now, but plugin's standard layout, not the photo-wall design) or (b) a new plugin variant added in PHP (code deploy + test) to render the photo-wall split with a real nonce. A hardcoded nonce in page content expires in ~24h and kills lead capture, so it is not acceptable.

Recommendation

Publish redesign now via wp-content-deployer draft pipeline (hero + results + CTA variant B) with the working [sal_contact_intake] shortcode in the form slot so leads work today; then add a photo-wall plugin variant as a follow-up so the custom form design goes live with a real nonce. Backup captured; playwright-visual-qa before flipping live; rollback = restore page 54 from backup JSON.

Pending