v3.26.1
Commitments and Contingencies (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2026
USD ($)
project
Jun. 30, 2025
Jun. 30, 2026
USD ($)
project
customer
Jun. 30, 2025
Dec. 31, 2025
USD ($)
Loss Contingencies [Line Items]          
Line of credit facility, letters of credit issued $ 89,200   $ 89,200   $ 90,500
Cash and cash equivalents 315,641   315,641   396,030
Indemnities, accrued project close-out liabilities $ 5,000   $ 5,000   $ 5,000
Number of customers | customer     1,430    
Ten Largest Customers | Revenue Benchmark | Customer Concentration Risk          
Loss Contingencies [Line Items]          
Concentration risk, percentage of total 35.00% 36.00% 37.00% 35.00%  
One Customer | Revenue Benchmark | Customer Concentration Risk          
Loss Contingencies [Line Items]          
Concentration risk, percentage of total         10.00%
Self-Insurance | Workers' Compensation, General and Automobile Policies          
Loss Contingencies [Line Items]          
Self-insurance reserve $ 342,100   $ 342,100   $ 306,800
Insurance receivables 27,700   27,700   25,200
Self-Insurance | Employee Group Medical Claims          
Loss Contingencies [Line Items]          
Self-insurance reserve 7,200   7,200   2,300
Balance Sheet Location [Axis]: us-gaap:OtherAssetsNoncurrent | Self-Insurance | Workers' Compensation, General and Automobile Policies          
Loss Contingencies [Line Items]          
Insurance receivables 24,400   24,400   22,400
Balance Sheet Location [Axis]: us-gaap:OtherLiabilitiesNoncurrent | Self-Insurance | Workers' Compensation, General and Automobile Policies          
Loss Contingencies [Line Items]          
Self-insurance reserve, non-current 249,800   249,800   224,900
Corporate Joint Venture          
Loss Contingencies [Line Items]          
Cash and cash equivalents $ 39,300   $ 39,300   45,000
Corporate Joint Venture | Joint Venture Civil Construction Project          
Loss Contingencies [Line Items]          
Number of joint ventures | project 11   11    
Corporate Joint Venture | Minimum | Joint Ventures That Provide Electrical Transmission Infrastructure Services          
Loss Contingencies [Line Items]          
Proportionately consolidated non-controlled joint venture, ownership percentage 85.00%   85.00%    
Corporate Joint Venture | Minimum | Joint Venture Civil Construction Project          
Loss Contingencies [Line Items]          
Proportionately consolidated non-controlled joint venture, ownership percentage 25.00%   25.00%    
Corporate Joint Venture | Maximum | Joint Ventures That Provide Electrical Transmission Infrastructure Services          
Loss Contingencies [Line Items]          
Proportionately consolidated non-controlled joint venture, ownership percentage 90.00%   90.00%    
Corporate Joint Venture | Maximum | Joint Venture Civil Construction Project          
Loss Contingencies [Line Items]          
Proportionately consolidated non-controlled joint venture, ownership percentage 50.00%   50.00%    
Captive Insurance Company          
Loss Contingencies [Line Items]          
Cash and cash equivalents $ 4,200   $ 4,200   3,300
Performance and Payment Bonds          
Loss Contingencies [Line Items]          
Bonded projects, estimated costs to complete 5,300,000   5,300,000   4,600,000
Commercial and/or Financial Standby | Self-Insurance | Workers' Compensation, General and Automobile Policies          
Loss Contingencies [Line Items]          
Line of credit facility, letters of credit issued 7,400   7,400   7,400
Surety Bonds | Self-Insurance | Workers' Compensation          
Loss Contingencies [Line Items]          
Guarantor obligations, maximum exposure, undiscounted 198,600   198,600   198,600
Subsidiaries | Performance and Payment Bonds          
Loss Contingencies [Line Items]          
Guarantor obligations, maximum exposure, undiscounted 13,400,000   13,400,000   10,900,000
Subsidiaries | Performance and Payment Bonds | Corporate Joint Venture          
Loss Contingencies [Line Items]          
Guarantor obligations, maximum exposure, undiscounted $ 1,300,000   $ 1,300,000   $ 1,100,000