Validating Genesys JWT in React app with implicit grant

I’ve got a React app using the Genesys Cloud implicit grant flow. The SDK handles the auth dance fine, but I need to validate the returned JWT on the client side before making API calls. The token looks valid, but my manual check against the public key from https://api.genesys.cloud/oauth/token keeps failing with an invalid signature error. Here’s my validation snippet:

const isValid = jwt.verify(token, publicKey, { algorithms: ['RS256'] });

Am I grabbing the wrong key? The kid in the header matches the one in the JWKS endpoint. Running in London, UTC+0. Any ideas why the sig check is failing?