/* sth-bang-home-hero-v4g — Home hero ONLY (:has(.hrun)). Do not load on other pages. */
/* 1) Never-crop mascot: hero overflow/clip off. Photo layer alone keeps the angle. */
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun),
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun){
  overflow:visible !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* Desktop: picture.hbg collapses to 0x0 while img is absolute — size it, then clip ONLY the photo. */
@media (min-width:700px){
  html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg,
  html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    z-index:0 !important;
    overflow:hidden !important;
    clip-path:var(--angle-clip-hero-bot) !important;
    -webkit-clip-path:var(--angle-clip-hero-bot) !important;
    pointer-events:none !important;
  }
  html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg img,
  html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover !important;
    object-position:var(--hero-pos,60% 55%) !important;
  }
  html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun)::before,
  html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun)::before{
    clip-path:var(--angle-clip-hero-bot) !important;
    -webkit-clip-path:var(--angle-clip-hero-bot) !important;
  }
}

/* Mobile: .hbg is in-flow (sized by img). Do not angle-clip the photo — seam is paper ::after. */
@media (max-width:699px){
  html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg,
  html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hbg{
    clip-path:none !important;
    -webkit-clip-path:none !important;
    overflow:visible !important;
  }
}

/* Paper wedge replaces the old hero bottom cut (nav1 disables stock ::after) */
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun)::after,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun)::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:var(--angle-depth) !important;
  background:var(--paper,#F4F6FA) !important;
  clip-path:polygon(0 100%,100% 0,100% 100%) !important;
  -webkit-clip-path:polygon(0 100%,100% 0,100% 100%) !important;
  z-index:3 !important;
  pointer-events:none !important;
  border:0 !important;
}

/* Mascot layer + ancestors: never clip during scroll */
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun,
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hdash,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hdash,
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hw-hof,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hw-hof,
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hw-spr,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hw-spr{
  overflow:visible !important;
}
html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun,
html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun{
  z-index:4 !important;
}

/* 2) G-ANIM-FULLCROP — cell 500×546 / 750×819; feet lock dB=10 */
section.hero:has(.hrun) .hrun .hw-spr,
section.hero:has(.hrun) .hrun .hw-hof{
  aspect-ratio:500/546 !important;
  width:156.25% !important;
  max-width:none !important;
  transform:translateX(-50%) translateY(calc(100% * 10 / 546)) !important;
  background-size:600% 600% !important;
  background-repeat:no-repeat !important;
}
section.hero:has(.hrun) .hrun.lz .hw-hof{
  background-image:url(../assets/c16/m/hero-walk16-500.webp?v=rw16nov3) !important;
  background-size:100% 100% !important;
  width:round(156.25%,1px) !important;
  aspect-ratio:500/546 !important;
  transform:translateX(-50%) translateY(calc(100% * 10 / 546)) !important;
}
section.hero:has(.hrun) .hrun.lz .hw-hof.sprok{
  background-image:url(../assets/c16/m/hero-rw16-500.webp?v=rw16nov3) !important;
  background-size:600% 600% !important;
}
@media (min-width:700px) and (min-resolution:2.4dppx){
  section.hero:has(.hrun) .hrun.lz .hw-hof{
    background-image:url(../assets/c16/m/hero-walk16-750.webp?v=rw16nov3) !important;
  }
  section.hero:has(.hrun) .hrun.lz .hw-hof.sprok{
    background-image:url(../assets/c16/m/hero-rw16-750.webp?v=rw16nov3) !important;
  }
}

/* plant1 nov5: kill leftover scroll-parallax on Home mascot.
   bundle-site.css .hrun { animation:hpar; timeline:scroll(root); range:0 700px }
   lifted the host translateY(-70px) as the user scrolled. Other pages stay planted.
   Keep bang12h.js scroll → walk frames (background-position only). Feet/box stay put. */
@supports (animation-timeline: scroll()) {
  html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun,
  html body:not(.inner) section.hero:not(.ab-hero):not(.svc-hero):has(.hrun) .hrun {
    animation: none !important;
    animation-timeline: auto !important;
    animation-range: normal !important;
  }
}

/* Zoom seam: overlap the paper wedge without moving its diagonal. */
@media(min-width:700px){html body:not(.inner) main > section.hero:not(.ab-hero):not(.svc-hero):has(.hrun)::after{bottom:-1px !important;height:calc(var(--angle-depth) + 1px) !important;clip-path:polygon(0 calc(100% - 1px),100% 0,100% 100%,0 100%) !important;-webkit-clip-path:polygon(0 calc(100% - 1px),100% 0,100% 100%,0 100%) !important;}}
