Create "first name" as layout text and specify your grey text color.
Place it on top of your field.
Use Conditional formatting with this expression:
Not IsEmpty ( YourTable::FirstName )
To set the text to a very large font size (about 120+ works in most cases).
When the user clicks or tabs into the field the layout text will disappear while the field has the focus. When you exit the field, the text will remain invisible if the field contains any data. If the user leaves the field empty, the layout text will re-appear.