v3.26.1
Derivative financial instruments - Schedule of Aggregate Notional Principal Amounts of Outstanding Derivative Financial Instruments (Details) - USD ($)
$ in Thousands
Jun. 30, 2026
Dec. 31, 2025
Derivative [Line Items]    
Balance sheet exposure asset (liability) $ (111,893) $ (89,569)
United States Dollars (sell) Indian Rupees (buy)    
Derivative [Line Items]    
Notional principal amounts 2,278,467 2,771,310
Balance sheet exposure asset (liability) (108,460) (72,843)
United States Dollars (sell) Mexican Peso (buy)    
Derivative [Line Items]    
Notional principal amounts 50,400 71,400
Balance sheet exposure asset (liability) 4,215 2,201
United States Dollars (sell) Philippines Peso (buy)    
Derivative [Line Items]    
Notional principal amounts 187,100 234,000
Balance sheet exposure asset (liability) (8,979) (5,739)
Euro (sell) United States Dollars (buy)    
Derivative [Line Items]    
Notional principal amounts 385,648 446,846
Balance sheet exposure asset (liability) 4,705 (9,636)
Euro (sell) Romanian Leu (buy)    
Derivative [Line Items]    
Notional principal amounts 30,837 63,353
Balance sheet exposure asset (liability) (310) 143
Japanese Yen (sell) Chinese Renminbi (buy)    
Derivative [Line Items]    
Notional principal amounts 62,939 67,617
Balance sheet exposure asset (liability) 7,118 3,746
United States Dollars (sell) Chinese Renminbi (buy)    
Derivative [Line Items]    
Notional principal amounts 61,800 82,800
Balance sheet exposure asset (liability) 1,963 144
Pound Sterling (sell) United States Dollars (buy)    
Derivative [Line Items]    
Notional principal amounts 68,167 92,322
Balance sheet exposure asset (liability) 492 (279)
United States Dollars (sell) Hungarian Forint (buy)    
Derivative [Line Items]    
Notional principal amounts 20,000 33,000
Balance sheet exposure asset (liability) 2,279 2,524
Australian Dollars (sell) Indian Rupees (buy)    
Derivative [Line Items]    
Notional principal amounts 171,591 189,797
Balance sheet exposure asset (liability) (15,003) (8,204)
United States Dollars (sell) Polish Zloty (buy)    
Derivative [Line Items]    
Notional principal amounts 28,500 42,000
Balance sheet exposure asset (liability) (69) 1,884
Japanese Yen (sell) United States Dollars (buy)    
Derivative [Line Items]    
Notional principal amounts 0 7,000
Balance sheet exposure asset (liability) 0 238
United States Dollars (sell) Israeli Shekel (buy)    
Derivative [Line Items]    
Notional principal amounts 30,000 30,000
Balance sheet exposure asset (liability) 1,467 1,025
South African Rand (sell) United States Dollars (buy)    
Derivative [Line Items]    
Notional principal amounts 15,000 18,000
Balance sheet exposure asset (liability) (1,346) (1,186)
United States Dollars (sell) Brazilian Real (buy)    
Derivative [Line Items]    
Notional principal amounts 4,000 4,000
Balance sheet exposure asset (liability) 244 (46)
United States Dollars (sell) Costa Rica Colon (buy)    
Derivative [Line Items]    
Notional principal amounts 27,500 44,400
Balance sheet exposure asset (liability) 2,758 773
United States Dollars (sell) Canadian Dollar (buy)    
Derivative [Line Items]    
Notional principal amounts 9,000 9,000
Balance sheet exposure asset (liability) (167) 193
United States Dollars (sell) Malaysian Ringgit (buy)    
Derivative [Line Items]    
Notional principal amounts 21,500 21,000
Balance sheet exposure asset (liability) (64) 486
United States Dollars (sell) Singapore Dollar (buy)    
Derivative [Line Items]    
Notional principal amounts 75,000 0
Balance sheet exposure asset (liability) (972) 0
Interest rate swaps (floating to fixed)    
Derivative [Line Items]    
Notional principal amounts 215,625 221,875
Balance sheet exposure asset (liability) $ (1,764) $ (4,993)