XML 63 R50.htm IDEA: XBRL DOCUMENT v3.24.3
Disaggregation of Revenue and Contract Balances - Summary of Disaggregated Revenues by Contract Type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Disaggregation Of Revenue [Line Items]        
Gross Contract Revenue $ 113,932 $ 94,434 $ 313,341 $ 253,290
Gross contract revenue, Percentage 100.00% 100.00% 100.00% 100.00%
Fixed fee        
Disaggregation Of Revenue [Line Items]        
Gross Contract Revenue $ 104,091 $ 82,997 $ 283,174 $ 224,751
Gross contract revenue, Percentage 91.40% 87.90% 90.40% 88.70%
Time-and-materials        
Disaggregation Of Revenue [Line Items]        
Gross Contract Revenue $ 9,841 $ 11,437 $ 30,167 $ 28,539
Gross contract revenue, Percentage 8.60% 12.10% 9.60% 11.30%