[guided]Why do we need normality? The embedding strategy relies on [Urysohn's Lemma](/theorems/887), which requires the space to be normal. The theorem statement gives us regularity and second countability, but not normality directly. We must bridge the gap.
The key observation is that second countability implies the Lindelöf property: given any open cover $\{W_\alpha\}_{\alpha \in A}$, each $W_\alpha$ is a union of basis elements from the countable basis $\mathcal{B} = \{B_n\}_{n \in \mathbb{N}}$. The collection of all basis elements appearing in these unions is a subset of $\mathcal{B}$, hence countable, and still covers $X$. Selecting one $W_\alpha$ for each such basis element yields a countable subcover.
Now we prove normality. Let $C_0, C_1 \subset X$ be disjoint closed sets. For each $x \in C_0$, the set $X \setminus C_1$ is an open neighbourhood of $x$. By regularity (the $T_3$ axiom), there exists an open set $V_x$ such that $x \in V_x \subset \overline{V_x} \subset X \setminus C_1$. Since $\mathcal{B}$ is a basis, there exists $B_{n_x} \in \mathcal{B}$ with $x \in B_{n_x} \subset V_x$, and consequently $\overline{B_{n_x}} \subset \overline{V_x} \subset X \setminus C_1$. The collection $\{B_{n_x}\}_{x \in C_0}$ is an open cover of $C_0$, and by the Lindelöf property applied to the subspace $C_0$ (which inherits the Lindelöf property), we extract a countable subcover $\{U_k\}_{k \in \mathbb{N}}$ with $\overline{U_k} \cap C_1 = \varnothing$ for each $k$.
By the symmetric argument applied to $C_1$ (separating each point of $C_1$ from the closed set $C_0$), we obtain a countable collection $\{V_k\}_{k \in \mathbb{N}}$ covering $C_1$ with $\overline{V_k} \cap C_0 = \varnothing$ for each $k$.
The difficulty is that $\bigcup_k U_k$ and $\bigcup_k V_k$ need not be disjoint. We resolve this by a standard "shaving" construction. Define
\begin{align*}
U_k' &:= U_k \setminus \bigcup_{j=1}^{k} \overline{V_j}, \qquad V_k' := V_k \setminus \bigcup_{j=1}^{k} \overline{U_j}.
\end{align*}
Each $U_k'$ is open because it is the difference of the open set $U_k$ and the closed set $\bigcup_{j=1}^{k} \overline{V_j}$. The sets $U_k'$ still cover $C_0$: for $x \in C_0$, we have $x \in U_k$ for some $k$, and $x \notin \overline{V_j}$ for any $j$ (since $\overline{V_j} \cap C_0 = \varnothing$), so $x \in U_k'$. Similarly, the sets $V_k'$ cover $C_1$.
Set $U := \bigcup_{k=1}^{\infty} U_k'$ and $V := \bigcup_{k=1}^{\infty} V_k'$. These are open, cover $C_0$ and $C_1$ respectively, and are disjoint. To verify disjointness, suppose for contradiction that $x \in U_k' \cap V_j'$ for some $k, j$. Then $x \in U_k$ and $x \in V_j$. If $j \le k$, then $x \in U_k' \subset X \setminus \overline{V_j}$, contradicting $x \in V_j \subset \overline{V_j}$. If $k \le j$, then $x \in V_j' \subset X \setminus \overline{U_k}$, contradicting $x \in U_k \subset \overline{U_k}$. In either case we reach a contradiction, so $U \cap V = \varnothing$. This establishes that $X$ is normal.[/guided]