XML 55 R44.htm IDEA: XBRL DOCUMENT v3.25.1
Revenue Recognition - Schedule of revenue by contract type (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Disaggregation of Revenue [Line Items]    
Contract revenues $ 833,620 $ 815,562
Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
Fixed price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 467,255 $ 507,800
Fixed price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 56.00% 62.30%
Unit price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 169,769 $ 152,461
Unit price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 20.40% 18.70%
T&E    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 196,596 $ 155,301
T&E | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 23.60% 19.00%
T&D    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 461,769 $ 490,395
T&D | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
T&D | Fixed price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 173,450 $ 243,000
T&D | Fixed price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 37.60% 49.50%
T&D | Unit price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 152,102 $ 136,125
T&D | Unit price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 32.90% 27.80%
T&D | T&E    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 136,217 $ 111,270
T&D | T&E | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 29.50% 22.70%
C&I    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 371,851 $ 325,167
C&I | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 100.00% 100.00%
C&I | Fixed price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 293,805 $ 264,800
C&I | Fixed price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 79.00% 81.50%
C&I | Unit price    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 17,667 $ 16,336
C&I | Unit price | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 4.80% 5.00%
C&I | T&E    
Disaggregation of Revenue [Line Items]    
Contract revenues $ 60,379 $ 44,031
C&I | T&E | Product concentration risk | Revenue benchmark    
Disaggregation of Revenue [Line Items]    
Concentration risk, Percent 16.20% 13.50%