Thank you, Moinak. As you describe, I agree that a shorter Sprint also requires shorter Events.
I believe you can also fix the fast feedback loops by having them in the Sprints by being able to create several increments during the Sprint and receive direct feedback on each Increment directly.
Then you can have a more overall retrospective at the end of the Sprint. In theory, that could enable 3-4 weeks Sprint even for tasks with higher complexity as long as the feedback does not change the Sprint Goal, in which case you have to abort the Sprint.
Thanks for reading and commenting :)