/* One fixed decorative scene for the entire public site, including long pages. */
body{isolation:isolate;background:#101a23}
.oc-site-background{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:linear-gradient(120deg,#122c3c 0%,#121e29 42%,#211d19 100%)}
.oc-site-background>div{position:absolute;inset:-100px;pointer-events:none}
.oc-site-glow{background:radial-gradient(ellipse at 10% 25%,#287ca65c,transparent 57%),radial-gradient(ellipse at 92% 72%,#cc832a38,transparent 55%);transform:translate3d(-35px,12px,0)}
.oc-site-contours{background:url("terrain-contours.svg") center/cover no-repeat;opacity:.3;transform:translate3d(-64px,-28px,0)}
.oc-site-current{background:url("creek-lines.svg") center/150% 460px repeat-y;opacity:.32;transform:translate3d(36px,-50px,0)}
.oc-site-background:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,#0e17204d 30%,#0e17205c 70%,transparent);pointer-events:none}
/* Opaque cards, controls, and navigation keep their existing contrast. */
.oc-footer{background:#0b131bad}
.oc-topline .oc-container{align-items:center;min-height:46px;padding-block:.25rem;gap:.75rem}
.oc-topline .oc-motion-toggle{flex:none;min-height:36px;font-size:.65rem;letter-spacing:0}
.oc-topline .oc-motion-toggle[hidden]{display:block!important;visibility:hidden}
.oc-topline .oc-container>span:nth-child(2){margin-left:auto}
@keyframes oc-site-contours-drift{from{transform:translate3d(-64px,-28px,0)}to{transform:translate3d(64px,28px,0)}}
@keyframes oc-site-current-flow{from{transform:translate3d(36px,-50px,0)}to{transform:translate3d(-36px,50px,0)}}
@keyframes oc-site-glow-drift{from{transform:translate3d(-35px,12px,0)}to{transform:translate3d(65px,-32px,0)}}
@media(prefers-reduced-motion:no-preference){
  html[data-motion=on] .oc-site-contours{animation:oc-site-contours-drift 12s linear infinite alternate;animation-delay:-4s}
  html[data-motion=on] .oc-site-current{animation:oc-site-current-flow 16s linear infinite alternate;animation-delay:-7s}
  html[data-motion=on] .oc-site-glow{animation:oc-site-glow-drift 18s linear infinite alternate;animation-delay:-6s}
  html[data-page-visible=false] .oc-site-background>div{animation-play-state:paused!important}
}
@media(max-width:899px){.oc-topline .oc-container>span:nth-child(2){display:none}.oc-site-contours{background-position:40% center}.oc-site-current{background-size:210% 380px}}
@media(prefers-reduced-motion:reduce){.oc-site-background>div{animation:none!important}}
