/* V22 targeted fixes only: home hero animation + final CTA buttons + footer socials */
/* HOME HERO — clean replacement, no cube/circle stage. */
body .elementor-12 [data-id="452d0091"].fp-motion-hero {
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  min-height:790px!important;
  background:#02070b!important;
}
body .elementor-12 [data-id="452d0091"].fp-motion-hero>.e-con-inner {
  position:relative!important;
  z-index:5!important
}
.fp-v21-hero-visual {
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  overflow:hidden!important;
  pointer-events:none!important;
  background:radial-gradient(ellipse at 50% 84%,rgba(0,199,255,.16),transparent 28%),linear-gradient(180deg,#020507 0%,#02080c 58%,#04131b 100%)!important
}
.fp-v21-grid {
  position:absolute!important;
  inset:0!important;
  opacity:.08!important;
  background-image:linear-gradient(rgba(116,240,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(116,240,255,.045) 1px,transparent 1px)!important;
  background-size:28px 28px!important;
  mask-image:linear-gradient(to bottom,transparent 0,#000 28%,#000 88%,transparent 100%)!important
}
.fp-v21-haze {
  position:absolute!important;
  top:24%!important;
  width:68%!important;
  height:55%!important;
  filter:blur(48px)!important;
  opacity:.74!important
}
.fp-v21-haze-left {
  left:-29%!important;
  background:radial-gradient(ellipse at 78% 55%,rgba(66,236,255,.64),rgba(0,157,225,.3) 35%,transparent 68%)!important;
  transform:rotate(-17deg)!important;
  animation:v22HazeL 4.8s ease-in-out infinite alternate!important
}
.fp-v21-haze-right {
  right:-29%!important;
  background:radial-gradient(ellipse at 22% 55%,rgba(66,236,255,.64),rgba(0,157,225,.3) 35%,transparent 68%)!important;
  transform:rotate(17deg)!important;
  animation:v22HazeR 4.8s ease-in-out infinite alternate!important
}
.fp-v21-ribbon {
  position:absolute!important;
  top:31%!important;
  width:74%!important;
  height:48%!important;
  filter:drop-shadow(0 0 10px rgba(197,253,255,.95)) drop-shadow(0 0 28px rgba(0,207,255,.72))!important;
  transform-origin:100% 100%!important;
  overflow:visible!important
}
.fp-v21-ribbon i {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  background:linear-gradient(180deg,rgba(247,255,255,1) 0%,rgba(128,246,255,.98) 8%,rgba(14,211,250,.88) 22%,rgba(0,135,199,.42) 53%,transparent 86%)!important;
  clip-path:polygon(0 7%,100% 68%,100% 100%,0 28%)!important;
  filter:blur(1px)!important
}
.fp-v21-ribbon-left {
  left:-31%!important;
  transform:rotate(12deg) skewY(-3deg)!important
}
.fp-v21-ribbon-right {
  right:-31%!important;
  transform:scaleX(-1) rotate(12deg) skewY(-3deg)!important
}
.fp-v21-ribbon-1 {
  opacity:.98!important;
  animation:v22Ribbon1 3.3s ease-in-out infinite alternate!important
}
.fp-v21-ribbon-2 {
  top:35%!important;
  opacity:.62!important;
  filter:blur(3px) drop-shadow(0 0 30px rgba(0,205,255,.76))!important;
  animation:v22Ribbon2 4.2s ease-in-out infinite alternate-reverse!important
}
.fp-v21-ribbon-2 i {
  clip-path:polygon(0 16%,100% 70%,100% 91%,0 39%)!important
}
.fp-v21-ribbon-3 {
  top:26%!important;
  opacity:.32!important;
  filter:blur(8px) drop-shadow(0 0 42px rgba(0,205,255,.5))!important;
  animation:v22Ribbon3 5.2s ease-in-out infinite alternate!important
}
.fp-v21-core {
  position:absolute!important;
  left:50%!important;
  bottom:5%!important;
  width:560px!important;
  height:250px!important;
  transform:translateX(-50%)!important;
  background:radial-gradient(ellipse at center,rgba(255,255,255,1) 0 1%,rgba(140,248,255,.98) 3%,rgba(15,215,252,.82) 9%,rgba(0,146,222,.38) 25%,transparent 65%)!important;
  filter:blur(8px)!important;
  animation:v22Core 2.2s ease-in-out infinite!important
}
.fp-v21-vertical {
  position:absolute!important;
  left:50%!important;
  bottom:4%!important;
  width:3px!important;
  height:48%!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,transparent 0%,rgba(109,244,255,.12) 28%,rgba(106,246,255,.82) 73%,#fff 100%)!important;
  box-shadow:0 0 8px #8ef7ff,0 0 26px #00cfff,0 0 70px rgba(0,169,255,.78)!important;
  transform-origin:bottom!important;
  animation:v22Beam 2s ease-in-out infinite!important
}
.fp-v21-horizon {
  position:absolute!important;
  left:50%!important;
  bottom:-108px!important;
  width:94%!important;
  height:235px!important;
  transform:translateX(-50%)!important;
  border-top:2px solid rgba(159,251,255,.92)!important;
  border-radius:50% 50% 0 0/34% 34% 0 0!important;
  box-shadow:0 -8px 25px rgba(0,215,255,.75),0 -28px 80px rgba(0,126,218,.34)!important;
  opacity:.98!important;
  animation:v22Horizon 2.6s ease-in-out infinite!important
}
.fp-v21-streak {
  height:2px!important;
  width:110px!important;
  background:linear-gradient(90deg,transparent,white 43%,#45eaff 58%,transparent)!important;
  box-shadow:0 0 12px #57ecff!important;
  opacity:0!important;
  animation:v22Streak 3.2s linear infinite!important
}
@keyframes v22Ribbon1 {
  from {
    translate:0 14px;
    scale:1 .92
  }
  to {
    translate:0 -14px;
    scale:1 1.08
  }
}
@keyframes v22Ribbon2 {
  from {
    translate:0 -10px;
    scale:1 1.04
  }
  to {
    translate:0 13px;
    scale:1 .96
  }
}
@keyframes v22Ribbon3 {
  from {
    opacity:.18;
    translate:0 9px
  }
  to {
    opacity:.4;
    translate:0 -12px
  }
}
@keyframes v22Core {
  0%,100% {
    opacity:.62;
    scale:.92
  }
  50% {
    opacity:1;
    scale:1.14
  }
}
@keyframes v22Beam {
  0%,100% {
    opacity:.36;
    scale:1 .76
  }
  50% {
    opacity:1;
    scale:1 1.08
  }
}
@keyframes v22Horizon {
  0%,100% {
    opacity:.68;
    filter:brightness(.9)
  }
  50% {
    opacity:1;
    filter:brightness(1.28)
  }
}
@keyframes v22Streak {
  0% {
    opacity:0;
    translate:-30px 28px
  }
  16% {
    opacity:.95
  }
  65% {
    opacity:.55
  }
  100% {
    opacity:0;
    translate:180px -92px
  }
}
@keyframes v22HazeL {
  from {
    translate:-18px 10px;
    opacity:.52
  }
  to {
    translate:22px -14px;
    opacity:.8
  }
}
@keyframes v22HazeR {
  from {
    translate:18px 10px;
    opacity:.52
  }
  to {
    translate:-22px -14px;
    opacity:.8
  }
}
/* FINAL CTA buttons — exact home hero button DNA, bright not dull. */
.fp-final-cta .fp-btn {
  padding:13px 25px!important;
  min-height:auto!important;
  border-radius:7px!important;
  font:600 14px/1.2 inherit!important;
  color:#fff!important;
  text-decoration:none!important;
  position:relative!important;
  overflow:hidden!important;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease!important
}
.fp-final-cta .fp-btn-primary {
  background:radial-gradient(circle at 50% 40%,#0877d8 0%,#042f62 150%)!important;
  border:1px solid #0077ff!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 0 rgba(0,119,255,0)!important
}
.fp-final-cta .fp-btn-primary:hover {
  background:radial-gradient(circle at 50% 45%,#096fca 0%,#0077ff 115%)!important;
  border-color:#1b8cff!important;
  box-shadow:0 8px 24px rgba(0,119,255,.25)!important;
  transform:translateY(-2px)!important
}
.fp-final-cta .fp-btn-secondary {
  background:rgba(2,3,7,.26)!important;
  border:1px solid #244a70!important;
  color:#fff!important
}
.fp-final-cta .fp-btn-secondary:hover {
  background:#08213c!important;
  border-color:#087cff!important;
  box-shadow:0 8px 22px rgba(0,119,255,.15)!important;
  transform:translateY(-2px)!important
}
/* Footer socials — bright brand-blue icons with crisp white glyphs. */
.fp-footer-clean .footer-socials {
  display:flex!important;
  gap:10px!important;
  align-items:center!important
}
.fp-footer-clean .footer-socials a {
  width:36px!important;
  height:36px!important;
  border:1px solid #168cff!important;
  border-radius:7px!important;
  background:linear-gradient(180deg,#0878d4 0%,#0355a4 100%)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 5px 16px rgba(0,119,255,.18),inset 0 1px 0 rgba(255,255,255,.13)!important;
  opacity:1!important;
  transition:transform .22s ease,box-shadow .22s ease,filter .22s ease!important
}
.fp-footer-clean .footer-socials a svg {
  width:17px!important;
  height:17px!important;
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
  opacity:1!important
}
.fp-footer-clean .footer-socials a svg [fill="currentColor"] {
  fill:#fff!important;
  stroke:none!important
}
.fp-footer-clean .footer-socials a:hover {
  transform:translateY(-3px)!important;
  filter:brightness(1.16)!important;
  box-shadow:0 10px 24px rgba(0,119,255,.35),0 0 16px rgba(0,156,255,.25)!important;
  background:linear-gradient(180deg,#0a8af0 0%,#0465be 100%)!important
}
@media(max-width:767px) {
  .fp-v21-ribbon {
    top:40%!important;
    width:106%!important;
    height:34%!important
  }
  .fp-v21-ribbon-left {
    left:-57%!important
  }
  .fp-v21-ribbon-right {
    right:-57%!important
  }
  .fp-v21-core {
    width:320px!important;
    height:150px!important
  }
  .fp-v21-vertical {
    height:37%!important
  }
  .fp-v21-streak {
    display:none!important
  }
}
@media(prefers-reduced-motion:reduce) {
  .fp-v21-hero-visual * {
    animation:none!important
  }
}
