/* hero-bg (HERO02) - animated photo background behind the home hero. Self-contained. */
#home{isolation:isolate}
.xhb{position:absolute;top:0;bottom:0;left:50%;width:100vw;transform:translateX(-50%);overflow:hidden;z-index:-1;pointer-events:none;background:var(--bg,#f4f7fb)}
.xhb-s{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.8s ease;will-change:transform,opacity;animation:xhbKB 30s linear infinite}
.xhb-s.on{opacity:1}
@keyframes xhbKB{0%{transform:scale(1.04) translate3d(-1.2%,0,0)}50%{transform:scale(1.12) translate3d(1.2%,-1%,0)}100%{transform:scale(1.04) translate3d(-1.2%,0,0)}}
.xhb-g{position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.35) 50%,transparent 60%);mix-blend-mode:soft-light;animation:xhbSweep 9s ease-in-out infinite}
@keyframes xhbSweep{0%{transform:translateX(-60%)}60%,100%{transform:translateX(60%)}}
.xhb-v{position:absolute;inset:0;background:radial-gradient(ellipse 46% 52% at 50% 46%,rgba(244,247,251,.95) 0%,rgba(244,247,251,.89) 45%,rgba(244,247,251,.55) 78%,rgba(244,247,251,.35) 100%),linear-gradient(180deg,rgba(244,247,251,.25) 0%,rgba(244,247,251,0) 20%,rgba(244,247,251,0) 75%,#f4f7fb 100%)}
@media (max-width:760px){
  .xhb-v{background:radial-gradient(ellipse 85% 48% at 50% 50%,rgba(244,247,251,.95) 0%,rgba(244,247,251,.88) 55%,rgba(244,247,251,.6) 85%,rgba(244,247,251,.45) 100%),linear-gradient(180deg,rgba(244,247,251,.3) 0%,rgba(244,247,251,0) 20%,rgba(244,247,251,0) 75%,#f4f7fb 100%)}
}
@media (prefers-reduced-motion:reduce){.xhb-s,.xhb-g{animation:none}.xhb-g{display:none}}
