v3.26.1
Disaggregation of Revenue - Additional Information (Details)
3 Months Ended
Mar. 31, 2026
Minimum  
Disaggregation of Revenue  
Contract term (in years) 1 year
Typical contract term (in years) 1 year
Maximum  
Disaggregation of Revenue  
Contract term (in years) 10 years
Typical contract term (in years) 3 years