/* =========================================================
   KIMPAOLO SITE-WIDE OPEN + BACK/FORWARD MOTION 20260427S
   ========================================================= */
@keyframes kpSitePageOpenFade {
  0% { opacity: 0; transform: translate3d(0, 10px, 0) scale(0.996); filter: blur(5px); }
  100% { opacity: 1; transform: none; filter: none; }
}

@keyframes kpSiteBackForwardFade {
  0% { opacity: 0.72; transform: translate3d(0, 8px, 0) scale(0.997); filter: blur(4px); }
  100% { opacity: 1; transform: none; filter: none; }
}

html { scroll-behavior: smooth; }

body.kp-motion-ready,
body.kp-global-motion-ready {
  opacity: 1 !important;
  transform-origin: center top !important;
  animation: kpSitePageOpenFade 640ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body.kp-global-motion-ready.kp-site-opening {
  animation: kpSitePageOpenFade 640ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

body.kp-global-motion-ready.kp-site-back-forward {
  animation: kpSiteBackForwardFade 560ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.kp-site-reveal-item {
  opacity: 0 !important;
  transform: translate3d(0, 12px, 0) scale(0.998) !important;
  filter: blur(4px) !important;
  transition:
    opacity 620ms ease-out,
    transform 620ms cubic-bezier(0.22, 1, 0.36, 1),
    filter 620ms ease-out !important;
  transition-delay: var(--kp-site-motion-delay, 0ms) !important;
  will-change: opacity, transform, filter;
}

.kp-site-reveal-item.kp-site-visible {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
}

/* Landing logo: softer and less hard than the earlier override. */
.logo-block.logo-link,
a.logo-block.logo-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform-origin: center center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  border-radius: 999px !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  transition:
    transform 560ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity 360ms ease,
    filter 360ms ease !important;
  filter: none !important;
}

.logo-block.logo-link:hover,
a.logo-block.logo-link:hover,
.logo-block.logo-link:focus-visible,
a.logo-block.logo-link:focus-visible {
  transform: translate3d(0, -2px, 0) scale(1.12) !important;
  opacity: 1 !important;
  filter: none !important;
  outline: none !important;
}

.logo-block.logo-link:active,
a.logo-block.logo-link:active {
  transform: translate3d(0, 0, 0) scale(0.985) !important;
  transition-duration: 180ms !important;
}

.logo-block.logo-link .logo-img,
a.logo-block.logo-link .logo-img {
  transform-origin: center center !important;
  will-change: transform !important;
  backface-visibility: hidden !important;
  transition: transform 560ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.logo-block.logo-link:hover .logo-img,
a.logo-block.logo-link:hover .logo-img,
.logo-block.logo-link:focus-visible .logo-img,
a.logo-block.logo-link:focus-visible .logo-img {
  transform: scale(1.035) !important;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body.kp-motion-ready,
  body.kp-global-motion-ready,
  body.kp-global-motion-ready.kp-site-opening,
  body.kp-global-motion-ready.kp-site-back-forward,
  .kp-site-reveal-item,
  .kp-site-reveal-item.kp-site-visible,
  .logo-block.logo-link,
  a.logo-block.logo-link,
  .logo-block.logo-link .logo-img,
  a.logo-block.logo-link .logo-img {
    opacity: 1 !important;
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
