XML 32 R13.htm IDEA: XBRL DOCUMENT
v3.26.1

Revenue Recognition and Related Balance Sheet Accounts | 12 Months Ended
--- | ---
Dec. 31, 2025
Revenue from Contract with Customer [Abstract] |
Revenue Recognition and Related Balance Sheet Accounts | Revenue Recognition and Related Balance Sheet Accounts Revenue is recognized when control of the promised goods or services is transferred to the customer, either at a point-in-time or over-time, as the performance obligation is satisfied. The amount of revenue recognized reflects the transaction price, which is the consideration that the Company expects to receive in exchange for those goods or services provided. The Company transacts with customers that management believes are credit worthy, and management considers historical customer practices and payment history when determining whether collection is probable. The five-step model is applied as follows: 1)Identify the contract Management determines if a contract exists using the following factors: (a) the parties have approved the contract and are committed to perform their respective obligations, (b) the rights of the parties can be identified, (c) payment terms can be identified, (d) the arrangement has commercial substance, and (e) collectability of consideration is probable. 2)Identify performance obligations in the contract A performance obligation is a contractual promise to transfer a distinct good or service. The Company applies judgment in determining whether each promise or groups of promises are both (a) capable of being distinct and (b) distinct within the context of the contract. Most of the Company's contracts are considered to have a single performance obligation because (a) the Company provides a significant service of integrating complex tasks and components into a single project under the purview of the Company's project management, and (b) the risks associated with the Company's performance, including customer acceptance clauses, warranty provisions, and liquidated damages, are tied to the overall project. Contracts with customers are often modified through change orders that may impact the scope or price of the goods or services the Company is providing. The Company evaluates change orders to determine whether they create separate performance obligations. Many change orders are for goods or services that are not distinct within the context of the original contract, and, therefore, are not treated as separate performance obligations. 3)Determine the transaction price The transaction price is the amount of consideration to which the Company expects to be entitled in exchange for transferring goods and services to the customer. The consideration promised in a contract with customers may include fixed amounts, variable amounts, or both. After contract inception, the transaction price may change for various reasons, including executed or unresolved change orders, executed or unresolved contract modifications, claims to or from the customer or owner, and back-charge recoveries. The customers may partially or fully agree with such modifications or affirmative claims. Most changes are considered variable consideration until approved by both parties. The Company estimates variable consideration and includes it in the transaction price to the extent it is probable that a significant future reversal in the amount of cumulative revenue recognized under the contract will not occur when the uncertainty associated with the variable consideration is resolved. This threshold is referred to as the variable consideration constraint. In assessing whether to apply a variable consideration constraint, the Company considers if factors exist that could increase the likelihood or magnitude of a potential reversal of revenue, including, but not limited to, whether: (a) the amount of consideration is highly susceptible to factors outside of the Company’s influence, such as the actions of third parties, (b) the uncertainty surrounding the amount of consideration is not expected to be resolved for a long period of time, and (c) the Company’s experience with similar types of contracts is limited or that experience has limited predictive value. Management reassesses the amount of variable consideration each reporting period, and changes to estimated variable consideration are accounted for as a cumulative adjustment to revenue recognized in the current period. Recognizing changes in the transaction price requires significant judgments of various factors, including, but not limited to, dispute resolution developments and outcomes and anticipated negotiation results. For some transactions, customers may withhold a portion of the contract price as a contract retention until the project is substantially complete or completed to ensure performance; however, these arrangements typically do not constitute a significant financing component. 4)Allocate the transaction price to the performance obligations For contracts that contain multiple performance obligations, the transaction price is allocated to each performance obligation based on their estimated relative standalone selling prices. The Company generally estimates standalone selling price using the expected costs plus a margin. 5)Recognize revenue as performance obligations are satisfied The Company recognizes revenue when or as a performance obligation is satisfied, which occurs when the customer obtains control of the good or service. This can occur over time or at a point in time. The Company satisfies most performance obligations over time because the Company's performance typically either creates or enhances an asset the customer controls or because the customer simultaneously receives and consumes the benefit from the Company's performance under the contract. For most contracts, the Company measures progress using the input method (i.e., "Cost-to-Cost Input Method"). Under the Cost-to-Cost Input Method, costs incurred to date are generally the best depiction of transfer of control. For some contracts, the Company has historically used an output method (i.e., milestone achievement), where an output method provides the most reliable information available and the transfer of services at predetermined project milestones reasonably depicts the fulfillment of performance obligations. This determination requires judgment based on the nature of the services to be provided. For the years ended December 31, 2025, 2024, and 2023, revenue recognized under the output method represented 0.8%, 2.3%, and 7.8% of revenues, respectively. In satisfying the Company’s performance obligations to its customers, the Company routinely procures goods and services from third parties that are inputs into an integrated single performance obligation typically under fixed-price contracts. Procurement from third parties often consists of goods and services provided by subcontractors that the Company engages to perform specified tasks on its behalf and/or under its direction. The Company earns a margin related to these costs under either fixed-margin or fixed-price arrangements with its customers. The Company determined that it is the principal in these arrangements as the Company controls the goods and services procured from third parties, as the Company is primarily responsible for fulfillment and acceptability by the customer, has inventory risk with respect to goods and services completed by third parties, and has discretion in establishing pricing for the integrated performance obligation. Accordingly, the Company recognizes revenue from customers in Revenue with the associated third-party costs included in Cost of revenue on the Consolidated Statements of Operations. Performance obligations related to certain standalone sales of custom-fabricated, construction-related products are satisfied at a point in time and revenue is recognized upon delivery of the products to the customer and are not material to the financial statement periods presented. Performance obligations related to energy procurement and infrastructure services are satisfied at a point in time, and revenue is recognized upon the Company securing energy supply or infrastructure service contracts on behalf of customers and are not material to the financial statement periods presented. The Company invoices its customers in accordance with contractual payment terms. It is common for construction contracts to specify that an architect or a general contractor is not required to make payments to a subcontractor until it has received those funds from the owner or funding source. In most instances, the Company receives payment of its invoices between 30 to 90 days of the invoice issuance. Changes in Estimates For contracts where the Company applies the Cost-to-Cost Input Method, the accuracy of the Company's revenue and profit recognition in each year depends on the accuracy of management's estimates of the cost to complete each project. Contract costs include labor, material, subcontractors and various overhead costs such as maintenance, depreciation, consumables, or equipment rentals, which are either directly related to the fulfillment of specific contract performance obligations or indirectly contribute to the overall customer service delivery fulfillment of multiple contracts and obligations. Costs associated with change orders, unresolved contract modifications, claims to or from owners and back-charge recoveries are recorded as incurred. Revisions to estimated total costs are reflected in the Company's measure of progress. There are several factors that can contribute to changes in estimates of contract cost and profitability. Potential factors include: •The completeness and accuracy of the original bid; •Costs associated with scope and schedule changes as well as changes from the original design; •Changes in costs of labor and/or materials, owner changes, weather, site conditions and other delays; •Subcontractor performance; •Changes in productivity expectations; •The Company's ability to fully and promptly recover on contract scope changes; and •The customer's ability to properly administer the contract. The foregoing factors, as well as the stage of completion of contracts in process and the mix of contracts at different margins, may cause fluctuations in gross profit from period to period, which may have a significant impact on the Consolidated Financial Statements. At the time a loss on a contract becomes probable, the entire amount of the estimated loss is accrued. Management monitors for circumstances that may affect the accuracy of its estimates. Disaggregation of Revenue The Company’s revenue was derived from contracts to provide goods or services in the Engineering & Consulting and Installation & Maintenance segments. Refer to “Note 19—Segment Information” for additional information on reportable segments. 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 |
No single customer accounted for more than 10% of revenue in the years ended December 31, 2025, 2024 or 2023. Contract Assets and Liabilities Due to the nature of the Company’s performance obligations and the timing of contractual payment terms, the Company has material contract asset and liability balances. Contract assets represent revenue recognized in excess of amounts paid or payable to the Company on uncompleted contracts for which the right to bill is conditional on something other than the passage of time (e.g., the Company’s future performance on uncompleted contracts or performance obligations). Contract liabilities represent the Company’s obligation to perform on uncomplete d contracts for which the Company has invoiced the customer or received payment. 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 |
Contract assets include $98.5 million, $78.3 million and $83.1 million of contract retentions as of December 31, 2025, 2024 and 2023, respectively. Contract retentions included in contract assets are generally subject to substantial project completion and acceptance by the customer. Contract assets and contract liabilities fluctuate based on factors that occur in the normal course of business, including the volume of projects in progress at period end, the timing of negotiated payment terms, billing frequency and other differences in payment terms relative to revenue recognition. The Company recognized $0.6 million of contract assets and $1.4 million of contract liabilities related to acquisitions completed during the year ended December 31, 2025. The remaining increase in contract assets from December 31, 2024 to December 31, 2025 is primarily due to the increase in the Company’s volume of project activity from both Installation & Maintenance and Engineering & Consulting segments, as reflected in increased revenue from these segments for the year ended December 31, 2025. The remaining change in contract liabilities from December 31, 2024 to December 31, 2025 is primarily due to the timing and amount of revenue recognized. The Company recognized $11.8 million of contract assets and $14.0 million of contract liabilities related to acquisitions completed during the year ended December 31, 2024. The remaining increase in contract assets from December 31, 2023 to December 31, 2024 is primarily due to the increase in the Company’s volume of project activity from both Installation & Maintenance and Engineering & Consulting segments, as reflected in increased revenue for the year ended December 31, 2024. The remaining change in contract liabilities from December 31, 2023 to December 31, 2024 is primarily due to the timing and amount of revenue recognized. During the years ended December 31, 2025, 2024 and 2023, the Company recognized revenue of $132.2 million, $151.3 million and $82.9 million, respectively, related to contract liabilities outstanding as of the end of the prior year. Contracts Receivable Included in the contracts receivable balance is retention for which the Company has an unconditional right to payment and is only subject to the passage of time. Retentions included in Contracts Receivable as of December 31, 2025, 2024 and 2023 are $9.6 million, $9.8 million and $13.2 million, respectively. Remaining Performance Obligations The Company had approximately $2,785.1 million in remaining performance obligations as of December 31, 2025, which represent the expected revenue values under the Company's contracted or otherwise secured fixed-price project commitments. The Company expects to recognize approximately 75% of the remaining performance obligations within the next 12 months and the remaining amount thereafter. The majority of the remaining performance obligations after the first 12 months is expected to be recognized by the end of 2027. Although remaining performance obligations reflect expected revenue values that are considered to be firm, cancellations, scope adjustments or project deferrals ma y occur that impact their volume or the expected timing of their recognition.

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

X
- Definition The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts. + References Reference 1: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 7 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-7 Reference 2: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 9 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-9 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 15 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-15 Reference 5: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 8: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 9: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 12 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-12 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 13 -Subparagraph (b)(2) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-13 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -Name Accounting Standards Codification -Topic 606 -Publisher FASB -URI https://asc.fasb.org/606/tableOfContent + Details
Name: | us-gaap_RevenueFromContractWithCustomerTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration