v3.26.1
Contract Assets and Liabilities - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Product Information [Line Items]          
Claim recovery estimates $ 19,600   $ 19,600   $ 19,400
Contract retention 168,045   168,045   $ 163,800
Revenue recognized 105,900 $ 105,100 328,800 $ 312,900  
Performance Obligations          
Product Information [Line Items]          
Revenue adjustment $ 92,400 $ 68,800 $ 148,500 $ 118,300