XML 61 R50.htm IDEA: XBRL DOCUMENT v3.25.3
Segment Information - Summary of segment's internal financial reports (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2024
Jun. 30, 2024
Mar. 31, 2024
Sep. 30, 2025
Sep. 30, 2024
Segment Reporting Information [Line Items]                
Contract revenues $ 950,400     $ 888,043     $ 2,684,345 $ 2,532,495
Operating costs 904,129     867,682     2,563,997 2,508,570
Income from operations 46,271     20,361     120,348 23,925
Interest income 197     73     433 296
Interest expense (1,440)     (2,016)     (4,759) (4,311)
Other income (expense), net (297)     112     (1,130) (421)
Income before provision for income taxes 44,731     18,530     114,892 19,489
Income tax expense 12,637     7,881     33,024 5,178
Net income 32,094 $ 26,466 $ 23,308 10,649 $ (15,277) $ 18,939 81,868 14,311
Corporate, Non-Segment                
Segment Reporting Information [Line Items]                
Operating costs 23,773     17,516     65,752 48,519
Income from operations (23,773)     (17,516)     (65,752) (48,519)
T&D                
Segment Reporting Information [Line Items]                
Contract revenues 503,436     481,876     1,471,479 1,430,480
T&D | Operating Segments                
Segment Reporting Information [Line Items]                
Contract revenues 503,436     481,876     1,471,479 1,430,480
Operating costs 461,975     464,308     1,353,332 1,391,376
Income from operations 41,461     17,568     118,147 39,104
C&I                
Segment Reporting Information [Line Items]                
Contract revenues 446,964     406,167     1,212,866 1,102,015
C&I | Operating Segments                
Segment Reporting Information [Line Items]                
Contract revenues 446,964     406,167     1,212,866 1,102,015
Operating costs 418,381     385,858     1,144,913 1,068,675
Income from operations $ 28,583     $ 20,309     $ 67,953 $ 33,340