v3.25.1
Revenue from Contracts with Customers - Narrative (Details)
$ in Millions
3 Months Ended
Mar. 31, 2025
USD ($)
project
Mar. 31, 2024
USD ($)
project
Dec. 31, 2024
USD ($)
Property, Plant and Equipment [Line Items]      
Term of revenue contracts three months to two years    
Percentage completed of certain milestones 10.00%    
Net amount of unresolved change orders and claims $ 11.6   $ 10.9
Revision amount for gross profit impact on contract estimates (more than) 0.5 $ 0.5  
Gross profit write ups $ 0.9 $ 2.0  
Number of projects with write ups | project 1 2  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01      
Property, Plant and Equipment [Line Items]      
Revenue, remaining performance obligations, expected timing of satisfaction, period 24 months    
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01      
Property, Plant and Equipment [Line Items]      
Remaining performance obligations, amount $ 227.8    
Revenue, remaining performance obligations, percentage 88.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 9 months    
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01      
Property, Plant and Equipment [Line Items]      
Revenue, remaining performance obligations, percentage 69.00%    
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01      
Property, Plant and Equipment [Line Items]      
Remaining performance obligations, amount $ 120.2    
Revenue, remaining performance obligations, percentage 63.00%    
Revenue, remaining performance obligations, expected timing of satisfaction, period 9 months    
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01      
Property, Plant and Equipment [Line Items]      
Revenue, remaining performance obligations, percentage 61.00%