v3.26.1
Fair Value Measurements - Schedule of Assets and Liabilities at Fair Value on Recurring Basis (Details) - USD ($)
$ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Assets    
Assets held in rabbi trust $ 13,987 $ 13,476
Convertible notes 5,774 5,630
Cash equivalents 54,254 81,082
Marketable debt securities, available-for-sale: 191,695 236,265
Liabilities:    
Deferred compensation liability 10,459 9,786
Contingent consideration    
Liabilities:    
Contingent consideration 722 720
Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 57,249 90,564
Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 134,446 145,701
Commercial paper    
Assets    
Cash equivalents 25,651 2,396
Money market funds    
Assets    
Cash equivalents 28,603 78,686
Level 1    
Assets    
Convertible notes 0 0
Cash equivalents 28,603 78,686
Liabilities:    
Deferred compensation liability 10,459 9,786
Level 1 | Contingent consideration    
Liabilities:    
Contingent consideration 0 0
Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 9,752 0
Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 21,576 29,259
Level 1 | Commercial paper    
Assets    
Cash equivalents 0 0
Level 1 | Money market funds    
Assets    
Cash equivalents 28,603 78,686
Level 2    
Assets    
Convertible notes 0 0
Cash equivalents 25,651 2,396
Liabilities:    
Deferred compensation liability 0 0
Level 2 | Contingent consideration    
Liabilities:    
Contingent consideration 0 0
Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 47,497 90,564
Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 112,870 116,442
Level 2 | Commercial paper    
Assets    
Cash equivalents 25,651 2,396
Level 2 | Money market funds    
Assets    
Cash equivalents 0 0
Level 3    
Assets    
Convertible notes 5,774 5,630
Cash equivalents 0 0
Liabilities:    
Deferred compensation liability 0 0
Level 3 | Contingent consideration    
Liabilities:    
Contingent consideration 722 720
Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Level 3 | Commercial paper    
Assets    
Cash equivalents 0 0
Level 3 | Money market funds    
Assets    
Cash equivalents 0 0
Assets held in rabbi trust    
Assets    
Assets held in rabbi trust 13,987 13,476
Assets held in rabbi trust | Level 1    
Assets    
Assets held in rabbi trust 0 0
Assets held in rabbi trust | Level 2    
Assets    
Assets held in rabbi trust 13,987 13,476
Assets held in rabbi trust | Level 3    
Assets    
Assets held in rabbi trust 0 0
U.S. treasuries | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 9,752 0
U.S. treasuries | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 21,576 29,259
U.S. treasuries | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 9,752 0
U.S. treasuries | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 21,576 29,259
U.S. treasuries | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
U.S. treasuries | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
U.S. treasuries | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
U.S. treasuries | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
U.S. government sponsored entities | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 4,009 2,461
U.S. government sponsored entities | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
U.S. government sponsored entities | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 4,009 2,461
U.S. government sponsored entities | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Corporate debt | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 47,497 90,564
Corporate debt | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 48,044 54,257
Corporate debt | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Corporate debt | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Corporate debt | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 47,497 90,564
Corporate debt | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 48,044 54,257
Corporate debt | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
Corporate debt | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
ABS and other | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 60,817 59,724
ABS and other | Level 1 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 0 0
ABS and other | Level 2 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: 60,817 59,724
ABS and other | Level 3 | Location, Statement of Financial Position, Balance [Axis]: us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent    
Assets    
Marketable debt securities, available-for-sale: $ 0 $ 0