Stock Compensation - Schedule of Valuation Assumptions Used for Value of Stock Compensation Granted (Details) - $ / shares |
3 Months Ended | 6 Months Ended | ||
|---|---|---|---|---|
Jun. 30, 2026 |
Jun. 30, 2025 |
Jun. 30, 2026 |
Jun. 30, 2025 |
|
| Employee Stock Purchase Plan | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates | 4.01% | 4.29% | 3.79% | 4.22% |
| Average expected life (in years) | 6 months | 6 months | 6 months | 6 months |
| Volatility | 38.00% | 32.00% | 34.00% | 37.00% |
| Weighted-average fair value (in dollars per share) | $ 20.63 | $ 12.63 | $ 21.51 | $ 14.49 |
| Employee Stock Options | ||||
| Weighted-average fair value assumptions | ||||
| Average risk-free interest rates | 4.18% | 3.89% | 3.85% | 4.24% |
| Average expected life (in years) | 5 years 6 months 29 days | 5 years 5 months 15 days | 4 years 10 months 28 days | 4 years 10 months 20 days |
| Volatility | 31.00% | 31.00% | 30.00% | 29.00% |
| Weighted-average fair value (in dollars per share) | $ 36.50 | $ 25.04 | $ 34.05 | $ 23.35 |