v3.26.1
Stock-based compensation - Recognized Stock-Based Compensation Expense (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense $ 3,663 $ 2,916 $ 6,581 $ 5,371
Options        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 2,430 2,596 4,662 4,810
RSUs        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 617 265 1,011 357
PSUs        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 548 0 740 0
Employee Stock Purchase Plan        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 68 55 168 204
Location, Statement of Income, Balance [Axis]: us-gaap:CostOfRevenue        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 37 36 70 71
Location, Statement of Income, Balance [Axis]: us-gaap:ResearchAndDevelopmentExpense        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense 353 270 662 435
Location, Statement of Income, Balance [Axis]: us-gaap:SellingGeneralAndAdministrativeExpense        
Share-Based Payment Arrangement, Expensed and Capitalized, Amount [Line Items]        
Total stock-based compensation expense $ 3,273 $ 2,610 $ 5,849 $ 4,865