XML 38 R27.htm IDEA: XBRL DOCUMENT
v3.26.1

SEGMENT AND GEOGRAPHICAL INFORMATION (Tables) | 3 Months Ended
--- | ---
Apr. 03, 2026
Segment Reporting [Abstract] |
Schedule of financial information with respect to the reportable segments | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Engineering | ​ | Unallocated | ​ | ​ | ​ | ​ | Consolidated
​ | ​ ​ ​ | Energy | ​ ​ ​ | & Consulting | ​ ​ ​ | Corporate | ​ ​ ​ | Intersegment | ​ ​ ​ | Total (1)
​ | ​ | (in thousands)
Fiscal Three Months Ended April 3, 2026 | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Contract revenue | ​ | $ | 127,968 | ​ | $ | 27,146 | ​ | $ | - | ​ | $ | - | ​ | $ | 155,114
Direct subcontractor services and other direct costs | ​ | ​ | 60,988 | ​ | ​ | 1,694 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 62,682
Direct salaries and wages | ​ | ​ | 18,097 | ​ | ​ | 11,179 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 29,276
Gross profit | ​ | ​ | 48,883 | ​ | ​ | 14,273 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 63,156
Other indirect costs | ​ | ​ | 36,547 | ​ | ​ | 10,593 | ​ | ​ | 3,278 | ​ | ​ | - | ​ | ​ | 50,418
EBITDA (2) | ​ | ​ | 12,581 | ​ | ​ | 3,678 | ​ | ​ | (2,726) | ​ | ​ | - | ​ | ​ | 13,533
Interest expense, net | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 835 | ​ | ​ | - | ​ | ​ | 835
Depreciation and amortization | ​ | ​ | 4,904 | ​ | ​ | 542 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 5,446
Segment profit (loss) before income tax expense | ​ | ​ | 7,677 | ​ | ​ | 3,136 | ​ | ​ | (3,561) | ​ | ​ | - | ​ | ​ | 7,252
Income tax expense (benefit) | ​ | ​ | (1,353) | ​ | ​ | (553) | ​ | ​ | 628 | ​ | ​ | - | ​ | ​ | (1,278)
Net income (loss) | ​ | ​ | 9,030 | ​ | ​ | 3,689 | ​ | ​ | (4,189) | ​ | ​ | - | ​ | ​ | 8,530
Segment assets (3) | ​ | ​ | 399,813 | ​ | ​ | 46,402 | ​ | ​ | 65,469 | ​ | ​ | - | ​ | ​ | 511,684
​
| (1) | Amounts may not add to the totals due to rounding.
| (2) | “EBITDA” is defined as earnings before interest, taxes, depreciation and amortization.
| (3) | Segment assets are presented net of intercompany receivables.
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | Engineering | ​ | Unallocated | ​ | ​ | ​ | ​ | Consolidated
​ | ​ ​ ​ | Energy | ​ ​ ​ | & Consulting | ​ ​ ​ | Corporate | ​ ​ ​ | Intersegment | ​ ​ ​ | Total (1)
​ | ​ | (in thousands)
Fiscal Three Months Ended April 4, 2025 | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Contract revenue | ​ | $ | 126,248 | ​ | $ | 26,138 | ​ | $ | - | ​ | $ | - | ​ | $ | 152,386
Direct subcontractor services and other direct costs | ​ | ​ | 66,080 | ​ | ​ | 968 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 67,048
Direct salaries and wages | ​ | ​ | 16,541 | ​ | ​ | 11,136 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 27,677
Gross profit | ​ | ​ | 43,627 | ​ | ​ | 14,034 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 57,661
Other indirect costs | ​ | ​ | 34,548 | ​ | ​ | 10,276 | ​ | ​ | 1,361 | ​ | ​ | - | ​ | ​ | 46,185
EBITDA (2) | ​ | ​ | 9,082 | ​ | ​ | 3,755 | ​ | ​ | (1,402) | ​ | ​ | - | ​ | ​ | 11,435
Interest expense, net | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 1,802 | ​ | ​ | - | ​ | ​ | 1,802
Depreciation and amortization | ​ | ​ | 3,955 | ​ | ​ | 485 | ​ | ​ | - | ​ | ​ | - | ​ | ​ | 4,440
Segment profit (loss) before income tax expense | ​ | ​ | 5,127 | ​ | ​ | 3,270 | ​ | ​ | (3,204) | ​ | ​ | - | ​ | ​ | 5,193
Income tax expense (benefit) | ​ | ​ | 500 | ​ | ​ | 319 | ​ | ​ | (313) | ​ | ​ | - | ​ | ​ | 506
Net income (loss) | ​ | ​ | 4,627 | ​ | ​ | 2,951 | ​ | ​ | (2,891) | ​ | ​ | - | ​ | ​ | 4,687
Segment assets (3) | ​ | ​ | 349,662 | ​ | ​ | 41,633 | ​ | ​ | 79,863 | ​ | ​ | - | ​ | ​ | 471,158
​
| (1) | Amounts may not add to the totals due to rounding.
| (2) | “EBITDA” is defined as earnings before interest, taxes, depreciation and amortization.
| (3) | Segment assets are presented net of intercompany receivables.
Disaggregation of Revenue [Table Text Block] | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ ​ ​ | Three months ended April 3, 2026
​ | ​ ​ ​ | Energy | ​ ​ ​ | Engineering and Consulting | ​ ​ ​ | Total
​ | ​ ​ ​ | (in thousands)
Contract Type | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Time-and-materials | ​ | $ | 12,700 | ​ | $ | 18,200 | ​ | $ | 30,900
Unit-based | ​ | ​ | 49,617 | ​ | ​ | 7,053 | ​ | ​ | 56,670
Fixed price | ​ | ​ | 65,651 | ​ | ​ | 1,893 | ​ | ​ | 67,544
Total (1) | ​ | $ | 127,968 | ​ | $ | 27,146 | ​ | $ | 155,114
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Client Type | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Commercial | ​ | $ | 19,389 | ​ | $ | 1,846 | ​ | $ | 21,235
Government | ​ | ​ | 43,846 | ​ | ​ | 25,190 | ​ | ​ | 69,036
Utilities (2) | ​ | ​ | 64,733 | ​ | ​ | 110 | ​ | ​ | 64,843
Total (1) | ​ | $ | 127,968 | ​ | $ | 27,146 | ​ | $ | 155,114
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Geography (3) | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Domestic | ​ | $ | 127,968 | ​ | $ | 27,146 | ​ | $ | 155,114
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
​ | ​ ​ ​ | Three months ended April 4, 2025
​ | ​ ​ ​ | Energy | ​ ​ ​ | Engineering and Consulting | ​ ​ ​ | Total
​ | ​ ​ ​ | (in thousands)
Contract Type | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Time-and-materials | ​ | $ | 11,602 | ​ | $ | 18,060 | ​ | $ | 29,662
Unit-based | ​ | ​ | 47,707 | ​ | ​ | 6,255 | ​ | ​ | 53,962
Fixed price | ​ | ​ | 66,939 | ​ | ​ | 1,823 | ​ | ​ | 68,762
Total (1) | ​ | $ | 126,248 | ​ | $ | 26,138 | ​ | $ | 152,386
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Client Type | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Commercial | ​ | $ | 13,515 | ​ | $ | 1,811 | ​ | $ | 15,326
Government | ​ | ​ | 48,324 | ​ | ​ | 24,272 | ​ | ​ | 72,596
Utilities (2) | ​ | ​ | 64,409 | ​ | ​ | 55 | ​ | ​ | 64,464
Total (1) | ​ | $ | 126,248 | ​ | $ | 26,138 | ​ | $ | 152,386
​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Geography (3) | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​ | ​
Domestic | ​ | $ | 126,248 | ​ | $ | 26,138 | ​ | $ | 152,386
| (1) | Amounts may not add to the totals due to rounding.
| (2) | Includes the portion of revenue related to small business programs paid by the end user/customer.
| (3) | Revenue from the Company’s foreign operations was not material for the three months ended April 3, 2026 and April 4, 2025.

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
- Definition Tabular disclosure of the profit or loss and total assets for each reportable segment. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss. + References Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 25 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-25 Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 22 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-22 Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef -Name Accounting Standards Codification -Topic 280 -SubTopic 10 -Section 50 -Paragraph 30 -Publisher FASB -URI https://asc.fasb.org/1943274/2147482810/280-10-50-30 + Details
Name: | us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock
Namespace Prefix: | us-gaap_
Data Type: | dtr-types:textBlockItemType
Balance Type: | na
Period Type: | duration

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