v3.25.2
Liabilities - Performance Obligations Timing (Details)
$ in Millions
6 Months Ended
Jun. 30, 2025
USD ($)
Performance obligations  
Remaining performance obligations $ 39.8
Revenue, Practical Expedient, Remaining Performance Obligation true
Minimum  
Performance obligations  
Performance obligation at time of contract origination 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01  
Performance obligations  
Percentage of remaining performance obligation expected to be recognized 71.00%
Remaining performance obligations, expected timing of satisfaction 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01 | Minimum  
Performance obligations  
Remaining performance obligations, expected timing of satisfaction 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01 | Maximum  
Performance obligations  
Remaining performance obligations, expected timing of satisfaction 3 years