v3.24.2.u1
Revenue Recognition - Schedule of Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2024
Jun. 30, 2023
Jun. 30, 2024
Jun. 30, 2023
Disaggregation of Revenue [Line Items]        
Total revenues $ 309,653 $ 203,306 $ 525,145 $ 393,418
Contract Services        
Disaggregation of Revenue [Line Items]        
Total revenues 276,250 181,619 469,649 359,316
Other Services        
Disaggregation of Revenue [Line Items]        
Total revenues 33,403 21,687 55,496 34,102
Total services provided over time        
Disaggregation of Revenue [Line Items]        
Total revenues 302,964 198,097 513,236 378,372
Total services provided over time | Contract Services        
Disaggregation of Revenue [Line Items]        
Total revenues 276,250 179,740 467,969 354,616
Total services provided over time | Other Services        
Disaggregation of Revenue [Line Items]        
Total revenues 26,714 18,357 45,267 23,756
Total services provided or goods transferred at a point in time        
Disaggregation of Revenue [Line Items]        
Total revenues 6,689 5,209 11,909 15,046
Total services provided or goods transferred at a point in time | Contract Services        
Disaggregation of Revenue [Line Items]        
Total revenues 0 1,879 1,680 4,700
Total services provided or goods transferred at a point in time | Other Services        
Disaggregation of Revenue [Line Items]        
Total revenues $ 6,689 $ 3,330 $ 10,229 $ 10,346