v3.26.1
Revenue - Narrative (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Disaggregation of Revenue [Line Items]          
Contract assets expected to be collected in 12 months $ 3,498   $ 3,498   $ 3,117
Contract assets expected to be collected after 12 months 2,800   2,800   2,500
Revenue recognized     2,700    
Deferred revenue 4,261   4,261   4,552
Warranty claims expense 800 $ 900 1,300 $ 2,000  
Reciprocal Segment          
Disaggregation of Revenue [Line Items]          
Deferred revenue 227,200   227,200   219,600
Balance Sheet Location [Axis]: us-gaap:AccountsReceivableNetCurrent          
Disaggregation of Revenue [Line Items]          
Contract assets expected to be collected in 12 months 700   700   600
Balance Sheet Location [Axis]: us-gaap:OtherAssetsNoncurrent          
Disaggregation of Revenue [Line Items]          
Capitalized contract cost, net 200   200   500
Balance Sheet Location [Axis]: us-gaap:PrepaidExpenseAndOtherAssetsCurrent          
Disaggregation of Revenue [Line Items]          
Capitalized contract cost, net $ 200   $ 200   $ 200