v3.26.1
Revenue Recognition - Disaggregated Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenues $ 901,625 $ 764,039 $ 1,761,842 $ 1,446,297
Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 104,648 224,170 367,533 437,049
Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 598,082 377,518 977,262 725,320
Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 102,179 109,107 210,178 199,896
Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 98,894 54,303 210,376 86,430
Over time        
Disaggregation of Revenue [Line Items]        
Revenues 860,357 739,528 1,685,022 1,393,295
Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 43,446 25,570 80,327 55,400
Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 903,803 765,098 1,765,349 1,448,695
Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 601,291 588,959 1,179,191 1,144,246
Operating Segments | Government Operations | Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 103,881 220,653 366,765 429,205
Operating Segments | Government Operations | Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 395,790 259,153 612,466 515,015
Operating Segments | Government Operations | Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 101,298 109,107 199,432 199,896
Operating Segments | Government Operations | Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 322 46 528 130
Operating Segments | Government Operations | Over time        
Disaggregation of Revenue [Line Items]        
Revenues 592,459 586,443 1,165,630 1,136,989
Operating Segments | Government Operations | Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 8,832 2,516 13,561 7,257
Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 302,512 176,139 586,158 304,449
Operating Segments | Commercial Operations | Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 767 3,517 768 7,844
Operating Segments | Commercial Operations | Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 202,292 118,365 364,796 210,305
Operating Segments | Commercial Operations | Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 881 0 10,746 0
Operating Segments | Commercial Operations | Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 98,572 54,257 209,848 86,300
Operating Segments | Commercial Operations | Over time        
Disaggregation of Revenue [Line Items]        
Revenues 267,898 153,085 519,392 256,306
Operating Segments | Commercial Operations | Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 34,614 23,054 66,766 48,143
Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (2,178) (1,059) (3,507) (2,398)
United States        
Disaggregation of Revenue [Line Items]        
Revenues 636,334 608,474 1,235,187 1,174,104
United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 588,070 583,622 1,147,274 1,133,190
United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 48,264 24,852 87,913 40,914
Canada        
Disaggregation of Revenue [Line Items]        
Revenues 229,367 141,236 461,986 243,012
Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 5,072 75 18,215 234
Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 224,295 141,161 443,771 242,778
Other        
Disaggregation of Revenue [Line Items]        
Revenues 38,102 15,388 68,176 31,579
Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 8,149 5,262 13,702 10,822
Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 29,953 10,126 54,474 20,757
Government | United States        
Disaggregation of Revenue [Line Items]        
Revenues 560,184 513,749 1,094,124 1,039,044
Government | United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 560,184 513,749 1,094,124 1,039,044
Government | United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Government | Canada        
Disaggregation of Revenue [Line Items]        
Revenues 4,835 10 17,978 112
Government | Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 4,835 10 17,978 112
Government | Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Government | Other        
Disaggregation of Revenue [Line Items]        
Revenues 2,653 3,725 6,049 7,596
Government | Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 2,653 3,725 6,049 7,596
Government | Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Non-Government | United States        
Disaggregation of Revenue [Line Items]        
Revenues 76,150 94,725 141,063 135,060
Non-Government | United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 27,886 69,873 53,150 94,146
Non-Government | United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 48,264 24,852 87,913 40,914
Non-Government | Canada        
Disaggregation of Revenue [Line Items]        
Revenues 224,532 141,226 444,008 242,900
Non-Government | Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 237 65 237 122
Non-Government | Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 224,295 141,161 443,771 242,778
Non-Government | Other        
Disaggregation of Revenue [Line Items]        
Revenues 35,449 11,663 62,127 23,983
Non-Government | Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 5,496 1,537 7,653 3,226
Non-Government | Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues $ 29,953 $ 10,126 $ 54,474 $ 20,757