.card{isolation:isolate;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white);flex-direction:column;min-width:0;display:flex;position:relative}.card:after{content:"";z-index:-1;border-radius:inherit;box-shadow:var(--shadow-2);opacity:0;pointer-events:none;transition:opacity var(--dur-base) var(--ease-standard);position:absolute;inset:0}.card__media{border-radius:var(--radius-md) var(--radius-md) 0 0;background:var(--color-white);aspect-ratio:3/2;overflow:hidden}.card__media img{object-fit:contain;width:100%;height:100%;transition:transform .5s var(--ease-standard)}.card__media--empty{background:repeating-linear-gradient(135deg, var(--color-surface) 0 12px, var(--color-surface-2) 12px 24px);color:var(--color-text-muted);font-size:var(--fs-small);place-items:center;display:grid}.card__body{align-content:start;gap:var(--space-2);padding:var(--space-6);flex:1;display:grid}.card__title{font-size:var(--fs-h4);margin:0}.card__link{color:inherit;text-decoration:none}.card__link:after{content:"";border-radius:inherit;position:absolute;inset:0}.card__link:focus-visible{outline:none}.card:has(.card__link:focus-visible){outline:3px solid var(--color-focus);outline-offset:2px}.card__body p{color:var(--color-text-muted);font-size:var(--fs-small);margin:0}@media (hover:hover) and (pointer:fine){.card{transition:transform var(--dur-base) var(--ease-standard)}.card:hover{transform:translateY(-4px)}.card:hover:after{opacity:1}.card:hover .card__link{text-decoration:underline;-webkit-text-decoration-color:var(--color-accent-500);text-decoration-color:var(--color-accent-500);text-underline-offset:.25em;text-decoration-thickness:2px}}
