/* Movimento unificado para cards que possuem uma ação real. */
.ip-app .ip-unified-card-motion {
  --ip-card-pointer-x: 50%;
  --ip-card-pointer-y: 50%;
  --ip-card-rotate-x: 0deg;
  --ip-card-rotate-y: 0deg;
  position: relative;
  isolation: isolate;
  will-change: transform;
  transition:
    opacity 820ms ease,
    transform 1050ms cubic-bezier(.16,1,.3,1),
    border-color 520ms ease,
    box-shadow 780ms cubic-bezier(.16,1,.3,1),
    filter 720ms ease,
    background-color 520ms ease !important;
}

.ip-app .ip-unified-card-motion:hover,
.ip-app .ip-unified-card-motion:focus-visible,
.ip-app .ip-unified-card-motion:focus-within,
.ip-app .ip-unified-card-motion.is-ip-card-engaged {
  z-index: 5;
  border-color: rgba(18,149,153,.42) !important;
  box-shadow: 0 30px 62px rgba(14,74,71,.17),0 0 0 1px rgba(89,201,195,.08) !important;
  filter: saturate(1.025);
  transform: perspective(900px) rotateX(var(--ip-card-rotate-x)) rotateY(var(--ip-card-rotate-y)) translate3d(0,-9px,0) scale(1.012) !important;
  transition-delay: 0ms !important;
}

.ip-app .ip-unified-card-motion__icon {
  transform-origin: center;
  transition:
    transform 760ms cubic-bezier(.16,1,.3,1),
    color 420ms ease,
    background-color 420ms ease,
    border-color 420ms ease,
    box-shadow 620ms cubic-bezier(.16,1,.3,1) !important;
}

.ip-app .ip-unified-card-motion:hover .ip-unified-card-motion__icon,
.ip-app .ip-unified-card-motion:focus-visible .ip-unified-card-motion__icon,
.ip-app .ip-unified-card-motion:focus-within .ip-unified-card-motion__icon,
.ip-app .ip-unified-card-motion.is-ip-card-engaged .ip-unified-card-motion__icon {
  box-shadow: 0 13px 28px rgba(14,105,106,.16);
  transform: translate3d(0,-4px,0) rotate(-3deg) scale(1.06) !important;
}

.ip-app .ip-unified-card-motion__icon .ip-icon,
.ip-app .ip-unified-card-motion__action .ip-icon {
  transition: transform 780ms cubic-bezier(.16,1,.3,1) !important;
}

.ip-app .ip-unified-card-motion:hover .ip-unified-card-motion__icon .ip-icon,
.ip-app .ip-unified-card-motion:focus-visible .ip-unified-card-motion__icon .ip-icon,
.ip-app .ip-unified-card-motion:focus-within .ip-unified-card-motion__icon .ip-icon,
.ip-app .ip-unified-card-motion.is-ip-card-engaged .ip-unified-card-motion__icon .ip-icon {
  animation: ipUnifiedCardIcon 950ms cubic-bezier(.16,1,.3,1) both;
}

.ip-app .ip-unified-card-motion__action {
  transition: color 420ms ease,transform 760ms cubic-bezier(.16,1,.3,1) !important;
}

.ip-app .ip-unified-card-motion:hover .ip-unified-card-motion__action,
.ip-app .ip-unified-card-motion:focus-visible .ip-unified-card-motion__action,
.ip-app .ip-unified-card-motion:focus-within .ip-unified-card-motion__action,
.ip-app .ip-unified-card-motion.is-ip-card-engaged .ip-unified-card-motion__action {
  transform: translate3d(5px,-2px,0) !important;
}

.ip-app .ip-unified-card-motion:hover .ip-unified-card-motion__action .ip-icon,
.ip-app .ip-unified-card-motion:focus-visible .ip-unified-card-motion__action .ip-icon,
.ip-app .ip-unified-card-motion:focus-within .ip-unified-card-motion__action .ip-icon,
.ip-app .ip-unified-card-motion.is-ip-card-engaged .ip-unified-card-motion__action .ip-icon {
  transform: translate3d(4px,0,0) !important;
}

.ip-app .ip-unified-card-motion.is-ip-card-pressed,
.ip-app .ip-unified-card-motion:active {
  transform: perspective(900px) translate3d(0,-3px,0) scale(.988) !important;
  transition-duration: 150ms !important;
  transition-delay: 0ms !important;
}

.ip-app .ip-unified-card-motion:focus-visible {
  outline: 3px solid rgba(48,192,200,.32);
  outline-offset: 4px;
}

@keyframes ipUnifiedCardIcon {
  0%,100% { transform: translate3d(0,0,0) rotate(0) scale(1); }
  42% { transform: translate3d(0,-3px,0) rotate(8deg) scale(1.12); }
  72% { transform: translate3d(0,1px,0) rotate(-3deg) scale(1.04); }
}

@media (hover: none), (pointer: coarse) {
  .ip-app .ip-unified-card-motion:hover {
    transform: translate3d(0,-4px,0) scale(1.004) !important;
  }

}

/* O movimento foi solicitado como parte da identidade visual do site. */
@media (prefers-reduced-motion: reduce) {
  .ip-app .ip-unified-card-motion,
  .ip-app .ip-unified-card-motion__icon,
  .ip-app .ip-unified-card-motion__action {
    transition-duration: 760ms !important;
    transition-timing-function: cubic-bezier(.16,1,.3,1) !important;
  }

  .ip-app .ip-unified-card-motion:hover .ip-unified-card-motion__icon .ip-icon,
  .ip-app .ip-unified-card-motion:focus-visible .ip-unified-card-motion__icon .ip-icon,
  .ip-app .ip-unified-card-motion:focus-within .ip-unified-card-motion__icon .ip-icon,
  .ip-app .ip-unified-card-motion.is-ip-card-engaged .ip-unified-card-motion__icon .ip-icon {
    animation: ipUnifiedCardIcon 950ms cubic-bezier(.16,1,.3,1) both !important;
  }
}
