/* The experiment owns its SVG motion; the alpha 4.2.2 page remains the base. */
.hero-pulse .hv-piece,.hero-pulse .hv-piece-ambient,.hero-pulse .hv-orb-ambient,
.hero-pulse .hv-smoke-plume,.hero-pulse .hv-dance-pocket,.hero-pulse .hv-orb-pulse{
  transform-box:fill-box;transform-origin:center;will-change:auto;
}
.hero-pulse [data-kind=speaker] .hv-piece,
.hero-pulse [data-kind=speaker] .hv-piece-ambient,
.hero-pulse .hv-dance-pocket{transform-origin:center bottom}
.hero-pulse .hv-walker,.hero-pulse .hv-guest-entry,.hero-pulse .hv-footstep{
  transform-box:view-box;transform-origin:0 0;
}
.hero-pulse .hv-current{stroke-dasharray:.055 1.2;pointer-events:none}
.hero-pulse .hv-road-reveal{stroke-dasharray:1;stroke-dashoffset:0}
.hero-pulse.hv-pending .hv-layer:not([data-kind=building]){visibility:hidden}
.hero-pulse .world-frame{clip-path:inset(-4% 0 -3%);isolation:isolate}
.hero-pulse .world-controls{gap:18px;align-items:center}
.hero-pulse .world-controls>span{font-size:10px;letter-spacing:.05em;max-width:250px}
.hero-compare{font-size:12px;line-height:1.4;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;color:var(--muted);margin-left:auto}
.hero-compare:hover{color:var(--lime)}
.hero-pulse #replay-world{min-height:44px;white-space:nowrap}
/* The reduced-motion default is a fully populated, static campus.
   An explicit press on Motion uses the same override as alpha 4.2.2. */
.hero-pulse.motion-paused .hv-current,.hero-pulse.motion-paused .hv-orb-pulse{opacity:0!important}
@media(max-width:760px){
  .hero-pulse .world-controls{display:grid;grid-template-columns:1fr auto;gap:0 18px;margin-top:0}
  .hero-pulse .world-controls>span{grid-column:1/-1;max-width:none;text-align:center;font-size:10px;color:var(--muted);padding:7px 0}
  .hero-pulse .hero-compare{margin-left:0;justify-self:start}
  .hero-pulse #replay-world{justify-self:end}
}
