/* blur effect  */

.blur-in {
    filter: blur(0.7rem);
    will-change: filter;
}

/* when visible, unblur once */
.blur-in.is-visible {
    animation: blur-out 500ms ease-out forwards;
}

@keyframes blur-out {
    from {
        filter: blur(0.7rem);
    }

    to {
        filter: blur(0);
    }
}

/* end of blur effect  */


/* hero  */

.hero-container {
    width: 100%;
    padding: 64px 10%;
    position: relative;
    min-height: 700px;
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (min-width: 768px) and (max-width: 1024px) {
    .hero-container {
        padding: 64px 5%;
        min-height: 600px;
    }
}

@media (max-width: 767px) {
    .hero-container {
        align-items: end;
        padding: 0 !important;
        min-height: 550px;
    }

    .hero-container .hero-wrapper {
        padding: 0 !important;
    }

    .hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper {
        background-color: rgba(255, 255, 255, .7) !important;
    }

}

@media (max-width: 576px) {
    .hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper {
        padding: 32px 16px !important;
    }

    .hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-title-wrapper {
        padding: 12px 16px !important;
    }
}

.hero-container .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0, 0, 0, .15), rgba(0, 0, 0, .25));
    z-index: 1;
}

.hero-container .hero-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    pointer-events: none;
    z-index: 0;
}

.hero-container .hero-wrapper {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    padding: 0 5%;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-title-wrapper {
    background-color: #374151;
    padding: 12px 32px 12px 32px;
    text-align: left;
    width: fit-content;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-title-wrapper h1 {
    font-size: 18px;
    margin-bottom: 0;
    color: #fff;
    font-weight: bold;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper {
    background-color: rgb(255, 255, 255, 0.9);
    padding: 48px 32px 48px 32px;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper h2 {
    font-size: 32px;
    margin-bottom: 48px;
    position: relative;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper h2::before {
    content: "";
    position: absolute;
    bottom: -15px;
    left: 0;
    height: 3px;
    width: 200px;
    max-width: 100%;
    background-color: #374151;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper p {
    margin-bottom: 24px;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border: 1px solid transparent;
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    text-wrap: nowrap;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .primary-hero-cta:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


/* secondary cta  */

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: rgb(0, 165, 111);
    background-color: transparent;
    border: 1px solid rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    text-wrap: nowrap;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta:hover {
    background-color: rgb(0, 165, 111);
    color: #fff;
}

/* FOCUS-VISIBLE — ring outside the border */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta:focus-visible {
    outline: 2px solid rgb(0, 165, 111);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(0, 165, 111) 25%, transparent);
}

/* FOCUS fallback + suppress mouse focus */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta:focus {
    outline: 2px solid rgb(0, 165, 111);
    outline-offset: 2px;
}

.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE — darker fill + tiny press */
.hero-container .hero-wrapper .hero-inner-size-wrapper .hero-service-description-wrapper .hero-cta-wrapper .secondary-hero-cta:active {
    background-color: rgb(3 109 74);
    border-color: rgb(3 109 74);
    color: #fff;
}


/* end of hero  */



/* google reviews  */

/* ——— scope everything to .ksgr ——— */
.ksgr {
    max-width: 90%;
    width: 100%;
    margin: 0 auto;
    position: relative;
    padding: 64px 32px;
}

@media (max-width: 767px) {
    .ksgr {
        padding: 32px 16px !important;
    }
}

/* cards (slides) */
.ksgr .review {
    padding: 20px;
  
    background: #f5f5f5;
    box-shadow: rgba(149, 157, 165, .2) 0 8px 24px;
    border-radius: 4px !important;
    height: 230px;
}

.ksgr .review:hover {
    cursor: pointer;
}

.ksgr .user-wrapper {
    display: flex;
    align-items: center;
    gap: 12px;
}

.ksgr .user-img {
    border-radius: 50%;
    width: 50px !important;
    height: 50px !important;
}

.ksgr .user-info {
    display: flex;
    flex-direction: column;
    margin-left: 10px;
    margin-bottom: 24px;
}

.ksgr .user-name {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 4px;
}

/* stars */
.ksgr .fas.fa-star {
    font-size: 20px;
}

.ksgr .fa-star:before {
    color: #fbbc05;
}

/* nav */
.ksgr .ksgr__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    position: relative;
    width: 100%;
}

.ksgr .ksgr__prev,
.ksgr .ksgr__next {
    background-color: #ff8000b0;
    border: 0;
    color: #fff;
    width: 45px;
    height: 45px;
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    z-index: 10;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.ksgr .ksgr__prev:hover,
.ksgr .ksgr__next:hover {
    background-color: #ff7f00 !important;
}

@media (min-width:1120px) {
    .ksgr .ksgr__prev {
        left: 10px;
    }

    .ksgr .ksgr__next {
        right: 10px;
    }
}

@media (min-width:767px) and (max-width:1119px) {
    .ksgr {
        max-width: 700px;
    }

    .ksgr .ksgr__prev {
        left: 10px;
    }

    .ksgr .ksgr__next {
        right: 10px;
    }
}

@media (max-width:767px) {
    .ksgr {
        max-width: 95%;
    }

    .ksgr .ksgr__prev {
        left: 0;
    }

    .ksgr .ksgr__next {
        right: 0;
    }
}

/* dots (replacing .owl-dots/.owl-dot) */
.ksgr .ksgr__dots {
    text-align: center;
    margin-top: 20px;
}

.ksgr .ksgr__dot {
    display: inline-block;
    margin: 0 5px;
}

.ksgr .ksgr__dot span {
    width: 12px;
    height: 12px;
    background: #0B2465;
    display: block;
    border-radius: 50%;
    transition: background .3s;
}

.ksgr .ksgr__dot.active span {
    background: #333;
}

/* modal (scoped) */
.ksgr .reviewModal {
    display: none;
    position: fixed;
    z-index: 100;
    inset: 0;
    overflow: auto;
    background: rgba(0, 0, 0, .4);
    align-items: center;
    justify-content: center;
}

.ksgr .reviewModal-content {
    background: #fefefe;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
    max-width: 600px;
    border-radius: 10px;
   
}

.ksgr .closeReviewModal {
    background: none;
    border: 0;
    color: #aaa;
    font-size: 28px;
    font-weight: bold;
    float: right;
    cursor: pointer;
}

.ksgr .closeReviewModal:hover {
    color: #000;
}

.ksgr .reviewModalWrapper {
    display: flex;
    align-items: center;
}

.ksgr .modal-user-info {
    margin-bottom: 24px;
    margin-left: 12px;
}

.ksgr .modal-review-rating {
    margin-top: 4px;
}

.ksgr .modal-user-name {
    font-size: 20px;
    font-weight: 600;
}

/* end of google reviews  */

/* related services  */

.related-services-container {
    width: 100%;
    padding: 64px 32px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.related-services-container .related-services-intro {
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}

.related-services-container .related-services-intro h2 {
    font-size: 32px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 24px;
}

.related-services-container .related-services-grid {
    max-width: 1300px;
    width: 100%;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.related-services-container .related-services-grid .related-services-item-wrapper {
    min-height: 18.875rem;
    padding: 1rem;
    width: calc(50% - 20px);
    max-width: 50%;
}

@media (max-width: 1024px) {
    .related-services-container .related-services-grid .related-services-item-wrapper {
        padding: 0;
    }
}

@media (max-width: 767px) {
    .related-services-container .related-services-grid .related-services-item-wrapper {
        max-width: 100%;
        width: 100%;
    }

    .related-services-container {
        padding: 32px 16px !important;
    }

    .related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content {
        width: 85% !important;
    }
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item {
    position: relative;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

/* OVERLAY */
.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        120deg,
        rgba(0, 0, 0, 0.7) 0%,
        rgba(0, 0, 0, 0.4) 50%,
        rgba(0, 0, 0, 0.1) 100%
    );
    z-index: 1;
    pointer-events: none; /* don’t block clicks on the CTA */
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content-desc {
    margin-bottom: 24px;
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content-desc h4 {
	color: #fff;
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content {
    padding: 32px;
    width: 66%;
    height: 100%;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 1;
    color: #fff;
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-content .related-services-item-content-link a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-image {
    position: absolute;
    display: block;
    padding: 0;
    width: 100%;
    height: 100%;
    inset: 0;
}

.related-services-container .related-services-grid .related-services-item-wrapper .related-services-item .related-services-item-image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: center center;
}


/* end of related services  */

/* service-reasons list  */

.service-reason-container {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 64px 32px;
	background: #f3f5f7;
}

.service-reason-container .service-reason-wrapper {
    width: 100%;
    max-width: 1400px;
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1024px) {
    .service-reason-container .service-reason-wrapper {
        flex-direction: column-reverse;
    }

    .service-reason-container .service-reason-wrapper .service-reason-content,
    .service-reason-container .service-reason-wrapper .service-reason-img {
        width: 100% !important;
    }

    .service-reason-container .service-reason-wrapper .service-reason-img {
        display: flex;
        justify-content: center;
    }

    .service-reason-container .service-reason-wrapper .service-reason-img img {
        max-height: 400px;
        width: auto !important;
        margin: auto;
    }
}

@media (max-width: 767px) {
    .service-reason-container {
        padding: 32px 16px !important;
    }
}

.service-reason-container .service-reason-wrapper .service-reason-content {
    width: 50%;
}

.service-reason-container .service-reason-wrapper .service-reason-content img {
    width: 120px;
    height: auto;
    max-width: 100%;
}

.service-reason-container .service-reason-wrapper .service-reason-content h2 {
    margin-bottom: 24px;
    font-size: 32px;
    font-weight: 500;
}

.service-reason-container .service-reason-wrapper .service-reason-content a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.service-reason-container .service-reason-wrapper .service-reason-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.service-reason-container .service-reason-wrapper .service-reason-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.service-reason-container .service-reason-wrapper .service-reason-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.service-reason-container .service-reason-wrapper .service-reason-content a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.service-reason-container .service-reason-wrapper .service-reason-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


.service-reason-container .service-reason-wrapper .service-reason-img {
    width: 50%;
}

.service-reason-container .service-reason-wrapper .service-reason-img img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

/* end of service reason  */


/* companies work with  */

.companies-work-with-container {
    width: 100%;
    max-width: 100%;
    padding: 64px 32px;
}

.companies-work-with-container .companies-work-with-intro {
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}

.companies-work-with-container .companies-work-with-intro h2 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 32px;
}

@media (max-width: 767px) {
    .companies-work-with-container {
        padding: 32px 16px !important;
    }
}

.companies-work-with-container .companies-work-with-wrapper {}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-slider {}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-slider .companies-work-slider-item {
	display: flex;
	align-items: center;
	justify-content: center;
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-slider .companies-work-slider-item img {}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls {
    width: 100%;
    justify-content: center;
    gap: 20px;
    margin-top: 24px;
    display: none;
}

@media (max-width: 767px) {
    .companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls {
        display: flex !important;
        justify-content: end;
    }
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-previous,
.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-next {
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid black;
    border-radius: 1000px;
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-previous:hover,
.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-next:hover {
    background-color: black;

}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-previous:hover svg,
.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-next:hover svg {
    fill: #fff;
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-previous svg,
.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-next svg {
    width: 24px;
    height: 24px;
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-previous {
    transform: rotate(90deg);
}

.companies-work-with-container .companies-work-with-wrapper .companies-work-with-controls .control-next {
    transform: rotate(-90deg);
}

/* end of companies work with  */

/* specific service  */

.specific-service-container {
    width: 100%;
    margin: auto;
    display: flex;
    justify-content: center;
    padding: 64px 32px;
}

.specific-service-container .specific-service-wrapper {
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 1400px;
}

.specific-service-container .specific-service-wrapper .specific-service-image {
    width: 50%;
}

.specific-service-container .specific-service-wrapper .specific-service-image img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

.specific-service-container .specific-service-wrapper .specific-service-content {
    width: 50%;
}

.specific-service-container .specific-service-wrapper .specific-service-content ol li {
	margin-bottom: 16px;
}

.specific-service-container .specific-service-wrapper .specific-service-content h2 {
    margin-bottom: 24px;
    font-size: 32px;
    font-weight: 500;
}

.specific-service-container .specific-service-wrapper .specific-service-content p {
    margin-bottom: 24px;
}

.specific-service-container .specific-service-wrapper .specific-service-content a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.specific-service-container .specific-service-wrapper .specific-service-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.specific-service-container .specific-service-wrapper .specific-service-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.specific-service-container .specific-service-wrapper .specific-service-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.specific-service-container .specific-service-wrapper .specific-service-content a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.specific-service-container .specific-service-wrapper .specific-service-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

@media (max-width: 1024px) {
    .specific-service-container .specific-service-wrapper {
        flex-direction: column;
    }

    .specific-service-container .specific-service-wrapper .specific-service-image,
    .specific-service-container .specific-service-wrapper .specific-service-content {
        width: 100% !important;
    }

    .specific-service-container .specific-service-wrapper .specific-service-image {
        display: flex;
        justify-content: center;
    }

    .specific-service-container .specific-service-wrapper .specific-service-image img {
        max-height: 400px;
        width: auto;
        margin: auto;
    }
}

@media (max-width: 767px) {
    .specific-service-container {
        padding: 32px 16px !important;
    }
}

/* end of specific service  */


/* service quote  */

.service-quote-container {
    max-width: 1400px;
    width: 100%;
    margin: auto;
    padding: 64px 32px;
}

.service-quote-container .service-quote-wrapper {
    display: flex;
    gap: 64px;
    align-items: stretch;
}

@media (max-width: 1024px) {
    .service-quote-container .service-quote-wrapper {
        flex-direction: column;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container,
    .service-quote-container .service-quote-wrapper .service-info {
        width: 100% !important;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container .quote-intro-container {
        position: static !important;
        transform: none !important;
        width: 100% !important;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container {
        display: flex;
        flex-direction: column;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container .map-google-map-container {
        display: flex;
        order: 2;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container .quote-intro-container {
        display: flex;
        flex-direction: column;
        order: 1;
        margin-bottom: 24px;
    }
}

@media (max-width: 767px) {
    .service-quote-container .service-quote-wrapper .map-quote-container .quote-intro-container {
        padding: 20px !important;
    }

    .service-quote-container {
        padding: 32px 16px !important;
    }
}

@media (max-width: 576px) {
    .service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container {
        width: 100% !important;
		max-width: 95%;
		height: auto!important;
    }
	.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-img {
		width: 40%;
	}

    .service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list li p {
        font-size: 12px;
    }

    .service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info h5 {
        font-size: 16px !important;
    }
}

.service-quote-container .service-quote-wrapper .map-quote-container {
    width: 60%;
    position: relative;
}

.service-quote-container .service-quote-wrapper .map-quote-container .map-google-map-container {
    width: 100%;
    height: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.service-quote-container .service-quote-wrapper .map-quote-container .map-google-map-container iframe {
    width: 100%;
    height: 100%;
    overflow: hidden;
    min-height: 450px;
    border-radius: 12px;
}

.service-quote-container .service-quote-wrapper .map-quote-container .quote-intro-container {
    box-shadow: rgba(51, 69, 87, 0.08) 0px 10px 10px;
    display: block;
    position: absolute;
    width: 80%;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: rgb(255, 255, 255);
    padding: 3.125rem;
    border-radius: 12px;
}

.service-quote-container .service-quote-wrapper .map-quote-container .quote-intro-container h3 {}


.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container {
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: 20px;
    display: flex;
    width: 480px;
    height: 160px;

}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-img {}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center center;
    border-bottom-left-radius: 12px;
    border-top-left-radius: 12px;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info {
    padding: 10px;
    background-color: #fff;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
    flex-grow: 1;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info h5 {
    font-size: 18px;
    font-weight: bold;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list li {
    display: flex;
    gap: 8px;
    margin-bottom: 16px;
    align-items: center;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list li p {
    margin: 0;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list li .james-info-icon-item {}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list .james-info-icon-item svg {
    width: 24px;
    min-width: 24px;
    height: auto;
}

.service-quote-container .service-quote-wrapper .map-quote-container .james-quote-container .james-info .james-info-list .james-info-icon-item p {
    margin: 0;
}


/* info  */
.service-quote-container .service-quote-wrapper .service-info {
    width: 40%;
    display: flex;
    flex-direction: column;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-intro {
    margin-bottom: 24px;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-intro h3 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 24px;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper {}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item {
    display: flex;
    gap: 12px;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item .service-info-list-item-icon-wrapper {
    min-width: 40px;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item .service-info-list-item-icon-wrapper svg {
    width: 40px;
    height: auto;
    max-width: 100%;
    min-width: 40px;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item .service-info-list-item-description {}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item .service-info-list-item-description h5 {
    font-size: 18px;
    font-weight: bold;
}

.service-quote-container .service-quote-wrapper .service-info .service-info-list-wrapper .service-info-list .service-info-list-item .service-info-list-item-description p {
    margin-bottom: 12px;
}

.service-info-list-separator {
    width: 100%;
    border-right: none;
    border-bottom: none;
    border-left: none;
    border-image: initial;
    border-top: 2.5px dotted rgb(193, 192, 192);
    margin: 20px 0 !important;
}

/* end of service quote  */


/* more reasons  */

.more-reasons-container {
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 16px;
}

.more-reasons-container .more-reasons-wrapper {
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: rgb(249, 249, 249);
    border-radius: 12px;
}

@media (max-width: 767px) {
    .more-reasons-container .more-reasons-wrapper {
        flex-direction: column;
        gap: 16px;
    }

    .more-reasons-container .more-reasons-wrapper .reasons-content .reasons-img-wrapper {
        margin: 0 !important;
    }
}

@media (max-width: 576px) {
    .more-reasons-container .more-reasons-wrapper .reasons-content {
        flex-direction: column;
        align-items: start !important;
        gap: 16px;
    }

    .more-reasons-container .more-reasons-wrapper {
        align-items: start !important;
    }

    .more-reasons-container .more-reasons-wrapper .reasons-content .reasons-heading {
        margin: 0 !important;
    }
}

.more-reasons-container .more-reasons-wrapper .reasons-content {
    display: flex;
    align-items: center;
}

.more-reasons-container .more-reasons-wrapper .reasons-content .reasons-img-wrapper {
    min-width: 60px;
    margin-right: 64px;
}

.more-reasons-container .more-reasons-wrapper .reasons-content .reasons-img-wrapper img {
    height: 60px;
    width: auto;
    max-width: 100%;
    min-height: 60px;
}

.more-reasons-container .more-reasons-wrapper .reasons-content .reasons-heading {
    margin: 0 8px;
}

.more-reasons-container .more-reasons-wrapper .reasons-content .reasons-heading h4 {
    font-size: 20px;
	margin-bottom: 0!important;
    font-weight: bold;
}

.more-reasons-container .more-reasons-wrapper .reasons-link {
    display: flex;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.more-reasons-container .more-reasons-wrapper .reasons-link:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.more-reasons-container .more-reasons-wrapper .reasons-link:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.more-reasons-container .more-reasons-wrapper .reasons-link:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.more-reasons-container .more-reasons-wrapper .reasons-link:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.more-reasons-container .more-reasons-wrapper .reasons-link:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


/* end of more reasons  */

/* why choose us  */

.why-choose-us-container {
    width: 100%;
    padding: 16px;
}

.why-choose-us-wrapper {
    padding: 80px 64px;
    max-width: 1200px;
    width: 100%;
    margin: auto;
    border-radius: 12px;
    background-color: #e5ebf3;
}

@media (max-width: 1024px) {
    .why-choose-us-wrapper {
        padding: 40px 32px;
    }
}

@media (max-width: 767px) {
    .why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list {
        flex-direction: column !important;
    }

    .why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item {
        width: 100% !important;
    }

    .why-choose-us-wrapper {
        padding: 40px 16px !important;
    }

    .why-choose-us-wrapper .why-choose-intro h2 {
        font-size: clamp(32px, 10vw, 40px) !important;
    }
}

.why-choose-us-wrapper .why-choose-intro {
    text-align: center;
    margin: auto;
}

.why-choose-us-wrapper .why-choose-intro h2 {
    font-size: 40px;
    font-weight: 500;
    margin-bottom: 48px;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper {
    margin: auto;
    width: 100%;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list {
    display: flex;
    flex-direction: row;
    gap: 40px;
    flex-wrap: wrap;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item {
    width: calc(50% - 40px);
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item .why-choose-us-list-item-container {
    width: 100%;
    display: flex;
    align-items: start;
    gap: 12px;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item .why-choose-us-list-item-container .choose-svg-wrapper {
	width: 96px;
	height: auto;
	min-width: 96px;
	max-width: 100%;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item .why-choose-us-list-item-container .choose-svg-wrapper svg {
	width: 100%;
	height: 100%;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item .why-choose-us-list-item-container h4 {
    font-size: 20px;
    font-weight: bold;
}

.why-choose-us-wrapper .why-choose-us-list-wrapper .why-choose-us-list .why-choose-us-list-item .why-choose-us-list-item-container p {
    margin: 0;
    font-size: 16px;
}


/* how duerdens 4 steps  */

.how-duerdens-container {
    max-width: 1400px;
    margin: auto;
    padding: 64px 16px;
}

.how-duerdens-container h2 {
    text-align: center;
    margin-bottom: 32px;
    font-size: 32px;
    font-weight: 500;
}

.how-duerdens-content-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;
}

.how-duerdens-content-wrapper .steps-img-row {
    display: flex;
    gap: 32px;
    margin-bottom: 24px;
}

.how-duerdens-content-wrapper .steps-img-row .img-step {
    width: 25%;
}

.how-duerdens-content-wrapper .steps-img-row .img-step img {
    width: 100%;
    height: auto;
    max-width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    object-position: center center;
    border-radius: 12px;
}

.how-duerdens-content-wrapper .steps-numbers-row {
    display: flex;
    margin-bottom: 20px;
}

.how-duerdens-content-wrapper .steps-numbers-row .step {
    width: 25%;
    display: flex;
    justify-content: center;
    position: relative;
}

.how-duerdens-content-wrapper .steps-numbers-row .step img {
    width: 25px;
    height: auto;
}

.how-duerdens-content-wrapper .steps-numbers-row .step.firstStep::after {
    content: "";
    width: 50%;
    height: 100%;
    right: 0px;
    max-width: 20.125rem;
    opacity: 0.1;
    background-color: rgb(157, 176, 197);
    position: absolute;
}

.how-duerdens-content-wrapper .steps-numbers-row .step.secondStep::after {
    content: "";
    width: 100%;
    height: 100%;
/*     max-width: 20.125rem; */
    opacity: 0.1;
    background-color: rgb(157, 176, 197);
    position: absolute;
}

.how-duerdens-content-wrapper .steps-numbers-row .step.thirdStep::after {
    content: "";
    width: 100%;
    height: 100%;
/*     max-width: 20.125rem; */
    opacity: 0.1;
    background-color: rgb(157, 176, 197);
    position: absolute;
}

.how-duerdens-content-wrapper .steps-numbers-row .step.fourthStep::after {
    content: "";
    width: 50%;
    left: 0px;
    height: 100%;
    max-width: 20.125rem;
    opacity: 0.1;
    background-color: rgb(157, 176, 197);
    position: absolute;
}

.how-duerdens-content-wrapper .text-row {
    display: flex;
    gap: 32px;
    text-align: center;
}

.how-duerdens-container .how-duerdens-cta {
    display: flex;
    justify-content: center;
}

.how-duerdens-container .how-duerdens-cta a {
    display: flex;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}


.how-duerdens-container .how-duerdens-cta a:hover {
    background-color: rgb(4 129 88);
	color: #fff!important;
}

/* FOCUS-VISIBLE */
.how-duerdens-container .how-duerdens-cta a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.how-duerdens-container .how-duerdens-cta a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.how-duerdens-container .how-duerdens-cta a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.how-duerdens-container .how-duerdens-cta a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}


@media (max-width: 1024px) {
    .how-duerdens-container {
        padding: 32px 16px;
    }
	.how-duerdens-container h2 {
		font-size: 32px!important;
	}

    .how-duerdens-content-wrapper {
        flex-direction: row;
        justify-content: center;
        gap: 8px;
    }

    .steps-img-row {
        flex-direction: column;
        max-width: 300px;
        margin-bottom: 0 !important;
        justify-content: space-between;
    }

    .how-duerdens-content-wrapper .steps-img-row .img-step {
        width: 100%;
        height: 100% !important;
    }

    .how-duerdens-content-wrapper .steps-img-row .img-step img {
        height: 100%;
        object-fit: cover;
        border-radius: 16px;
    }

    .steps-numbers-row {
        flex-direction: column;
        position: static;
        display: flex;
        height: 103%;
        justify-content: center;
        overflow: hidden;
    }

    .steps-numbers-row .step {
        position: relative;
        display: flex;
        height: 100%;
        -webkit-box-pack: center;
        justify-content: center;
        align-items: flex-start;
        z-index: 1;
        width: 100% !important;
        padding-top: 0px;
        max-width: 20.125rem;
    }

    .how-duerdens-content-wrapper .steps-numbers-row .step.firstStep::after {
        width: 100%;
    }

    .how-duerdens-content-wrapper .steps-numbers-row .step.fourthStep::after {
        display: none;
    }

    .text-row {
        flex-direction: column;
        max-width: 300px;
        text-align: start;
    }

    .text-row .text-step {
        text-align: start;
        height: 100%;
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 576px) {
    .how-duerdens-content-wrapper .steps-numbers-row {
        max-width: 16px;
    }

    .how-duerdens-content-wrapper .steps-numbers-row .step img {
        width: 16px;
        height: auto;
        max-width: none !important;
    }

    .text-row .text-step h3 {
        font-size: 20px !important;
    }

    .text-row .text-step p {
        font-size: 16px !important;
    }
}

/* end of 4 steps  */

/* faqs  */

/* home faqs  */

.faq-wrapper {
    padding: 64px 32px;
    width: 100%;
}

.faq-wrapper .faq-intro {
    width: 100%;
    display: flex;
    justify-content: center;
    text-align: center;
}

.faq-wrapper .faq-intro h2 {
    font-size: 48px;
}

@media (max-width: 767px) {
    .faq-wrapper {
        padding: 32px 16px;
    }
}

.faq-container .faq-list {
    width: 100%;
    max-width: 1400px;
    margin: auto;
    display: flex;
    flex-direction: column;
}

.faq-container .faq-list .faq-item {
    border-bottom: 1px solid black;
    width: 100%;
}

.faq-container .faq-list .faq-item .faq {
    width: 100%;
}

.faq-container .faq-list .faq-item .faq button {
    padding: 0 1rem;
    width: 100%;
    border: none;
    background: transparent;
    min-height: 68px;
    display: flex;
    text-align: left;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.faq-container .faq-list .faq-item .faq button .faq-icon {
    height: 1.25rem;
    width: 1.25rem;
    position: relative;
    flex-shrink: 0;
    margin: 1.5rem 1rem 1.5rem 0;
}

.faq-container .faq-list .faq-item .faq button .faq-icon::before {
    background: black;
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    height: 4px;
    width: 1.25rem;
    border-radius: 5px;
    transform: translateY(-50%);
    transition: transform 300ms;
}

.faq-container .faq-list .faq-item .faq button .faq-icon.spin::before {
    transform: translateY(-50%) rotate(180deg);
}

.faq-container .faq-list .faq-item .faq button .faq-icon::after {
    background: black;
    content: " ";
    display: block;
    position: absolute;
    top: 50%;
    height: 4px;
    width: 1.25rem;
    border-radius: 5px;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 300ms;
}

.faq-container .faq-list .faq-item .faq button .faq-icon.spin::after {
    transform: translateY(-50%) rotate(0deg);
}

.faq-container .faq-list .faq-item .faq button .faq-title {
    font-size: 20px;
	color: #000!important;
    font-weight: 700;
}

@media (max-width: 767px) {
	.faq-container .faq-list .faq-item .faq button .faq-title {
		font-size: 18px!important;
	}
}

.faq-container .faq-list .faq-item .faq .faq-body {
    display: grid;
    grid-template-rows: 0fr;
    opacity: 0;
    padding: 0;
    visibility: hidden;
    transition: grid-template-rows 300ms ease, opacity 200ms ease;
}

.faq-container .faq-list .faq-item .faq .faq-body.open {
    grid-template-rows: 1fr;
    opacity: 1;
    padding: 0 16px 16px;
    visibility: visible;
}

.faq-container .faq-list .faq-item .faq .faq-body>* {
    min-height: 0;
    overflow: hidden;
}

.faq-container .faq-list .faq-item .faq .faq-body p {
    margin: 0;
}

/* end of faqs  */

/* our promise service  */

.our-promise-service-container {
    width: 100%;
    max-width: 100%;
}

.our-promise-service-container .our-promise-service-wrapper {
    width: 100%;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content {
    width: 65%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    padding-left: 5%;
    padding-right: 5%;
    background-image: url('https://duerdengroup.com/wp-content/uploads/2025/11/REV-1-DUERDEN_WEB_BG-2-1.png');
    background-color: #f42525;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-tab {
    border: 2px solid #fff;
    border-radius: 100px;
    padding: 6px 12px;
    width: fit-content;
    font-weight: bold;
    font-size: 14px;
    color: #fff;
    margin-bottom: 40px;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-heading {
    width: fit-content;
    max-width: 600px;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-heading h2 {
    font-size: 48px;
    color: #fff;
    margin-bottom: 32px;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-reasons {
    max-width: 600%;
    width: 100%;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-reasons ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-reasons ul li {
    margin-left: 24px;
    padding: 16px 0;
    position: relative;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-reasons ul li::before {
    content: '';
    display: inline-block;
    height: 15px;
    width: 15px;
    background-size: cover;
    background-image: url('https://duerdengroup.com/wp-content/uploads/2025/10/white-diamond.png');
    background-repeat: no-repeat;
    background-position: center center;
    vertical-align: middle;
    margin-top: 5px;
    position: absolute;
    left: -25px;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-reasons ul li span {
    color: #fff;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-image-wrapper {
    width: 35%;
}

.our-promise-service-container .our-promise-service-wrapper .our-promise-service-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    min-height: 700px;
}

@media (max-width: 1024px) {
    .our-promise-service-container .our-promise-service-wrapper {
        flex-direction: column-reverse;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-image-wrapper,
    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-content {
        width: 100% !important;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-content {
        padding: 64px 32px;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-image-wrapper img {
        max-height: 500px;
        min-height: 500px;
        border-top-left-radius: 100px;
    }
}

@media (max-width: 767px) {
    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-content {
        padding: 32px 16px !important;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-image-wrapper img {
        max-height: 350px;
        min-height: 350px;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-tab {
        margin-bottom: 20px;
    }

    .our-promise-service-container .our-promise-service-wrapper .our-promise-service-content .our-promise-service-heading h2 {
        font-size: 40px;
        margin-bottom: 24px;
    }
}

/* end of our promise service  */


/* surveying ---------------------- */

/* info  */

.surveying-info-container {
    width: 100%;
    padding: 64px 32px;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .surveying-info-container {
        padding: 32px 16px !important;
    }

    .surveying-info-container .surveying-info-wrapper .surveying-info-content .surveying-info-statement {
        margin: 32px 12px 32px 12px !important;
    }
}

@media (max-width: 1024px) {
    .surveying-info-container .surveying-info-wrapper {
        flex-direction: column;
    }

    .surveying-info-container .surveying-info-wrapper .surveying-info-image,
    .surveying-info-container .surveying-info-wrapper .surveying-info-content {
        width: 100% !important;
    }

    .surveying-info-container .surveying-info-wrapper .surveying-info-image {
        display: flex;
        justify-content: center;
    }

    .surveying-info-container .surveying-info-wrapper .surveying-info-image img {
        max-height: 400px;
        width: auto !important;
        margin: auto;
    }
}

.surveying-info-container .surveying-info-wrapper {
    width: 100%;
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 40px;
    align-items: center;
}

.surveying-info-container .surveying-info-wrapper .surveying-info-image,
.surveying-info-container .surveying-info-wrapper .surveying-info-content {
    width: 50%;
}

.surveying-info-container .surveying-info-wrapper .surveying-info-image img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

.surveying-info-container .surveying-info-wrapper .surveying-info-content h2 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 24px;
}

.surveying-info-container .surveying-info-wrapper .surveying-info-content .surveying-info-statement {
    width: 100%;
    margin: 32px 24px 32px 24px;
    padding: 8px 16px;
    border-left: 8px solid #f42525;
}

.surveying-info-container .surveying-info-wrapper .surveying-info-content .surveying-info-statement span {
    font-weight: 600;
    color: #f42525;
    font-size: 18px;
}


.surveying-info-container .surveying-info-wrapper .surveying-info-content a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}


.surveying-info-container .surveying-info-wrapper .surveying-info-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.surveying-info-container .surveying-info-wrapper .surveying-info-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.surveying-info-container .surveying-info-wrapper .surveying-info-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.surveying-info-container .surveying-info-wrapper .surveying-info-content a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.surveying-info-container .surveying-info-wrapper .surveying-info-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

/* info break  */

.info-break-container {
    width: 100%;
    max-width: 100%;
    padding: 64px 0;
}

@media (max-width: 767px) {
    .info-break-container {
        padding: 32px 0 !important;
    }

    .info-break-container .info-break-wrapper {
        padding: 0 16px !important;
    }
}

@media (max-width: 1024px) {
    .info-break-container .info-break-wrapper .info-break-inner .break-content {
        flex-direction: column;
        align-items: start !important;
    }

    .info-break-container .info-break-wrapper .info-break-inner .break-content .break-separator {
        height: 1px !important;
        width: 100% !important;
        margin: 0 !important;
    }

    .info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta {
        margin-top: 32px;
        margin-bottom: 32px;
    }
}

@media (max-width: 767px) {
    .info-break-container .info-break-wrapper .info-break-inner {
        flex-direction: column;
    }

    .info-break-container .info-break-wrapper {
        padding: 0 !important;
    }

    .info-break-container .info-break-wrapper .info-break-inner .break-img {
        width: 100% !important;
    }

    .info-break-container .info-break-wrapper .info-break-inner .break-img img {
        max-height: 400px;
    }
}

.info-break-container .info-break-wrapper {
    width: 100%;
    padding: 0 32px;
    background: rgb(0, 165, 111);
}

.info-break-container .info-break-wrapper .info-break-inner {
    width: 100%;
    max-width: 1400px;
    margin: auto;
    display: flex;
}

.info-break-container .info-break-wrapper .info-break-inner .break-img {
    width: 25%;
}

.info-break-container .info-break-wrapper .info-break-inner .break-img img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content {
    flex: 1;
    padding: 0 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-info {
    flex: 1;
    padding: 32px 0;
    text-align: left;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-info h4 {
    margin-bottom: 20px;
	color: #fff;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-info p {
	margin: 0!important;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-info .highlight {
	color: #000;
	font-weight: 700;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-separator {
    height: 50%;
    width: 1px;
    background-color: rgba(255, 255, 255, .5);
    margin: 0 32px;
}


.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta {}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    text-wrap: nowrap;
}


.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a:hover {
    background-color: #fff;
    color: #000;
}

/* FOCUS-VISIBLE — ring outside the border */
.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(0, 165, 111) 25%, transparent);
}

/* FOCUS fallback + suppress mouse focus */
.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a:focus {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE — darker fill + tiny press */
.info-break-container .info-break-wrapper .info-break-inner .break-content .break-content-cta a:active {
    background-color: rgb(3 109 74);
    border-color: rgb(3 109 74);
    color: #fff;
}


/* end of info break  */


/* end of info  */

.surveying-tech-container {
    width: 100%;
    padding: 64px 32px;
    display: flex;
    justify-content: center;
}

@media (max-width: 767px) {
    .surveying-tech-container {
        padding: 32px 16px !important;
    }
}

@media (max-width: 1024px) {

    .surveying-tech-container .surveying-tech-wrapper {
        flex-direction: column-reverse;
    }

    .surveying-tech-container .surveying-tech-wrapper .surveying-tech-content,
    .surveying-tech-container .surveying-tech-wrapper .surveying-tech-image {
        width: 100% !important;
    }

    .surveying-tech-container .surveying-tech-wrapper .surveying-tech-image {
        display: flex;
        justify-content: center;
    }

    .surveying-tech-container .surveying-tech-wrapper .surveying-tech-image img {
        max-height: 400px;
        width: auto !important;
        margin: auto;
    }
}

.surveying-tech-container .surveying-tech-wrapper {
    width: 100%;
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 40px;
    align-items: center;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content,
.surveying-tech-container .surveying-tech-wrapper .surveying-tech-image {
    width: 50%;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-image img {
    width: 100%;
    height: auto;
    max-width: 100%;
    border-radius: 12px;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content h2 {
    font-size: 32px;
    font-weight: 500;
    margin-bottom: 24px;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content ol {}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content ol li {
    margin-bottom: 16px;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a {
    display: flex;
    width: fit-content;
    height: 50px;
    padding: 0 20px;
    color: #fff;
    background-color: rgb(0, 165, 111);
    border-radius: 2px;
    text-decoration: none;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 18px;
    cursor: pointer;
    border: none !important;
    text-wrap: nowrap;
}

.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a:hover {
    background-color: rgb(4 129 88);
}

/* FOCUS-VISIBLE */
.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a:focus-visible {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px color-mix(in srgb, rgb(4 129 88) 30%, transparent);
}

/* FOCUS (fallback) — for browsers without :focus-visible */
.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a:focus {
    outline: 2px solid rgb(4 129 88);
    outline-offset: 2px;
}

/* …but don’t show it for mouse clicks in browsers that DO support :focus-visible */
.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a:focus:not(:focus-visible) {
    outline: none;
    box-shadow: none;
}

/* ACTIVE */
.surveying-tech-container .surveying-tech-wrapper .surveying-tech-content a:active {
    background-color: rgb(3 109 74);
    color: #fff;

}

/* end of surveying  */
