/* White Cai interaction polish */
html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
}

a {
  text-underline-offset: 0.16em;
  transition: color 220ms ease, opacity 220ms ease, text-decoration-color 220ms ease;
}

a:hover,
a:focus-visible {
  opacity: 0.78;
}

.wp-block-navigation a,
.wp-block-site-title a,
.wp-block-social-link a {
  transition: opacity 220ms ease, transform 220ms ease;
}

.wp-block-navigation a:hover,
.wp-block-navigation a:focus-visible,
.wp-block-site-title a:hover,
.wp-block-site-title a:focus-visible,
.wp-block-social-link a:hover,
.wp-block-social-link a:focus-visible {
  transform: translateX(2px);
  opacity: 0.72;
}

.wp-block-cover:has(.wp-block-heading a) {
  overflow: hidden;
  isolation: isolate;
  transition: transform 280ms ease, box-shadow 280ms ease, filter 280ms ease;
  will-change: transform;
}

.wp-block-cover:has(.wp-block-heading a):hover,
.wp-block-cover:has(.wp-block-heading a):focus-within {
  transform: translateY(-6px) scale(1.015);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.22);
  z-index: 1;
}

.wp-block-cover:has(.wp-block-heading a) .wp-block-cover__image-background {
  transition: transform 420ms ease, filter 420ms ease;
}

.wp-block-cover:has(.wp-block-heading a):hover .wp-block-cover__image-background,
.wp-block-cover:has(.wp-block-heading a):focus-within .wp-block-cover__image-background {
  transform: scale(1.06);
  filter: saturate(1.08) contrast(1.04);
}

.wp-block-cover:has(.wp-block-heading a) .wp-block-cover__background {
  transition: opacity 280ms ease;
}

.wp-block-cover:has(.wp-block-heading a):hover .wp-block-cover__background,
.wp-block-cover:has(.wp-block-heading a):focus-within .wp-block-cover__background {
  opacity: 0.42;
}

.wp-block-cover .wp-block-heading a {
  display: inline-block;
  text-decoration: none;
  transition: transform 240ms ease, text-shadow 240ms ease, opacity 240ms ease;
}

.wp-block-cover:hover .wp-block-heading a,
.wp-block-cover:focus-within .wp-block-heading a {
  transform: translateY(-1px);
  text-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  opacity: 1;
}

.wp-block-cover .wp-block-heading a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 6px;
}

.wp-block-image img {
  transition: transform 300ms ease, box-shadow 300ms ease;
}

.wp-block-image img:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.16);
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    transform: none !important;
  }
}