Stockholders' Equity (Tables)
|
12 Months Ended |
Jul. 31, 2026 |
| Stockholders' Equity Note [Abstract] |
|
| Schedule of Capital Stock |
Information as to the Company’s capital stock as of July 31, 2026 and 2025 was as follows: | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | July 31, 2026 | | July 31, 2025 | | | Shares Authorized | | Shares Issued | | Amount (thousands) | | Shares Authorized | | Shares Issued | | Amount (thousands) | | Preferred Stock, $.01 par value | | 5,000,000 | | | | | | | 5,000,000 | | | | | | Cumulative Preferred Stock: 6% Cumulative | | 5,000 | | | | | | | 5,000 | | | | | | | 1972 Series | | 10,000 | | | | | | | 10,000 | | | | | | | 1979 Series | | 30,000 | | | | | | | 30,000 | | | | | | | Common Stock, $.01 par value: Class A Nonvoting | | 100,000,000 | | | 51,261,487 | | | $ | 513 | | | 100,000,000 | | | 51,261,487 | | | $ | 513 | | | Class B Voting | | 10,000,000 | | | 3,538,628 | | | 35 | | | 10,000,000 | | | 3,538,628 | | | 35 | | | | | | | | $ | 548 | | | | | | | $ | 548 | |
|
| Schedule of Other Activity in Stockholders' Equity |
The following is a summary of other activity in stockholders’ equity during the years ended July 31, 2026, 2025, and 2024: | | | | | | | | | | | | | | | | | | | | | | | Deferred Compensation | | Shares Held in Rabbi Trust, at cost | | Total | | Balances at July 31, 2023 | | $ | 11,383 | | | $ | (11,383) | | | $ | — | | | Shares at July 31, 2023 | | 318,198 | | | 318,198 | | | | | Sale of shares at cost | | $ | (889) | | | $ | 889 | | | $ | — | | | Purchase of shares at cost | | 1,217 | | | (1,217) | | | — | | | Balances at July 31, 2024 | | $ | 11,711 | | | $ | (11,711) | | | $ | — | | | Shares at July 31, 2024 | | 312,124 | | | 312,124 | | | | | Sale of shares at cost | | $ | (556) | | | $ | 556 | | | $ | — | | | Purchase of shares at cost | | 1,384 | | | (1,384) | | | — | | | Balances at July 31, 2025 | | $ | 12,539 | | | $ | (12,539) | | | $ | — | | | Shares at July 31, 2025 | | 313,467 | | | 313,467 | | | | | Sale of shares at cost | | $ | (1,184) | | | $ | 1,184 | | | $ | — | | | Purchase of shares at cost | | 1,066 | | | (1,066) | | | — | | | Balances at July 31, 2026 | | $ | 12,421 | | | $ | (12,421) | | | $ | — | | | Shares at July 31, 2026 | | 297,962 | | | 297,962 | | | |
|
| Schedule of Share-Based Payment Award, Stock Options, Valuation Assumptions |
The weighted-average assumptions used in the Black-Scholes valuation model are reflected in the following table: | | | | | | | | | | Black-Scholes Option Valuation Assumptions | | 2024 | | Expected term (in years) | | 5.40 | | Expected volatility | | 30.23 | % | | Expected dividend yield | | 1.89 | % | | Risk-free interest rate | | 4.72 | % |
|
| Schedule of Stock Option Activity |
The following is a summary of stock option activity for the year ended July 31, 2026: | | | | | | | | | | | | | | | | | | | | | | | | | | | | Time-Based Options | | Options Outstanding | | Weighted Average Exercise Price | | Weighted Average Remaining Contractual Term (Years) | | Aggregate Intrinsic Value | Outstanding as of July 31, 2025 | | 1,052,314 | | | $ | 45.17 | | | | | | | Granted | | — | | | — | | | | | | | Exercised | | (280,822) | | | 41.71 | | | | | | | Forfeited | | (1,627) | | | 54.80 | | | | | | Outstanding as of July 31, 2026 | | 769,865 | | | $ | 46.41 | | | 4.1 | | $ | 36,360 | | Exercisable as of July 31, 2026 | | 759,318 | | | $ | 46.29 | | | 4.0 | | $ | 35,949 | |
The following table summarizes additional stock option information: | | | | | | | | | | | | | | | | | | | | | | | 2026 | | 2025 | | 2024 | | Weighted-average fair value of options granted during the period | | $ | — | | | $ | — | | $ | 16.41 | | Intrinsic value of options exercised during the period (in thousands) | | 11,778 | | | 5,559 | | | 8,860 | | | Fair value of options vested during the period (in thousands) | | 517 | | | 1,529 | | | 2,020 | | | Cash received from the exercise of stock options during the period (in thousands) | | 11,318 | | | 6,171 | | | 8,186 | | | Tax benefit on options exercised during the period (in thousands) | | 2,944 | | | 1,390 | | | 2,215 | |
|
| Schedule of RSU Activity |
The following tables summarize the RSU activity during the year ended July 31, 2026: | | | | | | | | | | | | | RSUs | Shares | | Weighted Average Grant Date Fair Value | Non-vested RSUs as of July 31, 2025 | 162,667 | | | $ | 65.19 | | | Granted | 200,044 | | | 79.05 | | | Vested | (71,725) | | | 61.29 | | | Forfeited | (4,947) | | | 71.72 | | Non-vested RSUs as of July 31, 2026 | 286,039 | | | $ | 75.75 | |
|
| Schedule of PRSU Activity |
The following tables summarize the PRSU activity during the year ended July 31, 2026: | | | | | | | | | | | | | PRSUs | Shares | | Weighted Average Grant Date Fair Value | Non-vested PRSUs as of July 31, 2025 | 152,266 | | | $ | 59.92 | | | Granted | 73,123 | | | 70.14 | | | Vested | (25,074) | | | 60.79 | | | Forfeited | (11,105) | | | 48.62 | | Non-vested PRSUs as of July 31, 2026 | 189,210 | | | $ | 64.19 | |
|