v3.26.1
Earnings Per Share - Schedule of Weighted-Average Number of Shares Used in the Calculation of Basic and Diluted Earnings per Share (Details) - shares
shares in Thousands
3 Months Ended 9 Months Ended
Apr. 30, 2026
Apr. 30, 2025
Apr. 30, 2026
Apr. 30, 2025
Schedule of Weighted-Average Number of Shares Basic and Diluted [Abstract]        
Basic weighted-average number of shares 13,002 13,720 12,992 13,835
Effect of dilutive securities:        
Stock options 240 220
Non-vested restricted Class B common stock 3
Deferred stock units 27
Diluted weighted-average number of shares 13,272 13,940 12,992 13,835