v3.26.3
Revenue - Schedule of Remaining Performance Obligations (Details)
$ in Thousands
Sep. 30, 2026
USD ($)
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 491,875
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2026-10-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 37,873
Performance obligations expected to be satisfied, expected timing 3 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2027-01-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 140,373
Performance obligations expected to be satisfied, expected timing 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2028-01-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 130,476
Performance obligations expected to be satisfied, expected timing 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2029-01-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 90,729
Performance obligations expected to be satisfied, expected timing 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2030-01-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 38,048
Performance obligations expected to be satisfied, expected timing 1 year
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date: 2031-01-01  
Revenue Remaining Performance Obligation Expected Timing Of Satisfaction [Line Items]  
Remaining performance obligations $ 54,376
Performance obligations expected to be satisfied, expected timing