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 Segment | 2025 |  | 2024 |  | 2023
Engineering & Consulting: |  |  |  |  |
Engineering & Design | $ | 425,014 |  |  | $ | 345,977 |  |  | $ | 222,198 |
Program & Project Management | 301,279 |  |  | 255,625 |  |  | 204,048 |
Total Engineering & Consulting segment | 726,293 |  |  | 601,602 |  |  | 426,246 |
Installation & Maintenance: |  |  |  |  |
Installation & Fabrication | 1,493,830 |  |  | 1,183,750 |  |  | 942,841 |
Maintenance & Service | 330,368 |  |  | 313,250 |  |  | 245,975 |
Total Installation & Maintenance segment | 1,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,
| 2025 |  | 2024 |  | 2023
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 |

X
- Definition Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 10 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-10 + Details
Name: | us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- Definition Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor. + References Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 + Details
Name: | us-gaap_DisaggregationOfRevenueTableTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

X
- References No definition available. + Details
Name: | us-gaap_RevenueFromContractWithCustomerAbstract
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration