v3.26.1
Stock-based compensation - Schedule of Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Dec. 31, 2025
Shares  arising out of options      
Outstanding, beginning balance (in shares) 5,036,542    
Granted (in shares) 0 0  
Forfeited (in shares) 0    
Expired (in shares) 0    
Exercised (in shares) (2,800)    
Outstanding, ending balance (in shares) 5,033,742   5,036,542
Vested and expected to vest thereafter (in shares) 5,028,681    
Vested and exercisable (in shares) 4,742,980    
Weighted average grant-date fair value of options granted during the period (in usd per share) $ 0    
Weighted  average exercise price      
Outstanding beginning balance (in usd per share) 35.20    
Granted (in usd per share) 0    
Forfeited (in usd per share) 0    
Expired (in usd per share) 0    
Exercised (in usd per share) 27.65    
Outstanding ending balance (in usd per share) 35.21   $ 35.20
Vested and expected to vest thereafter (in usd per share) 35.19    
Vested and exercisable (in usd per share) $ 34.20    
Weighted average remaining contractual life (years)      
Outstanding beginning balance (years) 2 years 10 months 24 days   3 years 4 months 24 days
Vested and expected to vest thereafter (years) 2 years 10 months 24 days    
Vested and exercisable (years) 2 years 9 months 18 days    
Aggregate intrinsic value      
Outstanding as of June 30, 2026 $ 193    
Vested and expected to vest thereafter 193    
Vested and exercisable as of June 30, 2026 $ 193