v3.26.1
Derivative financial instruments - Schedule of Gains or Losses Recognized in Other Comprehensive Income (Loss) (Details) - USD ($)
$ in Thousands
3 Months Ended
Mar. 31, 2026
Mar. 31, 2025
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) recognized in OCI on Derivatives (Effective Portion) $ (90,111) $ 12,442
Amount of Gain (Loss) reclassified from OCI into Statement of Income (Effective Portion) (11,495) (5,228)
Amount of Gain (Loss) recognized in Statement of Income on Derivatives (24,304) 4,630
Revenue    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) reclassified from OCI into Statement of Income (Effective Portion) (225) 999
Cost of revenue    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) reclassified from OCI into Statement of Income (Effective Portion) (9,447) (5,350)
Selling, general and administrative expenses    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) reclassified from OCI into Statement of Income (Effective Portion) (1,353) (770)
Interest expense    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) reclassified from OCI into Statement of Income (Effective Portion) (470) (107)
Forward foreign exchange contracts    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) recognized in OCI on Derivatives (Effective Portion) (91,371) 13,839
Forward foreign exchange contracts | Foreign exchange gains (losses), net | Non-designated    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) recognized in Statement of Income on Derivatives (24,304) 4,630
Interest rate swaps    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) recognized in OCI on Derivatives (Effective Portion) 1,260 (1,397)
Treasury rate lock    
Other Comprehensive Income (Loss) [Line Items]    
Amount of Gain (Loss) recognized in OCI on Derivatives (Effective Portion) $ 0