v3.26.1
Revenue Recognition and Related Balance Sheet Accounts - Narrative (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Disaggregation of Revenue [Line Items]          
Contract asset, retentions $ 158.0   $ 158.0   $ 98.5
Contract assets     68.5    
Contract liabilities     127.1    
Contract liability revenue recognized during the period 74.2 $ 24.5 274.9 $ 97.3  
Contracts receivable, retentions 41.8   41.8   $ 9.6
Revenue, remaining performance obligation $ 4,017.8   $ 4,017.8    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01          
Disaggregation of Revenue [Line Items]          
Revenue, performance obligation expected timing of satisfaction period 12 months   12 months    
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-07-01          
Disaggregation of Revenue [Line Items]          
Revenue, performance obligation expected timing of satisfaction period 2 years   2 years    
Minimum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01          
Disaggregation of Revenue [Line Items]          
Revenue, remaining performance obligation (as percent) 65.00%   65.00%    
Maximum | Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01          
Disaggregation of Revenue [Line Items]          
Revenue, remaining performance obligation (as percent) 75.00%   75.00%    
Revenue from Contract with Customer Benchmark | Customer Concentration Risk | Installation & Maintenance | One Customer          
Disaggregation of Revenue [Line Items]          
Concentration risk, percentage 17.20% 5.70% 17.60% 5.90%