/* Background only: all surfaces sample the same viewport-aligned gradient.
   A shared origin prevents a new gradient from restarting beneath the header. */
.homepage{
 --platinum-dark-gradient:
  radial-gradient(ellipse at 72% 240px,rgba(0,123,255,.09),transparent 65%),
  linear-gradient(180deg,#000d18 0px,#00111f 80px,#001c31 210px,#00243c 360px,#00111e 620px);
}
.homepage .site-shell,.homepage header,.homepage .hero,.interior-page .page-intro{
 background-color:#00111e;
 background-image:var(--platinum-dark-gradient);
 background-size:100vw 620px;
 background-position:center top;
 background-repeat:no-repeat;
 background-attachment:fixed;
}
/* Retain the hero photograph's existing left-side fade, using the same colors
   and origin as the header rather than a separate solid navy rectangle. */
.homepage .hero:after{
 background-image:var(--platinum-dark-gradient);
 background-color:#00111e;
 background-size:100vw 620px;
 background-position:center top;
 background-repeat:no-repeat;
 background-attachment:fixed;
 mask-image:linear-gradient(90deg,#000 0%,#000 29%,transparent 50%);
}
@media(max-width:900px){
 .homepage .hero:after{mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.25))}
}
/* Paint the header through the shell so its rounded corners and logo glow stay unobstructed. */
.homepage{--header-surface-height:100px}
.homepage header{background:transparent}
.homepage .site-shell{background-attachment:scroll}
.homepage .hero,.interior-page .page-intro,.homepage .hero:after{
 background-attachment:scroll;
 background-position:center calc(-1 * var(--header-surface-height));
}
@media(max-width:900px){.homepage{--header-surface-height:calc(18px + 238px * 125 / 336)}}
@media(max-width:520px){.homepage{--header-surface-height:calc(18px + 208.25px * 125 / 336)}}
/* Keep the light main-panel paint from bleeding through subpixel header/title joins. */
.interior-page main{background-color:#eaf1f7;background-image:linear-gradient(180deg,#00111e 0px,#00111e 200px,#eaf1f7 200px)}
/* Keep the shared frame stationary when page content needs no scrollbar. */
html{overflow-y:scroll}

