v3.26.3
Condensed Consolidated Statements of Comprehensive Income (Loss) - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2026
Sep. 30, 2025
Sep. 30, 2026
Sep. 30, 2025
Income Statement [Abstract]        
Revenue $ 236,813 $ 196,231 $ 671,730 $ 589,274
Cost of sales 162,400 155,994 464,974 431,320
Gross profit 74,413 40,237 206,756 157,954
Operating expenses        
Selling, general and administrative expenses 53,279 50,449 153,547 151,017
Transaction expenses 1,191 254 1,464 489
Gain on sale-leaseback transactions 0 (4,279) 0 (11,182)
Loss (gain) on disposal of assets and other (18) (81) 272 249
Total operating expenses 54,452 46,343 155,283 140,573
Operating income (loss) 19,961 (6,106) 51,473 17,381
Other expense (income)        
Interest expense 4,044 4,365 12,457 14,054
Foreign exchange losses (gains) and other, net 733 9 436 (5,001)
Total other expense 4,777 4,374 12,893 9,053
Income (loss) before income taxes 15,184 (10,480) 38,580 8,328
Income tax expense 3,954 10,074 10,451 20,060
Net income (loss) $ 11,230 $ (20,554) $ 28,129 $ (11,732)
Weighted average shares outstanding        
Basic (in shares) 11,455 11,682 11,321 12,110
Diluted (in shares) 12,061 11,682 11,827 12,110
Earnings (loss) per share        
Basic (in USD per share) $ 0.98 $ (1.76) $ 2.48 $ (0.97)
Diluted (in USD per share) $ 0.93 $ (1.76) $ 2.38 $ (0.97)
Other comprehensive income, net of tax        
Net income (loss) $ 11,230 $ (20,554) $ 28,129 $ (11,732)
Change in foreign currency translation (193) (4,308) (6,719) 5,105
Gain (loss) on pension liability (8) (4) (37) 107
Comprehensive income (loss) $ 11,029 $ (24,866) $ 21,373 $ (6,520)