Quarterly report [Sections 13 or 15(d)]

Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Disaggregation of Revenue (Details)

v3.25.3
Revenue, Contract Assets and Liabilities and Other Contract Matters - Summary of Disaggregation of Revenue (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2025
Sep. 30, 2024
Sep. 30, 2025
Sep. 30, 2024
Disaggregation of Revenue [Line Items]        
Revenue $ 51,540 $ 37,640 $ 129,351 $ 121,783
Long-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 29,394 16,347 62,838 51,166
Short-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 22,146 21,293 66,513 70,617
Eliminations        
Disaggregation of Revenue [Line Items]        
Revenue (505) (205) (1,066) (673)
Eliminations | Long-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue (2) (3) (80) (6)
Eliminations | Short-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue (503) (202) (986) (667)
Services | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 21,494 20,245 63,327 68,546
Services | Operating Segments | Long-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 622 74 981 837
Services | Operating Segments | Short-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 20,872 20,171 62,346 67,709
Fabrication | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 30,551 17,110 67,090 52,975
Fabrication | Operating Segments | Long-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 28,774 15,786 61,937 49,400
Fabrication | Operating Segments | Short-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue 1,777 1,324 5,153 3,575
Shipyard Division | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue   490   935
Shipyard Division | Operating Segments | Long-Term Contract with Customer        
Disaggregation of Revenue [Line Items]        
Revenue   490   935
Fixed-price and unit-rate        
Disaggregation of Revenue [Line Items]        
Revenue 21,619 10,796 40,699 44,558
Fixed-price and unit-rate | Eliminations        
Disaggregation of Revenue [Line Items]        
Revenue (2) (3) (80) (6)
Fixed-price and unit-rate | Services | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 622 74 981 837
Fixed-price and unit-rate | Fabrication | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 20,999 10,235 39,798 42,792
Fixed-price and unit-rate | Shipyard Division | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue   490   935
Time And Materials And Cost Reimbursable        
Disaggregation of Revenue [Line Items]        
Revenue 29,388 26,278 86,223 75,902
Time And Materials And Cost Reimbursable | Eliminations        
Disaggregation of Revenue [Line Items]        
Revenue (3)   (3)  
Time And Materials And Cost Reimbursable | Services | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 19,839 19,403 58,934 65,719
Time And Materials And Cost Reimbursable | Fabrication | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue 9,552 6,875 27,292 10,183
Other        
Disaggregation of Revenue [Line Items]        
Revenue 533 566 2,429 1,323
Other | Eliminations        
Disaggregation of Revenue [Line Items]        
Revenue (500) (202) (983) (667)
Other | Services | Operating Segments        
Disaggregation of Revenue [Line Items]        
Revenue $ 1,033 $ 768 $ 3,412 $ 1,990