.elementor-228 .elementor-element.elementor-element-4f3a2d8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-228 .elementor-element.elementor-element-4f3a2d8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(max-width:767px){.elementor-228 .elementor-element.elementor-element-4f3a2d8{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-228 .elementor-element.elementor-element-4a6f601{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}}/* Start custom CSS for html, class: .elementor-element-4a6f601 */.elementor-228 .elementor-element.elementor-element-4a6f601 /* ============ PFH Footer CTA ============ */
.pfh-footer-cta{
  position: relative;
  background: transparent; /* important */
  padding: clamp(42px, 5vw, 80px) 0;
  overflow: hidden;
}

.pfh-footer-cta__topline{
  position: absolute;
  left: 0; right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.12),
    rgba(255,255,255,0)
  );
  pointer-events: none;
}

.pfh-footer-cta__wrap{
  width: min(980px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  place-items: center;
}

.pfh-footer-cta__card{
  position: relative;
  width: min(760px, 100%);
  padding: clamp(26px, 4vw, 44px);
  border-radius: 18px;
  text-align: center;

  /* translucent card */
  background: rgba(25, 28, 34, 0.55);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 1px solid rgba(255,255,255,.12);
  box-shadow:
    0 20px 60px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.05);

  transform: translateZ(0);
  animation: pfhCardFloat 7s ease-in-out infinite;
}

/* shimmer border (auto animated) */
.pfh-footer-cta__card::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius: 19px;
  padding: 1px;
  background: linear-gradient(120deg,
    rgba(255,255,255,0),
    rgba(255,255,255,.20),
    rgba(255,255,255,0)
  );
  -webkit-mask:
    linear-gradient(#000 0 0) content-box,
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: .55;
  pointer-events:none;
  animation: pfhBorderSweep 4.8s linear infinite;
}

.pfh-footer-cta__glow{
  position:absolute;
  inset: -60px -60px -60px -60px;
  border-radius: 999px;
  pointer-events:none;
  opacity: .55;
  filter: blur(24px);
  background:
    radial-gradient(700px 260px at 50% 30%,
      rgba(90, 109, 255, .35),
      rgba(123, 60, 255, .20),
      rgba(0,0,0,0)
    );
  animation: pfhGlowDrift 6s ease-in-out infinite alternate;
}

.pfh-footer-cta__title{
  margin: 0 0 10px;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #ffffff;
}

.pfh-footer-cta__text{
  margin: 0 auto 22px;
  max-width: 560px;
  color: rgba(255,255,255,.78);
  font-size: clamp(14px, 1.6vw, 16.5px);
  line-height: 1.6;
}

.pfh-footer-cta__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 18px;
  border-radius: 10px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14.5px;
  color: #fff;

  background: linear-gradient(90deg, #2f6bff, #7a35ff);
  box-shadow:
    0 10px 24px rgba(70, 80, 255, .25),
    inset 0 1px 0 rgba(255,255,255,.18);

  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.pfh-footer-cta__icon{
  width: 18px;
  height: 18px;
  transform: translateX(0);
  transition: transform .2s ease;
}

.pfh-footer-cta__btn:hover{
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow:
    0 16px 34px rgba(70, 80, 255, .32),
    inset 0 1px 0 rgba(255,255,255,.22);
}

.pfh-footer-cta__btn:hover .pfh-footer-cta__icon{
  transform: translateX(2px);
}

.pfh-footer-cta__btn:active{
  transform: translateY(0px) scale(.99);
}

/* Responsive */
@media (max-width: 520px){
  .pfh-footer-cta__text br{ display:none; }
  .pfh-footer-cta__btn{ width: 100%; }
}

/* Animations */
@keyframes pfhCardFloat{
  0%,100%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
}

@keyframes pfhGlowDrift{
  0%{ transform: translate3d(-10px, 0, 0) scale(1); opacity: .45; }
  100%{ transform: translate3d(10px, -6px, 0) scale(1.02); opacity: .62; }
}

@keyframes pfhBorderSweep{
  0%{ opacity:.25; filter: blur(.1px); transform: translateX(-8%); }
  50%{ opacity:.60; }
  100%{ opacity:.25; transform: translateX(8%); }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  .pfh-footer-cta__card,
  .pfh-footer-cta__card::before,
  .pfh-footer-cta__glow{
    animation: none !important;
  }
}/* End custom CSS */