/* Compact homepage service strip. All selectors are scoped to this block. */
.bsv-service-strip,
.bsv-service-strip * {
    box-sizing: border-box;
}

.bsv-service-strip {
    margin: 56px 0 20px;
    padding: 26px 30px 22px;
    color: #202327;
    background: #fff;
    border: 1px solid #d9dde1;
    border-radius: 14px;
}

.bsv-service-strip__accent {
    width: 56px;
    height: 3px;
    margin-bottom: 21px;
    background: #a3221a;
}

.bsv-service-strip__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.bsv-service-strip__copy {
    min-width: 0;
}

.bsv-service-strip__eyebrow {
    margin: 0 0 8px;
    color: #a3221a;
    font: bold 13px/18px "Calibri", Arial, sans-serif;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.bsv-service-strip__heading {
    margin: 0;
    color: #202327;
    font: bold 30px/36px "Calibri", Arial, sans-serif;
}

.bsv-service-strip__subtitle {
    margin: 9px 0 0;
    color: #626870;
    font: normal 16px/22px "Calibri", Arial, sans-serif;
}

.bsv-service-strip__phone {
    flex: 0 0 auto;
    padding-top: 25px;
    color: #202327;
    font: bold 17px/22px "Calibri", Arial, sans-serif;
    text-decoration: none;
    white-space: nowrap;
}

.bsv-service-strip__phone:hover,
.bsv-service-strip__phone:focus {
    color: #a3221a;
    text-decoration: underline;
}

.bsv-service-strip__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 21px;
}

.bsv-service-strip__primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    min-height: 44px;
    padding: 10px 18px;
    color: #fff;
    background: #a3221a;
    border-radius: 8px;
    font: bold 15px/20px "Calibri", Arial, sans-serif;
    text-decoration: none;
    transition: background-color .2s ease;
}

.bsv-service-strip__primary:hover,
.bsv-service-strip__primary:focus {
    color: #fff;
    background: #8f1d16;
    text-decoration: none;
}

.bsv-service-strip__primary span,
.bsv-service-strip__secondary span {
    font: normal 20px/18px Arial, sans-serif;
}

.bsv-service-strip__secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    color: #a3221a;
    font: bold 15px/20px "Calibri", Arial, sans-serif;
    text-decoration: none;
}

.bsv-service-strip__secondary:hover,
.bsv-service-strip__secondary:focus {
    color: #8f1d16;
    text-decoration: underline;
}

.bsv-service-strip__primary:focus-visible,
.bsv-service-strip__secondary:focus-visible,
.bsv-service-strip__phone:focus-visible {
    outline: 2px solid #a3221a;
    outline-offset: 3px;
}

.bsv-service-strip__services {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
    margin: 21px 0 0;
    padding: 17px 0 0;
    border-top: 1px solid #e4e6e7;
    list-style: none;
}

.bsv-service-strip__services li {
    position: relative;
    margin: 0;
    padding-left: 13px;
    color: #626870;
    font: normal 14px/19px "Calibri", Arial, sans-serif;
}

.bsv-service-strip__services li::before {
    position: absolute;
    top: 7px;
    left: 0;
    width: 5px;
    height: 5px;
    background: #a3221a;
    border-radius: 50%;
    content: "";
}

@media (max-width: 767px) {
    .bsv-service-strip {
        margin-top: 60px;
        padding: 22px 20px 20px;
        border-radius: 10px;
    }

    .bsv-service-strip__top {
        flex-direction: column;
        gap: 12px;
    }

    .bsv-service-strip__heading {
        font-size: 25px;
        line-height: 30px;
    }

    .bsv-service-strip__phone {
        padding: 0;
    }

    .bsv-service-strip__actions {
        margin-top: 18px;
    }

    .bsv-service-strip__primary {
        width: 100%;
    }

    .bsv-service-strip__services {
        gap: 8px 16px;
        margin-top: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .bsv-service-strip__primary {
        transition: none;
    }
}
