/* Stonebridge landing-only background integration FINAL — 2026-08-31
   Background dimming is isolated below ALL content. No content opacity/filter changes. */
html{background:#030302!important}
body.sb-paid-landing{
  --sb-landing-dim-alpha:.66;
  margin-top:0!important;
  padding-top:0!important;
  position:relative!important;
  background:#030302!important;
  isolation:isolate!important;
}
/* Legacy sitewide background systems must not reserve space or overlay the landing content. */
body.sb-paid-landing #sb-continuous-bridge-environment,
body.sb-paid-landing > .sb-bridge-bg,
body.sb-paid-landing > .site-ambient-bridge,
body.sb-paid-landing > .sb-ambient-bridge,
body.sb-paid-landing > [data-sb-continuous-bridge],
body.sb-paid-landing > [data-sb-bridge-environment]{display:none!important;width:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important}

/* Dedicated visual background. Both layers are fixed and sit behind every page element. */
#sb-landing-bridge-canvas,
#sb-landing-bridge-dimmer{
  position:fixed!important;
  inset:0!important;
  pointer-events:none!important;
}
#sb-landing-bridge-canvas{
  z-index:0!important;
  background:url('/assets/images/stonebridge-bridge-approved-4k.webp') center 36% / cover no-repeat!important;
  opacity:1!important;
  filter:saturate(.9) contrast(1.04) brightness(.98)!important;
  transform:translateZ(0);
}
#sb-landing-bridge-dimmer{
  z-index:1!important;
  background:rgba(3,2,1,var(--sb-landing-dim-alpha,.66))!important;
}

/* Content is always fully opaque and always above the background/dimmer. */
body.sb-paid-landing > header,
body.sb-paid-landing > main,
body.sb-paid-landing > footer,
body.sb-paid-landing > .sticky-mobile,
body.sb-paid-landing > .sb-landing-chat-proxy{
  z-index:2!important;
  opacity:1!important;
}
/* Keep utility overlays out of document flow. The previous integration accidentally
   forced the full-screen page loader to position:relative, which created the large
   bridge-only block above the landing navigation. */
body.sb-paid-landing > .sb-page-loader{display:none!important;position:fixed!important;inset:0!important;height:0!important;min-height:0!important;margin:0!important;padding:0!important}
body.sb-paid-landing > .sb-scroll-progress{position:fixed!important;top:0!important;left:0!important;right:0!important;margin:0!important;z-index:2147482800!important}
body.sb-paid-landing > .sb-cursor-glow{position:fixed!important;pointer-events:none!important;margin:0!important}
body.sb-paid-landing > header.nav{position:sticky!important;margin:0!important;top:0!important;transform:none!important}
body.sb-paid-landing > main{position:relative!important;margin-top:0!important}
body.sb-paid-landing > footer{position:relative!important}
body.sb-paid-landing main{background:transparent!important}
body.sb-paid-landing main > section{background-color:transparent!important}
/* Never place a darkening veil above hero copy/forms. */
body.sb-paid-landing .hero{background-color:transparent!important}
body.sb-paid-landing .hero > .wrap,
body.sb-paid-landing .hero > .container,
body.sb-paid-landing .hero-grid{position:relative!important;z-index:2!important;opacity:1!important;filter:none!important}
body.sb-paid-landing .hero::before,
body.sb-paid-landing .hero::after{z-index:0!important;pointer-events:none!important}
/* Reveal effects may animate position, but must never leave content visually dim. */
body.sb-paid-landing .reveal,
body.sb-paid-landing .reveal-stack > *{filter:none!important}
body.sb-paid-landing .sb-global-footer{background:rgba(3,3,2,.96)!important}

/* Always-visible handoff to the protected Sophia widget. */
.sb-landing-chat-proxy{
  position:fixed!important;right:24px!important;bottom:24px!important;z-index:2147482900!important;
  display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:64px!important;padding:0 24px!important;
  border:1px solid rgba(255,255,255,.06)!important;border-radius:999px!important;background:rgba(17,17,16,.97)!important;color:#fff!important;
  box-shadow:0 18px 50px rgba(0,0,0,.36)!important;font:700 16px/1.1 Inter,Arial,sans-serif!important;cursor:pointer!important;white-space:nowrap!important;
}
.sb-landing-chat-proxy .sb-chat-proxy-dot{width:11px!important;height:11px!important;border-radius:50%!important;background:#46d77b!important;box-shadow:0 0 0 4px rgba(70,215,123,.12)!important}
.sb-landing-chat-proxy:hover{transform:translateY(-1px)!important;border-color:rgba(var(--sb-metal-bronze-rgb,114,88,60),.22)!important}
.sb-landing-chat-proxy[hidden]{display:none!important}
@media(max-width:700px){
  #sb-landing-bridge-canvas{background-position:62% 36%!important}
  .sb-landing-chat-proxy{right:14px!important;bottom:14px!important;min-height:56px!important;padding:0 18px!important;font-size:14px!important}
}

/* Top-of-page lock: landing content begins at viewport top. */
body.sb-paid-landing::before,body.sb-paid-landing::after{content:none!important;display:none!important}
