Highlight main menu when on specific posts or pages

As noted in comments above, the OP’s code generates malformed CSS. Per request, here is corrected code. It should help solve part of the issue (or prevent other issues) but I doubt it solves all of it.

function blog_link_genesis() {
  if( is_single() || in_category('investors') || is_page( array(4, 30))) { 
    $current="#header #nav #menu-item-133 a"; ?>
    <style type="text/css">
      <?php echo $current; ?> { color: #ff0;}
    </style><?php 
  }
}
add_action( 'genesis_header' , 'blog_link_genesis'  );

All you really needed to do was roll the whole block of code into the if.

I suspect that you have an XY problem in this question. If you were to explain the problem and the desired result better, I suspect that there is a better way to approach this.

If the menu you mean is this one with “Trials”, “Cloud Services”, “Bright Eval”, etc. then that looks like a standard WordPress menu. If you look at the markup, you will notice a number of useful classes. To add more you want to hook into nav_menu_css_class something like what is done here.