/* Reuse the approved opacity film; only the newly approved cards gain media. */
.card.visual::before { background-position:var(--backdrop-position,center); }
.card.visual .card-media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
  pointer-events:none;
  filter:saturate(.88) contrast(1.05);
}
.card.visual.product-motion .card-media {
  object-fit:contain;
  background:#fff;
}
.card.visual::after { z-index:1; pointer-events:none; }
.card.visual h3,.card.visual p { z-index:2; }

/* Máscara only: each section's objective and work lead; the unchanged Agent
   becomes the shared closing interaction at desktop and mobile widths. */
.workspace.campaign-agent-last { display:block; }
.workspace.campaign-agent-last .agent { position:static; top:auto; margin:28px 0 0; }
.workspace.campaign-agent-last .agent-output { margin-top:22px; }
