XML 64 R50.htm IDEA: XBRL DOCUMENT v3.25.4
Revenue from Contracts with Customers - Narrative (Details)
$ in Millions
12 Months Ended
Dec. 31, 2025
USD ($)
project
Dec. 31, 2024
USD ($)
project
Disaggregation of Revenue [Line Items]    
Term of revenue contracts (in years/months) less than two years  
Net amount of unresolved change orders and claims $ 13.6 $ 10.9
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, expected timing of satisfaction, period (in months) 24 months  
GCR    
Disaggregation of Revenue [Line Items]    
Total gross profit write downs   $ 1.4
Number of projects with write downs | project 2 3
Total net gross profits write ups (downs) $ 2.2 $ 3.3
Total net gross profits write ups (downs) | project   2
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, amount $ 141.8  
Revenue, remaining performance obligation, percentage 77.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period (in months) 12 months  
GCR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 15.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period (in months) 12 months  
ODR    
Disaggregation of Revenue [Line Items]    
Total gross profit write downs $ 1.1 $ (3.9)
Total net gross profits write ups (downs) | project 2 4
Revision amount of gross profit contract estimates (more than)   $ 0.5
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, amount $ 234.3  
Revenue, remaining performance obligation, percentage 82.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period (in months) 12 months  
ODR | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01    
Disaggregation of Revenue [Line Items]    
Revenue, remaining performance obligation, percentage 28.00%  
Revenue, remaining performance obligation, expected timing of satisfaction, period (in months) 12 months  
Owner Direct Relationships and General Contractor (Construction Manager) Relationships Segment    
Disaggregation of Revenue [Line Items]    
Revision amount of gross profit contract estimates (more than) $ 0.5