Earnings Per Common Share - Schedule of Weighted-Average Common Shares Used to Compute Basic and Diluted Earnings Per Common Share (Details) - shares |
3 Months Ended | 9 Months Ended | ||
|---|---|---|---|---|
Apr. 30, 2026 |
Apr. 30, 2025 |
Apr. 30, 2026 |
Apr. 30, 2025 |
|
| Earnings Per Share [Abstract] | ||||
| Weighted-average common shares outstanding for basic earnings per share (in shares) | 52,240,856 | 53,203,568 | 52,548,586 | 53,128,112 |
| Unvested restricted and performance stock units (in shares) | 158,828 | 229,925 | 194,588 | 310,984 |
| Weighted-average common shares outstanding assuming dilution (in shares) | 52,399,684 | 53,433,493 | 52,743,174 | 53,439,096 |