v3.25.2
Revenue - Narratives (Details) - USD ($)
$ in Millions
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
Disaggregation of Revenue        
Contract revenue recognized $ 123.3 $ 82.4 $ 278.4 $ 219.9
Remaining performance obligation $ 5,536.5   $ 5,536.5  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01        
Disaggregation of Revenue        
Performance obligations expected to be satisfied, expected timing 12 months   12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01 | Maximum        
Disaggregation of Revenue        
Revenue, remaining performance obligation (percent) 52.00%   52.00%