Annual report [Section 13 and 15(d), not S-K Item 405]

Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations for Each of Operating Segments, Disaggregated by Contract Type (Details)

v3.25.0.1
Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Remaining Performance Obligations for Each of Operating Segments, Disaggregated by Contract Type (Details)
$ in Thousands
Dec. 31, 2024
USD ($)
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 15,551 [1]
Fixed-price and unit-rate  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 5,502
T&M and cost-reimbursable  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 10,049
Operating Segments | Services  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 52 [1]
Operating Segments | Fabrication  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 15,499 [1]
Operating Segments | Fixed-price and unit-rate | Services  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 52
Operating Segments | Fixed-price and unit-rate | Fabrication  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation 5,450
Operating Segments | T&M and cost-reimbursable | Fabrication  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]  
Remaining performance obligation $ 10,049
[1] We expect all of our performance obligations at December 31, 2024, to be recognized as revenue during 2025. Certain factors and circumstances could result in changes in the timing of recognition of our performance obligations as revenue and the amounts ultimately recognized.