v3.25.2
Revenue Recognition - Narrative (Details) - USD ($)
3 Months Ended 6 Months Ended
Jun. 30, 2025
Jun. 30, 2024
Jun. 30, 2025
Jun. 30, 2024
New Accounting Pronouncements or Change in Accounting Principle [Line Items]        
Contract liability revenue recognized $ 1,600,000   $ 18,300,000  
Impairment losses on contract assets 0 $ 0 0 $ 0
Transaction price allocated to uncompleted contracts $ 161,400,000   $ 161,400,000  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01        
New Accounting Pronouncements or Change in Accounting Principle [Line Items]        
Expected timing of satisfaction, period 18 months   18 months