v3.26.1
Comprehensive loss - Reclassifications from accumulated other comprehensive loss (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Accumulated other comprehensive loss        
Balance at the beginning     $ 107,145  
Balance at the end $ 159,617   159,617  
Pension Liability Adjustment        
Accumulated other comprehensive loss        
Balance at the beginning (614) $ (234) (617) $ (233)
Other comprehensive income (loss) before reclassifications, net of taxes   (36)   (36)
Total other comprehensive loss before reclassifications, net of taxes (614) (270) (617) (269)
Net amount reclassified to earnings 3 1 6  
Balance at the end (611) (269) (611) (269)
Fair Value of Derivatives        
Accumulated other comprehensive loss        
Balance at the beginning (685) (121) (270) (395)
Other comprehensive income (loss) before reclassifications, net of taxes (173) 265 (678) 386
Total other comprehensive loss before reclassifications, net of taxes (858) 144 (948) (9)
Net amount reclassified to earnings 250 (17) 340 136
Balance at the end (608) 127 (608) 127
Foreign Currency Translation Adjustment        
Accumulated other comprehensive loss        
Balance at the beginning (1,417) (1,733) (1,229) (1,842)
Other comprehensive income (loss) before reclassifications, net of taxes (264) 582 (452) 691
Total other comprehensive loss before reclassifications, net of taxes (1,681) (1,151) (1,681) (1,151)
Balance at the end (1,681) (1,151) (1,681) (1,151)
Accumulated Other Comprehensive Loss        
Accumulated other comprehensive loss        
Balance at the beginning (2,716) (2,088) (2,116) (2,470)
Other comprehensive income (loss) before reclassifications, net of taxes (437) 811 (1,130) 1,041
Total other comprehensive loss before reclassifications, net of taxes (3,153) (1,277) (3,246) (1,429)
Net amount reclassified to earnings 253 (16) 346 136
Balance at the end $ (2,900) $ (1,293) $ (2,900) $ (1,293)