XML 58 R39.htm IDEA: XBRL DOCUMENT v3.26.1
Revenue Recognition and Related Balance Sheet Accounts (Tables)
12 Months Ended
Dec. 31, 2025
Revenue from Contract with Customer [Abstract]  
Schedule of Disaggregation of Revenue
The Company disaggregates revenue by service line as management believes this category best depicts how the nature, amount, timing and uncertainty of revenue and cash flows are affected by economic factors. See details in the following table (in thousands):
Year Ended December 31,
Revenue by Service Line and Segment202520242023
Engineering & Consulting:
Engineering & Design$425,014 $345,977 $222,198 
Program & Project Management301,279 255,625 204,048 
Total Engineering & Consulting segment726,293 601,602 426,246 
Installation & Maintenance:
Installation & Fabrication1,493,830 1,183,750 942,841 
Maintenance & Service330,368 313,250 245,975 
Total Installation & Maintenance segment1,824,198 1,497,000 1,188,816 
Revenue$2,550,491 $2,098,602 $1,615,062 
Schedule of Contract Assets and Liabilities
Contract assets and contract liabilities in the Consolidated Balance Sheets consist of the following amounts (in thousands):
December 31,
202520242023
Contract assets:
Contract assets, net$259,941 $188,132 $125,373 
Other assets$— $2,040 $1,772 
Contract liabilities$339,462 $164,130 $164,598