v3.25.1
Revenue from Contracts with Customers - Additional Information (Details)
3 Months Ended
Mar. 31, 2025
Disaggregation of Revenue [Line Items]  
Capitalized Contract Cost, Amortization Method straight-line basis
Contract acquisition and fulfillment costs, amortization period 5 years
Maximum  
Disaggregation of Revenue [Line Items]  
Revenue remaining performance obligation contractual term 5 years
Minimum  
Disaggregation of Revenue [Line Items]  
Revenue remaining performance obligation contractual term 2 years