v3.25.2
Stock-Based Compensation - Summary of Stock Option Activity (Details) - USD ($)
$ / shares in Units, $ in Thousands
6 Months Ended
Jun. 30, 2025
Dec. 31, 2024
Shares    
Beginning balance (in shares) 582,638  
Granted (in shares) 0  
Exercised (in shares) (157,317)  
Forfeited/cancelled (in shares) (200)  
Ending balance (in shares) 425,121  
Vested and exercisable (in shares) 425,121  
Weighted Average Exercise Price    
Beginning balance (in dollars per share) $ 12.38  
Granted (in dollars per share)  
Exercised (in dollars per share) 10.10  
Forfeited/cancelled (in dollars per share) 10.88  
Ending balance (in dollars per share) 13.23  
Vested and exercisable (in dollars per share) $ 13.23  
Weighted Average Remaining Contractual Life (in years)    
Outstanding 1 year 1 month 6 days  
Vested and exercisable 1 year 1 month 6 days  
Aggregate Intrinsic Value (in thousands)    
Outstanding $ 4,215 $ 16,225
Exercised 4,541  
Vested and exercisable $ 4,215