.bsm-card {
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}
.bsm-card:hover {
    transform: translateY(-5px);
    border-color: #bdd0f2;
    box-shadow: 0 18px 42px rgba(8,31,67,.12);
}
.bsm-icon {
    width: 52px;
    height: 52px;
    background: linear-gradient(145deg, var(--bsm-navy), #123d7a);
    border-radius: 14px;
    box-shadow: 0 8px 18px rgba(6,27,64,.18);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease;
}
.bsm-icon svg {
    width: 27px;
    height: 27px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.bsm-custom-icon { font-size: 23px; line-height: 1; }
.bsm-card:hover .bsm-icon {
    transform: translateY(-3px) rotate(-3deg) scale(1.08);
    box-shadow: 0 12px 25px rgba(34,102,236,.28);
}
@media (prefers-reduced-motion: reduce) {
    .bsm-card, .bsm-icon { transition: none; }
    .bsm-card:hover, .bsm-card:hover .bsm-icon { transform: none; }
}
