On a phone the /join grid collapses to one column, so the success banner rendered below the entire pitch column and the 303 landed the parent at the top of an apparently unchanged page. The empty form underneath then read as a failed send. ?sent=1 now returns a dedicated confirmation body: banner first, what happens next, and no form to resubmit.