v3.26.1
Accumulated Other Comprehensive Loss (Details) - USD ($)
$ in Thousands
3 Months Ended
Jul. 31, 2026
Jul. 31, 2025
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance $ 848,242 $ 752,206
Other comprehensive (loss) income before reclassifications (6,911) (1,551)
Amounts reclassified from accumulated other comprehensive loss 1,634 2,064
Total other comprehensive (loss) income (5,277) 513
Ending balance 797,039 733,059
Accumulated other comprehensive loss, net of tax    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (442,218) (478,920)
Ending balance (447,495) (478,407)
Foreign Currency Translation    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (248,720) (264,548)
Other comprehensive (loss) income before reclassifications (7,976) (5,852)
Amounts reclassified from accumulated other comprehensive loss 0 0
Total other comprehensive (loss) income (7,976) (5,852)
Ending balance (256,696) (270,400)
Unamortized Retirement Costs    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (190,326) (209,190)
Other comprehensive (loss) income before reclassifications 612 1,718
Amounts reclassified from accumulated other comprehensive loss 1,469 2,506
Total other comprehensive (loss) income 2,081 4,224
Ending balance (188,245) (204,966)
Interest Rate Swaps    
AOCI Attributable to Parent, Net of Tax [Roll Forward]    
Beginning balance (3,172) (5,182)
Other comprehensive (loss) income before reclassifications 453 2,583
Amounts reclassified from accumulated other comprehensive loss 165 (442)
Total other comprehensive (loss) income 618 2,141
Ending balance $ (2,554) $ (3,041)