XML 33 R12.htm IDEA: XBRL DOCUMENT
v3.25.4

Revenue from Contracts with Customers | 12 Months Ended
--- | ---
Dec. 31, 2025
Revenue from Contract with Customer [Abstract] |
Revenue from Contracts with Customers | Revenue from Contracts with Customers Under ASC 606, revenue is recognized when a performance obligation is satisfied by transferring control over a product or service to a customer. Revenue is measured based on consideration specified in a contract with a customer and excludes any sales incentives and amounts collected on behalf of third parties. The Company is considered an agent for certain taxes collected from customers. As such, the Company presents revenues net of these taxes at the time of sale to be remitted to governmental authorities, including sales and use taxes. As part of the adoption of ASC 606, the Company elected the practical expedient to recognize the incremental costs of obtaining a contract as an expense when incurred if the amortization period of the asset that the Company otherwise would have recognized is 12 months or less. Contract Estimates and Changes in Estimates Changes in cost estimates on certain contracts can arise from, but not limited to, changes in productivity and performance expectations, availability of skilled labor in geographic locations of such projects, costs of labor and/or materials, changes in subcontractor productivity and performance, and extended overhead due to weather or other delays. These changes in estimates may result in the issuance of change orders, which can be approved or unapproved by the customer, or the assertion of contract claims. The Company recognizes amounts associated with change orders and claims as revenue if it is probable that the contract price will be adjusted and the amount of any such adjustment can be reasonably estimated. Change orders and claims are negotiated in the normal course of business and represent management's estimates of additional contract revenues that have been earned and are probable of collection. As of December 31, 2025 and 2024, $69.9 million and $56.2 million, respectively, of unexecuted change orders were included in contract transaction price and in Contract assets or Contract liabilities, net on the consolidated balance sheets. The Company was in the process of negotiating execution of these change orders in the normal course of business and the recognized amounts represent the Company’s best estimates of additional contract revenues for which it is not probable that a significant reversal of the revenue amounts will occur in the future. As of December 31, 2025 and 2024, the Company recorded loss provisions of $2.0 million and $1.0 million, respectively, in Contract liabilities, net on the consolidated balance sheets related to contracts that are still being completed and remain recorded. The Company had claim positions of $25.8 million and $54.9 million that were excluded from the contract transaction price as of December 31, 2025 and 2024, respectively. The Company continues to evaluate these active claims. The Company recognized $3.6 million in pre-tax income related to settled claims during the year ended December 31, 2025. The Company received notification in October 2023 from a customer that it was withholding payment of approximately $31.3 million on remaining outstanding billings, including retention, on a large project with a contract that was billed on a time and materials basis with no stated maximum price. The Company believes it has substantial defenses against these claims based upon the terms of the contract and it has performed under the terms of the contract. Therefore, the Company believes collection of the remaining outstanding billings, including retention, is probable and, as a result, the Company has recognized revenues from this project in its historical results. However, there is uncertainty surrounding this matter, including the potential long-term nature of dispute resolution, the Company filing a lien on the property and the broad range of possible consideration amounts as a result of negotiations and potential litigation to resolve the dispute. Additionally, the cost-to-cost method of accounting requires the Company to make estimates about expected revenues and gross profit on each of its contracts in progress. Changes in estimates may result from contract modifications, which affect the estimated progress of the related performance obligations. As a result, the Company recognizes additional revenues on a cumulative catch-up basis in the current period from performance obligations that were satisfied or partially satisfied in prior periods or the reversal of previously recognized revenues if the current estimated progress is less than the previous estimate. In some instances, contract modifications may occur after completion of work under the contract. Changes in estimates can also result in contract losses, which are recognized in full when they are determined to be probable and can be reasonably estimated. Since these changes in estimates could significantly affect our profitability, the Company reviews and updates contract-related estimates regularly and recognizes adjustments in estimated gross profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact to gross profit is recognized in the period that the adjustment is identified. As such, future revenues and gross profit of contract performance are recognized using the adjusted estimates. Changes in estimates associated with performance obligations that were satisfied or partially satisfied in prior periods, positively net impacted operating revenues, and in turn gross profit, by $113.7 million, $83.4 million and $45.7 million for the years ended December 31, 2025, 2024 and 2023, respectively. As a result, net income was positively net impacted by $83.7 million, $61.9 million and $34.4 million and diluted EPS by $1.64, $1.21 and $0.67, respectively. For the years ended December 31, 2025, 2024 and 2023, net changes in estimates pertaining to certain projects, each individually positively or negatively affecting profitability in excess of $1.0 million, positively net impacted operating revenues, and in turn gross profit, by $60.1 million, $28.6 million, and $12.9 million, respectively, which resulted in positive net impacts to net income of $44.2 million, $21.3 million and $9.7 million and diluted EPS of $0.87, $0.42 and $0.19, respectively. The changes in estimates resulted from changes in performance estimates due to revisions to total estimated costs and/or anticipated contract value and from the mitigation of risks and contingencies as projects progressed to completion. The changes in estimates were made in the ordinary course of business and there were no changes that resulted in material amounts that should have been recognized in a prior period. Disaggregation of Revenue In the following tables, revenue is disaggregated by contract type and customer type for each reportable segment. The Company believes this level of disaggregation best depicts how the nature, amount, timing and uncertainty of revenue and cash flows are affected by economic factors. For more information on the Company’s reportable segments, refer to Note 12 – Business Segment Data. The following tables present revenue disaggregated by contract type:
Year ended December 31, 2025 | E&M |  | T&D |  | Total
| (In thousands)
Fixed-price | $ | 1,534,357 |  |  | $ | 439,481 |  |  | $ | 1,973,838 |
Cost reimbursable* | 1,347,305 |  |  | 258,929 |  |  | 1,606,234 |
Unit-price | 39,010 |  |  | 150,111 |  |  | 189,121 |
Total contract revenues | 2,920,672 |  |  | 848,521 |  |  | 3,769,193 |
Eliminations | (10,017) |  |  | (12,789) |  |  | (22,806) |
Total operating revenues | $ | 2,910,655 |  |  | $ | 835,732 |  |  | $ | 3,746,387 |
__________________ *Includes time and material, time and equipment, and cost reimbursable plus fee contracts.
Year ended December 31, 2024 | E&M |  | T&D |  | Total
| (In thousands)
Fixed-price | $ | 1,299,059 |  |  | $ | 385,868 |  |  | $ | 1,684,927 |
Cost reimbursable* | 670,424 |  |  | 295,679 |  |  | 966,103 |
Unit-price | 61,964 |  |  | 155,599 |  |  | 217,563 |
Total contract revenues | 2,031,447 |  |  | 837,146 |  |  | 2,868,593 |
Eliminations | (7,536) |  |  | (11,372) |  |  | (18,908) |
Total operating revenues | $ | 2,023,911 |  |  | $ | 825,774 |  |  | $ | 2,849,685 |
__________________ *Includes time and material, time and equipment, and cost reimbursable plus fee contracts.
Year ended December 31, 2023 | E&M |  | T&D |  | Total
| (In thousands)
Fixed-price | $ | 1,049,626 |  |  | $ | 353,836 |  |  | $ | 1,403,462 |
Cost reimbursable* | 1,003,455 |  |  | 285,947 |  |  | 1,289,402 |
Unit-price | 81,786 |  |  | 94,794 |  |  | 176,580 |
Total contract revenues | 2,134,867 |  |  | 734,577 |  |  | 2,869,444 |
Eliminations | (9,324) |  |  | (5,730) |  |  | (15,054) |
Total operating revenues | $ | 2,125,543 |  |  | $ | 728,847 |  |  | $ | 2,854,390 |
___________________ *Includes time and material, time and equipment, and cost reimbursable plus fee contracts. The following table presents revenue disaggregated by customer type:
| Year ended December 31,
| 2025 |  | 2024 |  | 2023
| (In thousands)
Commercial | $ | 2,074,578 |  |  | $ | 1,197,760 |  |  | $ | 1,204,016 |
Institutional | 352,671 |  |  | 364,611 |  |  | 262,344 |
Industrial | 316,581 |  |  | 322,661 |  |  | 473,339 |
Service & other | 114,207 |  |  | 109,440 |  |  | 139,766 |
Renewables | 62,635 |  |  | 36,975 |  |  | 55,402 |
Total E&M | 2,920,672 |  |  | 2,031,447 |  |  | 2,134,867 |
Utility | 749,500 |  |  | 753,725 |  |  | 677,434 |
Transportation | 99,021 |  |  | 83,421 |  |  | 57,143 |
Total T&D | 848,521 |  |  | 837,146 |  |  | 734,577 |
Eliminations | (22,806) |  |  | (18,908) |  |  | (15,054) |
Total operating revenues | $ | 3,746,387 |  |  | $ | 2,849,685 |  |  | $ | 2,854,390 |
Uncompleted Contracts, Contract Assets and Contract Liabilities, Net Costs, estimated earnings and billings on uncompleted contracts were summarized as follows as of December 31:
| 2025 |  | 2024
| (In thousands)
Costs incurred on uncompleted contracts | $ | 8,036,495 |  |  | $ | 7,034,838 |
Estimated earnings | 1,172,516 |  |  | 995,766 |
Costs and estimated earnings on uncompleted contracts | 9,209,011 |  |  | 8,030,604 |
Less: billings to date | (9,258,355) |  |  | (8,070,859) |
Net contract liabilities | $ | (49,344) |  |  | $ | (40,255) |
The timing of invoicing to customers does not necessarily correlate with the timing of revenues being recognized under the cost-to-cost method of accounting. Contracts from contracting services usually stipulate the timing of payment, which is defined by the terms found within the various contracts under which work was performed during the period. Contracts from contracting services are billed as work progresses in accordance with agreed-upon contractual terms. A variance in timing of the billings in comparison to the timing of revenue recognition results in contract assets or contract liabilities. Contract assets consist of unbilled revenue and retainage. Unbilled revenue occurs when revenues are recognized under the cost-to-cost measure of progress, which exceeds amounts billed on uncompleted contracts. Such amounts will be billed as standard contract terms allow, usually based on various measures of performance or achievement. Retainage represents amounts that have been contractually invoiced to customers and where payments have been partially withheld pending the achievement of certain milestones, satisfaction of other contractual conditions, or completion of the project. Contract assets are not considered a significant financing component as they are intended to protect the customer in the event the Company does not perform on its obligations under the contract. Contract liabilities occur when there are billings in excess of revenues recognized under the cost-to-cost measure of progress on uncompleted contracts. Contract liabilities decrease as revenue is recognized from the satisfaction of the related performance obligation. Contract liabilities are not considered to have a significant financing component as they are used to meet working capital requirements that generally are higher in the early stages of a contract and are intended to protect the Company from the other party failing to meet its obligations under the contract. The Company classifies Contract assets and Contract liabilities, net that may be settled after one year from the balance sheet date as current, consistent with the timing of the Company’s project operating cycle. Contract assets and Contract liabilities, net consisted of the following as of December 31:
| 2025 |  | 2024
| (In thousands)
Unbilled revenue | $ | 187,902 |  |  | $ | 124,007 |
Retainage | 67,865 |  |  | 43,042 |
Contract assets | $ | 255,767 |  |  | $ | 167,049 |
Deferred revenue | $ | 417,415 |  |  | $ | 278,409 |
Accrued loss provision | 1,965 |  |  | 1,021 |
Less: retainage | (114,269) |  |  | (72,126) |
Contract liabilities, net | $ | 305,111 |  |  | $ | 207,304 |
The following table presents the opening and closing balances of net contract assets (liabilities):
| 2025 |  | 2024
| Contract assets |  | Contract liabilities, net |  | Net contract assets (liabilities) |  | Contract assets |  | Contract liabilities, net |  | Net contract assets (liabilities)
| (In thousands)
Balance at beginning of year | $ | 167,049 |  |  | $ | (207,304) |  |  | $ | (40,255) |  |  | $ | 206,235 |  |  | $ | (140,108) |  |  | $ | 66,127 |
Change during year | 88,718 |  |  | (97,807) |  |  | (9,089) |  |  | (39,186) |  |  | (67,196) |  |  | (106,382) |
Balance at end of year | $ | 255,767 |  |  | $ | (305,111) |  |  | $ | (49,344) |  |  | $ | 167,049 |  |  | $ | (207,304) |  |  | $ | (40,255) |
Contract assets and contract liabilities fluctuate period to period based on various factors, including, but not limited to, changes in the number and size of projects in progress at period end; variability in billing and payment terms, such as up-front or advance billings, interim or milestone billings, or deferred billings; variability in billing of retainage and the satisfaction of the specified condition; and unapproved change orders and contract claims recognized as revenues. The primary driver of the difference between the Company’s opening and closing contract assets and contract liabilities balances is the timing of the Company’s billings, including retainage, in relation to its performance of work. The Company recognized a net increase in revenues of $151.4 million, $117.5 million and $116.3 million for the years ended December 31, 2025, 2024 and 2023, respectively, related to previously recognized deferred revenues that were included in Contract liabilities, net as of December 31, 2024, 2023 and 2022, respectively. Remaining Performance Obligations Remaining performance obligations include unrecognized revenues that the Company reasonably expects to be realized from the uncompleted portion of services to be performed under job-specific contracts to the extent management believes additional contract revenues will be earned and are deemed probable of collection. The majority of the Company’s contracts for contracting services have an original duration of less than one year. As of December 31, 2025 and 2024, the aggregate amount of the transaction price allocated to the Company’s remaining performance obligations was $2.80 billion and $2.46 billion, respectively. The table below shows additional information regarding the Company’s remaining performance obligations as of December 31, 2025, including an estimate of when the Company expects to recognize its remaining performance obligations as revenues:
| Within 12 Months |  | Greater than 12 Months
| (In thousands)
E&M | $ | 2,067,484 |  |  | $ | 382,647 |
T&D | 266,979 |  |  | 80,548 |
Total | $ | 2,334,463 |  |  | $ | 463,195 |

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