v3.26.1
Accumulated Other Comprehensive Income (Loss) - Changes in AOCI (Details) - USD ($)
$ in Thousands
3 Months Ended 6 Months Ended
Jun. 30, 2026
Jun. 30, 2025
Jun. 30, 2026
Jun. 30, 2025
Accumulated other comprehensive income (loss)        
Beginning balance $ 1,626,728 $ 1,428,423 $ 1,584,303 $ 1,379,359
Reclassifications to:        
Revenue 418,843 382,462 800,720 737,813
Cost of sales (203,677) (197,975) (400,757) (381,306)
Ending balance 1,679,804 1,488,048 1,679,804 1,488,048
Accumulated Other Comprehensive Loss        
Accumulated other comprehensive income (loss)        
Beginning balance (7,568) (15,376) (3,636) (19,401)
Other comprehensive (loss) income 187 11,804 (4,299) 15,761
Income taxes (138) (1,223) 814 (666)
Reclassifications to:        
Net other comprehensive (loss) income (348) 10,314 (4,280) 14,339
Ending balance (7,916) (5,062) (7,916) (5,062)
Accumulated Other Comprehensive Loss | Reclassification out of Accumulated Other Comprehensive Income        
Reclassifications to:        
Revenue 643 (509) 1,160 (1,530)
Cost of sales (1,040) 242 (1,955) 774
Cash Flow Hedges        
Accumulated other comprehensive income (loss)        
Beginning balance 1,375 942 1,788 2,765
Other comprehensive (loss) income 732 (1,396) 590 (3,293)
Income taxes (79) 393 48 956
Reclassifications to:        
Net other comprehensive (loss) income 256 (1,270) (157) (3,093)
Ending balance 1,631 (328) 1,631 (328)
Cash Flow Hedges | Reclassification out of Accumulated Other Comprehensive Income        
Reclassifications to:        
Revenue 643 (509) 1,160 (1,530)
Cost of sales (1,040) 242 (1,955) 774
Foreign Currency Translation        
Accumulated other comprehensive income (loss)        
Beginning balance (8,943) (16,318) (5,424) (22,166)
Other comprehensive (loss) income (545) 13,200 (4,889) 19,054
Income taxes (59) (1,616) 766 (1,622)
Reclassifications to:        
Net other comprehensive (loss) income (604) 11,584 (4,123) 17,432
Ending balance $ (9,547) $ (4,734) $ (9,547) $ (4,734)