v3.26.1
Revenue - Contract Balances (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Change in contract liability      
Beginning balance - Contract liability $ 8,801 $ 10,290  
Cash received in advance and not recognized as revenue 13,546 25,180  
Amounts recognized as revenue as performance obligations satisfied (13,320) (25,243)  
Ending balance - Contract liability 9,027 $ 10,227  
Accrued expenses and other liabilities      
Contract liabilities      
Contract liabilities $ 9,027   $ 8,801