/* DEMO 3 2.0.0 — intro Demo 1 -> isolated Demo 2 -> original Demo 1 journey */
body.home-demo-page .demo3-hero .hm-hero__stage{
  isolation:isolate;
}
body.home-demo-page .demo3-screen2-host{
  position:absolute;
  inset:0;
  z-index:4;
  display:block;
  width:100%;
  height:100svh;
  min-width:0;
  overflow:hidden;
  background:#02050c;
  opacity:var(--hero-progress,0);
  visibility:visible;
  pointer-events:auto;
  will-change:opacity;
}
/* The original intro remains above Demo 2 until its own scroll exit completes. */
body.home-demo-page .demo3-hero .hm-hero-intro{z-index:6!important;}
/* The original Demo 1 hint must stay visible on BOTH checkpoints. */
body.home-demo-page .demo3-hero .hm-scroll-hint{
  z-index:12!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
}
/* No old map/outro can leak into this hero because they are absent from markup. */
body.home-demo-page .demo3-hero .hm-hero-route,
body.home-demo-page .demo3-hero .hm-hero-outro,
body.home-demo-page .demo3-hero .hm-hero__layout,
body.home-demo-page .demo3-hero .hm-map{display:none!important;}

@media (max-width:820px){
  body.home-demo-page .demo3-hero{min-height:100svh!important;}
  body.home-demo-page .demo3-hero .hm-hero__stage{
    position:relative!important;
    min-height:100svh!important;
    height:100svh!important;
    padding-top:0!important;
  }
  body.home-demo-page .demo3-screen2-host{opacity:1!important;}
  body.home-demo-page .demo3-hero .hm-scroll-hint{display:none!important;}
}
