XML 23 R9.htm IDEA: XBRL DOCUMENT v3.25.2
Revenue
6 Months Ended
Jun. 30, 2025
Revenue from Contract with Customer [Abstract]  
Revenue Revenue
Disaggregation of Revenue
The following tables disaggregate revenue by end market, customer type and contract type, which the Company believes best depict how the nature, amount, timing and uncertainty of its revenue and cash flows are affected by economic factors for the three and six months ended June 30, 2025 and 2024.
Three Months Ended
June 30,
Six Months Ended
June 30,
(in thousands)2025202420252024
Civil segment revenue by end market:
Mass transit (includes certain transportation and tunneling projects)$420,683 $289,587 $773,868 $542,103 
Military facilities101,559 117,779 202,687 222,923 
Bridges104,083 62,308 155,934 89,980 
Detention facilities38,726 4,572 84,713 4,946 
Power and energy38,057 35,728 68,668 61,926 
Commercial and industrial sites24,657 36,630 47,308 76,120 
Other6,422 (116)11,050 20,655 
Total Civil segment revenue$734,187 $546,488 $1,344,228 $1,018,653 
Three Months Ended
June 30,
Six Months Ended
June 30,
(in thousands)2025202420252024
Building segment revenue by end market:
Healthcare facilities$233,426 $135,954 $447,974 $247,941 
Detention facilities75,911 26,893 163,915 58,541 
Government63,106 87,225 123,121 186,188 
Education facilities36,761 84,190 84,751 152,349 
Mass transit (includes transportation projects)35,718 57,323 65,228 118,498 
Other17,160 26,281 36,877 66,291 
Total Building segment revenue$462,082 $417,866 $921,866 $829,808 
Three Months Ended
June 30,
Six Months Ended
June 30,
(in thousands)2025202420252024
Specialty Contractors segment revenue by end market:
Mass transit (includes certain transportation and tunneling projects)$56,173 $48,826 $98,768 $96,952 
Commercial and industrial facilities33,576 30,213 65,766 58,423 
Government26,098 18,491 56,194 41,444 
Multi-unit residential22,917 20,298 48,486 45,024 
Healthcare facilities23,883 14,718 44,457 31,428 
Water5,511 14,702 16,296 28,918 
Other9,254 15,868 24,253 25,807 
Total Specialty Contractors segment revenue$177,412 $163,116 $354,220 $327,996 
Three Months Ended
June 30, 2025
Three Months Ended
June 30, 2024
(in thousands)CivilBuildingSpecialty
Contractors
TotalCivilBuildingSpecialty
Contractors
Total
Revenue by customer type:
State and local agencies$546,827 $210,780 $91,906 $849,513 $345,619 $248,117 $83,127 $676,863 
Federal agencies123,675 34,821 2,049 160,545 119,312 46,085 339 165,736 
Private owners
63,685 216,481 83,457 363,623 81,557 123,664 79,650 284,871 
Total revenue$734,187 $462,082 $177,412 $1,373,681 $546,488 $417,866 $163,116 $1,127,470 
Six Months Ended
June 30, 2025
Six Months Ended
June 30, 2024
(in thousands)CivilBuildingSpecialty
Contractors
TotalCivilBuildingSpecialty
Contractors
Total
Revenue by customer type:
State and local agencies$987,937 $431,955 $183,089 $1,602,981 $629,614 $494,636 $160,080 $1,284,330 
Federal agencies235,754 71,465 5,166 312,385 232,766 92,137 778 325,681 
Private owners120,537 418,446 165,965 704,948 156,273 243,035 167,138 566,446 
Total revenue$1,344,228 $921,866 $354,220 $2,620,314 $1,018,653 $829,808 $327,996 $2,176,457 
Three Months Ended
June 30, 2025
Three Months Ended
June 30, 2024
(in thousands)CivilBuildingSpecialty
Contractors
TotalCivilBuildingSpecialty
Contractors
Total
Revenue by contract type:
Fixed price$628,757 $186,184 $135,912 $950,853 $452,823 $186,050 $136,345 $775,218 
Guaranteed maximum price
41 239,460 7,459 246,960 88 190,643 937 191,668 
Unit price91,214 — 19,864 111,078 75,313 — 20,280 95,593 
Cost plus fee and other14,175 36,438 14,177 64,790 18,264 41,173 5,554 64,991 
Total revenue$734,187 $462,082 $177,412 $1,373,681 $546,488 $417,866 $163,116 $1,127,470 

Six Months Ended
June 30, 2025
Six Months Ended
June 30, 2024
(in thousands)CivilBuildingSpecialty
Contractors
TotalCivilBuildingSpecialty
Contractors
Total
Revenue by contract type:
Fixed price$1,185,134 $378,234 $279,157 $1,842,525 $875,543 $356,196 $275,848 $1,507,587 
Guaranteed maximum price
222 475,075 12,818 488,115 134 377,943 1,560 379,637 
Unit price129,231 — 36,554 165,785 109,167 — 40,825 149,992 
Cost plus fee and other29,641 68,557 25,691 123,889 33,809 95,669 9,763 139,241 
Total revenue$1,344,228 $921,866 $354,220 $2,620,314 $1,018,653 $829,808 $327,996 $2,176,457 

Changes in Contract Estimates that Impact Revenue
Changes to the total estimated contract revenue or cost for a given project, either due to unexpected events or revisions to management’s initial estimates, are recognized in the period in which they are determined. Revenue was positively impacted by $20.4 million and $2.7 million during the three and six months ended June 30, 2025, respectively, due to performance obligations satisfied (or partially satisfied) in prior periods. Revenue was negatively impacted by $9.0 million and $15.6 million during the three and six months ended June 30, 2024, respectively, due to performance obligations satisfied (or partially satisfied) in prior periods. Refer to Note 19, Business Segments, for additional details on significant adjustments.
Remaining Performance Obligations
Remaining performance obligations represent the transaction price of firm orders for which work has not been performed and exclude unexercised contract options. As of June 30, 2025, the aggregate amounts of the transaction prices allocated to the remaining performance obligations of the Company’s construction contracts were $9.0 billion, $5.0 billion and $2.2 billion for the Civil, Building and Specialty Contractors segments, respectively. As of June 30, 2024, the aggregate amounts of the transaction prices allocated to the remaining performance obligations of the Company’s construction contracts were $4.4 billion, $2.2 billion and $1.1 billion for the Civil, Building and Specialty Contractors segments, respectively. The Company typically recognizes revenue on Civil segment projects over a period of three to five years, whereas for projects in the Building and Specialty Contractors segments, the Company typically recognizes revenue over a period of one to three years.