/* V142 — reliable, non-blank interactive stages */
.ct-exact-stage-image,
.ct-stage-visual,
.credit-stage-image,
.benefit-stage-image{
  position:relative!important;
  overflow:hidden!important;
  background-color:#0d315d!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}
.ct-v142-stage-image{
  position:absolute;
  inset:0;
  z-index:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  opacity:1;
  visibility:visible;
  transition:opacity .22s ease;
}
.ct-exact-stage-image:after,
.ct-stage-visual:after,
.credit-stage-image:after,
.benefit-stage-image:after{
  z-index:1!important;
  pointer-events:none!important;
}
.ct-v142-stage-image.is-swapping{opacity:.88}
.ct-v142-stage-image.is-loaded{opacity:1}
.ct-v142-stage-image.is-error{opacity:0}

/* Preserve a visible, intentional visual surface while the first image decodes. */
.ct-exact-stage-image:before,
.ct-stage-visual:before,
.credit-stage-image:before,
.benefit-stage-image:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 30% 25%,rgba(91,213,255,.16),transparent 34%),
    linear-gradient(135deg,#071b36,#164a82 58%,#0b2c55);
}

/* The removed proof strip must not reappear from cached markup or builder fragments. */
.ct-demo-proof-strip{display:none!important}

@media(max-width:1180px){
  .ct-v142-stage-image{min-height:inherit}
}
@media(prefers-reduced-motion:reduce){
  .ct-v142-stage-image{transition:none}
}
