/* Shared card feedback. Keep layout, image fit, and non-card interface unchanged. */
body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
  .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
  .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
  .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
  .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure) {
  transition: none;
}

/* Retire older zoom rules, including contained technical editorial diagrams. */
body .svc-card .svc-card__img img,
body .svc-card:hover .svc-card__img img,
body .industry-card>img,
body .industry-card:hover>img,
body .editorial-card .editorial-card-image img,
body .editorial-card:hover .editorial-card-image img {
  transform: none;
  transition: none;
}

/* Use the existing anchors and buttons; passive figures remain passive. */
body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
  .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
  .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
  .qualification-card):focus-visible,
body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
  .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
  .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
  .qualification-card) :is(a,button):focus-visible {
  outline: 3px solid #2167b9;
  outline-offset: -3px;
}

/* A fine pointer gets one restrained lift; scroll rails keep feedback inside. */
@media (hover: hover) and (pointer: fine) {
  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure) {
    transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
  }

  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure):hover {
    transform: translateY(-3px);
    border-color: #a6c3dd;
    box-shadow: 0 8px 22px rgba(13,43,82,.10);
  }

  body .industry-rail .ind-card:hover {
    transform: none;
    box-shadow: inset 0 0 0 2px #78acd0;
  }
  /* The overlay stays on top of the photo, so its inset ring remains visible. */
  body .industry-rail .ind-card .ind-card__t { transition: box-shadow 220ms ease; }
  body .industry-rail .ind-card:hover .ind-card__t {
    box-shadow: inset 0 0 0 2px #78acd0;
  }

  /* Only explicit scenes in an existing clipped image area may zoom.
     Products, devices, diagrams, certificates, and unwrapped news photos stay whole. */
  body .industry-card>img,
  body .industry-rail .ind-card>img[src*="/scenes/"],
  body .industry-rail .ind-card>img[src*="/ref/ind_"],
  body .industry-rail .ind-card[data-motion-scene="true"]>img,
  body .svc-card .svc-card__img[data-motion-scene="true"] img,
  body .svc-card .svc-card__img img[src*="/scenes/"],
  body .editorial-card .editorial-card-image[data-motion-scene="true"] img {
    transition: transform 220ms ease;
  }
  body .industry-card:hover>img,
  body .industry-rail .ind-card:hover>img[src*="/scenes/"],
  body .industry-rail .ind-card:hover>img[src*="/ref/ind_"],
  body .industry-rail .ind-card[data-motion-scene="true"]:hover>img,
  body .svc-card:hover .svc-card__img[data-motion-scene="true"] img,
  body .svc-card:hover .svc-card__img img[src*="/scenes/"],
  body .editorial-card:hover .editorial-card-image[data-motion-scene="true"] img {
    transform: scale(1.025);
  }
}

/* Scoped overrides also defeat legacy hover rules on emulated/sticky touch hover. */
@media (hover: none), (pointer: coarse) {
  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure),
  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure) :is(img,.ind-card__t,.svc-card__arrow) {
    transform: none !important;
    transition: none !important;
  }
}

/* Reduce motion removes movement itself, not only the interpolation. */
@media (prefers-reduced-motion: reduce) {
  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure),
  body :is(.svc-card,.prod-card,.industry-card,.mfg-industry-card,.ind-card,
    .catalog-card,.configuration-card,.design-category-card,.design-scheme-card,
    .editorial-card,.news-card,.news-feat,.news-list__item,.type-card,.service-type,
    .qualification-card,.company-photo-grid>figure,.company-gallery>figure,
    .company-equipment>figure,.equipment-grid>figure,.enterprise-photo-grid>figure) :is(img,.ind-card__t,.svc-card__arrow) {
    transform: none !important;
    transition: none !important;
  }
}
