v3.26.1
Revenue - Narratives (Details) - USD ($)
$ in Millions
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Disaggregation of Revenue    
Contract revenue recognized $ 143.3 $ 155.1
Remaining performance obligation $ 6,282.9  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01    
Disaggregation of Revenue    
Performance obligations 12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01 | Maximum    
Disaggregation of Revenue    
Revenue, remaining performance obligation (percent) 42.00%