v3.26.1
Consolidated Statements of Comprehensive Income - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Statements of Operations:        
Revenue $ 149,341 $ 135,063 $ 288,677 $ 261,268
Cost of revenue 79,999 75,289 155,743 145,796
Gross profit 69,342 59,774 132,934 115,472
Operating expenses        
Marketing and sales 25,682 24,731 50,462 48,480
Research and development 10,791 11,173 21,331 21,782
General and administrative 19,650 18,752 36,662 35,600
Restructuring and transformation costs 924 0 2,345 0
Costs related to exit and disposal activities 937 149 937 110
Total operating expenses 57,984 54,805 111,737 105,972
Income from operations 11,358 4,969 21,197 9,500
Other income, net 1,245 1,705 2,723 3,159
Income before income taxes 12,603 6,674 23,920 12,659
Provision for income taxes 3,451 2,247 6,657 4,633
Net income $ 9,152 $ 4,427 $ 17,263 $ 8,026
Net income per share:        
Basic (in dollars per share) $ 0.38 $ 0.19 $ 0.72 $ 0.33
Diluted (in dollars per share) $ 0.37 $ 0.18 $ 0.71 $ 0.33
Shares used to compute net income per share:        
Basic (in shares) 23,969,254 23,900,390 23,902,802 24,018,119
Diluted (in shares) 24,415,788 24,101,592 24,358,568 24,291,246
Comprehensive Income (net of tax)        
Comprehensive income $ 9,351 $ 6,755 $ 14,951 $ 11,447