v3.26.1
Concentration of Risk and Enterprise-Wide Disclosures (Details)
$ in Thousands
3 Months Ended 6 Months Ended 12 Months Ended
Jun. 30, 2026
USD ($)
Jun. 30, 2025
USD ($)
Jun. 30, 2026
USD ($)
customer
Jun. 30, 2025
USD ($)
Dec. 31, 2025
USD ($)
Concentration Risk [Line Items]          
Allowance for credit losses $ (3,146)   $ (3,146)   $ (3,461)
Contract revenues 221,878 $ 205,286 438,179 $ 393,939  
Contract revenues          
Concentration Risk [Line Items]          
Contract revenues 221,878 205,286 438,179 393,939  
Federal Government          
Concentration Risk [Line Items]          
Contract revenues 40,113 39,429 69,839 81,313  
State Governments          
Concentration Risk [Line Items]          
Contract revenues 36,886 36,322 72,544 65,283  
Local Governments          
Concentration Risk [Line Items]          
Contract revenues 34,322 43,127 61,942 80,164  
Private Companies          
Concentration Risk [Line Items]          
Contract revenues 110,557 $ 86,408 233,854 $ 167,179  
Customer concentration risk | Trade and contract retainage receivables          
Concentration Risk [Line Items]          
Gross receivables 174,833   174,833   228,350
Allowance for credit losses (3,146)   (3,146)   (3,461)
Net receivables $ 171,687   $ 171,687   $ 224,889
Number of customers exceeding the 10% benchmark percentage | customer     0    
Concentration risk, percentage     100.00%   100.00%
Customer concentration risk | Contract revenues          
Concentration Risk [Line Items]          
Number of customers exceeding the 10% benchmark percentage | customer     0    
Concentration risk, percentage 100.00% 100.00% 100.00% 100.00%  
Customer concentration risk | Federal Government | Trade and contract retainage receivables          
Concentration Risk [Line Items]          
Gross receivables $ 20,242   $ 20,242   $ 51,057
Concentration risk, percentage     12.00%   23.00%
Customer concentration risk | Federal Government | Trade and contract retainage receivables | US Navy          
Concentration Risk [Line Items]          
Concentration risk, percentage         20.00%
Customer concentration risk | Federal Government | Contract revenues          
Concentration Risk [Line Items]          
Concentration risk, percentage 18.00% 19.00% 16.00% 21.00%  
Customer concentration risk | Federal Government | Contract revenues | US Navy          
Concentration Risk [Line Items]          
Concentration risk, percentage   16.00%   17.00%  
Customer concentration risk | State Governments | Trade and contract retainage receivables          
Concentration Risk [Line Items]          
Gross receivables $ 19,918   $ 19,918   $ 14,008
Concentration risk, percentage     11.00%   6.00%
Customer concentration risk | State Governments | Contract revenues          
Concentration Risk [Line Items]          
Concentration risk, percentage 17.00% 18.00% 17.00% 17.00%  
Customer concentration risk | Local Governments | Trade and contract retainage receivables          
Concentration Risk [Line Items]          
Gross receivables $ 24,766   $ 24,766   $ 23,453
Concentration risk, percentage     14.00%   10.00%
Customer concentration risk | Local Governments | Contract revenues          
Concentration Risk [Line Items]          
Concentration risk, percentage 15.00% 21.00% 14.00% 20.00%  
Customer concentration risk | Private Companies | Trade and contract retainage receivables          
Concentration Risk [Line Items]          
Gross receivables $ 109,907   $ 109,907   $ 139,832
Concentration risk, percentage     63.00%   61.00%
Customer concentration risk | Private Companies | Trade and contract retainage receivables | US Navy          
Concentration Risk [Line Items]          
Concentration risk, percentage         12.00%
Customer concentration risk | Private Companies | Contract revenues          
Concentration Risk [Line Items]          
Concentration risk, percentage 50.00% 42.00% 53.00% 42.00%