v3.26.1
Revenue (Schedule of Revenue by Contract Type) (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Disaggregation of Revenue [Line Items]    
Revenue $ 1,389,458 $ 1,246,633
Fixed price    
Disaggregation of Revenue [Line Items]    
Revenue 973,088 876,047
Guaranteed maximum price    
Disaggregation of Revenue [Line Items]    
Revenue 262,477 241,155
Unit price    
Disaggregation of Revenue [Line Items]    
Revenue 76,702 54,707
Cost plus fee and other    
Disaggregation of Revenue [Line Items]    
Revenue 77,191 74,724
Civil    
Disaggregation of Revenue [Line Items]    
Revenue 697,727 610,041
Civil | Fixed price    
Disaggregation of Revenue [Line Items]    
Revenue 622,974 538,414
Civil | Guaranteed maximum price    
Disaggregation of Revenue [Line Items]    
Revenue 0 181
Civil | Unit price    
Disaggregation of Revenue [Line Items]    
Revenue 68,347 38,017
Civil | Cost plus fee and other    
Disaggregation of Revenue [Line Items]    
Revenue 6,406 33,429
Building    
Disaggregation of Revenue [Line Items]    
Revenue 473,000 459,784
Building | Fixed price    
Disaggregation of Revenue [Line Items]    
Revenue 184,537 194,388
Building | Guaranteed maximum price    
Disaggregation of Revenue [Line Items]    
Revenue 241,605 235,615
Building | Unit price    
Disaggregation of Revenue [Line Items]    
Revenue 0 0
Building | Cost plus fee and other    
Disaggregation of Revenue [Line Items]    
Revenue 46,858 29,781
Specialty Contractors    
Disaggregation of Revenue [Line Items]    
Revenue 218,731 176,808
Specialty Contractors | Fixed price    
Disaggregation of Revenue [Line Items]    
Revenue 165,577 143,245
Specialty Contractors | Guaranteed maximum price    
Disaggregation of Revenue [Line Items]    
Revenue 20,872 5,359
Specialty Contractors | Unit price    
Disaggregation of Revenue [Line Items]    
Revenue 8,355 16,690
Specialty Contractors | Cost plus fee and other    
Disaggregation of Revenue [Line Items]    
Revenue $ 23,927 $ 11,514