XML 70 R49.htm IDEA: XBRL DOCUMENT
v3.25.4

Revenue from Contracts with Customers - Schedule of the Disaggregation of Revenue (Details) - USD ($) $ in Thousands | 12 Months Ended
--- | ---
Dec. 31, 2025 | Dec. 31, 2024 | Dec. 31, 2023
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | $ 3,746,387 | $ 2,849,685 | $ 2,854,390
Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 3,769,193 | 2,868,593 | 2,869,444
Eliminations |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | (22,806) | (18,908) | (15,054)
Fixed-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 1,973,838 | 1,684,927 | 1,403,462
Unit-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 189,121 | 217,563 | 176,580
Cost reimbursable | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 1,606,234 | 966,103 | 1,289,402
Electrical & Mechanical |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 2,910,655 | 2,023,911 | 2,125,543
Electrical & Mechanical | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 2,920,672 | 2,031,447 | 2,134,867
Electrical & Mechanical | Eliminations |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | (10,017) | (7,536) | (9,324)
Electrical & Mechanical | Commercial | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 2,074,578 | 1,197,760 | 1,204,016
Electrical & Mechanical | Industrial | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 316,581 | 322,661 | 473,339
Electrical & Mechanical | Institutional | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 352,671 | 364,611 | 262,344
Electrical & Mechanical | Renewables | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 62,635 | 36,975 | 55,402
Electrical & Mechanical | Service & other | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 114,207 | 109,440 | 139,766
Electrical & Mechanical | Fixed-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 1,534,357 | 1,299,059 | 1,049,626
Electrical & Mechanical | Unit-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 39,010 | 61,964 | 81,786
Electrical & Mechanical | Cost reimbursable | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 1,347,305 | 670,424 | 1,003,455
Transmission & Distribution |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 835,732 | 825,774 | 728,847
Transmission & Distribution | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 848,521 | 837,146 | 734,577
Transmission & Distribution | Eliminations |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | (12,789) | (11,372) | (5,730)
Transmission & Distribution | Utility | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 749,500 | 753,725 | 677,434
Transmission & Distribution | Transportation | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 99,021 | 83,421 | 57,143
Transmission & Distribution | Fixed-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 439,481 | 385,868 | 353,836
Transmission & Distribution | Unit-price | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | 150,111 | 155,599 | 94,794
Transmission & Distribution | Cost reimbursable | Operating segments |  |  |
Disaggregation of Revenue [Line Items] |  |  |
Operating revenue | $ 258,929 | $ 295,679 | $ 285,947

X
- Definition Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table. + 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 5 -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-5 Reference 3: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 4: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 5: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (c) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 6: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (d) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 7: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (e) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 8: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (f) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 Reference 9: http://www.xbrl.org/2003/role/exampleRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 55 -Paragraph 91 -Subparagraph (g) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479777/606-10-55-91 + Details
Name: | us-gaap_DisaggregationOfRevenueLineItems
Namespace Prefix: | us-gaap_
Data Type: | xbrli:stringItemType
Balance Type: | na
Period Type: | duration

X
- Definition Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise. + References Reference 1: http://www.xbrl.org/2003/role/exampleRef -Topic 220 -SubTopic 40 -Name Accounting Standards Codification -Section 55 -Paragraph 4 -Publisher FASB -URI https://asc.fasb.org/1943274/2147476153/220-40-55-4 Reference 2: http://www.xbrl.org/2003/role/exampleRef -Topic 220 -SubTopic 40 -Name Accounting Standards Codification -Section 55 -Paragraph 14 -Publisher FASB -URI https://asc.fasb.org/1943274/2147476153/220-40-55-14 Reference 3: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 41 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-41 Reference 4: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 42 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-42 Reference 5: 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 6: http://www.xbrl.org/2003/role/disclosureRef -Topic 270 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 1 -Subparagraph (i) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482964/270-10-50-1 Reference 7: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (ee) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 8: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 9: http://fasb.org/us-gaap/role/ref/otherTransitionRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 32 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-32 Reference 10: http://www.xbrl.org/2003/role/disclosureRef -Topic 924 -SubTopic 10 -Name Accounting Standards Codification -Section S99 -Paragraph 1 -Subparagraph (SAB Topic 11.L) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479941/924-10-S99-1 Reference 11: http://www.xbrl.org/2003/role/disclosureRef -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 Reference 12: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 30 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 Reference 13: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (b) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 14: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 40 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-40 Reference 15: http://www.xbrl.org/2003/role/disclosureRef -Topic 280 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 22 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 16: http://www.xbrl.org/2003/role/disclosureRef -Topic 606 -SubTopic 10 -Name Accounting Standards Codification -Section 50 -Paragraph 4 -Subparagraph (a) -Publisher FASB -URI https://asc.fasb.org/1943274/2147479806/606-10-50-4 + Details
Name: | us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax
Namespace Prefix: | us-gaap_
Data Type: | xbrli:monetaryItemType
Balance Type: | credit
Period Type: | duration

X
- Details
Name: | srt_ConsolidationItemsAxis=us-gaap_OperatingSegmentsMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_ConsolidationItemsAxis=us-gaap_IntersegmentEliminationMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=us-gaap_FixedPriceContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=q42025_UnitPriceContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_ContractWithCustomerBasisOfPricingAxis=q42025_CostReimbursableContractMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=q42025_ElectricalAndMechanicalSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_CommercialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_IndustrialMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_InstitutionalMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_RenewablesMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_ServiceAndOtherMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | us-gaap_StatementBusinessSegmentsAxis=q42025_TransmissionAndDistributionSegmentMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_UtilityMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |

X
- Details
Name: | srt_MajorCustomersAxis=q42025_TransportationMember
Namespace Prefix: |
Data Type: | na
Balance Type: |
Period Type: |