/* Native compatibility layer for legacy /call markup without webflow.js */

html.w-mod-js body.main-body {
  cursor: none;
}

/* Match production visual blend where bubbles are mostly red with low fill opacity. */
.bubble-orange.blue {
  background-color: #e86962;
  opacity: 0.12;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.bubble_wrapper_absolute,
.blur_effect {
  will-change: transform, opacity;
}

.outstndly-button-wrapper .button-ice-wrapper {
  opacity: 0;
}

.outstndly-button-wrapper .button-ice-img {
  will-change: transform;
  transform: translate3d(0, 0, 0);
  animation: wfButtonIceSweep 2500ms linear infinite;
}

/* Prevent the center bubble from showing the static star/cursor-like icon. */
.bubble_wrapper_absolute._2 > .star {
  display: none;
}

#personalized {
  opacity: 0;
  pointer-events: none;
}

#personalized.wf-reflective-text {
  opacity: var(--wf-reflect-alpha, 0);
  will-change: opacity, mask-image, -webkit-mask-image;
  transition: none;
  -webkit-mask-image: radial-gradient(
    ellipse var(--wf-reflect-size, 34%) 125% at var(--wf-reflect-x, 50%) 52%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.96) 38%,
    rgba(0, 0, 0, 0.18) 74%,
    transparent 100%
  );
  mask-image: radial-gradient(
    ellipse var(--wf-reflect-size, 34%) 125% at var(--wf-reflect-x, 50%) 52%,
    rgba(0, 0, 0, 1) 0%,
    rgba(0, 0, 0, 0.96) 38%,
    rgba(0, 0, 0, 0.18) 74%,
    transparent 100%
  );
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

.wf-bubble-pop-target {
  will-change: transform, opacity, filter;
  transform-origin: center;
}

.wf-bubble-pop-target.is-bursting {
  animation: wfBubbleMorph 1200ms cubic-bezier(0.19, 1, 0.22, 1);
}

.wf-bubble-blur-target {
  will-change: transform, opacity;
  transform-origin: center;
}

.wf-bubble-blur-target.is-bursting {
  animation: wfBubbleBlurMorph 1200ms cubic-bezier(0.19, 1, 0.22, 1);
}

.wf-bubble-outline-target {
  will-change: transform, opacity, border-color;
  transform-origin: center;
}

.wf-bubble-outline-target.is-bursting {
  animation: wfBubbleOutlineMorph 1200ms cubic-bezier(0.19, 1, 0.22, 1);
}

.bubble_wrapper_absolute.wf-bubble-hidden-until-reset {
  opacity: 0 !important;
  pointer-events: none;
}

.wf-bubble-burst-layer {
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: 40;
}

.wf-bubble-burst {
  position: absolute;
  width: 0;
  height: 0;
}

.wf-bubble-ring,
.wf-bubble-core,
.wf-bubble-spark {
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 999px;
  transform: translate(-50%, -50%);
}

.wf-bubble-ring {
  width: 24px;
  height: 24px;
  border: 1.6px solid rgba(232, 105, 98, 0.95);
  box-shadow: 0 0 22px rgba(232, 105, 98, 0.42);
  animation: wfBubbleRing 640ms cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

.wf-bubble-core {
  width: 10px;
  height: 10px;
  background: radial-gradient(circle, rgba(232, 105, 98, 0.95) 0%, rgba(79, 98, 240, 0.75) 100%);
  filter: blur(0.25px);
  animation: wfBubbleCore 520ms ease-out forwards;
}

.wf-bubble-spark {
  width: var(--size);
  height: var(--size);
  background: var(--spark-color);
  box-shadow: 0 0 12px rgba(232, 105, 98, 0.45);
  animation: wfBubbleSpark var(--dur) cubic-bezier(0.19, 1, 0.22, 1) var(--delay) forwards;
}

.call_embed.dynamic-height {
  height: var(--dynamic-height) !important;
}

.call_embed .calendly-inline-widget {
  min-height: 860px;
  height: 860px;
}

@media (max-width: 991px) {
  .call_embed .calendly-inline-widget {
    min-height: 790px;
    height: 790px;
  }
}

@media (max-width: 767px) {
  .call_embed .calendly-inline-widget {
    min-height: 1230px;
    height: 1230px;
  }
}

@media (hover: none), (pointer: coarse) {
  html.w-mod-js body.main-body {
    cursor: auto;
  }
}

@keyframes wfBubbleMorph {
  0% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
    filter: blur(0);
  }
  34% {
    transform: scale3d(4.5, 4.5, 1);
    opacity: 0;
    filter: blur(3px);
  }
  67% {
    transform: scale3d(0.04, 0.04, 1);
    opacity: 0;
    filter: blur(6px);
  }
  100% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
    filter: blur(0);
  }
}

@keyframes wfBubbleBlurMorph {
  0% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
  }
  34% {
    transform: scale3d(1.28, 1.28, 1);
    opacity: 0;
  }
  67% {
    transform: scale3d(0.12, 0.12, 1);
    opacity: 0;
  }
  100% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
  }
}

@keyframes wfBubbleOutlineMorph {
  0% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
    border-color: var(--wf-pop-border-color, rgba(232, 105, 98, 1));
  }
  34% {
    transform: scale3d(1.32, 1.32, 1);
    opacity: 0;
    border-color: transparent;
  }
  67% {
    transform: scale3d(0.12, 0.12, 1);
    opacity: 0;
    border-color: transparent;
  }
  100% {
    transform: scale3d(1, 1, 1);
    opacity: var(--wf-pop-from-opacity, 1);
    border-color: var(--wf-pop-border-color, rgba(232, 105, 98, 1));
  }
}

@keyframes wfBubbleRing {
  0% {
    transform: translate(-50%, -50%) scale3d(0.2, 0.2, 1);
    opacity: 0.95;
  }
  100% {
    transform: translate(-50%, -50%) scale3d(6.5, 6.5, 1);
    opacity: 0;
  }
}

@keyframes wfBubbleCore {
  0% {
    transform: translate(-50%, -50%) scale3d(1, 1, 1);
    opacity: 0.9;
  }
  100% {
    transform: translate(-50%, -50%) scale3d(2.2, 2.2, 1);
    opacity: 0;
  }
}

@keyframes wfBubbleSpark {
  0% {
    transform: translate(-50%, -50%) scale3d(1, 1, 1);
    opacity: 1;
  }
  70% {
    opacity: 0.95;
  }
  100% {
    transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale3d(0.08, 0.08, 1);
    opacity: 0;
  }
}

@keyframes wfButtonIceSweep {
  0%,
  79.9% {
    transform: translate3d(0, 0, 0);
  }
  99.9% {
    transform: translate3d(41px, 0, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
