Measured on 20 CUAD contracts, 212 answerable and 82 unanswerable queries, with paired bootstrap clustered on documents. Every comparison carries a confidence interval, and null results are published. Cross-encoder reranking beat dense-only by 0.205 MRR [0.152, 0.254]. Correct abstention on unanswerable queries 0.854 [0.773, 0.931]. Per-claim grounding 0.9727 from the judge, 0.957 from human grading. Retrieval p50 241 ms. Cost per successful task $0.001696.