v3.25.1
Revenue - Remaining Performance Obligations (Narrative) (Details)
$ in Millions
Mar. 31, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, amount $ 19.1
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 61.00%
Remaining performance obligation, expected timing of satisfaction 9 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 29.00%
Remaining performance obligation, expected timing of satisfaction 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, percentage 8.00%
Remaining performance obligation, expected timing of satisfaction 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation, expected timing of satisfaction 2 years