v3.26.3
Revenue Recognition - Receivables, Contract Assets and Contract Liabilities (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2026
Dec. 31, 2025
Revenue Recognition    
Contract Receivables $ 553,828 $ 446,310
Contract Assets (Current) 24,711 19,335
Contract Assets (Long-term) 19,093 12,053
Contract Liabilities (Current) 53,237 41,927
Contract Liabilities (Long-term) $ 46,780 $ 28,646
Contract liability balance    
Percentage of contract liability balance at the beginning of the period recognized as revenue during the period 21.00%  
Contract asset balance    
Percentage of contract asset balance at the beginning of the period recognized as expense 42.00%  
Percentage of contract asset balance at the beginning of the year expected to be recognized as expense during 2026 52.00%  
Percentage of contract asset balance at the beginning of the year expected to be recognized as expense during 2027 21.00%  
Percentage of contract asset balance at the beginning of the year expected to be recognized as expense during 2028 or later 27.00%  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-01-01    
Contract liability balance    
Percentage of remaining performance obligation to be recognized 31.00%  
Recognition period for remaining performance obligation 12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2027-01-01    
Contract liability balance    
Percentage of remaining performance obligation to be recognized 24.00%  
Recognition period for remaining performance obligation 12 months  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2028-01-01    
Contract liability balance    
Percentage of remaining performance obligation to be recognized 45.00%  
Recognition period for remaining performance obligation 12 months