v3.25.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, 2025
Mar. 31, 2024
Numerator:    
Net income $ 47,534 $ 39,731
Denominator:    
Basic weighted average shares (in shares) 36,466 36,955
Effect of potentially dilutive shares:    
Stock options (in shares) 210 471
Retired stock units (in shares) 103 292
Employee stock purchase plan (in shares) 5 5
Diluted weighted average shares (in shares) 36,784 37,723
Net income per share:    
Basic (in USD per share) $ 1.30 $ 1.08
Diluted (in USD per share) $ 1.29 $ 1.05