/* HNHCP polish layer 0.6.70
   Safe progressive enhancement only: transform/opacity animation, no layout sizing. */
:root {
  --hnhcp-motion-fast: 180ms;
  --hnhcp-motion-med: 520ms;
  --hnhcp-motion-ease: cubic-bezier(.2,.72,.2,1);
}

@media (prefers-reduced-motion: no-preference) {
  .hnhcp-polish-ready .home-hero__content,
  .hnhcp-polish-ready .page-hero,
  .hnhcp-polish-ready .hnhcp-links-hero .container,
  .hnhcp-polish-ready .section-heading,
  .hnhcp-polish-ready .home-intro__content,
  .hnhcp-polish-ready .elearning-cta__box {
    will-change: transform, opacity;
  }

  .hnhcp-animate-in {
    animation: hnhcpFadeUp var(--hnhcp-motion-med) var(--hnhcp-motion-ease) both;
    animation-delay: var(--hnhcp-reveal-delay, 0ms);
  }

  .hnhcp-animate-soft {
    animation: hnhcpSoftIn 720ms var(--hnhcp-motion-ease) both;
    animation-delay: var(--hnhcp-reveal-delay, 0ms);
  }

  @keyframes hnhcpFadeUp {
    from { opacity: .01; transform: translate3d(0, 18px, 0); }
    to   { opacity: 1; transform: translate3d(0, 0, 0); }
  }

  @keyframes hnhcpSoftIn {
    from { opacity: .01; transform: translate3d(0, 10px, 0) scale(.992); }
    to   { opacity: 1; transform: translate3d(0, 0, 0) scale(1); }
  }

  .resource-card,
  .hnhcp-link-card,
  .news-card,
  .section-nav,
  .home-intro__points article,
  .event-detail-card,
  .event-info-card,
  .hnhcp-card,
  .button,
  .text-link,
  .hnhcp-link-card__button {
    transition:
      transform var(--hnhcp-motion-fast) var(--hnhcp-motion-ease),
      box-shadow var(--hnhcp-motion-fast) var(--hnhcp-motion-ease),
      border-color var(--hnhcp-motion-fast) var(--hnhcp-motion-ease),
      background-color var(--hnhcp-motion-fast) var(--hnhcp-motion-ease),
      color var(--hnhcp-motion-fast) var(--hnhcp-motion-ease),
      opacity var(--hnhcp-motion-fast) var(--hnhcp-motion-ease);
  }

  .resource-card:hover,
  .hnhcp-link-card:hover,
  .news-card:hover,
  .home-intro__points article:hover,
  .event-detail-card:hover,
  .event-info-card:hover,
  .hnhcp-card:hover {
    transform: translate3d(0, -3px, 0);
  }

  .resource-card__image img,
  .news-card__image img,
  .hnhcp-link-card img,
  .wp-post-image {
    transition: transform 700ms var(--hnhcp-motion-ease), opacity 320ms ease;
    transform-origin: center center;
  }

  .resource-card:hover .resource-card__image img,
  .news-card:hover .news-card__image img {
    transform: scale(1.025);
  }

  .button:hover,
  .hnhcp-link-card__button:hover {
    transform: translate3d(0, -1px, 0);
  }

  .primary-nav a,
  .site-conference-link,
  .site-search-link {
    transition: color var(--hnhcp-motion-fast) ease, background-color var(--hnhcp-motion-fast) ease, border-color var(--hnhcp-motion-fast) ease, opacity var(--hnhcp-motion-fast) ease;
  }

  .hnhcp-links-jump a,
  .archive-filter,
  .hnhcp-language-tabs__head a,
  .hnhcp-language-tabs__head button {
    transition: transform var(--hnhcp-motion-fast) var(--hnhcp-motion-ease), background-color var(--hnhcp-motion-fast) ease, color var(--hnhcp-motion-fast) ease, border-color var(--hnhcp-motion-fast) ease;
  }

  .hnhcp-links-jump a:hover,
  .archive-filter:hover,
  .hnhcp-language-tabs__head a:hover,
  .hnhcp-language-tabs__head button:hover {
    transform: translate3d(0, -1px, 0);
  }
}

/* Small visual stabilisers: keep lazy images calm while they decode. */
img[loading="lazy"] {
  content-visibility: auto;
}

.resource-card__image,
.news-card__image {
  overflow: hidden;
}
