XML 40 R29.htm IDEA: XBRL DOCUMENT v3.25.1
Revenue from Contracts with Customers - Summary of Disaggregation of Our Revenues by Contract Type and Operating Segment (Detail) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2025
Mar. 31, 2024
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment $ 48,317 $ 46,823
Data and Analytics Services [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment 8,960 8,067
Data and Analytics Services [Member] | Time-and-Material Contract [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment 5,648 6,111
Data and Analytics Services [Member] | Fixed-Price Contract [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment 3,312 1,956
IT Staffing Services [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment 39,357 38,756
IT Staffing Services [Member] | Time-and-Material Contract [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment 39,357 38,756
IT Staffing Services [Member] | Fixed-Price Contract [Member]    
Disaggregation of Revenue [Line Items]    
Revenues by contract type and operating segment $ 0 $ 0