.srv.v9 {
    /* Brand blue section surface (#135786) — matches the design; the optional
       background image overlays this via .bg-image when authored. */
    position: relative;
    background-color: var(--lt-btn-pry);
    overflow: hidden;

    --srv-v9-bar-h: 0.3125rem;
    --srv-v9-bar-gap: 1.25rem;

    /* -- Header -------------------------------------------------- */
    &[data-colors="alternate-dark"]{
        background-color: #135786 !important;
    }
    .srv-v9-header {
        text-align: center;
    }

    .flr_hd {
        display: flex;
        justify-content: center;
        margin-block: 1.5rem;
    }

    .srv-v9-sub {
        font-family: var(--fnt-t);
        font-size: clamp(1.25rem, 1rem + 1vw, 2rem);
        line-height: 1.5;
        color: var(--text-color);
    }

    /* -- Cards --------------------------------------------------- */

    .srv-v9-card {
        gap: 1.875rem;
        padding: 1.25rem 1.25rem 3.125rem;
        text-decoration: none;
        text-align: center;
    }

    .srv-v9-media {
        width: 100%;
        aspect-ratio: 337 / 272;
        overflow: hidden;
        border-radius: inherit;

        picture,
        img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .srv-v9-body {
        display: flex;
        flex-direction: column;
        gap: 0.875rem;
    }

    .srv-v9-title {
        display: block;
        font-family: var(--fnt-t);
        font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1875rem);
        line-height: 1;
    }

    .srv-v9-desc {
        font-family: var(--fnt-m);
        font-size: 1.25rem;
        line-height: 1.8;
        color: var(--text-color);
    }

    /* -- Decorative stepped bars --------------------------------- */

    .srv-v9-bars {
        position: absolute;
        left: 0;
        right: 0;
        display: flex;
        flex-direction: column;
        gap: var(--srv-v9-bar-gap);
        pointer-events: none;
        z-index: 1;

        span {
            display: block;
            height: var(--srv-v9-bar-h);
            border-radius: 100rem;
            background-color: var(--white, #ffffff);
        }

        span:nth-child(1) { width: 66%; }
        span:nth-child(2) { width: 50%; }
        span:nth-child(3) { width: 38%; }
    }

    .srv-v9-bars-top {
        top: 1.875rem;
        align-items: flex-end;
    }

    .srv-v9-bars-bottom {
        bottom: 1.875rem;
        align-items: flex-start;
    }

    @media screen and (max-width: 43.75rem) {
        .srv-v9-bars {
            display: none;
        }
    }
}
