v3.26.1
Revenue - Narrative (Details)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
USD ($)
Jun. 30, 2025
USD ($)
Jun. 30, 2026
USD ($)
segment
Jun. 30, 2025
USD ($)
Dec. 31, 2025
USD ($)
Revenue          
Decrease in gross profit $ 71,233 $ (12,968) $ 75,989 $ (33,447)  
Accrued loss provisions $ 4,800   $ 4,800   $ 7,600
Number of reportable segments | segment     2    
Percentage of revenue earned outside of the US 15.00% 15.00% 12.00% 15.00%  
Contracts Accounted for under Percentage of Completion          
Revenue          
Decrease in gross profit $ 103,300 $ 13,400 $ 143,000 $ 26,700