Inside the CSS rule set declaration block containing the selector, you can use only a small subset of all CSS properties using the :: first-letter pseudo-element:
All font properties: font, font, font-settings-function, font-kerning, font-language-redefinition, font-stretch, font synthesis, font-variant, font-variant-alternative, font-variant-caps, font-variant -east-asian, font-variant-ligatures, font-variant-numeric, font-variant-position, font-weight, font-size, font-size-adjust, line-height and the font family.
All background properties: background color, background image, background clip, background-start, background position, repeat-background, background-size, background-attachment and background-blend-mode.
All field properties: margin edge, margin-right, margin-bottom, margin-left.
All padding properties: padding, padding-top, padding-right, padding-bottom, padding-left.
All border properties: abbreviation border, border, border, border, border, radius, image border, and longhands properties.
Color property .
Text-decoration, text-shadow, text-transform, letter-spacing, word-spacing (if necessary), line-height, text-decoration-color, text-decoration-line, text-decoration-style, box-shadow, float, vertical-align (only if there is no float) CSS properties.
Alternatively, since you cannot change the HTML, you can turn the first letter into a real element with some javascript: