/* SI Shiba stage: the hero spot, plus the small docked guide that follows you down the page. */
.stage-slot{position:relative;width:100%;height:min(46svh,420px);min-height:250px}
.stage-wrap{position:absolute;inset:0;border-radius:28px;transition:opacity .35s ease,transform .45s cubic-bezier(.2,.8,.2,1)}
#stage{width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y;-webkit-tap-highlight-color:transparent}
#stage:active{cursor:grabbing}
.stage-fallback{display:none;position:absolute;inset:0;place-items:center}
.no-webgl #stage{display:none}
.no-webgl .stage-fallback{display:grid}
html:not(.shiba-ready):not(.no-webgl) #stage{opacity:0}
.shiba-ready #stage{animation:shiba-in .9s cubic-bezier(.2,.8,.2,1) both}
@keyframes shiba-in{from{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}
.dock-back{display:none}

/* Docked guide: once the hero scrolls away, SI waits in the corner. */
.docked .stage-wrap{position:fixed;inset:auto;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:96px;height:112px;z-index:30;background:#fff;border:1px solid #f0e6dc;border-radius:24px;animation:dock-in .45s cubic-bezier(.2,.8,.2,1) both}
.docked .dock-back{display:block;position:absolute;left:50%;bottom:-2px;transform:translate(-50%,50%);font:600 11px/1 'Space Grotesk',sans-serif;letter-spacing:.2px;white-space:nowrap;background:#ff7138;color:#fff;border:0;border-radius:99px;padding:6px 10px;cursor:pointer}
@keyframes dock-in{from{opacity:0;transform:translateY(24px) scale(.8)}to{opacity:1;transform:none}}
@media (min-width:900px){
  .stage-slot{height:min(62svh,620px)}
  .docked .stage-wrap{width:132px;height:148px;right:22px;bottom:22px}
}
@media (prefers-reduced-motion:reduce){
  .stage-wrap,.shiba-ready #stage,.docked .stage-wrap{animation:none;transition:none}
}
