/* Graphic zoom (hover / click enlarge) — homepage hero + landing sections */

.fl-zoomable {
  position: relative;
  cursor: zoom-in;
  transform-origin: center center;
  transition: transform 0.28s ease, background-color 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, z-index 0s linear 0.28s;
  will-change: transform;
}

.fl-zoomable.is-zoomed,
.fl-zoomable.is-zoom-pinned {
  z-index: 80;
  cursor: zoom-out;
  transform: scale(1.15);
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  transition: transform 0.28s ease, background-color 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, z-index 0s;
}

.fl-zoomable.is-zoomed::before,
.fl-zoomable.is-zoom-pinned::before,
.fl-zoomable.is-zoomed::after,
.fl-zoomable.is-zoom-pinned::after {
  opacity: 0 !important;
}

.fl-zoomable.is-zoomed .hero-fallback-image,
.fl-zoomable.is-zoom-pinned .hero-fallback-image {
  box-shadow: none;
}

.fl-wrap.has-zoomed-graphic,
.fl-hero__grid.has-zoomed-graphic,
.hero-stage-column.has-zoomed-graphic,
.hero.has-zoomed-graphic {
  position: relative;
  z-index: 6;
  overflow: visible;
}

@media (prefers-reduced-motion: reduce) {
  .fl-zoomable,
  .fl-zoomable.is-zoomed,
  .fl-zoomable.is-zoom-pinned {
    transition: none;
  }
}
