v3.26.1
Revenue Recognition (Tables)
6 Months Ended
Jun. 30, 2026
Revenue Recognition  
Schedule of changes in contract assets and liabilities

​

​

​

​

​

​

​

​

​

​

Contract

​

Contract

​

  ​ ​ ​

Assets

  ​ ​ ​

Liabilities

As of December 31, 2025

​

$

4,746

​

$

3,315

Net activity

​

​

(609)

​

​

(699)

As of June 30, 2026

​

$

4,137

​

$

2,616

Schedule of disaggregation of revenue by product category and end market

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Three Months Ended

​

Six Months Ended

​

​

June 30, 

​

June 30, 

Product Category

  ​ ​ ​

2026

  ​ ​ ​

2025

  ​ ​ ​

2026

  ​ ​ ​

2025

Outdoor sports

​

$

1,739

​

$

2,107

​

$

3,329

​

$

3,892

Fabrication

​

​

95,344

​

​

63,956

​

​

176,858

​

​

131,814

Performance structures

​

​

41,839

​

​

39,860

​

​

86,380

​

​

83,194

Tube

​

​

19,688

​

​

20,560

​

​

35,792

​

​

37,070

Tank

​

​

8,123

​

​

9,296

​

​

14,836

​

​

19,185

Total

​

​

166,733

​

​

135,779

​

​

317,195

​

​

275,155

Intercompany sales elimination

​

​

(3,752)

​

​

(3,451)

​

​

(9,434)

​

​

(7,248)

Total, net sales

​

$

162,981

​

$

132,328

​

$

307,761

​

$

267,907

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Three Months Ended

​

Six Months Ended

​

​

June 30, 

​

June 30, 

End Market

​

2026

​

2025

​

2026

​

2025

Commercial vehicle

​

$

50,826

​

$

49,134

​

$

89,508

​

$

100,010

Datacenter & critical power

​

​

29,050

​

​

5,039

​

​

52,644

​

​

9,182

Construction & access

​

 

23,135

​

​

20,173

​

​

43,264

​

​

39,698

Powersports

​

 

18,452

​

​

19,625

​

​

41,843

​

​

41,875

Agriculture

​

 

8,960

​

​

9,233

​

​

19,341

​

​

20,168

Military

​

​

6,456

​

​

8,342

​

​

12,223

​

​

16,829

Other

​

​

26,102

​

​

20,782

​

​

48,938

​

​

40,145

Total, net sales

​

$

162,981

​

$

132,328

​

$

307,761

​

$

267,907