v3.26.1
Stock-based compensation - Narrative (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jan. 01, 2026
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Stock options granted (in shares)   0 0 0 0
Aggregate intrinsic value of stock options exercised   $ 100   $ 100  
Exercised (in shares)     0 9,351 0
Fair value of stock options vested   100 $ 300 $ 300 $ 1,000
Total stock-based compensation expense   3,002 3,542 5,993 7,592
Share-based compensation capitalized   100 $ 100 100 $ 100
Unrecognized compensation expense   $ 19,000   $ 19,000  
2011 Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Expiration period (in years)       10 years  
Vesting period       48 months  
2021 Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Maximum shares that may be issued (in shares)   4,333,333   4,333,333  
Maximum shares that may be issued, annual increase, period (in years)       10 years  
Maximum number of shares that may be issued, annual increase percentage       5.00%  
Increase in common stock available for future issuance (in shares) 1,842,415        
Shares available for future grants (in shares)   1,951,086   1,951,086  
Stock Options - New Employees | 2011 Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Expiration period (in years)       10 years  
Vesting period       4 years  
Stock Options - New Employees | 2011 Plan | Vesting Tranche One          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       1 year  
Vesting percentage       25.00%  
Stock Options - New Employees | 2011 Plan | Vesting Tranche Two          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       36 months  
Restricted stock units          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Weighted-average grant date fair value of restricted stock units granted (in dollars per share)   $ 4.21 $ 2.66 $ 5.24 $ 2.96
Grant date fair value of restricted stock units vested   $ 3,200 $ 4,200 $ 5,700 $ 7,100
Restricted stock units | Minimum          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       3 years  
Restricted stock units | Maximum          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       4 years  
Restricted stock units | 2021 Plan          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       4 years  
Vesting percentage       25.00%  
RSU, Initial Awards | Board of Directors          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       3 years  
RSU, Annual Awards | Board of Directors          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Vesting period       1 year  
Employee Stock Option          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Unrecognized compensation expense, weighted-average period for recognition       2 years 3 months 18 days  
ESPP          
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]          
Maximum shares that may be issued (in shares)   2,698,417   2,698,417  
Maximum number of shares that may be issued, annual increase percentage       1.00%  
Increase in common stock available for future issuance (in shares) 368,483        
Annual increase in number of shares that may be issued, term (in years)       10 years  
Maximum number of shares that may be issued, annual increase (in shares)       400,000  
Maximum percentage of eligible compensation   15.00%   15.00%  
Purchase price percentage       85.00%  
Common stock shares purchased for issuance under award plan (in shares)   0 0 0 0