/* The composer's cut-out stands on the baseline of the stage; the suit colour is --cc on <main>. */
.stage img.cutout { width: min(100%, 780px); aspect-ratio: 1; object-fit: contain; object-position: 50% 100%; transform-origin: 50% 100%; }
.stage .caption { position: absolute; right: 0; top: 0; margin: 0; text-align: right; color: var(--ink-3); z-index: 1; padding: 6px 10px; background: color-mix(in srgb, var(--black) 72%, transparent); }
@media (prefers-reduced-motion: no-preference) {
  .stage img.rise { animation: rise 1.6s var(--ease) both; }
  @keyframes rise { from { transform: translateY(14%); } to { transform: none; } }
}
@media (max-width: 900px) {
  .hero .stage:has(img.cutout) { order: -1; max-height: 70vh; }
  .stage img.cutout { width: min(92%, 520px); }
}
