v3.25.2
Revenue Recognition - Summary of Performance Obligations (Details)
$ in Thousands
Jun. 30, 2025
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-07-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue expected to be recognized in the future as of June 30, 2025 $ 29,911
Remaining performance obligation, expected timing of satisfaction, period 6 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]  
Revenue expected to be recognized in the future as of June 30, 2025 $ 34,401
Remaining performance obligation, expected timing of satisfaction, period 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]  
Revenue expected to be recognized in the future as of June 30, 2025 $ 8,426
Remaining performance obligation, expected timing of satisfaction, period 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]  
Revenue expected to be recognized in the future as of June 30, 2025 $ 858
Remaining performance obligation, expected timing of satisfaction, period 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2029-01-01  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Revenue expected to be recognized in the future as of June 30, 2025 $ 12
Remaining performance obligation, expected timing of satisfaction, period