It's vitally important that when developing web sites you are intimately familiar and highly comfortable using the developer tools in your browser. Also be sure to study your CSS guides.
This will save you hours of grief!
For example, your case you can see the custom.css loading here:
Home | Grav Site Test 2015-09-07 07-45-00
Ok so the custom.css loads as expected. The order is important if you have two css definitions are exactly the same, but a more specific definition will take precedence no matter the order it was loaded. Also a definition with !important will take precedence even when another definition has more specificity. This is just how CSS works.
So in your case your custom.css is not 'strong enough' to override the other definition. You can see this clearly here:
Home | Grav Site Test 2015-09-07 07-48-21
So, what to do??? As custom.css does come after the compiled CSS, there are a couple of options:
1) Simplest is match the specificity of the declaration by a dding !important:
#header.scrolled {background-color: #1b3840 !important;}
2) Change the value in the SCSS and recompile it.