/* V35 FINAL LOCK — loader background removal, original Flow Pilot buttons, hero badge restore, two About reference sections only. */
:root {
  --fp-blue:#0077ff;
  --fp-bg:#020307;
  --fp-text:#999eaf;
  --fp-white:#fff;
  --fp-border:rgba(255,255,255,.19)
}
/* loader: absolutely no media panel/background; transparent animation on the exact site navy */
html.fp-loading,html.fp-loading body,#fp-preloader {
  background:#020914!important
}
#fp-preloader {
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important
}
.fp-loader-clean {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:transparent!important;
  width:min(430px,80vw);
  aspect-ratio:1/1;
  position:relative
}
.fp-loader-transparent-video {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  mix-blend-mode:screen
}
.fp-loader-title-clean {
  position:absolute;
  left:50%;
  bottom:1.5%;
  transform:translateX(-50%);
  white-space:nowrap;
  color:#fff;
  font:600 12px/1 "Rethink Sans",sans-serif;
  letter-spacing:.34em;
  text-indent:.34em;
  text-shadow:0 0 16px rgba(0,119,255,.5)
}
.fp-loader-video-wrap,.fp-exact-loader-media,.fp-loader-title {
  display:none!important
}
/* the exact two backup button systems. No lift/shimmer/extra glow designs. */
a.fp-approved-primary,button.fp-approved-primary, a.fp-approved-secondary,button.fp-approved-secondary {
  position:relative!important;
  isolation:isolate!important;
  overflow:hidden!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-style:solid!important;
  border-width:1px!important;
  color:#fff!important;
  font-family:"Rethink Sans",sans-serif!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transform:none!important;
  box-shadow:none!important;
  transition:border-color .35s ease,color .35s ease!important;
  background-clip:padding-box!important;
}
a.fp-approved-primary,button.fp-approved-primary {
  background:radial-gradient(circle at 50% 50%,#020307 0%,rgba(0,119,255,.60) 150%)!important;
  border-color:#0077ff!important
}
a.fp-approved-secondary,button.fp-approved-secondary {
  background:transparent!important;
  border-color:rgba(255,255,255,.19)!important
}
a.fp-approved-primary::before,button.fp-approved-primary::before, a.fp-approved-secondary::before,button.fp-approved-secondary::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  transition:opacity .35s ease;
  background:radial-gradient(circle at 50% 50%,#020307 0%,#0077ff 100%)
}
a.fp-approved-secondary::before,button.fp-approved-secondary::before {
  background:rgba(205,211,233,.09)
}
a.fp-approved-primary:hover::before,button.fp-approved-primary:hover::before, a.fp-approved-secondary:hover::before,button.fp-approved-secondary:hover::before {
  opacity:1
}
a.fp-approved-secondary:hover,button.fp-approved-secondary:hover {
  border-color:rgba(255,255,255,.32)!important
}
/* neutralize old experimental transforms on approved buttons */
a.fp-approved-primary:hover,a.fp-approved-secondary:hover,button.fp-approved-primary:hover,button.fp-approved-secondary:hover {
  transform:none!important;
  box-shadow:none!important
}
/* Home hero subtitle / badge back to original compact composition */
.elementor-12 .elementor-element.elementor-element-12a4f461 {
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:max-content!important;
  max-width:92vw!important;
  margin-inline:auto!important;
  padding:5px 8px!important;
  border:1px solid rgba(0,119,255,.45)!important;
  border-radius:200px!important;
  background:rgba(2,3,7,.18)!important
}
.elementor-12 .elementor-element.elementor-element-12a4f461 .elementor-element-638bd7fd .jkit-button-wrapper {
  padding:4px 10px 6px!important;
  border-radius:200px!important;
  border:1px solid #0077ff!important;
  background:transparent!important;
  color:#fff!important
}
.elementor-12 .elementor-element.elementor-element-12a4f461 .elementor-element-18b25b24 .elementor-heading-title {
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:400!important;
  color:#999eaf!important;
  white-space:nowrap!important
}
.elementor-12 .elementor-element.elementor-element-12a4f461 .elementor-element-ce162d3 {
  display:block!important
}
.elementor-12 .elementor-element.elementor-element-12a4f461 .elementor-icon {
  color:#fff!important;
  font-size:11px!important
}
/* About replacement presentation sections */
.fp-showcase {
  padding:44px 0 72px;
  background:#020307;
  overflow:clip
}
.fp-showcase+.fp-showcase {
  padding-top:0
}
.fp-showcase .v6-container {
  width:min(1290px,calc(100% - 40px));
  margin:0 auto
}
.fp-stage {
  position:relative;
  width:100%;
  aspect-ratio:16/8.3;
  min-height:570px;
  border-radius:20px;
  overflow:hidden;
  border:1px solid rgba(0,119,255,.35);
  box-shadow:0 24px 80px rgba(0,0,0,.28)
}
.fp-stage-meta {
  position:absolute;
  top:28px;
  left:32px;
  right:32px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  z-index:5
}
.fp-stage-foot {
  position:absolute;
  bottom:26px;
  left:32px;
  right:32px;
  display:flex;
  justify-content:space-between;
  font-size:9px;
  letter-spacing:.15em;
  text-transform:uppercase;
  z-index:5
}
.fp-stage-dark {
  background:radial-gradient(circle at 76% 48%,rgba(80,0,125,.34),transparent 37%),radial-gradient(circle at 17% 56%,rgba(0,119,255,.22),transparent 38%),#0a021d;
  color:#fff
}
.fp-stage-dark::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,153,255,.08),transparent 35%,rgba(113,0,255,.08));
  pointer-events:none
}
.fp-stage-dark .fp-stage-meta,.fp-stage-dark .fp-stage-foot {
  color:rgba(255,255,255,.5)
}
.fp-stage-copy {
  position:absolute;
  z-index:4;
  left:24%;
  top:50%;
  transform:translateY(-50%);
  max-width:455px
}
.fp-stage-kicker {
  display:block;
  color:#62bfff;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:18px
}
.fp-stage-copy h2,.fp-light-copy h2 {
  font-size:clamp(34px,4vw,62px);
  line-height:.98;
  letter-spacing:-.045em;
  margin:0 0 22px;
  color:#fff;
  max-width:660px
}
.fp-stage-copy p,.fp-light-copy p {
  margin:0;
  color:rgba(255,255,255,.62);
  font-size:15px;
  line-height:1.7;
  max-width:500px
}
.fp-scan-rail {
  position:absolute;
  z-index:3;
  top:15%;
  bottom:15%;
  left:7%;
  width:9px;
  border-radius:12px;
  background:#e6fbff;
  box-shadow:0 0 12px #fff,0 0 30px #20c7ff,0 0 70px #0077ff,0 0 110px rgba(0,119,255,.65);
  transform:translateX(0)
}
.fp-scan-rail::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:120px;
  left:-55px;
  background:linear-gradient(90deg,transparent,rgba(0,165,255,.18),transparent);
  filter:blur(10px)
}
.fp-stage-side {
  position:absolute;
  left:30px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  gap:16px;
  color:rgba(255,255,255,.28);
  font-size:10px;
  z-index:5
}
.fp-showcase.is-visible .fp-scan-rail {
  animation:fpScanRail 4.8s cubic-bezier(.65,0,.35,1) both
}
.fp-showcase.is-visible .fp-stage-copy {
  animation:fpCopyReveal 1s .28s cubic-bezier(.2,.8,.2,1) both
}
@keyframes fpScanRail {
  0% {
    left:7%
  }
  40% {
    left:74%
  }
  62% {
    left:74%
  }
  100% {
    left:7%
  }
}
@keyframes fpCopyReveal {
  from {
    opacity:.15;
    filter:blur(8px);
    transform:translateY(-45%) translateX(20px)
  }
  to {
    opacity:1;
    filter:blur(0);
    transform:translateY(-50%) translateX(0)
  }
}
.fp-stage-light {
  background:#f4f4f1;
  color:#111;
  border-color:rgba(255,255,255,.35)
}
.fp-stage-light .fp-stage-meta,.fp-stage-light .fp-stage-foot {
  color:#676767
}
.fp-light-grid {
  position:absolute;
  inset:90px 76px 82px;
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:62px;
  align-items:center
}
.fp-light-copy .fp-stage-kicker {
  color:#4d4d4d
}
.fp-light-copy h2 {
  color:#111;
  font-size:clamp(36px,3.6vw,58px)
}
.fp-light-copy p {
  color:#5f5f5f
}
.fp-light-visual {
  position:relative;
  overflow:hidden;
  align-self:center;
  border-radius:2px;
  background:#d7d7d2;
  box-shadow:0 14px 45px rgba(0,0,0,.14)
}
.fp-light-visual img {
  display:block;
  width:100%;
  height:auto;
  filter:saturate(.45) contrast(1.02)
}
.fp-light-stats {
  position:absolute;
  left:76px;
  right:76px;
  bottom:72px;
  display:flex;
  gap:48px;
  color:#555;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em
}
.fp-light-stats b {
  color:#111;
  margin-right:7px
}
.fp-stage-light::before {
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  width:8px;
  background:#e7fbff;
  box-shadow:0 0 12px #fff,0 0 30px #28c8ff,0 0 70px #0077ff;
  opacity:0;
  transform:translateX(-50%);
  z-index:6
}
.fp-showcase.is-visible .fp-stage-light::before {
  animation:fpWhiteScan 2.25s cubic-bezier(.65,0,.35,1) both
}
.fp-showcase.is-visible .fp-light-grid {
  animation:fpLightReveal .9s .35s ease both
}
@keyframes fpWhiteScan {
  0% {
    opacity:1;
    left:8%
  }
  70% {
    opacity:1;
    left:90%
  }
  100% {
    opacity:0;
    left:90%
  }
}
@keyframes fpLightReveal {
  from {
    opacity:.2;
    transform:translateY(18px);
    filter:blur(6px)
  }
  to {
    opacity:1;
    transform:none;
    filter:none
  }
}
@media(max-width:900px) {
  .fp-stage {
    min-height:620px;
    aspect-ratio:auto
  }
  .fp-stage-copy {
    left:16%;
    right:8%;
    max-width:none
  }
  .fp-light-grid {
    inset:82px 30px 100px;
    grid-template-columns:1fr;
    gap:28px
  }
  .fp-light-visual {
    max-width:620px
  }
  .fp-light-stats {
    left:30px;
    right:30px;
    gap:20px;
    flex-wrap:wrap
  }
}
@media(max-width:767px) {
  .elementor-12 .elementor-element.elementor-element-12a4f461 .elementor-element-18b25b24 .elementor-heading-title {
    white-space:normal!important;
    font-size:11px!important
  }
  .fp-showcase .v6-container {
    width:min(100% - 24px,1290px)
  }
  .fp-stage {
    min-height:620px;
    border-radius:14px
  }
  .fp-stage-meta,.fp-stage-foot {
    left:18px;
    right:18px
  }
  .fp-stage-meta span:nth-child(2) {
    display:none
  }
  .fp-stage-copy {
    left:20%;
    right:20px
  }
  .fp-stage-copy h2,.fp-light-copy h2 {
    font-size:38px
  }
  .fp-scan-rail {
    width:6px
  }
  .fp-light-grid {
    inset:76px 20px 110px
  }
  .fp-light-stats {
    left:20px;
    right:20px
  }
}
@media(prefers-reduced-motion:reduce) {
  .fp-showcase.is-visible .fp-scan-rail,.fp-showcase.is-visible .fp-stage-copy,.fp-showcase.is-visible .fp-stage-light::before,.fp-showcase.is-visible .fp-light-grid {
    animation:none!important
  }
}
