.card {
    height: 100%;
    overflow: hidden;
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-small);
}

.card-body { padding: 1.5rem; }

.card h3 { margin-bottom: .7rem; }

.card-link {
    display: inline-flex;
    margin-top: 1rem;
    font-weight: 800;
    text-decoration: none;
}

.icon-card {
    padding: 1.5rem;
}

.icon-badge {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    margin-bottom: 1rem;
    border-radius: 14px;
    background: var(--brand-accent-soft);
    color: var(--brand-primary-dark);
    font-size: 1.15rem;
    font-weight: 900;
}

.problem-card {
    padding: 1.4rem;
    background: white;
    border: 1px solid var(--border-color);
    border-radius: var(--radius-medium);
}

.process-step {
    padding: 1.5rem;
    border-left: 3px solid var(--brand-primary);
    background: white;
    border-radius: 0 var(--radius-medium) var(--radius-medium) 0;
}

.process-step .number {
    display: block;
    margin-bottom: .5rem;
    color: var(--brand-primary);
    font-weight: 900;
}
