XML 62 R51.htm IDEA: XBRL DOCUMENT v3.25.2
Segment Information - Summary of segment's internal financial reports (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2025
Mar. 31, 2025
Jun. 30, 2024
Mar. 31, 2024
Jun. 30, 2025
Jun. 30, 2024
Segment Reporting Information [Line Items]            
Contract revenues $ 900,325   $ 828,890   $ 1,733,945 $ 1,644,452
Operating costs 860,538   849,597   1,659,868 1,640,888
Income from operations 39,787   (20,707)   74,077 3,564
Interest income 45   81   236 223
Interest expense (1,905)   (1,241)   (3,319) (2,295)
Other expense, net (533)   (270)   (833) (533)
Income (loss) before provision for income taxes 37,394   (22,137)   70,161 959
Income tax expense (benefit) 10,928   (6,860)   20,387 (2,703)
Net income (loss) 26,466 $ 23,308 (15,277) $ 18,939 49,774 3,662
Corporate, Non-Segment            
Segment Reporting Information [Line Items]            
Operating costs 22,670   14,015   41,978 31,003
Income from operations (22,670)   (14,015)   (41,978) (31,003)
T&D            
Segment Reporting Information [Line Items]            
Contract revenues 506,273   458,209   968,043 948,604
T&D | Operating Segments            
Segment Reporting Information [Line Items]            
Contract revenues 506,273   458,209   968,043 948,604
Operating costs 465,808   466,509   891,357 927,068
Income from operations 40,465   (8,300)   76,686 21,536
C&I            
Segment Reporting Information [Line Items]            
Contract revenues 394,052   370,681   765,902 695,848
C&I | Operating Segments            
Segment Reporting Information [Line Items]            
Contract revenues 394,052   370,681   765,902 695,848
Operating costs 372,060   369,073   726,533 682,817
Income from operations $ 21,992   $ 1,608   $ 39,369 $ 13,031