v3.26.1
Contracts in Progress - Additional Information (Details) - USD ($)
$ in Millions
Jun. 30, 2026
Dec. 31, 2025
Location, Statement of Financial Position, Balance [Axis]: us-gaap:ContractWithCustomerAssetNetCurrent    
Unbilled contract claims and change orders    
Claims and unapproved change orders $ 13.2 $ 7.1