.card{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:transform var(--transition-base),box-shadow var(--transition-base),border-color var(--transition-base)}.card:hover{transform:translateY(-6px);border-color:var(--border-color-strong);box-shadow:var(--shadow-lg)}.card-image{position:relative;overflow:hidden}.card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.card:hover .card-image img{transform:scale(1.05)}.card-content{display:flex;flex-direction:column;flex:1;padding:28px}.card-title{margin:0 0 14px;color:var(--heading);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);line-height:1.3}.card-title a{color:inherit;text-decoration:none}.card-title a:hover{color:var(--primary)}.card-text{flex:1;color:var(--text-muted);line-height:1.7}.card-meta{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0;color:var(--gray-500);font-size:var(--font-size-sm)}.card-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding-top:20px}.card-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.06em}@media(max-width:640px){.card-content{padding:22px}.card-footer{flex-direction:column;align-items:stretch}.card-footer .btn{width:100%}}