v3.26.1
Revenue (Narrative) (Details)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2026
USD ($)
Jun. 30, 2025
USD ($)
Jun. 30, 2026
USD ($)
segment
Jun. 30, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Net revenue recognized related to performance obligations satisfies (or partially satisfied) in prior periods $ 9.6 $ 20.4 $ 3.1 $ 2.7
Number of reportable segments | segment     3  
Civil        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue amount 9,400.0 9,000.0 $ 9,400.0 9,000.0
Civil | Minimum        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue period (in years)     3 years  
Civil | Maximum        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue period (in years)     5 years  
Building        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue amount 5,100.0 5,000.0 $ 5,100.0 5,000.0
Specialty Contractors        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue amount $ 2,100.0 $ 2,200.0 $ 2,100.0 $ 2,200.0
Building and Specialty Contractors | Minimum        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue period (in years)     1 year  
Building and Specialty Contractors | Maximum        
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]        
Remaining performance obligations revenue period (in years)     3 years