v3.26.3
Revenue Recognition - Disaggregated Revenues (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Sep. 30, 2025
Disaggregation of Revenue [Line Items]        
Revenues $ 952,972 $ 866,286 $ 2,714,814 $ 2,312,583
Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 484,662 240,406 852,376 677,457
Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 204,167 427,878 1,181,430 1,153,197
Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 153,324 98,865 363,319 298,608
Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 111,125 100,519 321,501 187,101
Over time        
Disaggregation of Revenue [Line Items]        
Revenues 892,063 833,527 2,577,085 2,226,823
Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 61,215 34,141 141,541 89,540
Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenues 953,278 867,668 2,718,626 2,316,363
Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 639,076 616,697 1,818,266 1,760,943
Operating Segments | Government Operations | Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 483,620 239,901 850,567 669,107
Operating Segments | Government Operations | Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 11,465 279,993 623,931 795,008
Operating Segments | Government Operations | Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 143,497 96,706 342,746 296,602
Operating Segments | Government Operations | Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 494 97 1,022 226
Operating Segments | Government Operations | Over time        
Disaggregation of Revenue [Line Items]        
Revenues 631,375 612,212 1,797,004 1,749,201
Operating Segments | Government Operations | Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 7,701 4,485 21,262 11,742
Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 314,202 250,971 900,360 555,420
Operating Segments | Commercial Operations | Fixed-Price Incentive Fee        
Disaggregation of Revenue [Line Items]        
Revenues 1,042 505 1,809 8,350
Operating Segments | Commercial Operations | Firm-Fixed-Price        
Disaggregation of Revenue [Line Items]        
Revenues 192,702 147,885 557,499 358,189
Operating Segments | Commercial Operations | Cost-Plus Fee        
Disaggregation of Revenue [Line Items]        
Revenues 9,827 2,159 20,573 2,006
Operating Segments | Commercial Operations | Time-and-Materials        
Disaggregation of Revenue [Line Items]        
Revenues 110,631 100,422 320,479 186,875
Operating Segments | Commercial Operations | Over time        
Disaggregation of Revenue [Line Items]        
Revenues 260,688 221,315 780,081 477,622
Operating Segments | Commercial Operations | Point-in-time        
Disaggregation of Revenue [Line Items]        
Revenues 53,514 29,656 120,279 77,798
Eliminations        
Disaggregation of Revenue [Line Items]        
Revenues (306) (1,382) (3,812) (3,780)
United States        
Disaggregation of Revenue [Line Items]        
Revenues 693,169 643,681 1,928,535 1,817,784
United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 620,872 610,537 1,768,326 1,743,727
United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 72,297 33,144 160,209 74,057
Canada        
Disaggregation of Revenue [Line Items]        
Revenues 227,204 199,545 689,010 442,558
Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 8,534 191 26,568 425
Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 218,670 199,354 662,442 442,133
Other        
Disaggregation of Revenue [Line Items]        
Revenues 32,905 24,442 101,081 56,021
Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 9,670 5,969 23,372 16,791
Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 23,235 18,473 77,709 39,230
Government | United States        
Disaggregation of Revenue [Line Items]        
Revenues 623,419 572,401 1,718,563 1,611,629
Government | United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 596,938 572,313 1,691,241 1,611,357
Government | United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 26,481 88 27,322 272
Government | Canada        
Disaggregation of Revenue [Line Items]        
Revenues 8,292 159 26,088 271
Government | Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 8,292 159 26,088 271
Government | Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 0 0 0 0
Government | Other        
Disaggregation of Revenue [Line Items]        
Revenues 6,147 3,701 12,196 11,297
Government | Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 6,125 3,701 12,174 11,297
Government | Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 22 0 22 0
Non-Government | United States        
Disaggregation of Revenue [Line Items]        
Revenues 69,750 71,280 209,972 206,155
Non-Government | United States | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 23,934 38,224 77,085 132,370
Non-Government | United States | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 45,816 33,056 132,887 73,785
Non-Government | Canada        
Disaggregation of Revenue [Line Items]        
Revenues 218,912 199,386 662,922 442,287
Non-Government | Canada | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 242 32 480 154
Non-Government | Canada | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues 218,670 199,354 662,442 442,133
Non-Government | Other        
Disaggregation of Revenue [Line Items]        
Revenues 26,758 20,741 88,885 44,724
Non-Government | Other | Operating Segments | Government Operations        
Disaggregation of Revenue [Line Items]        
Revenues 3,545 2,268 11,198 5,494
Non-Government | Other | Operating Segments | Commercial Operations        
Disaggregation of Revenue [Line Items]        
Revenues $ 23,213 $ 18,473 $ 77,687 $ 39,230