v3.25.1
Stock-Based Compensation - Additional Information (Detail)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended
Mar. 31, 2025
USD ($)
$ / shares
shares
Mar. 31, 2024
USD ($)
$ / shares
Dec. 31, 2017
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Period increase in shares authorized 0.04    
Exercised $ 1,400 $ 24,500  
Inventories      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Amount capitalized $ 969 $ 724  
Stock Incentive Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares remaining available for grant (in shares) | shares 2,000    
2017 IPO Stock Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares reserved (in shares) | shares     900
Stock Options      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Weighted-average grant-date fair value per share of options granted (in dollars per share) | $ / shares $ 116.88 $ 106.92  
Stock Options | Director      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Estimated weighted average period 2 years 10 months 24 days    
Unrecognized stock-based compensation expense $ 76,100    
Stock Options | 2017 IPO Stock Plan      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Shares reserved (in shares) | shares     900
Restricted Stock Units (RSUs)      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Estimated weighted average period 3 years 3 months 18 days    
Unrecognized stock-based compensation expense $ 51,800    
Performance Shares      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Estimated weighted average period 10 months 24 days    
Unrecognized stock-based compensation expense $ 8,200    
Stock option vesting period 2 years