v3.26.1
Accumulated Other Comprehensive Loss, Net of Tax (Details) - USD ($)
$ in Thousands
9 Months Ended
Apr. 30, 2026
Apr. 30, 2025
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Equity, Beginning Balance $ 1,192,211 $ 1,066,658
Equity, Ending Balance 1,343,985 1,167,553
Unrealized (loss) gain on cash flow hedges    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Equity, Beginning Balance (394) (149)
OCI, before Reclassifications, Net of Tax, Attributable to Parent 1,348 (716)
Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent 79 156
Equity, Ending Balance 1,033 (709)
Unamortized gain (loss) on post-retirement plans    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Equity, Beginning Balance 5 462
OCI, before Reclassifications, Net of Tax, Attributable to Parent 0 0
Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent (454) (454)
Equity, Ending Balance (449) 8
Foreign currency translation adjustments    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Equity, Beginning Balance (91,770) (109,935)
OCI, before Reclassifications, Net of Tax, Attributable to Parent 22,169 16,902
Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent 0 0
Equity, Ending Balance (69,601) (93,033)
Accumulated Other Comprehensive Loss    
Accumulated Other Comprehensive Income (Loss) [Line Items]    
Equity, Beginning Balance (92,159) (109,622)
OCI, before Reclassifications, Net of Tax, Attributable to Parent 23,517 16,186
Reclassification from AOCI, Current Period, Net of Tax, Attributable to Parent (375) (298)
Equity, Ending Balance $ (69,017) $ (93,734)