/* services-tools.css */
main {
	--srv-tls-icn-s: 2.5rem;  
}

.srv-icn {
    font-size: var(--srv-tls-icn-s);
}
/* banner-v1.css */
.bnr.v1 {
  --bnr-tls-pd-v-tp: 165; 
  --bnr-tls-pd-v-tp-mbl: 75; 
  --bnr-tls-pd-v-bt: 197; 
  --bnr-tls-pd-v-bt-mbl: 75; 
  --bnr-img-bg-o: 1;
  --fnt-t-k-ls: 0.622rem;

  .fnt_t-k {
    padding-inline: 3rem;
    padding-block: 1.1rem;
  }
}

/* content-v8.css */
.cnt.v8 {
    --cnt-v8-hx-s: 268;
    --cnt-v8-hx-s-mbl:  16;
    --cnt-v8-hx-s-clc: calc((var(--cnt-v8-hx-s-mbl) * 1px) + (var(--cnt-v8-hx-s) - var(--cnt-v8-hx-s-mbl)) * ((var(--vw_) - 320px) / (1920 - 320)));

    --cnt-v8-bg-o: 1;

    .hex-dcr {
        position: absolute;
        width: var(--cnt-v8-hx-s-clc);
        height: var(--cnt-v8-hx-s-clc);
        z-index: 0;
        pointer-events: none;
        bottom: var(--pd-v);
        right: calc((var(--cnt-v8-hx-s-clc) * .45) * -1);

        svg {
            font-size: var(--cnt-v8-hx-s-clc);
        }
    }

    .f_gp:not(:has(> .three-8ths *)) {
        .three-8ths {
            display: none;
        }
    }
    .ui-scroll{
        max-height: 40rem;
    }
}

/* services-v9.css */
.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;
        }
    }
}
