It sounds like what you are trying to do is similar to semantic chunking of a document.
We have an extensive thread on the topic here including techniques and code examples on how to accomplish that:
If your document is structured into different sections, which are demarked by section and subsection headers, then it is fairly straightforward to achieve that.
I have created my own summarization tool grounded in semantic chunking and can attest that you can generate fairly detailed summaries with this technique while ensuring that the logical flow of the original document is maintained.