Retrievers don't index pages; they index chunks. A typical chunker splits on headings first, then paragraphs, then on sentence boundaries when a paragraph exceeds ~500 tokens. The chunk is the unit that gets embedded and ranked at query time.
This is why answer blocks work — each block is its own chunk. And it's why a 3,000-word wall of text fails: it either gets split arbitrarily mid-argument or truncated.