PHP is parsed on the server; what is sent back to the browser is plain text/HTML, so you can’t inspect PHP with your browser.
Your code looks correct on first sight. What happens if you do <?php print_r($hero); ?>
after the get_field line? Does anything come up?