/* R24.206 — use the same decoded, transparent portrait in the hero pipeline
   as the Background Removed comparison demo. Preserve the model's exact
   on-canvas bounding box through Face Enhance, Remove BG and Print Ready.
   The checkerboard is only allowed once the transparent asset is decoded. */
html[data-web-theme="ai-future"] .pm-ai-hero-demo .pm-ai-hero-canvas{
  isolation:isolate!important;
}
html[data-web-theme="ai-future"] .pm-ai-hero-demo .pm-ai-model-cutout{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  z-index:7!important;
  pointer-events:none!important;
  overflow:hidden!important;
}
html[data-web-theme="ai-future"] .pm-ai-hero-demo .pm-ai-model-cutout img{
  display:block!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:var(--pm-portrait-position,50% 50%)!important;
  transform:none!important;
  filter:none!important;
  opacity:1!important;
  visibility:visible!important;
  mask:none!important;
  -webkit-mask:none!important;
}
/* Keep the source image displayed while the shared cutout is loading or if
   every cutout fallback fails. Never expose a checker-only frame. */
html[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready)[data-stage="remove"] .pm-ai-model-enhanced,
html[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready)[data-stage="ready"] .pm-ai-model-enhanced{
  opacity:1!important;
  clip-path:inset(0)!important;
  visibility:visible!important;
}
html[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready)[data-stage="remove"] .pm-ai-checker,
html[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready)[data-stage="ready"] .pm-ai-checker{
  opacity:0!important;
}
html[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready) .pm-ai-model-cutout{
  opacity:0!important;
}
/* Scroll-scrub sets data-stage='scrub' rather than the timed 'remove' key:
   apply the same safe fallback and geometry there as well. */
html.pm-hero-scrub[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready) .pm-ai-model-enhanced{
  opacity:1!important;
  clip-path:inset(0)!important;
}
html.pm-hero-scrub[data-web-theme="ai-future"] .pm-ai-hero-demo:not(.pm-cutout-ready) .pm-ai-checker{
  opacity:0!important;
}
html.pm-hero-scrub[data-web-theme="ai-future"] .pm-ai-hero-demo.pm-cutout-ready .pm-ai-model-cutout{
  opacity:1!important;
  z-index:7!important;
}
/* Only the background-removal and print-ready stages reveal transparency;
   both use identical portrait alignment, without resizing the subject. */
html[data-web-theme="ai-future"] .pm-ai-hero-demo.pm-cutout-ready[data-stage="remove"] .pm-ai-model-cutout,
html[data-web-theme="ai-future"] .pm-ai-hero-demo.pm-cutout-ready[data-stage="ready"] .pm-ai-model-cutout{
  opacity:1!important;
  transform:none!important;
  z-index:7!important;
}
html[data-web-theme="ai-future"] .pm-ai-hero-demo.pm-cutout-ready[data-stage="remove"] .pm-ai-checker,
html.pm-hero-scrub[data-web-theme="ai-future"] .pm-ai-hero-demo.pm-cutout-ready .pm-ai-checker{
  z-index:3!important;
}
@media(max-width:900px){
  html[data-web-theme="ai-future"] .pm-ai-hero-demo .pm-ai-model-cutout,
  html[data-web-theme="ai-future"] .pm-ai-hero-demo .pm-ai-hero-model{
    width:100%!important;height:100%!important;
  }
}
