.vlb-service-promo-wrap {
    width: calc(100% - 52px);
    max-width: 1160px;
    margin: 12px auto 40px;
    padding: 0;
}
.vlb-service-promo {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 1;
    overflow: hidden;
    border-radius: 11px;
    background: #fff;
    font-family: Inter, sans-serif;
    letter-spacing: 0;
}
.vlb-service-promo__media {
    position: absolute;
    left: 47.43%;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
}
.vlb-service-promo__media img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
}
.vlb-service-promo__copy {
    position: absolute;
    z-index: 1;
    left: 2.92%;
    top: 16.39%;
}
.vlb-service-promo .vlb-service-promo__title,
.vlb-service-promo .vlb-service-promo__offer {
    padding: 0;
    margin: 0;
    font: 700 38px/46px Inter, sans-serif;
    letter-spacing: 0;
    white-space: nowrap;
}
.vlb-service-promo .vlb-service-promo__title { color: #0d0e11; }
.vlb-service-promo .vlb-service-promo__offer { color: #0978cb; margin-top: 14px; }
.vlb-service-promo__button {
    position: absolute;
    z-index: 2;
    left: 3.06%;
    top: 63.61%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 28.82%;
    height: 23.89%;
    padding: 0 22px;
    border: 0;
    border-radius: 8px;
    background: #0879cb url('/local/img/service-promo/button-desktop.svg') center / 100% 100% no-repeat;
    color: #fff;
    font: 700 25px/30px Inter, sans-serif;
    letter-spacing: 0;
    white-space: nowrap;
    cursor: pointer;
    box-sizing: border-box;
}
.vlb-service-promo__button:hover { background-color: #0566ad; background-image: none; }
.vlb-service-promo__button:focus-visible { outline: 3px solid #062240; outline-offset: 3px; }
.vlb-service-promo__arrow {
    flex: 0 0 28px;
    height: 24px;
    background: url('/local/img/service-promo/arrow-desktop.svg') center / contain no-repeat;
}
@media (max-width: 1199px) {
    .vlb-service-promo .vlb-service-promo__title,
    .vlb-service-promo .vlb-service-promo__offer { font-size: 30px; line-height: 37px; }
    .vlb-service-promo .vlb-service-promo__offer { margin-top: 10px; }
    .vlb-service-promo__button { font-size: 20px; line-height: 25px; padding: 0 16px; gap: 10px; }
    .vlb-service-promo__arrow { flex-basis: 24px; height: 20px; }
}
@media (max-width: 991px) and (min-width: 768px) {
    .vlb-service-promo .vlb-service-promo__title,
    .vlb-service-promo .vlb-service-promo__offer { font-size: 23px; line-height: 28px; }
    .vlb-service-promo .vlb-service-promo__offer { margin-top: 8px; }
    .vlb-service-promo__button { font-size: 16px; line-height: 20px; padding: 0 12px; }
    .vlb-service-promo__arrow { flex-basis: 20px; height: 18px; }
}
@media (max-width: 767px) {
    .vlb-service-promo-wrap { width: calc(100% - 24px); max-width: 430px; margin-bottom: 28px; }
    .vlb-service-promo { aspect-ratio: auto; height: 320px; border-radius: 12px; }
    .vlb-service-promo__media { left: 15.47%; top: 35px; right: 0; bottom: auto; }
    .vlb-service-promo__media img { height: auto; aspect-ratio: 317 / 233; }
    .vlb-service-promo__copy { left: 24px; top: 21px; right: 24px; }
    .vlb-service-promo .vlb-service-promo__title { font-size: 23px; line-height: 28px; white-space: normal; }
    .vlb-service-promo .vlb-service-promo__offer { margin-top: 12px; font-size: 20px; line-height: 26px; white-space: normal; }
    .vlb-service-promo__offer span { display: block; }
    .vlb-service-promo__button { top: auto; bottom: 19px; left: 29px; width: calc(100% - 54px); height: 46px; justify-content: center; gap: 30px; padding: 0 15px; font-size: 18px; line-height: 22px; background-image: url('/local/img/service-promo/button-mobile.svg'); }
    .vlb-service-promo__arrow { flex-basis: 19px; height: 17px; background-image: url('/local/img/service-promo/arrow-mobile.svg'); }
}
@media (max-width: 359px) {
    .vlb-service-promo__copy { left: 20px; right: 20px; }
    .vlb-service-promo .vlb-service-promo__title { font-size: 20px; line-height: 25px; }
    .vlb-service-promo .vlb-service-promo__offer { font-size: 18px; line-height: 24px; }
    .vlb-service-promo__button { left: 20px; width: calc(100% - 40px); font-size: 16px; gap: 20px; }
}
