/* Decorative motion: content stays visible and native controls remain usable. */
@media (prefers-reduced-motion:no-preference) {
  html { scroll-behavior:smooth; }
  :is(.button,.text-link) {
    transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
  }
  :is(.button,.text-link) > :is(svg,[data-icon],span[aria-hidden="true"]) {
    transition:transform .2s ease;
  }
  :is(.button,.text-link):is(:hover,:focus-visible) > :is(svg,[data-icon],span[aria-hidden="true"]) {
    transform:translateX(3px);
  }
  :is(.pf-card-image,.pf-feature-image,.ws-case) img { transition:transform .4s ease; }
  :is(.pf-card,.pf-feature,.ws-case):is(:hover,:focus-within) img { transform:scale(1.025); }
  @supports (interpolate-size:allow-keywords) {
    :is(.home-faq,.draft-faq,.faq-category) details { interpolate-size:allow-keywords; }
    :is(.home-faq,.draft-faq,.faq-category) details::details-content {
      height:0;
      overflow:clip;
      transition:height .28s ease,content-visibility .28s allow-discrete;
    }
    :is(.home-faq,.draft-faq,.faq-category) details[open]::details-content { height:auto; }
  }
}
/* Keep zoomed previews inside their existing image link. */
.ws-case > a:has(> img) { display:block; overflow:hidden; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  :is(.pf-card-image,.pf-feature-image,.ws-case) img { transform:none !important; transition:none !important; }
  :is(.button,.text-link),:is(.button,.text-link) > :is(svg,[data-icon],span[aria-hidden="true"]) { transition:none !important; }
}
