/* Robot de cuisine en 3D dans la scène du héros (public/js/robot.js) : canvas transparent, le fond vient de .hero-stage */
.robot-stage { position: absolute; inset: 0; z-index: 1; }
.robot-stage canvas { opacity: 0; transition: opacity 1.2s ease; }
.robot-stage.is-ready canvas { opacity: 1; }
.robot-stage canvas:active { cursor: grabbing !important; }
.robot-hint {
  position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 2; pointer-events: none;
  font: 500 .66rem/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-soft);
  background: rgba(255, 255, 255, .85); padding: .6rem 1rem; white-space: nowrap; transition: opacity .6s;
}
.robot-hint.is-gone { opacity: 0; }
.robot-stage.is-ready ~ .hero-photo, .hero-stage:has(.robot-stage.is-ready) .hero-photo { opacity: 0; transition: opacity 1.2s ease; }
@media (prefers-reduced-motion: reduce) { .robot-stage canvas, .robot-hint { transition: none; } }
