v3.26.3
Segment Information - Summary of segment's internal financial reports (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Jun. 30, 2026
Mar. 31, 2026
Sep. 30, 2025
Jun. 30, 2025
Mar. 31, 2025
Sep. 30, 2026
Sep. 30, 2025
Segment Reporting [Line Items]                
Contract revenues $ 1,259,032     $ 950,400     $ 3,341,139 $ 2,684,345
Operating costs 1,173,926     904,129     3,123,366 2,563,997
Income from operations 85,106     46,271     217,773 120,348
Interest income 292     197     2,068 433
Interest expense (3,580)     (1,440)     (4,945) (4,759)
Other income (expense), net 517     (297)     (1,405) (1,130)
Income before provision for income taxes 82,335     44,731     213,491 114,892
Income tax expense 22,330     12,637     56,835 33,024
Net income 60,005 $ 49,851 $ 46,800 32,094 $ 26,466 $ 23,308 156,656 81,868
Corporate, Non-Segment                
Segment Reporting [Line Items]                
Operating costs 28,144     23,773     81,693 65,752
Income from operations (28,144)     (23,773)     (81,693) (65,752)
T&D                
Segment Reporting [Line Items]                
Contract revenues 554,544     503,436     1,619,536 1,471,479
T&D | Operating Segments                
Segment Reporting [Line Items]                
Contract revenues 554,544     503,436     1,619,536 1,471,479
Operating costs 502,910     461,975     1,466,179 1,353,332
Income from operations 51,634     41,461     153,357 118,147
C&I                
Segment Reporting [Line Items]                
Contract revenues 704,488     446,964     1,721,603 1,212,866
C&I | Operating Segments                
Segment Reporting [Line Items]                
Contract revenues 704,488     446,964     1,721,603 1,212,866
Operating costs 642,872     418,381     1,575,494 1,144,913
Income from operations $ 61,616     $ 28,583     $ 146,109 $ 67,953