v3.26.1
Contract Assets and Liabilities - Component of Contract Asset and Liability Balances (Details) - USD ($)
$ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Revenue from Contract with Customer [Abstract]    
Costs in excess of billings and estimated earnings $ 115,146 $ 73,079
Contract retention 168,045 163,800
Total contract assets 283,191 236,879
Billings in excess of costs and estimated earnings, net of retention 435,251 320,593
Provisions for losses 5,113 6,779
Total contract liabilities $ 440,364 $ 327,372