The supremum of rationals that are less than a given number is equal to that number

I have the following theorem to prove.

Given a real number $a$, define the set $S$ such that $S = \{x \in \mathbb Q: x < a\}$. Show that $a = \sup S$.

My attempt at a proof is as follows

Proof: Let $m$ be a rational number larger than $a$. Then by the definition of the set, this element is excluded from $S$. As this element is larger than every element in $S$, this is an upper bound for $S$. Therefore $S$ has at least one upper bound. As $S$ is bounded, by the Completeness Axiom, it has a least upper bound and therefore has a supremum.

!! This is where I get stuck, I know intuitively that the number a must be the least upper bound, but I'm not exactly sure why. I know that there must be some property of the reals that is responsible for this almost obvious fact but I'm not sure what it is.

I have a feeling that this is so simple that you might accidentally answer it for me in the process of helping, but if you could offer a hint that might lead this horse to water without making it drink I would be greatly appreciative.

What you have done so far is fine. $S$ is bounded above, so it has a supremum. Let's call that supremum $M$. We need to show that $M=a$. To do this, we can rule out the other two possibilities, namely $M<a$ or $M > a$.
If $M < a$, then can you find an element $x\in S$ with $M < x < a$? If so, then $M$ isn't even an upper bound, let alone the supremum.
If $M > a$, then since $M$ is the least upper bound of $S$, there must be some $x\in S$ with $a < x < M$. What can you conclude?
I would suggest a proof by contradiction. Suppose that there exists a real number $b \in \mathbb{R}$ such that $b$ is an upper bound of $\{ x \in \mathbb{Q} : x < a \}$. How do we know there exists a rational number $c$ such that $b < c < a$?