v3.26.1
Net Income Per Share - Basic and Diluted Net Income Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Numerator:    
Net income $ 50,643 $ 47,534
Denominator:    
Basic weighted average shares (in shares) 35,608 36,466
Effect of potentially dilutive shares:    
Stock options (in shares) 39 210
Retired stock units (in shares) 24 103
Employee stock purchase plan (in shares) 8 5
Diluted weighted average shares (in shares) 35,679 36,784
Net income per share:    
Basic (in USD per share) $ 1.42 $ 1.30
Diluted (in USD per share) $ 1.42 $ 1.29