.card{background-color:var(--color-white);border:.5px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6);transition:box-shadow .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-lg)}.card-link,a.card{color:inherit;cursor:pointer;display:block;text-decoration:none}.card-link:hover,a.card:hover{box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-2px)}.card-header{margin-bottom:var(--space-4)}.card-body{flex:1}.card-footer{border-top:1px solid var(--border-light);margin-top:var(--space-4);padding-top:var(--space-4)}.card-image{border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:calc(var(--space-6)*-1);margin-bottom:var(--space-5);overflow:hidden}.card-image img{display:block;height:auto;width:100%}.card-title{color:var(--color-slate-900);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-2)}.card-description{color:var(--color-slate-700);font-size:var(--text-base);line-height:1.5}.card-flat{box-shadow:none}.card-flat:hover{box-shadow:var(--shadow-md)}.card-bordered{border-color:var(--border-light);box-shadow:none}.card-bordered:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm)}.card-elevated{border:none;box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:var(--shadow-xl)}.card-subtle{background-color:var(--color-slate-50);border-color:var(--border-subtle);box-shadow:none}.card-subtle:hover{background-color:var(--color-white);box-shadow:var(--shadow-md)}.card-surface{background:var(--gradient-surface);border-color:var(--border-light)}.card-sm{border-radius:var(--radius-md);padding:var(--space-4)}.card-lg{border-radius:var(--radius-xl);padding:var(--space-8)}.card-grid{display:grid;gap:var(--space-6)}.card-grid-2{grid-template-columns:repeat(2,1fr)}.card-grid-3{grid-template-columns:repeat(3,1fr)}.card-grid-4{grid-template-columns:repeat(4,1fr)}.card-flex{display:flex;flex-direction:column}.card-flex .card-body{flex:1}@media (max-width:767px){.card-grid-2,.card-grid-3,.card-grid-4{grid-template-columns:1fr}.card-lg{padding:var(--space-6)}}@media (min-width:768px) and (max-width:1023px){.card-grid-3,.card-grid-4{grid-template-columns:repeat(2,1fr)}}