v3.26.1
Earnings per share - Schedule of Basic and Diluted Per Share (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Earnings Per Share [Abstract]        
Net income $ 4,960 $ 2,686 $ 9,348 $ 6,126
Weighted average shares outstanding:        
Basic 14,175,312 14,018,629 14,184,951 14,008,385
Diluted [1] 14,464,461 14,553,282 14,436,339 14,528,789
Earnings per share:        
Basic $ 0.35 $ 0.19 $ 0.66 $ 0.44
Diluted $ 0.34 $ 0.18 $ 0.65 $ 0.42
[1] For the three and six months ended June 30, 2026 and 2025, diluted weighted average shares outstanding reflect the dilutive effect of certain unvested restricted stock units ("RSUs").