v3.26.1
Stock-based Compensation - Narrative (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Stock-based compensation        
Proceeds from issuances of common stock from employee stock purchase plan     $ 947 $ 506
Unrecognized compensation cost related to outstanding options $ 77,684   $ 77,684  
Period over which unrecognized compensation cost is expected to be recognized as expense     2 years 1 month 6 days  
Location, Statement of Income, Balance [Axis]: us-gaap:SellingGeneralAndAdministrativeExpense        
Stock-based compensation        
Stock-based compensation expense 14,484 $ 10,818 $ 25,364 $ 22,342
Performance share units        
Stock-based compensation        
Weighted-average grant date fair value per share of grants (in dollars per share)     $ 61.20 $ 40.28
Total fair value of shares vested     $ 7,337 $ 4,925
Restricted stock units        
Stock-based compensation        
Total fair value of shares vested     $ 40,748 $ 27,042
Weighted-average grant date fair value of shares granted (in dollars per share)     $ 44.19 $ 30.19
Restricted stock units | Awards Granted Prior To 2024        
Stock-based compensation        
Vesting period (in years)     4 years  
Restricted stock units | Awards Granted After 2024        
Stock-based compensation        
Vesting period (in years)     3 years  
Stock options        
Stock-based compensation        
Vesting period (in years)     4 years  
Contractual life (in years)     10 years  
Period following termination date vested options are exercisable (in months)     3 months  
Stock options granted (in shares)     0 0
Purchase price percentage     85.00%  
Issuance for employee stock purchase plan (in shares)     36,064  
Proceeds from issuances of common stock from employee stock purchase plan     $ 947  
Employee stock purchase plan compensation expenses $ 159 $ 149 $ 318 $ 285