v3.25.2
Stock-Based Compensation - Schedule of Stock Option Activity (Details)
$ / shares in Units, $ in Thousands
6 Months Ended 12 Months Ended
Jun. 30, 2025
USD ($)
$ / shares
shares
Dec. 31, 2024
USD ($)
$ / shares
shares
Stock Options    
Forfeited and cancelled (in shares) 0  
Aggregate Intrinsic Value    
Outstanding | $ $ 15,108  
Options exercisable | $ $ 14,058  
Class A common stock    
Stock Options    
Beginning balance (in shares) 341,280  
Granted (in shares) 0  
Exercised (in shares) (35,432)  
Forfeited and cancelled (in shares) 0  
Ending balance (in shares) 305,848 341,280
Outstanding, options exercisable at end of period (in shares) 275,244  
Weighted-Average Exercise Price    
Weighted-average exercise price (in dollars per share) | $ / shares $ 44.83  
Weighted average exercise price, granted (in dollars per share) | $ / shares 0  
Weighted average exercise price, exercised (in dollars per share) | $ / shares 22.63  
Weighted average exercise price, Forfeited/Expired (in dollars per share) | $ / shares 0  
Weighted-average exercise price (in dollars per share) | $ / shares 47.33 $ 44.83
Weighted average exercise price, options exercisable (in dollars per share) | $ / shares $ 44.68  
Weighted-Average Remaining Contractual Life (years)    
Weighted average remaining contractual life (years) 5 years 6 months 5 years 11 months 26 days
Weighted average remaining contractual life (years), options exercisable 5 years 3 months 29 days  
Aggregate Intrinsic Value    
Outstanding | $   $ 12,429