XML 54 R43.htm IDEA: XBRL DOCUMENT v3.25.3
Revenue Recognition - Schedule of revenue by contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Disaggregation of Revenue [Line Items]        
Contract revenues $ 950,400 $ 888,043 $ 2,684,345 $ 2,532,495
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 $ 541,837 $ 528,190 $ 1,517,192 $ 1,557,551
Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 57.00% 59.50% 56.50% 61.50%
Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 224,697 $ 193,186 $ 605,734 $ 502,577
Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 23.60% 21.70% 22.60% 19.80%
T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 183,866 $ 166,667 $ 561,419 $ 472,367
T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 19.40% 18.80% 20.90% 18.70%
T&D        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 503,436 $ 481,876 $ 1,471,479 $ 1,430,480
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 $ 160,811 $ 197,087 $ 512,379 $ 654,969
T&D | Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 31.90% 40.90% 34.80% 45.80%
T&D | Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 204,438 $ 169,337 $ 547,562 $ 443,589
T&D | Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 40.60% 35.10% 37.20% 31.00%
T&D | T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 138,187 $ 115,452 $ 411,538 $ 331,922
T&D | T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 27.50% 24.00% 28.00% 23.20%
C&I        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 446,964 $ 406,167 $ 1,212,866 $ 1,102,015
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 $ 381,026 $ 331,103 $ 1,004,813 $ 902,582
C&I | Fixed price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 85.30% 81.50% 82.80% 81.90%
C&I | Unit price        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 20,259 $ 23,849 $ 58,172 $ 58,988
C&I | Unit price | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 4.50% 5.90% 4.80% 5.40%
C&I | T&E        
Disaggregation of Revenue [Line Items]        
Contract revenues $ 45,679 $ 51,215 $ 149,881 $ 140,445
C&I | T&E | Product concentration risk | Revenue benchmark        
Disaggregation of Revenue [Line Items]        
Concentration risk, Percent 10.20% 12.60% 12.40% 12.70%