v3.25.4

Leases (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2025 | Dec. 31, 2024 | Dec. 31, 2023
Leases [Abstract] |  |  |
Extended lease term | 5 years |  |
Operating lease expense | $ 14,000 | $ 13,400 | $ 11,900
Cash paid for operating leases | 13,300 | 11,500 | 10,300
Right-of-use assets in exchange for operating lease obligations | 12,000 | 9,000 | $ 9,000
Right-of-use assets | $ 39,900 | $ 36,400 |
Operating Lease, Right-of-Use Asset, Statement of Financial Position [Extensible List] | Other Assets, Noncurrent | Other Assets, Noncurrent |
Operating lease, liability, Current | $ 10,600 | $ 7,700 |
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List] | Other Accrued Liabilities, Current | Other Accrued Liabilities, Current |
Operating lease, liability, Noncurrent | $ 29,200 | $ 28,700 |
Operating Lease, Liability, Noncurrent, Statement of Financial Position [Extensible List] | Other Liabilities, Noncurrent | Other Liabilities, Noncurrent |
Weighted average remaining operating lease term | 5 years 7 months 6 days | 6 years 10 months 24 days |
Weighted average discount rate for operating leases | 4.57% | 4.20% |
Maturities of Operating Lease Liabilities [Abstract] |  |  |
2026 | $ 12,296 |  |
2027 | 10,531 |  |
2028 | 5,755 |  |
2029 | 4,767 |  |
2030 | 3,662 |  |
Thereafter | 8,619 |  |
Total lease payments | 45,630 |  |
Less imputed interest | (5,805) |  |
Present value of lease liabilities | $ 39,825 |  |
Operating Lease, Liability, Statement of Financial Position [Extensible List] | Other Liabilities, Noncurrent |  |

X
- Definition Amount of lease cost recognized by lessee for lease contract. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 53 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4 + Details
Name: | us-gaap_LeaseCost
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_LesseeOperatingLeaseDescriptionAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach). + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 942 -SubTopic 235 -Name Accounting Standards Codification -Section S99 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147477314/942-235-S99-2 Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S50 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147480738/235-10-S50-4 Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 235 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 3 -Subparagraph (SX 210.12-04(a)) -Publisher FASB -URI https://asc.fasb.org/1943274/2147480678/235-10-S99-3 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 6 -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-6 + Details
Name: | us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 3 -Subparagraph (a)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-3 + Details
Name: | us-gaap_LesseeOperatingLeaseRenewalTerm
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- References No definition available. + Details
Name: | us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Present value of lessee's discounted obligation for lease payments from operating lease. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1 + Details
Name: | us-gaap_OperatingLeaseLiability
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Present value of lessee's discounted obligation for lease payments from operating lease, classified as current. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1 + Details
Name: | us-gaap_OperatingLeaseLiabilityCurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Indicates line item in statement of financial position that includes current operating lease liability. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2 + Details
Name: | us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList
Namespace Prefix: | us-gaap_
Data Type: | enum2:enumerationSetItemType
Balance Type: | na
Period Type: | instant

X
- Definition Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1 + Details
Name: | us-gaap_OperatingLeaseLiabilityNoncurrent
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | instant

X
- Definition Indicates line item in statement of financial position that includes noncurrent operating lease liability. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2 + Details
Name: | us-gaap_OperatingLeaseLiabilityNoncurrentStatementOfFinancialPositionExtensibleList
Namespace Prefix: | us-gaap_
Data Type: | enum2:enumerationSetItemType
Balance Type: | na
Period Type: | instant

X
- Definition Indicates line item in statement of financial position that includes operating lease liability. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2 + Details
Name: | us-gaap_OperatingLeaseLiabilityStatementOfFinancialPositionExtensibleList
Namespace Prefix: | us-gaap_
Data Type: | enum2:enumerationSetItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 5 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-5 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (g)(1) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4 + Details
Name: | us-gaap_OperatingLeasePayments
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Definition Amount of lessee's right to use underlying asset under operating lease. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 1 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-1 + Details
Name: | us-gaap_OperatingLeaseRightOfUseAsset
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | instant

X
- Definition Indicates line item in statement of financial position that includes operating lease right-of-use asset. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 45 -Paragraph 2 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479041/842-20-45-2 + Details
Name: | us-gaap_OperatingLeaseRightOfUseAssetStatementOfFinancialPositionExtensibleList
Namespace Prefix: | us-gaap_
Data Type: | enum2:enumerationSetItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average discount rate for operating lease calculated at point in time. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 53 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (g)(4) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4 + Details
Name: | us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:percentItemType
Balance Type: | na
Period Type: | instant

X
- Definition Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 53 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (g)(3) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4 + Details
Name: | us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1
Namespace Prefix: | us-gaap_
Data Type: | xbrli:durationItemType
Balance Type: | na
Period Type: | instant

X
- Definition Amount of increase in right-of-use asset obtained in exchange for operating lease liability. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 55 -Paragraph 53 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479589/842-20-55-53 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 842 -SubTopic 20 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (g)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147478964/842-20-50-4 + Details
Name: | us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | debit
Period Type: | duration