答えは①です。意味は「〜するほど〜だ」で、他の回答者様と同じ考えです。
が、④じゃダメな理由は、単純明快に考えて、
・文全体の時制が過去なのに、④ではtakesとなってしまっている
・that節内の主語はsheにならなければならないのにitになっている
この2点です。
もし、④番がthat she tookならば④も正解になります。
so〜that...構文の意味は「...な[する]ほど〜だ」を使用することで他の質問者様が言っていた訳語の不自然さの問題は解決されます
答えは2番です💖お疲れ様です
<補足>
so〜that...構文の意味は「とても〜なので...だ」のみではありません。「...な[する]ほど〜だ」という意味もあります。
soに対して、thatが呼応しているのですが、“so「それほど/そんなに」+形容詞”と文が続いたら、「いや、それほどって、どれほどやねん」ってなります。その、「どれほど」を説明するのがthat節内です。
ここから考えると、核になる訳語は、「...な[する]ほど〜だ」なのですが、そうするとthat節を先に訳してから、その後so+形容詞を訳すことになりますよね。でも実際は、that節が長い時など、so+形容詞を先に訳したい時もあります。そういう時に使える訳語として、「とても〜なので...だ」があります。この訳語を使うことで、文意を乱さずに和訳することが可能なのです。