v3.26.1
Intangible Assets - Schedule of Gross Amount and Accumulated Amortization of Intangible Assets (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2026
Dec. 31, 2025
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 697,410 $ 595,364
Accumulated Amortization (313,231) (269,484)
Net Carrying Amount 384,179 325,880
Backlog    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount 170,870 154,470
Accumulated Amortization (108,653) (83,181)
Net Carrying Amount $ 62,217 71,289
Weighted Average Amortization Period (in years) 3 years 3 months 18 days  
Customer Relationships    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 480,030 395,460
Accumulated Amortization (181,294) (166,391)
Net Carrying Amount $ 298,736 229,069
Weighted Average Amortization Period (in years) 12 years 1 month 6 days  
Developed Technology    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 29,100 30,100
Accumulated Amortization (15,726) (13,496)
Net Carrying Amount $ 13,374 16,604
Weighted Average Amortization Period (in years) 4 years 6 months  
Trade Name    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 4,930 2,530
Accumulated Amortization (1,987) (2,123)
Net Carrying Amount $ 2,943 407
Weighted Average Amortization Period (in years) 1 year 8 months 12 days  
Noncompete Agreements    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 10,680 10,980
Accumulated Amortization (5,571) (4,293)
Net Carrying Amount $ 5,109 6,687
Weighted Average Amortization Period (in years) 3 years  
In Process Research and Development    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 1,800 1,800
Accumulated Amortization 0 0
Net Carrying Amount 1,800 1,800
Other Intangibles    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount 0 24
Accumulated Amortization 0 0
Net Carrying Amount $ 0 $ 24