Quarterly report [Sections 13 or 15(d)]

Revenue - Narrative (Details)

v3.25.2
Revenue - Narrative (Details)
$ in Thousands
Jun. 30, 2025
USD ($)
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 356,300
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 45,700
Expected remaining time 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 64,900
Expected remaining time 2 years
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01  
Disaggregation of Revenue [Line Items]  
Remaining performance obligation $ 245,700
Expected remaining time