[guided]The purpose of this step is to isolate the only part of the graph that can contribute exponential growth. A path may wander through several strongly connected components, but it can never leave a component and later return to it; otherwise the two components would lie in the same strongly connected component. Thus transient movement between components contributes only a bounded number of choices for connectors and only polynomially many choices for how long the path spends in each component.
Let $C_1,\dots,C_s$ be the strongly connected components of $G_A$, and let $A_a$ be the adjacency submatrix of $A$ restricted to the vertices of $C_a$. The condensation graph, whose vertices are the components and whose directed edges record possible transitions between components, is acyclic. Choose a topological ordering of this condensation graph. With respect to the corresponding ordering of the vertices of $G_A$, the matrix $A$ is block upper triangular, and its diagonal blocks are $A_1,\dots,A_s$. The characteristic polynomial of a block upper triangular matrix is the product of the characteristic polynomials of its diagonal blocks. Hence the spectrum of $A$ is the union of the spectra of the $A_a$, and therefore
\begin{align*}
\rho(A)=\max_{1 \le a \le s}\rho(A_a).
\end{align*}
Denote this maximum by $r$.
We next bound the total number $P_n$ of all length-$n-1$ directed paths. Fix $\varepsilon>0$. By the Perron-Frobenius growth estimate for nonnegative matrices, applied separately to the finitely many matrices $A_1,\dots,A_s$, there exists $M_\varepsilon \ge 1$ such that for every component $C_a$ and every $m \in \mathbb{N}$,
\begin{align*}
\sum_{u \in C_a}\sum_{v \in C_a}(A_a^m)_{uv} \le M_\varepsilon (r+\varepsilon)^m.
\end{align*}
This is the only external spectral input in the proof; it is the standard Perron-Frobenius growth theorem for nonnegative matrices (citing a result not yet in the wiki: Perron-Frobenius theorem for nonnegative matrices).
Now take any directed path of length $n-1$ in $G_A$. Its sequence of strongly connected components is an itinerary in the acyclic condensation graph, so it contains no repeated component. Therefore it has length at most $s$. Once the itinerary is fixed, the path consists of internal paths inside those components, connected by single transition edges between successive components. There are at most $2^s$ possible component itineraries and at most $k^2$ choices for each connector edge. The remaining choice is how the total path length is distributed among at most $s$ internal component segments. The number of such length distributions is bounded by a polynomial in $n$ of degree at most $s$.
For each fixed distribution of lengths, the Perron-Frobenius estimate bounds the product of internal path counts by a constant times $(r+\varepsilon)^{n-1}$, because the internal segment lengths add up to at most $n-1$. Absorbing the finitely many itinerary choices, connector choices, and the polynomial number of length distributions into a constant $C_\varepsilon>0$, we obtain
\begin{align*}
P_n \le C_\varepsilon n^s (r+\varepsilon)^{n-1}.
\end{align*}
Taking $n$-th roots and then the limit superior gives
\begin{align*}
\limsup_{n \to \infty} P_n^{1/n} \le r+\varepsilon.
\end{align*}
Since $\varepsilon>0$ was arbitrary,
\begin{align*}
\limsup_{n \to \infty} P_n^{1/n} \le r.
\end{align*}
For the opposite inequality, choose a component $C_b$ such that $\rho(A_b)=r$. If $r=0$, the lower bound is automatic. If $r>0$, Perron-Frobenius growth gives
\begin{align*}
\limsup_{m \to \infty}\left(\sum_{u \in C_b}\sum_{v \in C_b}(A_b^m)_{uv}\right)^{1/m}=r.
\end{align*}
Every path counted by this sum is also a path in the full graph $G_A$, so it is counted by $P_{m+1}$. Hence
\begin{align*}
\limsup_{n \to \infty} P_n^{1/n} \ge r.
\end{align*}
Combining the upper and lower bounds gives
\begin{align*}
\limsup_{n \to \infty} P_n^{1/n}=\rho(A).
\end{align*}[/guided]