v3.26.1
Contract Assets - Summary of Changes in Contract Assets (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Change in Contract with Customer, Asset and Liability [Abstract]    
Balance at beginning of the period $ 9,790 $ 8,486
Satisfaction of existing contracts (18,705) (16,323)
Additional revenue earned on new and existing contracts 16,267 13,236
Other, primarily changes in foreign currency exchange rates (37) 90
Balance at end of the period $ 7,315 $ 5,489