v3.26.1
Revenue - Schedule of Timing of Transfer (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Disaggregation of Revenue        
Total net sales $ 138,550 $ 143,558 $ 259,694 $ 241,350
Point in time        
Disaggregation of Revenue        
Total net sales 98,837 107,358 193,314 180,910
Over time        
Disaggregation of Revenue        
Total net sales 39,713 36,200 66,380 60,440
Rail, Technologies, and Services        
Disaggregation of Revenue        
Total net sales 72,012 75,973 146,788 129,988
Rail, Technologies, and Services | Point in time        
Disaggregation of Revenue        
Total net sales 57,994 66,173 121,259 111,098
Rail, Technologies, and Services | Over time        
Disaggregation of Revenue        
Total net sales 14,018 9,800 25,529 18,890
Infrastructure Solutions        
Disaggregation of Revenue        
Total net sales 66,538 67,585 112,906 111,362
Infrastructure Solutions | Point in time        
Disaggregation of Revenue        
Total net sales 40,843 41,185 72,055 69,812
Infrastructure Solutions | Over time        
Disaggregation of Revenue        
Total net sales $ 25,695 $ 26,400 $ 40,851 $ 41,550