/* r22: registered inner material opens once in depth; no perpetual light loop. */
.hero-art-frame .ice-scene {
  position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; contain: layout style;
}
.hero-art-frame .ice-interior {
  position: absolute;
  left: calc(var(--ix) / 1586 * 100%);
  top: calc(var(--iy) / 992 * 100%);
  width: calc(var(--iw) / 1586 * 100%);
  height: calc(var(--ih) / 992 * 100%);
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  clip-path: ellipse(4% 12% at 50% 50%);
  contain: layout paint style;
  mask-image: radial-gradient(ellipse closest-side, #000 48%, rgb(0 0 0 / .88) 66%, rgb(0 0 0 / .38) 85%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse closest-side, #000 48%, rgb(0 0 0 / .88) 66%, rgb(0 0 0 / .38) 85%, transparent 100%);
  transition: clip-path 820ms cubic-bezier(.19,.7,.25,1), opacity 280ms ease, visibility 0s linear 820ms;
}
.hero-art-frame .ice-interior img {
  position: absolute; display: block;
  width: calc(1586 / var(--iw) * 100%);
  height: calc(992 / var(--ih) * 100%);
  left: calc(0px - var(--ix) / var(--iw) * 100%);
  top: calc(0px - var(--iy) / var(--ih) * 100%);
  max-width: none; object-fit: fill;
}
.ice-interior-0 { --ix: 865; --iy: 142; --iw: 285; --ih: 215; }
.ice-interior-1 { --ix: 752; --iy: 350; --iw: 574; --ih: 219; }
.ice-interior-2 { --ix: 701; --iy: 476; --iw: 636; --ih: 309; }
.ice-interior-3 { --ix: 625; --iy: 580; --iw: 738; --ih: 338; }
.hero-art-frame[data-interior-ready="true"][data-ice-layer="0"] .ice-interior-0,
.hero-art-frame[data-interior-ready="true"][data-ice-layer="1"] .ice-interior-1,
.hero-art-frame[data-interior-ready="true"][data-ice-layer="2"] .ice-interior-2,
.hero-art-frame[data-interior-ready="true"][data-ice-layer="3"] .ice-interior-3 {
  opacity: 1; visibility: visible; clip-path: ellipse(85% 100% at 50% 50%); transition-delay: 0s;
}
button[data-ice-layer] { -webkit-tap-highlight-color: transparent; }
button[data-ice-layer]:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
@media (prefers-reduced-motion: reduce) {
  .hero-art-frame .ice-interior { transition: none; }
}
@media print { .ice-interior { display: none; } }

/* Слои айсберга теперь в <picture>: он inline, поэтому растягиваем его как саму картинку. */
.hero-art-frame .ice-interior picture{display:block;width:100%;height:100%}
