/* =========================================================
   V12 targeted polish: exact video loader, testimonial depth
   stage alignment, and balanced reactive footer.
   ========================================================= */
/* ---------- Pre-page loader ---------- */
html.fp-loading, html.fp-loading body {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
  background: #020307 !important;
}
html.fp-loading body > *:not(#fp-preloader) {
  visibility: hidden !important;
}
.fp-preloader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483647 !important;
  display: grid !important;
  place-items: center !important;
  background:     radial-gradient(circle at 50% 56%, rgba(0, 119, 255, 0.12), transparent 34%),     #020307 !important;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}
.fp-preloader.is-done {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.fp-loader-video-wrap {
  width: min(430px, 82vw);
  display: grid;
  justify-items: center;
  gap: 20px;
  transform: translateY(-1vh);
}
.fp-loader-video {
  display: block;
  width: min(360px, 72vw);
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 0;
  object-fit: contain;
  filter: drop-shadow(0 0 28px rgba(0, 119, 255, 0.24));
}
.fp-loader-title {
  color: #eff8ff;
  font: 600 clamp(14px, 1.25vw, 18px)/1.1 "Rethink Sans", sans-serif;
  letter-spacing: 0.32em;
  text-indent: 0.32em;
  text-align: center;
  text-shadow: 0 0 22px rgba(0, 153, 255, 0.34);
}
/* Hide all legacy constructed loader pieces if old CSS still exists. */
.fp-loader-grid, .fp-loader-orbit, .fp-loader-core, .fp-loader-name, .fp-loader-status, .fp-loader-progress {
  display: none !important;
}
/* ---------- Testimonials: same boxed alignment as the website ---------- */
/* Home Elementor testimonial parent */
[data-id="7d007bd9"] {
  width: min(100% - 40px, 1290px) !important;
  max-width: 1290px !important;
  margin-inline: auto !important;
  overflow: hidden !important;
}
[data-id="7d007bd9"] > [data-id="3deedf4e"] {
  width: 100% !important;
  max-width: 100% !important;
}
[data-id="7d007bd9"] [data-id="7fda6798"] {
  width: 100% !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  text-align: center !important;
  align-items: center !important;
}
[data-id="7d007bd9"] [data-id="54f3ff3f"], [data-id="7d007bd9"] [data-id="601b21cc"], [data-id="7d007bd9"] [data-id="4eb3ceec"] {
  display: none !important;
}
.fp-depth-testimonials, .testimonials-grid.fp-depth-ready {
  width: 100% !important;
  max-width: 1290px !important;
  margin-inline: auto !important;
  position: relative !important;
  overflow: hidden !important;
  perspective: 1300px;
}
.fp-depth-testimonials .testimonials-list, .testimonials-grid.fp-depth-ready {
  position: relative !important;
  overflow: hidden !important;
  min-height: 310px !important;
  padding: 28px 0 42px !important;
}
.fp-depth-testimonials .testimonials-track, .testimonials-grid.fp-depth-ready {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 250px !important;
  transform: none !important;
}
.fp-depth-testimonials .testimonial-item, .testimonials-grid.fp-depth-ready > .testimonial {
  position: absolute !important;
  left: 50% !important;
  top: 16px !important;
  width: 390px !important;
  max-width: calc(100vw - 44px) !important;
  height: 224px !important;
  margin: 0 !important;
  opacity: 0;
  pointer-events: none;
  transform-origin: center center;
  transform: translate3d(-50%, 14px, 0) scale(0.78);
  transition:     transform 0.82s cubic-bezier(.2,.75,.18,1),     opacity 0.62s ease,     filter 0.62s ease,     box-shadow 0.62s ease !important;
  will-change: transform, opacity, filter;
}
.fp-depth-testimonials .testimonial-box, .testimonials-grid.fp-depth-ready > .testimonial {
  height: 100% !important;
  min-height: 224px !important;
  box-sizing: border-box !important;
}
.fp-depth-testimonials .fp-active, .testimonials-grid.fp-depth-ready > .fp-active {
  z-index: 5 !important;
  opacity: 1 !important;
  filter: none !important;
  pointer-events: auto !important;
  transform: translate3d(-50%, 0, 0) rotateY(0) scale(1) !important;
  box-shadow: 0 26px 70px rgba(0, 60, 125, 0.22) !important;
}
.fp-depth-testimonials .fp-prev, .testimonials-grid.fp-depth-ready > .fp-prev {
  z-index: 3 !important;
  opacity: 0.55 !important;
  filter: blur(1.25px) brightness(0.74) !important;
  transform: translate3d(calc(-50% - 400px), 18px, -80px) rotateY(12deg) rotateZ(-1.2deg) scale(0.90) !important;
}
.fp-depth-testimonials .fp-next, .testimonials-grid.fp-depth-ready > .fp-next {
  z-index: 3 !important;
  opacity: 0.55 !important;
  filter: blur(1.25px) brightness(0.74) !important;
  transform: translate3d(calc(-50% + 400px), 18px, -80px) rotateY(-12deg) rotateZ(1.2deg) scale(0.90) !important;
}
.fp-depth-testimonials .fp-far, .testimonials-grid.fp-depth-ready > .fp-far {
  z-index: 1 !important;
  opacity: 0 !important;
  filter: blur(6px) !important;
  transform: translate3d(-50%, 35px, -180px) scale(0.7) !important;
}
/* Inner testimonial sections: centered headings + same horizontal rhythm. */
.testimonials-section, .solution-testimonials, .testimonial-feature {
  overflow: hidden !important;
}
.testimonials-section .v6-container, .solution-testimonials .v6-container, .testimonial-feature .v6-container {
  width: min(100% - 40px, 1290px) !important;
  max-width: 1290px !important;
}
.testimonials-head, .testimonial-feature .page-intro-wrap, .solution-testimonials .page-intro-wrap {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}
.testimonials-head > div {
  width: 100% !important;
}
/* ---------- Footer redesign ---------- */
.v6-footer.fp-footer-redesign {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 88px 0 28px !important;
  background:     radial-gradient(circle at 16% 18%, rgba(0, 104, 210, 0.21), transparent 31%),     radial-gradient(circle at 84% 78%, rgba(0, 72, 165, 0.16), transparent 30%),     linear-gradient(180deg, #020711 0%, #031326 48%, #020711 100%) !important;
  border-top: 1px solid rgba(0, 119, 255, 0.18);
}
.v6-footer.fp-footer-redesign::before {
  content: "";
  position: absolute;
  inset: -35% -10%;
  z-index: -3;
  background-image:     linear-gradient(rgba(17, 125, 235, 0.075) 1px, transparent 1px),     linear-gradient(90deg, rgba(17, 125, 235, 0.075) 1px, transparent 1px);
  background-size: 64px 64px;
  transform: perspective(700px) rotateX(66deg) translateY(29%);
  transform-origin: center bottom;
  animation: fpFooterGridDrift 11s linear infinite;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 28%, #000 83%, transparent 100%);
}
.v6-footer.fp-footer-redesign::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background:     linear-gradient(110deg, transparent 0 43%, rgba(0, 140, 255, 0.055) 48%, transparent 53% 100%),     linear-gradient(70deg, transparent 0 42%, rgba(45, 204, 255, 0.035) 48%, transparent 54% 100%);
  background-size: 160% 100%, 180% 100%;
  animation: fpFooterSweep 9s ease-in-out infinite alternate;
}
.fp-footer-canvas {
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  opacity: 0.92 !important;
  pointer-events: none !important;
}
.fp-footer-glow {
  position: absolute;
  width: 420px;
  height: 420px;
  border: 1px solid rgba(20, 150, 255, 0.16);
  border-radius: 50%;
  z-index: -1;
  pointer-events: none;
  box-shadow:     0 0 90px rgba(0, 119, 255, 0.08),     inset 0 0 80px rgba(0, 119, 255, 0.055);
  animation: fpFooterOrbit 13s linear infinite;
}
.fp-footer-glow::before, .fp-footer-glow::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #25bfff;
  box-shadow: 0 0 20px #0077ff;
}
.fp-footer-glow::before {
  top: 11%;
  left: 17%;
}
.fp-footer-glow::after {
  right: 11%;
  bottom: 23%;
}
.fp-footer-glow-a {
  left: -210px;
  top: -180px;
}
.fp-footer-glow-b {
  right: -230px;
  bottom: -235px;
  animation-direction: reverse;
  animation-duration: 17s;
}
.fp-footer-inner {
  position: relative;
  z-index: 2;
  width: min(100% - 40px, 1290px) !important;
  max-width: 1290px !important;
}
.fp-footer-topline {
  height: 1px;
  margin-bottom: 52px;
  background: linear-gradient(90deg, transparent, rgba(0, 137, 255, 0.6), rgba(78, 207, 255, 0.35), transparent);
  box-shadow: 0 0 24px rgba(0, 119, 255, 0.22);
}
.v6-footer.fp-footer-redesign .v6-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(270px, 1.45fr) repeat(3, minmax(150px, .7fr)) !important;
  gap: 58px !important;
  align-items: start !important;
  padding: 0 0 58px !important;
}
.v6-footer.fp-footer-redesign .v6-footer-brand, .v6-footer.fp-footer-redesign .fp-footer-column {
  min-height: 245px;
}
.v6-footer.fp-footer-redesign .v6-footer-brand {
  max-width: 390px;
}
.v6-footer.fp-footer-redesign .fp-footer-logo {
  display: inline-block;
  transition: transform .35s ease, filter .35s ease;
}
.v6-footer.fp-footer-redesign .fp-footer-logo:hover {
  transform: translateY(-3px);
  filter: drop-shadow(0 0 18px rgba(0, 119, 255, .28));
}
.v6-footer.fp-footer-redesign .v6-footer-brand img {
  width: 260px !important;
  height: auto !important;
  display: block;
}
.v6-footer.fp-footer-redesign .v6-footer-brand p {
  max-width: 355px;
  margin: 22px 0 0;
  color: #9eacc0;
  font-size: 15px;
  line-height: 1.75;
}
.v6-footer.fp-footer-redesign h4 {
  position: relative;
  margin: 5px 0 22px !important;
  color: #f7fbff;
  font-size: 17px !important;
  line-height: 1.2;
}
.v6-footer.fp-footer-redesign h4::after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  margin-top: 11px;
  background: linear-gradient(90deg, #0085ff, transparent);
  border-radius: 99px;
  box-shadow: 0 0 10px rgba(0, 119, 255, .3);
}
.v6-footer.fp-footer-redesign ul {
  display: grid !important;
  gap: 11px !important;
}
.v6-footer.fp-footer-redesign a {
  color: #9eacc0;
  text-decoration: none;
  transition: color .24s ease, transform .24s ease, text-shadow .24s ease;
}
.v6-footer.fp-footer-redesign li a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.v6-footer.fp-footer-redesign li a::before {
  content: "";
  width: 0;
  height: 1px;
  background: #168cff;
  box-shadow: 0 0 8px #0077ff;
  transition: width .24s ease;
}
.v6-footer.fp-footer-redesign li a:hover {
  color: #fff;
  transform: translateX(3px);
  text-shadow: 0 0 14px rgba(0, 119, 255, .36);
}
.v6-footer.fp-footer-redesign li a:hover::before {
  width: 13px;
}
.v6-footer.fp-footer-redesign .footer-socials {
  display: flex;
  gap: 9px;
  margin-top: 26px;
}
.v6-footer.fp-footer-redesign .footer-socials a {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0, 138, 255, .55);
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: #eaf7ff;
  background: rgba(5, 45, 84, .64);
  box-shadow: inset 0 0 18px rgba(0, 119, 255, .08);
}
.v6-footer.fp-footer-redesign .footer-socials a:hover {
  transform: translateY(-4px) scale(1.04);
  background: rgba(0, 102, 202, .78);
  border-color: #2bbdff;
  box-shadow: 0 10px 28px rgba(0, 119, 255, .24), inset 0 0 20px rgba(49, 196, 255, .12);
}
.v6-footer.fp-footer-redesign .v6-copy {
  margin: 0 !important;
  padding: 26px 0 0 !important;
  border-top: 1px solid rgba(91, 162, 227, .15) !important;
  text-align: center;
  color: #8194aa;
}
.v6-footer.fp-footer-redesign .v6-copy a {
  color: #158cff;
}
@keyframes fpFooterGridDrift {
  to {
    background-position: 64px 64px, 64px 64px;
  }
}
@keyframes fpFooterSweep {
  from {
    background-position: -35% 0, 130% 0;
  }
  to {
    background-position: 135% 0, -45% 0;
  }
}
@keyframes fpFooterOrbit {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 1100px) {
  .fp-depth-testimonials .testimonial-item,   .testimonials-grid.fp-depth-ready > .testimonial {
    width: 360px !important;
  }
  .fp-depth-testimonials .fp-prev,   .testimonials-grid.fp-depth-ready > .fp-prev {
    transform: translate3d(calc(-50% - 330px), 18px, -80px) rotateY(12deg) scale(.88) !important;
  }
  .fp-depth-testimonials .fp-next,   .testimonials-grid.fp-depth-ready > .fp-next {
    transform: translate3d(calc(-50% + 330px), 18px, -80px) rotateY(-12deg) scale(.88) !important;
  }
  .v6-footer.fp-footer-redesign .v6-footer-grid {
    grid-template-columns: 1.25fr 1fr 1fr !important;
  }
  .v6-footer.fp-footer-redesign .fp-footer-column:last-child {
    grid-column: 2 / -1;
    min-height: auto;
  }
}
@media (max-width: 767px) {
  [data-id="7d007bd9"],   .testimonials-section .v6-container,   .solution-testimonials .v6-container,   .testimonial-feature .v6-container,   .fp-footer-inner {
    width: min(100% - 28px, 1290px) !important;
  }
  .fp-loader-video-wrap {
    gap: 14px;
  }
  .fp-loader-video {
    width: min(290px, 76vw);
  }
  .fp-loader-title {
    font-size: 13px;
    letter-spacing: .24em;
    text-indent: .24em;
  }
  .fp-depth-testimonials .testimonials-list,   .testimonials-grid.fp-depth-ready {
    min-height: 292px !important;
  }
  .fp-depth-testimonials .testimonial-item,   .testimonials-grid.fp-depth-ready > .testimonial {
    width: min(330px, 80vw) !important;
  }
  .fp-depth-testimonials .fp-prev,   .testimonials-grid.fp-depth-ready > .fp-prev {
    opacity: .2 !important;
    transform: translate3d(calc(-50% - 78vw), 18px, -80px) rotateY(9deg) scale(.84) !important;
  }
  .fp-depth-testimonials .fp-next,   .testimonials-grid.fp-depth-ready > .fp-next {
    opacity: .2 !important;
    transform: translate3d(calc(-50% + 78vw), 18px, -80px) rotateY(-9deg) scale(.84) !important;
  }
  .v6-footer.fp-footer-redesign {
    padding-top: 64px !important;
  }
  .fp-footer-topline {
    margin-bottom: 38px;
  }
  .v6-footer.fp-footer-redesign .v6-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px 28px !important;
    padding-bottom: 42px !important;
  }
  .v6-footer.fp-footer-redesign .v6-footer-brand {
    grid-column: 1 / -1;
    max-width: 100%;
    min-height: auto;
  }
  .v6-footer.fp-footer-redesign .fp-footer-column {
    min-height: auto;
  }
  .v6-footer.fp-footer-redesign .fp-footer-column:last-child {
    grid-column: auto;
  }
}
@media (max-width: 520px) {
  .v6-footer.fp-footer-redesign .v6-footer-grid {
    grid-template-columns: 1fr !important;
  }
  .v6-footer.fp-footer-redesign .fp-footer-column:last-child {
    grid-column: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .v6-footer.fp-footer-redesign::before,   .v6-footer.fp-footer-redesign::after,   .fp-footer-glow {
    animation: none !important;
  }
}
