.services-directory-page {
    color: #111
}

.services-directory-page p,.services-directory-page address {
    font-size: 16px;
    line-height: 1.8
}

.services-directory-hero,.services-group,.services-how,.services-where {
    padding: 70px 0
}

.services-directory-hero,.services-people,.services-how {
    background: #fff
}

.services-concerns,.services-approaches,.services-where {
    background: #fff8ee
}

.services-directory-hero h2 {
    margin: 12px 0 22px;
    font: 400 clamp(25px,2.6vw,38px)/1.25 var(--title);
    color: var(--primary)
}

.services-directory-hero p {
    margin: 0 0 18px
}

.services-directory-image {
    position: relative;
    min-height: 650px;
    padding: 0 72px 92px 0;
    isolation: isolate
}

.services-directory-image>img:first-child {
    display: block;
    width: 100%;
    height: 570px;
    object-fit: cover;
    border: 1px solid rgba(208,170,94,.3);
    border-radius: 24px;
    box-shadow: 0 24px 55px rgba(58,32,37,.12)
}

.services-directory-image img.image-design-secondary {
    position: absolute;
    z-index: 2;
    right: 0;
    bottom: 0;
    width: 54%;
    height: auto;
    aspect-ratio: 1.08/1;
    object-fit: cover;
    border: 9px solid #fff8ee;
    outline: 1px solid rgba(208,170,94,.34);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(78,0,19,.13)
}

.services-directory-hero .services-directory-image img.image-design-secondary {
    border-color: #fff
}

.services-start {
    margin-top: 30px;
    padding: 30px 32px;
    border-left: 5px solid var(--accent);
    background: #fff8ee
}

.services-start h3 {
    margin: 0 0 20px;
    font: 400 30px/1.25 var(--title);
    color: #000
}

.services-start .btn-default {
    border-radius: 999px;
    background: var(--primary);
    color: #fff
}

.services-heading {
    max-width: 900px;
    margin: 0 auto 42px;
    text-align: center
}

.services-heading p {
    margin: 14px 0 0
}

.services-card-grid {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 20px
}

.services-card-grid>a,.services-card-grid>article,.approach-directory-grid article {
    display: block;
    height: 100%;
    padding: 27px;
    border: 1px solid #eadbc7;
    border-radius: 18px;
    background: #fff;
    color: #111;
    transition: .25s ease
}

.services-card-grid>a:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 35px rgba(78,0,19,.08)
}

.services-card-grid h3,.approach-directory-grid h3 {
    margin: 0 0 12px;
    font: 400 20px/1.3 var(--title);
    color: var(--primary)
}

.services-card-grid p,.approach-directory-grid p {
    margin: 0
}

.services-card-grid-people {
    grid-template-columns: repeat(2,minmax(0,1fr))
}

.approach-directory-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 1px;
    border: 1px solid #e3d1b6;
    background: #e3d1b6
}

.approach-directory-grid article {
    border: 0;
    border-radius: 0
}

.approach-directory-note {
    max-width: 1000px;
    margin: 36px auto 0;
    text-align: center
}

.services-text-link {
    display: inline-block;
    margin: 10px 0 20px;
    padding-bottom: 4px;
    border-bottom: 2px solid var(--accent);
    color: var(--primary);
    font-weight: 800
}

.services-how article {
    height: 100%;
    padding: 28px;
    border-radius: 18px;
    background: var(--primary);
    color: #fff
}

.services-how article span {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 22px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent);
    color: var(--primary);
    font-weight: 800
}

.services-how article h3 {
    color: #fff;
    font: 400 27px/1.25 var(--title)
}

.services-how article p {
    margin: 0;
    color: #fff
}

.services-how .text-center {
    margin-top: 30px
}

.services-where address,.final-consultation-section address {
    font-style: normal
}

.services-links,.services-contact {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 28px
}

.services-contact {
    justify-content: center;
    margin: 25px 0
}

.services-contact a {
    color: var(--primary);
    font-weight: 800;
    border-bottom: 2px solid var(--accent)
}

@media(max-width: 991px) {
    .services-directory-hero,.services-group,.services-how,.services-where {
        padding:55px 0
    }

    .services-directory-image {
        min-height: 480px;
        padding: 0 45px 60px 0
    }

    .services-directory-image>img:first-child {
        height: 420px
    }

    .services-directory-image img.image-design-secondary {
        width: 48%;
        border-width: 6px
    }

    .services-card-grid {
        grid-template-columns: repeat(2,minmax(0,1fr))
    }
}

@media(max-width: 575px) {
    .services-directory-hero,.services-group,.services-how,.services-where {
        padding:45px 0
    }

    .services-directory-image {
        min-height: 390px;
        padding: 0 32px 46px 0
    }

    .services-directory-image>img:first-child {
        height: 345px;
        border-radius: 18px
    }

    .services-card-grid,.services-card-grid-people,.approach-directory-grid {
        grid-template-columns: 1fr
    }

    .services-start {
        padding: 26px 22px
    }

    .services-start .btn-default {
        display: block;
        width: 100%;
        padding: 15px;
        font-size: 13px
    }

    .services-contact {
        display: grid
    }
}
