The idea
@container queries the size of a *container* — an ancestor with container-type — not the viewport. Set container-type: inline-size on the container, then @container (min-width: 300px) styles its descendants based on the container's own width.
The card is 50% of the stage, so it is 210px at 420px and 350px at 700px — only the wide stage crosses the 300px threshold. Validated at both widths.