
.sbf-section{
    width:100%;
    background:var(--sbf-bg);
    padding:var(--sbf-pad) 24px;
    box-sizing:border-box;
    font-family:var(--sbf-body-font);
}
.sbf-inner{
    max-width:1240px;
    margin:0 auto;
}
.sbf-main-title{
    margin:0;
    text-align:center;
    color:var(--sbf-title);
    font-family:var(--sbf-title-font);
    font-size:var(--sbf-title-size);
    line-height:1.2;
    font-weight:400;
}
.sbf-subtitle{
    max-width:760px;
    margin:14px auto 0;
    text-align:center;
    color:var(--sbf-text);
    font-size:var(--sbf-text-size);
    line-height:1.6;
}
.sbf-divider{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:16px;
    margin:22px auto 40px;
    color:var(--sbf-accent);
}
.sbf-divider span{
    width:86px;
    height:1px;
    background:var(--sbf-accent);
    opacity:.7;
}
.sbf-divider i{
    font-style:normal;
    font-size:22px;
    line-height:1;
}
.sbf-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:34px;
}
.sbf-item{
    text-align:center;
    color:var(--sbf-text);
}
.sbf-media{
    height:calc(var(--sbf-image-size) + 12px);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:18px;
}
.sbf-media img{
    width:var(--sbf-image-size);
    height:var(--sbf-image-size);
    object-fit:contain;
    display:block;
}
.sbf-placeholder{
    width:var(--sbf-image-size);
    height:var(--sbf-image-size);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--sbf-accent);
    font-size:calc(var(--sbf-image-size) * .8);
    line-height:1;
}
.sbf-item h3{
    margin:0 0 12px;
    color:var(--sbf-title);
    font-family:var(--sbf-title-font);
    font-size:var(--sbf-item-title-size);
    font-weight:400;
    line-height:1.3;
}
.sbf-item p{
    margin:0 auto;
    max-width:260px;
    color:var(--sbf-text);
    font-size:var(--sbf-text-size);
    line-height:1.55;
}

@media(max-width: 900px){
    .sbf-grid{
        grid-template-columns:repeat(2, minmax(0,1fr));
        gap:40px 28px;
    }
}
@media(max-width: 580px){
    .sbf-section{
        padding-left:20px;
        padding-right:20px;
    }
    .sbf-main-title{
        font-size:clamp(30px, 10vw, var(--sbf-title-size));
    }
    .sbf-grid{
        grid-template-columns:1fr;
        gap:38px;
    }
    .sbf-item p{
        max-width:320px;
    }
}
