
/* =========================================================
   HEADER — START A REQUEST PREMIUM HOVER
   ========================================================= */

.header-request-cta {
  position: relative !important;
  isolation: isolate !important;

  overflow: hidden !important;

  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s ease,
    background .28s ease,
    border-color .28s ease !important;
}


/* moving highlight */
.header-request-cta::before {
  content: "" !important;

  position: absolute !important;

  top: -40% !important;
  left: -55% !important;

  width: 38% !important;
  height: 190% !important;

  pointer-events: none !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(255,255,255,.30),
      transparent
    ) !important;

  transform:
    skewX(-22deg) !important;

  transition:
    left .55s cubic-bezier(.22,1,.36,1) !important;
}


/* premium hover */
.header-request-cta:hover {
  transform:
    translateY(-3px) !important;

  background:
    linear-gradient(
      135deg,
      #087eb9 0%,
      #079fd1 52%,
      #16b6dd 100%
    ) !important;

  border-color:
    rgba(103,220,247,.55) !important;

  box-shadow:
    0 10px 24px rgba(5,106,158,.23),
    0 0 0 4px rgba(47,188,225,.07),
    inset 0 1px 0 rgba(255,255,255,.20) !important;
}


.header-request-cta:hover::before {
  left: 125% !important;
}


/* arrow moves on hover */
.header-request-cta svg {
  transition:
    transform .28s cubic-bezier(.22,1,.36,1) !important;
}


.header-request-cta:hover svg {
  transform:
    translateX(4px) !important;
}


/* click */
.header-request-cta:active {
  transform:
    translateY(-1px) scale(.99) !important;
}


/* keyboard */
.header-request-cta:focus-visible {
  outline:
    2px solid #55d6f5 !important;

  outline-offset:
    3px !important;
}


/* accessibility */
@media (prefers-reduced-motion: reduce) {

  .header-request-cta,
  .header-request-cta::before,
  .header-request-cta svg {
    transition:
      none !important;
  }

}

