XML 55 R44.htm IDEA: XBRL DOCUMENT v3.25.2
Revenue Recognition - Schedule of revenue by contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Disaggregation of Revenue [Line Items]        
Contract revenues $ 900,325 $ 828,890 $ 1,733,945 $ 1,644,452
Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 100.00% 100.00% 100.00% 100.00%
Fixed price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 508,100 $ 521,561 $ 975,355 $ 1,029,361
Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 56.40% 62.90% 56.30% 62.60%
Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 211,268 $ 156,930 $ 381,037 $ 309,391
Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 23.50% 18.90% 22.00% 18.80%
T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 180,957 $ 150,399 $ 377,553 $ 305,700
T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 20.10% 18.20% 21.70% 18.60%
T&D        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 506,273 $ 458,209 $ 968,043 $ 948,604
T&D | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 100.00% 100.00% 100.00% 100.00%
T&D | Fixed price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 178,118 $ 214,882 $ 351,568 $ 457,882
T&D | Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 35.20% 46.90% 36.30% 48.30%
T&D | Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 191,022 $ 138,127 $ 343,124 $ 274,252
T&D | Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 37.70% 30.10% 35.40% 28.90%
T&D | T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 137,133 $ 105,200 $ 273,351 $ 216,470
T&D | T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 27.10% 23.00% 28.30% 22.80%
C&I        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 394,052 $ 370,681 $ 765,902 $ 695,848
C&I | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 100.00% 100.00% 100.00% 100.00%
C&I | Fixed price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 329,982 $ 306,679 $ 623,787 $ 571,479
C&I | Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 83.80% 82.70% 81.40% 82.10%
C&I | Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 20,246 $ 18,803 $ 37,913 $ 35,139
C&I | Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 5.10% 5.10% 5.00% 5.10%
C&I | T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 43,824 $ 45,199 $ 104,202 $ 89,230
C&I | T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 11.10% 12.20% 13.60% 12.80%