/* =========================================================
   V34 TARGETED LOCK
   1) Backup/Home button system across the full site
   2) Loader background blend only
   3) About video one-shot + retained line glow
   No unrelated section/layout changes.
========================================================= */
:root {
  --fp-blue:#0077ff;
  --fp-bg:#020307;
  --fp-btn-border:#0077ff;
  --fp-btn-soft-border:rgba(255,255,255,.19);
  --fp-btn-soft-hover:rgba(255,255,255,.32);
  --fp-btn-secondary-hover:rgba(205,211,233,.09);
}
/* ----- Exact backup/home button family ----- */
.v6-btn, .fp-btn, .fp-final-cta .fp-btn, .v6-header .v6-phone, .jeg-elementor-kit.jkit-button .jkit-button-wrapper, .icon-box-button .icon-box-link, .btn-wrapper .icon-box-link {
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  padding:13px 25px!important;
  border-radius:7px!important;
  border:1px solid var(--fp-btn-soft-border)!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
  text-decoration:none!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.2!important;
  overflow:hidden!important;
  transform:none!important;
  transition:color .38s ease,border-color .38s ease,background-color .38s ease,background-image .38s ease!important;
}
/* Primary = same radial gradient used by original Home Get Started */
.v6-btn:not(.alt), .v6-header .v6-phone, .fp-btn-primary, .jeg-elementor-kit.jkit-button .jkit-button-wrapper.hover-gradient {
  border-color:var(--fp-blue)!important;
  background-color:transparent!important;
  background-image:radial-gradient(at center center,#020307 0%,rgba(0,119,255,.60) 150%)!important;
}
.v6-btn:not(.alt)::before, .v6-header .v6-phone::before, .fp-btn-primary::before, .jeg-elementor-kit.jkit-button .jkit-button-wrapper.hover-gradient::before {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:auto!important;
  opacity:0!important;
  background:radial-gradient(at center center,#020307 0%,#0077ff 100%)!important;
  transform:none!important;
  transition:opacity .38s ease!important;
  pointer-events:none!important;
}
.v6-btn:not(.alt):hover::before, .v6-header .v6-phone:hover::before, .fp-btn-primary:hover::before, .jeg-elementor-kit.jkit-button .jkit-button-wrapper.hover-gradient:hover::before {
  opacity:1!important;
}
/* Secondary = exact transparent backup companion button */
.v6-btn.alt, .fp-btn-secondary, .jeg-elementor-kit.jkit-button .jkit-button-wrapper:not(.hover-gradient), .icon-box-button .icon-box-link, .btn-wrapper .icon-box-link {
  border-color:var(--fp-btn-soft-border)!important;
  background-color:transparent!important;
  background-image:none!important;
}
.v6-btn.alt:hover, .fp-btn-secondary:hover, .jeg-elementor-kit.jkit-button .jkit-button-wrapper:not(.hover-gradient):hover, .icon-box-button .icon-box-link:hover, .btn-wrapper .icon-box-link:hover {
  border-color:var(--fp-btn-soft-hover)!important;
  background-color:var(--fp-btn-secondary-hover)!important;
  background-image:none!important;
  transform:none!important;
  box-shadow:none!important;
}
/* Keep button text above the gradient fade layer. */
.v6-btn > *, .fp-btn > *, .v6-header .v6-phone > *, .jeg-elementor-kit.jkit-button .jkit-button-wrapper > *, .icon-box-button .icon-box-link > *, .btn-wrapper .icon-box-link > * {
  position:relative!important;
  z-index:2!important;
}
.v6-header .v6-phone, .fp-btn, .v6-btn {
  z-index:0!important
}
.v6-header .v6-phone::before, .fp-btn::before, .v6-btn::before {
  z-index:-1!important
}
/* No lift/shimmer/alternate animation anywhere: only the original gradient fade. */
.v6-btn:hover,.fp-btn:hover,.v6-header .v6-phone:hover, .jeg-elementor-kit.jkit-button .jkit-button-wrapper:hover, .icon-box-button .icon-box-link:hover,.btn-wrapper .icon-box-link:hover {
  transform:none!important;
}
/* ----- Loader: one continuous page-colored background, no visible media panel ----- */
html.fp-loading,html.fp-loading body, #fp-preloader,.fp-preloader,.fp-exact-preloader {
  background:#020914!important;
}
.fp-exact-loader-media {
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.fp-exact-loader-video {
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  mix-blend-mode:screen!important;
  filter:saturate(1.06) contrast(1.02)!important;
}
/* ----- About: preserve the established mosaic size/alignment ----- */
.about-page .about-ai-video-wrap {
  overflow:visible!important;
  background:transparent!important;
}
.about-page .about-ai-video {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  background:transparent!important;
  transition:filter .6s ease!important;
}
/* Once the source animation ends, the last frame stays visible and its neon paths
   continue a subtle energy pulse without replaying the complete video. */
.about-page .about-ai-video-wrap.is-video-ended .about-ai-video {
  animation:fpAboutLineEnergy 2.1s ease-in-out infinite alternate!important;
}
@keyframes fpAboutLineEnergy {
  0% {
    filter:brightness(.94) saturate(1.00) drop-shadow(0 0 4px rgba(0,119,255,.14))
  }
  45% {
    filter:brightness(1.08) saturate(1.12) drop-shadow(0 0 12px rgba(0,119,255,.35))
  }
  100% {
    filter:brightness(1.18) saturate(1.20) drop-shadow(0 0 20px rgba(127,62,255,.34))
  }
}
@media (prefers-reduced-motion:reduce) {
  .about-page .about-ai-video-wrap.is-video-ended .about-ai-video {
    animation:none!important
  }
  .v6-btn,.fp-btn,.v6-header .v6-phone,.jkit-button-wrapper {
    transition:none!important
  }
}
