/* Image slot matches the original placeholder. Intrinsic image dimensions never
   participate in panel sizing; all artwork is composed inside the available box. */
.wt-cap-art.wt-cap-illustration {
  position: relative;
  display: block;
  flex: 1 1 auto;
  min-height: 252px;
  margin-bottom: 18px;
  overflow: hidden;
  isolation: isolate;
}
.wt-cap-illustration .wt-cap-image {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
  mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent),
    linear-gradient(to bottom, transparent, #000 3%, #000 94%, transparent);
  mask-composite: intersect;
  animation: wt-art-hover var(--art-cycle, 8s) ease-in-out infinite;
  animation-play-state: paused;
  transform-origin: 50% 55%;
}
.wt-cap-illustration.is-playing .wt-cap-image { animation-play-state: running; }
@keyframes wt-art-hover {
  0%,100% { transform: translateY(2px) scale(.985); }
  50% { transform: translateY(-2px) scale(1); }
}
@media(max-width:700px) { .wt-cap-art.wt-cap-illustration { min-height:200px; } }
/* At 320–360px the existing longest description / note already uses these
   heights. Reserve that original text space so switching tabs cannot jump. */
@media(max-width:360px) {
  #product-web .wt-cap-tab[aria-selected="true"] .wt-cap-desc > span { min-height:81.5px; }
  #product-eitdr .wt-cap-panel > .wt-figure-note { min-height:80.2px; }
}
@media(prefers-reduced-motion:reduce) { .wt-cap-illustration .wt-cap-image { animation:none;transform:none; } }

/* Keep annotation typography and fine leader lines steady and unobscured. */
.wt-onboard-annotated .wt-cap-image { mask-image:none; animation:none; transform:none; }

/* Annotated artwork: keep labels steady and fade only the outer image edge. */
.wt-cap-annotated .wt-cap-image { animation:none; transform:none; mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent),linear-gradient(to bottom,transparent,#000 2%,#000 98%,transparent); }

/* Background-matched assets retain their native colours: no colour filters
   or blend modes. Scale into existing whitespace without resizing the card. */
#product-eitdr .wt-cap-annotated .wt-cap-image {
  filter:none;
  mix-blend-mode:normal;
  mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 97%,transparent);
  transform:scale(1.24);
  transform-origin:center;
}
@media(max-width:700px) { #product-eitdr .wt-cap-annotated .wt-cap-image { transform:scale(1.06); } }
