Fair value - Reconciliation of Acquisition-Related Contingent Consideration Payable (Details) $ in Thousands |
6 Months Ended |
|---|---|
|
Jun. 30, 2026
USD ($)
| |
| Fair Value, Liabilities Reconciliation [Roll Forward] | |
| Contingent consideration payable as of January 1, 2026 | $ 3,370 |
| Contingent consideration payable as of June 30, 2026 | 1,654 |
| Effect of net foreign currency exchange rate changes | (2) |
| Ekumen | |
| Fair Value, Liabilities Reconciliation [Roll Forward] | |
| Acquisition date fair value of contingent consideration payable | 1,589 |
| Juxt | |
| Fair Value, Liabilities Reconciliation [Roll Forward] | |
| Payment of contingent consideration | (370) |
| Mobile Computing S.A. | |
| Fair Value, Liabilities Reconciliation [Roll Forward] | |
| Payment of contingent consideration | (1,750) |
| Change in fair value of contingent consideration payable | $ (1,183) |
| Fair Value, Liability, Recurring Basis, Unobservable Input Reconciliation, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] | Operating Expenses |