/* Image hover zoom — scoped media only (never button/link icons) */
.home-img-zoom:not([data-step-visual]):not([data-steps-panel]) {
  overflow: hidden;
}

/* Steps panel keeps its own grid + hero image layout */
[data-steps-panel] .home-img-zoom,
[data-step-visual].home-img-zoom {
  overflow: visible;
}

[data-steps-panel] .home-img-zoom img,
[data-step-visual].home-img-zoom img {
  width: auto;
  height: auto;
  max-width: none;
  transform: none;
  transition: none;
}

.home-img-zoom img:not(:where(a img, button img)) {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  transform-origin: center center;
}

@media (hover: hover) and (pointer: fine) {
  .home-img-zoom:hover img:not(:where(a img, button img)) {
    transform: scale(1.06);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-img-zoom:hover img {
    transform: none;
  }
}
