/* build-choreo — hands travel stepped; objects silk (HOUSE-RESERVED)
   Spec: docs/ops/2026-08-02-HANDS-OBJECTS-MASTER-SPEC.md §3 */

[data-bc-stage] {
  --bc-silk: cubic-bezier(0.32, 0.72, 0, 1);
  position: relative;
  min-height: 70vh;
  overflow: hidden;
}

[data-bc-stage] .bc-hand {
  position: absolute;
  width: min(42vw, 280px);
  pointer-events: none;
  opacity: 0;
  will-change: transform, opacity;
  z-index: 4;
}
[data-bc-stage] .bc-hand img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 18px 28px rgba(23, 24, 28, 0.28));
}
[data-bc-stage] .bc-hand[data-hero-pending]::after {
  content: "hand cast pending · Fable";
  display: block;
  font: 11px/1.3 system-ui, sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.45;
  padding: 0.5rem 0;
}

[data-bc-stage] .bc-object {
  position: absolute;
  z-index: 3;
  transition: transform 480ms var(--bc-silk), opacity 420ms var(--bc-silk);
  transform: translateY(12px) scale(0.98);
  opacity: 0;
  box-shadow: 0 22px 55px rgba(23, 24, 28, 0.2);
  border-radius: 12px;
}

/* phases — stepped hand motion via steps(); objects silk */
[data-bc-stage].p1 .bc-hand-carry {
  opacity: 1;
  transition: transform 1400ms steps(9, end), opacity 300ms var(--bc-silk);
  transform: translate(0, 0);
}
[data-bc-stage].p1 .bc-object {
  opacity: 1;
  transform: none;
}
[data-bc-stage].p2 .bc-hand-receive {
  opacity: 1;
  transition: transform 1000ms steps(7, end), opacity 280ms var(--bc-silk);
}
[data-bc-stage].p3 .bc-hand-carry {
  opacity: 0;
  transition: opacity 500ms var(--bc-silk) 300ms, transform 500ms steps(5, end);
}
[data-bc-stage].p4 .bc-hand-receive {
  opacity: 0;
  transition: opacity 400ms var(--bc-silk);
}
[data-bc-stage].p5 .bc-hand-press {
  opacity: 1;
  transition: transform 800ms steps(6, end), opacity 240ms var(--bc-silk);
}
[data-bc-stage].p5 .bc-cta {
  opacity: 1;
  transform: none;
  transition: opacity 320ms var(--bc-silk) 320ms, transform 420ms var(--bc-silk) 320ms;
}
[data-bc-stage].p6 .bc-hand-press {
  opacity: 0;
}

[data-bc-stage] .bc-cta {
  opacity: 0;
  transform: translateY(8px);
}

/* default off-stage hand poses (overridden per face) */
[data-bc-stage] .bc-hand-carry { top: 12%; left: -18%; transform: translate(-40px, 20px); }
[data-bc-stage] .bc-hand-receive { bottom: 18%; right: -12%; transform: translate(40px, 10px); }
[data-bc-stage] .bc-hand-press { top: 40%; left: 42%; transform: translateY(30px); }

@media (prefers-reduced-motion: reduce) {
  [data-bc-stage] .bc-hand { display: none !important; }
  [data-bc-stage] .bc-object,
  [data-bc-stage] .bc-cta {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

@media (max-width: 480px) {
  [data-bc-stage] { min-height: 132vh; }
  [data-bc-stage] .bc-object { top: auto; bottom: 12vh; left: 50%; transform: translateX(-50%); }
}
