.hfg-orthodox-cta {
  --hfg-orthodox-right: 12rem;
  --hfg-orthodox-bottom: 2.4rem;
  position: fixed;
  z-index: 110;
  right: var(--hfg-orthodox-right);
  bottom: var(--hfg-orthodox-bottom);
  display: block;
  width: clamp(24rem, 23vw, 34rem);
  max-width: calc(100vw - 2rem);
  line-height: 0;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  filter: drop-shadow(0 1rem 1.8rem rgba(18, 61, 51, 0.18));
  transform: translate3d(0, 0, 0) scale(1);
  transform-origin: 75% 100%;
  transition:
    opacity 0.55s ease,
    visibility 0s linear,
    filter 0.25s ease,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.hfg-orthodox-cta.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 1.6rem, 0) scale(0.97);
  transition:
    opacity 0.45s ease,
    visibility 0s linear 0.45s,
    filter 0.25s ease,
    transform 0.45s ease;
}

.hfg-orthodox-cta img {
  display: block;
  width: 100%;
  height: auto;
}

.hfg-orthodox-cta:hover,
.hfg-orthodox-cta:focus-visible {
  filter: drop-shadow(0 1.2rem 2.2rem rgba(18, 61, 51, 0.28));
  transform: translate3d(0, -0.4rem, 0) scale(1);
}

.hfg-orthodox-cta:focus-visible {
  outline: 0.3rem solid #f3c754;
  outline-offset: 0.35rem;
  border-radius: 2rem;
}

@media screen and (max-width: 767px) {
  .hfg-orthodox-cta {
    --hfg-orthodox-right: 0.8rem;
    --hfg-orthodox-bottom: 8rem;
    width: clamp(17rem, 53vw, 22rem);
    filter: drop-shadow(0 0.7rem 1.2rem rgba(18, 61, 51, 0.2));
  }
}

@media (prefers-reduced-motion: reduce) {
  .hfg-orthodox-cta {
    transition: none;
  }

  .hfg-orthodox-cta.is-hidden {
    transition: none;
  }
}
