.card {
    background-color: var(--color-neutral-100);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-md);
    transition: transform var(--transition-normal), box-shadow var(--transition-normal);
}

.card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.card__image {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.card__body {
    padding: var(--spacing-lg);
}

.card__tag {
    display: inline-block;
    font-family: var(--font-script);
    font-size: var(--font-size-lg);
    color: var(--color-secondary);
    margin-bottom: var(--spacing-xs);
}

.card__title {
    font-family: var(--font-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-lg);
    color: var(--color-neutral-900);
    margin-bottom: var(--spacing-sm);
}

.card__description {
    font-size: var(--font-size-sm);
    color: var(--color-neutral-600);
    line-height: var(--line-height-relaxed);
    margin-bottom: var(--spacing-md);
}

.card__link {
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-xs);
    font-family: var(--font-heading);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-sm);
    color: var(--color-primary);
    transition: color var(--transition-fast), gap var(--transition-fast);
}

.card__link:hover {
    color: var(--color-secondary);
    gap: var(--spacing-sm);
}

.card--product .card__image {
    height: 240px;
}

.card--project .card__image {
    height: 300px;
}

.card--featured {
    border: 2px solid var(--color-secondary);
}

.card--featured .card__title {
    color: var(--color-primary);
}
