.ssm-public {
    margin: 32px 0;
}

.ssm-public__title {
    margin: 0 0 20px;
}

.ssm-public__groups {
    --ssm-public-columns: 4;
    display: grid;
    grid-template-columns: repeat(var(--ssm-public-columns), minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.ssm-public__column {
    display: grid;
    gap: 22px;
    align-content: start;
}

.ssm-public__group {
    min-width: 0;
}

.ssm-public__group h3 {
    margin: 0 0 10px;
    font-size: 1.05em;
    line-height: 1.3;
}

.ssm-public__group ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ssm-public__group li {
    position: relative;
    margin: 0;
    padding-left: 22px;
    line-height: 1.45;
}

.ssm-public__group li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: 0.55;
}

@media (max-width: 1100px) {
    .ssm-public__groups {
        --ssm-public-columns: 3;
    }
}

@media (max-width: 780px) {
    .ssm-public__groups {
        --ssm-public-columns: 2;
    }
}

@media (max-width: 520px) {
    .ssm-public__groups {
        --ssm-public-columns: 1;
    }
}
