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
Disaggregation of Revenue        
Total net sales $ 138,550 $ 143,558 $ 259,694 $ 241,350
Revenue remaining performance obligation $ 246,113   $ 246,113  
Sales Returns and Allowances        
Disaggregation of Revenue        
Total net sales   $ 1,647   $ 1,647
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-07-01        
Disaggregation of Revenue        
Revenue remaining performance obligation 5.80%   5.80%  
Revenue, remaining performance obligation, expected timing of satisfaction, period 1 year   1 year