v3.25.2
Intangible Assets - Schedule of Gross Amount and Accumulated Amortization of Intangible Assets (Details) - USD ($)
$ in Thousands
6 Months Ended
Jun. 30, 2025
Dec. 31, 2024
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 594,654 $ 549,855
Accumulated Amortization (233,351) (199,918)
Net Carrying Amount 361,303 349,937
Backlog    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount 152,150 142,100
Accumulated Amortization (66,721) (51,322)
Net Carrying Amount $ 85,429 90,778
Weighted Average Amortization Period (in years) 4 years 3 months 18 days  
Customer Relationships    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 397,380 372,930
Accumulated Amortization (152,558) (139,568)
Net Carrying Amount $ 244,822 233,362
Weighted Average Amortization Period (in years) 11 years 8 months 12 days  
Developed Technology    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 31,800 23,200
Accumulated Amortization (10,266) (7,458)
Net Carrying Amount $ 21,534 15,742
Weighted Average Amortization Period (in years) 4 years 8 months 12 days  
Trade Name    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 1,800 1,500
Accumulated Amortization (1,238) (367)
Net Carrying Amount $ 562 1,133
Weighted Average Amortization Period (in years) 1 year  
Noncompete Agreements    
Acquired Finite Lived Intangible Assets [Line Items]    
Gross Carrying Amount $ 8,300 8,300
Accumulated Amortization (2,568) (1,203)
Net Carrying Amount $ 5,732 7,097
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 1,424 25
Accumulated Amortization 0 0
Net Carrying Amount $ 1,424 $ 25