.hero-content {
    display: flex;
    flex-direction: column;
    position: relative;
    margin: 5vw 0;
}

.hero-left {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    z-index: 2;
    position: relative;
}

.tag {
    background-color: #1E8F7F;
    color: white;
    font-family: 'Inter', sans-serif;
    font-weight: 700;
    font-size: 0.833vw;
    line-height: 1.1;
    letter-spacing: -4%;
    text-transform: uppercase;
    border-radius: 4px;
    padding: 0.104vw 0.208vw;
    display: inline-block;
}


.hero-content h1 {
    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 900;
    font-size: 6.667vw;
    line-height: 85%;
    letter-spacing: -4%;
    text-transform: uppercase;
    color: #2E2E2E;
    margin: 1.25vw 0 1.667vw;
    word-break: break-word;
}


.hero-content p {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 1.042vw;
    line-height: 140%;
    color: #2E2E2E;
    opacity: 0.7;
    margin: 0 0 3.33vw 0;
    max-width: 26.98vw;
}

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1E8F7F;
    color: #FFF;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.833vw;
    line-height: 0.98;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 12px;
    height: 3.229vw;
    padding: 0.417vw 3.229vw 0.417vw 0.833vw;
    position: relative;
    overflow: hidden;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
    cursor: pointer;
    border: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.btn__text {
    position: relative;
    z-index: 2;
    white-space: nowrap;
    transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.btn__icon {
    position: absolute;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.396vw;
    height: 2.396vw;
    background: #FFF;
    border-radius: 8px;
    transform: translateY(-50%);
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 2;
    overflow: hidden;
}

.btn__icon img {
    width: 1.25vw;
    height: 1.25vw;
    display: block;
}

.btn__icon--right {
    right: 0.417vw;
    opacity: 1;
    width: 2.396vw;
    height: 2.396vw;
    transform: translateY(-50%) translateX(0);
}

.btn__icon--left {
    left: 0.417vw;
    right: auto;
    opacity: 0;
    width: 0;
    height: 0;
    transform: translateY(-50%) translateX(-10px);
}


@media (min-width: 1025px) {
    .btn:hover {
        background: #2E2E2E;
        border: 1px solid #2E2E2E;
        color: #fff;
    }

    .btn:hover .btn__icon--right {
        opacity: 0;
        width: 0;
        height: 0;
    }

    .btn:hover .btn__icon--left {
        opacity: 1;
        width: 2.396vw;
        height: 2.396vw;
        transform: translateY(-50%) translateX(0);
    }

    .btn:hover .btn__text {
        transform: translateX(2.5vw);
    }
}


@media (max-width: 1024px) {
    .hero-content {
        margin: 64px 0;
    }


    .tag {
        font-size: 16px;
        padding: 2px 4px;
    }

    .hero-content h1 {
        font-size: 64px;
        line-height: 85%;
        margin: 24px 0;
    }

    .hero-content p {
        font-size: 16px;
        line-height: 1.5;
        margin: 0 0 24px;
        max-width: none;
    }

    .btn {
        display: flex;
        justify-content: space-between;
        height: 62px;
        padding: 8px 8px 8px 16px;
        font-size: 16px;
        gap: 12px;
        transition: none !important;
        animation: none !important;
        will-change: auto !important;
    }

    .btn:hover,
    .btn:active,
    .btn:focus {
        background: #1E8F7F !important;
        color: #FFF !important;
        transform: none !important;
    }

    .btn__text {
        width: 100%;
        text-align: left;
        transform: none !important;
        padding-right: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        transition: none !important;
    }

    .btn__icon {
        position: relative !important;
        top: auto;
        transform: none !important;
        width: 46px;
        height: 46px;
        flex-shrink: 0;
        transition: none !important;
    }

    .btn__icon img {
        width: 24px;
        height: 24px;
    }

    .btn__icon--right {
        opacity: 1 !important;
        width: 46px !important;
        height: 46px !important;
        right: auto;
        transform: none !important;
    }

    .btn__icon--left {
        display: none !important;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
    }
}


@media (max-width: 767px) {
    .hero-content {
        margin: 48px 0;
    }

    .tag {
        font-size: 14px;
        padding: 2px 4px;
    }

    .hero-content h1 {
        font-size: 48px;
        margin: 18px 0 24px 0;
    }

    .hero-content p {
        font-size: 14px;
        margin: 0 0 16px;
    }

    .btn {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
    }

}



.image-marquee-wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
    padding: 0 0 5vw 0;
}

.image-marquee-track {
    display: flex;
    width: max-content;
    animation: scroll-images 20s linear infinite;
    will-change: transform;
}

.image-marquee-item {
    flex-shrink: 0;
    height: 360px;
    width: auto;
    aspect-ratio: auto;
    border-radius: 0.833vw;
    overflow: hidden;
    margin-right: 5vw;
}

.image-marquee-item:last-child {
    margin-right: 5vw;
}

.image-marquee-item img {
    width: auto;
    height: 100%;
    object-fit: cover;
    display: block;
}

@keyframes scroll-images {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@media (max-width: 1024px) {
    .image-marquee-wrapper { padding: 0 0 64px 0; }
    .image-marquee-item { height: 360px; margin-right: 96px; border-radius: 16px; }
    .image-marquee-item:last-child { margin-right: 96px; }
}

@media (max-width: 767px) {
    .image-marquee-wrapper { padding: 0 0 48px 0; }
    .image-marquee-item { height: 180px; margin-right: 24px; border-radius: 12px; }
    .image-marquee-item:last-child { margin-right: 24px; }
    .image-marquee-track { animation-duration: 20s; }
}




.our-journey-content {
    padding: 5vw 0;
    border-top: 1px solid #B4B4B4;
}

@media (max-width: 1024px) { .our-journey-content { padding: 64px 0; } }
@media (max-width: 767px) { .our-journey-content { padding: 48px 0; } }

h2 { margin-top: 1.25vw; margin-bottom: 0; }
@media (max-width: 1024px) { h2 { margin-top: 24px; } }
@media (max-width: 767px) { h2 { margin-top: 16px; } }

.about__columns { display: flex; gap: 5vw; min-width: 0; margin-top: 5vw; }
.about__col--left { display: block; position: relative; flex: 0 1 25.572916666666668vw; min-width: 16.666666666666664vw; }
.about__col--right { display: flex; flex-direction: column; width: 100%; flex: 1; }

.about-picture img { display: block; width: 100%; height: auto; object-fit: cover; }
.about-picture img { height: 491px; }

@media (max-width: 1024px) {
    .about__columns { flex-direction: column; margin-top: 48px; }
    .about-picture img { height: 704px; }
}
@media (max-width: 767px) {
    .about__columns { margin-top: 24px; }
    .about-picture img { height: 326px; }
}



.value-cards-grid { display: flex; flex-direction: column; gap: 1.6666666666666667vw; }
.value-card-row { display: flex; justify-content: space-between; gap: 1.6666666666666667vw; }
.value-card { padding: 1.67vw; display: flex; align-items: flex-start; flex: 1; box-sizing: border-box; border-top: 1px solid #B4B4B4; }
.value-card-row:first-child .value-card { border-top: none; padding-top: 0; }
.value-card-text { display: block; position: relative; padding-left: 1.67vw; }
.value-card-icon-block { display: flex; justify-content: center; align-items: center; width: 1.25vw; height: 1.25vw; flex-shrink: 0; }
.value-card-icon { display: block; width: auto; height: auto; position: relative; top: 0; }
.value-card-text h3 { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-size: 1.4583333333333333vw; line-height: 1; letter-spacing: -0.03em; text-transform: uppercase; color: #2E2E2E; margin: 0 0 1.25vw; }
.value-card-text p { font-family: "Inter", sans-serif; font-weight: 600; font-size: 1.0416666666666665vw; line-height: 1.4; letter-spacing: -0.04em; color: #2E2E2E; opacity: 0.7; margin: 0; max-width: 13.13vw; }

@media (max-width: 1024px) {
    .value-cards-grid { gap: 0; margin-top: 0; }
    .value-card-row { flex-direction: column; gap: 0; }
    .value-card { padding: 24px 0; width: 100%; flex: none; gap: 16px; }
    .value-card-row:first-child .value-card { padding-top: 24px; }
    .value-card-row .value-card { border-top: none; border-bottom: 1px solid #B4B4B4; }
    .value-card-icon-block { width: 24px; height: 24px; }
    .value-card-icon { top: 0; }
    .value-card-text { padding-left: 0; }
    .value-card-text h3 { font-size: 24px; margin: 0 0 16px; }
    .value-card-text p { font-size: 16px; max-width: 100%; }
    .value-card-row:first-child .value-card:first-child { padding-top: 0; }
    .value-card-row:last-child .value-card:last-child { border-bottom: 0; }
}
@media (max-width: 767px) {
    .value-card-text h3 { font-size: 18px; }
    .value-card-text p { font-size: 14px; }
    .value-card { padding: 20px 0; }
}


.partnerships-content { padding: 5vw 0; border-top: 1px solid #B4B4B4; }
.partnerships__columns { display: flex; gap: 5vw; min-width: 0; }
.partnerships__col--left { display: block; position: relative; flex: 0 1 25.572916666666668vw; min-width: 16.666666666666664vw; }
.partnerships__col--right { display: flex; width: 100%; flex: 1; overflow: visible; }
.partnerships-slider.swiper { overflow: visible; }
.partnerships-slides { display: flex; gap: 1.67vw; width: 100%; }
.partnerships-slider .swiper-slide { flex-shrink: 1; }
.partnerships-dots { display: none; }
.partnerships__col--left p { opacity: 70%; }
.partnerships_item { display: flex!important; flex-direction: column!important; justify-content: space-between!important; width: 100%; border: 1px solid #B4B4B4; border-radius: 16px; min-height: 24.58vw; padding: 1.67vw; }
.partnerships_item_content h3 { margin-top: 1.67vw; margin-bottom: 0.83vw; }
.partnerships_item_content p { margin: 0; opacity: 70%; }
.partnerships_item_data p { margin: 0; opacity: 70%; }

@media (max-width: 1024px) {
    .partnerships-content { padding: 64px 0; }
    .partnerships__columns { flex-direction: column; gap: 0; }
    .partnerships__col--left { flex: none; }
    .partnerships-slider.swiper { overflow: hidden; width: 100%; margin-top: 24px; }
    .partnerships-slides { gap: 0; flex-wrap: nowrap; }
    .partnerships-slider .swiper-slide { width: 100%; flex-shrink: 0; box-sizing: border-box; }
    .partnerships-dots { display: flex; justify-content: center; align-items: center; gap: 0; margin-top: 48px; width: 100%; position: relative!important; text-align: center; z-index: 10; }
    .partnerships-dots .swiper-pagination-bullet { width: 8px !important; height: 8px !important; background: transparent !important; border: 1px solid rgba(46, 46, 46, 0.5) !important; border-radius: 4px !important; opacity: 1 !important; position: relative; transition: all 0.2s ease; cursor: pointer; margin: 0 4px !important; }
    .partnerships-dots .swiper-pagination-bullet-active { width: 31px !important; height: 8px !important; border-radius: 4px !important; border-color: #1E8F7F !important; background: transparent !important; }
    .partnerships-dots .swiper-pagination-bullet-active .swiper-dot-fill { width: 100%; transition: width 5000ms linear; }
    .partnerships-dots .swiper-dot-fill { position: absolute; top: 0; left: 0; height: 100%; width: 0; background-color: #1E8F7F; border-radius: 4px; transition: none; z-index: 1; }
    .partnerships_item { min-height: 433px; padding: 24px; }
    .partnerships__col--left p { display: none; }
    .partnerships_item_content h3 { margin-top: 32px; margin-bottom: 16px; font-size: 24px; }
    .partnerships_item_content p { font-size: 16px; }
    .partnerships_item_data p { font-size: 16px; }
}
@media (max-width: 767px) {
    .partnerships-content { padding: 48px 0; }
    .partnerships-slider { margin-top: 48px; }
    .partnerships_item { min-height: 404px; }
    .partnerships_item_content h3 { margin-top: 24px; margin-bottom: 8px; font-size: 18px; }
    .partnerships_item_content p { font-size: 14px; }
    .partnerships_item_data p { font-size: 14px; }
}


.team-content { padding: 5vw 0; }
.team__columns { display: flex; gap: 5vw; min-width: 0; }
.team__col--left { display: block; position: relative; flex: 0 1 25.572916666666668vw; min-width: 16.666666666666664vw; }
.team__col--right { display: flex; width: 100%; flex: 1; }
.team__col--left h2 { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-size: 6.67vw; line-height: 0.85; letter-spacing: -0.04em; text-transform: uppercase; color: #2E2E2E; }
.team__col--left p { opacity: 70%; margin-top: 1.67vw; margin-bottom: 0; }
.team-values-grid { display: flex; flex-direction: column; gap: 1.6666666666666667vw; width: 100%; }
.team-value-card-row { display: flex; justify-content: space-between; gap: 1.6666666666666667vw; }
.team-value-card { padding: 1.67vw; display: flex; align-items: flex-start; flex: 1; box-sizing: border-box; border-top: 1px solid #B4B4B4; }
.team-value-card-row:first-child .team-value-card { border-top: none; padding-top: 0; }
.team-value-card-icon-block { display: flex; justify-content: center; align-items: center; width: 1.25vw; height: 1.25vw; flex-shrink: 0; }
.team-value-card-icon { display: block; width: auto; height: auto; position: relative; top: 0; }
.team-value-card-text { display: block; position: relative; padding-left: 1.67vw; }
.team-value-card-text h3 { font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-size: 1.4583333333333333vw; line-height: 1; letter-spacing: -0.03em; text-transform: uppercase; color: #2E2E2E; margin: 0 0 1.25vw; }
.team-value-card-text p { font-family: "Inter", sans-serif; font-weight: 600; font-size: 1.0416666666666665vw; line-height: 1.4; letter-spacing: -0.04em; color: #2E2E2E; opacity: 0.7; margin: 0; max-width: 13.13vw; }

@media (max-width: 1024px) {
    .team-content { padding: 64px 0; }
    .team__columns { flex-direction: column; gap: 0; }
    .team__col--left { flex: none; }
    .team__col--left h2 { font-size: 64px; }
    .what-we-do h2 { font-size: 64px; max-width: 244px; }
    .team__col--left p { margin-top: 16px; }
    .team-values-grid { gap: 0; margin-top: 24px; }
    .team-value-card-row { flex-direction: column; gap: 0; }
    .team-value-card { padding: 24px 0; width: 100%; flex: none; gap: 16px; border-top: none; border-bottom: 1px solid #B4B4B4; }
    .team-value-card-row:first-child .team-value-card { padding-top: 24px; }
    .team-value-card-row:first-child .team-value-card:first-child { padding-top: 0; }
    .team-value-card-row:last-child .team-value-card:last-child { border-bottom: 0; }
    .team-value-card-icon-block { width: 24px; height: 24px; }
    .team-value-card-text { padding-left: 0; }
    .team-value-card-text h3 { font-size: 24px; margin: 0 0 16px; }
    .team-value-card-text p { font-size: 16px; max-width: 100%; }
}
@media (max-width: 767px) {
    .team-content { padding: 48px 0; }
    .team__col--left h2 { font-size: 48px; }
    .what-we-do h2 { font-size: 48px; }
    .team-values-grid { margin-top: 24px; }
    .team-value-card { padding: 20px 0; }
    .team-value-card-text h3 { font-size: 18px; }
    .team-value-card-text p { font-size: 14px; }
}

.team-picture { display: block; margin-top: 5vw; }
.team-picture img { display: block; width: 100%; height: auto; object-fit: cover; }
@media (max-width: 1024px) { .team-picture { margin-top: 32px; } }
@media (max-width: 767px) { .team-picture { margin-top: 24px; } }


.product-accordion { width: 100%; }
.accordion-item { border-bottom: 1px solid #B4B4B4; }
.accordion-item:last-child { border-bottom: none; }
.accordion-header { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 1.67vw 0; background: none; border: none; cursor: pointer; font-family: "Roboto Condensed", sans-serif; font-weight: 900; font-size: 1.46vw; line-height: 1; letter-spacing: -0.03em; text-transform: uppercase; color: #2E2E2E; text-align: left; height: 7.0833vw; transition: color 0.3s ease; }
.accordion-header:focus { outline: none; }
.accordion-icon { width: 0.781vw; height: 0.729vw; margin: 0 1.93vw; flex-shrink: 0; display: block; }
.accordion-title { flex-grow: 1; text-align: left; margin-right: 0.833vw; transition: color 0.3s ease; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.accordion-toggle-wrapper { display: flex; align-items: center; justify-content: center; width: 2.396vw; height: 2.396vw; border: 1px solid #B4B4B4; border-radius: 8px; flex-shrink: 0; transition: background-color 0.3s ease, border-color 0.3s ease; position: relative; background-color: transparent; }
.accordion-toggle-icon { width: 1.25vw; height: 1.25vw; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); transition: opacity 0.3s ease; display: block; pointer-events: none; }
.accordion-icon-plus { opacity: 1; }
.accordion-icon-minus { opacity: 0; }
.accordion-item:not(.is-open):hover .accordion-title { color: #1E8F7F; }
.accordion-item:not(.is-open):hover .accordion-toggle-wrapper { background-color: #1E8F7F; border-color: #1E8F7F; }
.accordion-item:not(.is-open):hover .accordion-icon-plus { filter: brightness(0) invert(1); }
.accordion-item.is-open .accordion-toggle-wrapper { background-color: #2E2E2E; border-color: #2E2E2E; }
.accordion-item.is-open .accordion-icon-plus { opacity: 0; }
.accordion-item.is-open .accordion-icon-minus { opacity: 1; }
.accordion-content { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.4s ease; }
.accordion-item.is-open .accordion-content { grid-template-rows: 1fr; }
.accordion-content-inner { overflow: hidden; padding: 0; }
.accordion-content-inner p {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 1.042vw;
    line-height: 1.4;
    letter-spacing: -0.04em;
    color: #2E2E2E; opacity: 0.7; max-width: 29.167vw; padding: 0 0 3.33vw 4.69vw; margin: 0; }
.accordion-submenu-list { list-style: none; padding: 0 0 3.33vw 4.69vw; margin: 0; }
.accordion-submenu-item { margin-bottom: 1.25vw; opacity: 0; transform: translateY(-10px); animation: slideInAccordion 0.4s ease forwards; }
.accordion-submenu-item:nth-child(1) { animation-delay: 0.05s; }
.accordion-submenu-item:nth-child(2) { animation-delay: 0.1s; }
.accordion-submenu-item:nth-child(3) { animation-delay: 0.15s; }
.accordion-submenu-item:nth-child(4) { animation-delay: 0.2s; }
.accordion-submenu-item:nth-child(5) { animation-delay: 0.25s; }
.accordion-submenu-item:last-child { margin-bottom: 0; }
@keyframes slideInAccordion { to { opacity: 1; transform: translateY(0); } }
.accordion-submenu-link { display: inline-flex; align-items: center; gap: 0.417vw; font-family: "Inter", sans-serif; font-weight: 700; font-size: 1.042vw; line-height: 0.98; letter-spacing: -0.04em; color: #1E8F7F; text-decoration: none; transition: color 0.2s ease; position: relative; }
.submenu-text { display: inline-block; transform: translateX(0); transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); white-space: nowrap; }
.arrow { display: flex; align-items: center; justify-content: center; transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1); flex-shrink: 0; position: relative; }
.arrow img { width: 1.25vw; height: 1.25vw; display: block; object-fit: contain; }
.arrow-left { opacity: 0; transform: translateX(-0.417vw); position: absolute; left: 0; width: 1.25vw; height: 1.25vw; }
.arrow-right { display: block; width: 1.25vw; height: 1.25vw; opacity: 1; transform: translateX(0); position: relative; }
.accordion-submenu-link:hover { color: #145a50; }
.accordion-submenu-link:hover .submenu-text { transform: translateX(1.25vw); }
.accordion-submenu-link:hover .arrow-right { opacity: 0; transform: translateX(0.417vw); }
.accordion-submenu-link:hover .arrow-left { opacity: 1; transform: translateX(0); }

.services-btn.services-btn { display: flex; justify-content: center; margin-top: 3.33vw; }
.btn--secondary { background: #FFFFFF; color: #2E2E2E; border: 1px solid #B4B4B4; }
.btn--secondary .btn__icon, .btn--secondary .btn__icon--left { background: #1E8F7F; }
.btn--secondary:hover { background: #1E8F7F; border: 1px solid #1E8F7F; color: #FFFFFF; }
.btn--secondary:hover .btn__icon, .btn--secondary:hover .btn__icon--left { background: #FFFFFF; }

@media (max-width: 1024px) {
    .accordion-header { font-size: 24px; padding: 33px 0; height: auto; min-height: 112px; }
    .accordion-icon { width: 14px; height: 14px; margin: 0 36px 0 4.76px; }
    .accordion-title { margin-right: 16px; font-size: 24px; }
    .accordion-toggle-wrapper { width: 46px; height: 46px; border-radius: 8px; }
    .accordion-toggle-icon { width: 24px; height: 24px; }
    .accordion-content-inner p { font-size: 20px; max-width: 100%; padding: 0 50px 33px 56px; line-height: 1.4; }
    .accordion-submenu-list { padding: 0 50px 33px 56px;}
    .accordion-submenu-item { margin-bottom: 16px; }
    .accordion-submenu-link { font-size: 16px; gap: 8px; }
    .submenu-text { font-size: 16px; }
    .arrow img { width: 24px; height: 24px; }
    .arrow-left { width: 24px; height: 24px; transform: translateX(-8px); }
    .arrow-right { width: 24px; height: 24px; }

    .accordion-submenu-item, .accordion-submenu-item *, .submenu-text, .arrow, .accordion-submenu-link {
        animation: none !important;
        transition: none !important;
        transform: none !important;
    }
    .accordion-submenu-item { opacity: 1 !important; }
    .arrow-left { opacity: 0 !important; position: absolute !important; }
    .arrow-right { opacity: 1 !important; display: block !important; }

    .services-btn.services-btn { margin-top: 64px; }


    .services-btn.services-btn .btn:hover,  .services-btn.services-btn .btn:active,  .services-btn.services-btn .btn:focus {
        background: #fff !important;
        transform: none !important;
        border: 1px solid #B4B4B4;
        color: #2E2E2E!important;
    }

    .services-btn.services-btn .btn--secondary:hover .btn__icon, .services-btn.services-btn .btn--secondary:hover .btn__icon--left {
        background: #1E8F7F;
    }


}
@media (max-width: 767px) {
    .accordion-header { font-size: 18px; padding: 24px 0; min-height: 94px; }
    .accordion-title { font-size: 18px; }
    .accordion-content-inner p { font-size: 14px; padding: 0 45px 33px 28px; }
    .accordion-submenu-list { padding: 0 45px 33px 28px; }
    .accordion-submenu-link { font-size: 14px; }
    .submenu-text { font-size: 14px; }
    .services-btn.services-btn { margin-top: 24px; }
    .accordion-icon {
        margin: 0 14px 0 0;
    }
}


.reviews-dots { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 18px; padding: 0; width: 100%; min-height: 8px; }
.reviews-dots .swiper-pagination-bullet { width: 8px !important; height: 8px !important; border: 1px solid #B4B4B4 !important; border-radius: 4px !important; background: transparent !important; opacity: 1 !important; position: relative !important; overflow: hidden !important; margin: 0 !important; cursor: pointer !important; flex-shrink: 0 !important; display: inline-block !important; transition: width 0.3s ease, border-color 0.3s ease !important; }
.reviews-dots .swiper-pagination-bullet-active { width: 28px !important; border-color: #1E8F7F !important; background: transparent !important; }
.reviews-dots .swiper-pagination-bullet-active .swiper-dot-fill { position: absolute !important; top: 0 !important; left: 0 !important; height: 100% !important; width: 0%; background-color: #1E8F7F !important; border-radius: 4px !important; transition: none; display: block !important; z-index: 1 !important; }
.reviews-dots .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .swiper-dot-fill { display: none !important; }

.reviews-slider { width: 100%; height: auto; overflow: hidden; }
.reviews-slides.swiper-wrapper { display: flex; box-sizing: border-box; }
.review-slide.swiper-slide { height: auto; display: flex; justify-content: center; }
.reviews-dot { position: relative; overflow: hidden; display: inline-block; vertical-align: middle; }

.desktop-only { padding: 5vw 0; border-top: 1px solid #B4B4B4; }
.reviews-content .description { opacity: 70%; margin-top: 1.67vw; margin-bottom: 0; }

@media (min-width: 1025px) {
    .desktop-only { display: block; }
    .mobile-only { display: none; }
    .reviews-content { display: flex; gap: 5vw; min-width: 0; }
    .reviews-left-column { display: block; position: relative; flex: 0 1 25.572916666666668vw; min-width: 16.666666666666664vw; }
    .reviews-slider-container { flex: 1; min-width: 0; position: relative; overflow: visible; }
    .reviews-slider { overflow: hidden; width: 100%; position: relative; }
    .reviews-slides, .reviews-slides.swiper-wrapper { display: flex; flex-wrap: nowrap; width: 100%; transition: transform 0.4s ease-in-out; box-sizing: border-box; }
    .review-slide, .review-slide.swiper-slide { flex: 0 0 100%; display: flex; gap: 1.6666666666666667vw; width: 100%; box-sizing: border-box; padding: 0 0.052083333333333336vw; height: auto; justify-content: center; }
    .review-slide-inner { display: flex; gap: 32px; width: 100%; }
    .review-card { flex: 1; min-width: 0; padding: 1.6666666666666667vw; background: #FFFFFF; border: 0.052083333333333336vw solid #B4B4B4; border-radius: 16px; box-sizing: border-box; display: flex; flex-direction: column; height: 15.989583333333332vw; }
    .review-header { display: flex; align-items: center; justify-content: space-between; gap: 0.4166666666666667vw; margin-bottom: 1.6666666666666667vw; }
    .review-stars { display: flex; gap: 0.20833333333333334vw; }
    .review-stars img { width: 16px; height: 16px; display: block; }
    .review-rating { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 1.0416666666666665vw; line-height: 1; letter-spacing: -0.06em; text-transform: uppercase; color: #1E8F7F; }
    .review-main { display: flex; flex-direction: column; flex: 1; justify-content: space-between; }
    .review-text { font-family: 'Inter', sans-serif; font-weight: 600; font-style: italic; font-size: 1.25vw; line-height: 1.2; letter-spacing: -0.05em; color: #2E2E2E; margin: 0; }
    .review-divider { height: 0.052083333333333336vw; background-color: #B4B4B4; width: 100%; margin: 0 auto; align-self: stretch; }
    .review-author { display: flex; align-items: center; gap: 0.8333333333333334vw; margin: 0; }
    .review-author-avatar { flex-shrink: 0; }
    .review-author-avatar img { width: 2.5vw; height: 2.5vw; border-radius: 0.4166666666666667vw; object-fit: cover; display: block; }
    .review-author-info { display: flex; flex-direction: column; gap: 0.20833333333333334vw; }
    .review-author-name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 0.8333333333333334vw; line-height: 0.98; letter-spacing: -0.04em; text-transform: uppercase; color: #2E2E2E; margin: 0; }
    .review-author-company { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 0.8333333333333334vw; line-height: 1.4; letter-spacing: -0.04em; color: #2E2E2E; opacity: 0.5; margin: 0; }
    .reviews-dots { display: flex; justify-content: flex-start; position: relative; margin: 0; }
    .reviews-slider-controls { display: flex; justify-content: space-between; align-items: center; gap: 1.25vw; margin-top: 1.6666666666666667vw; width: 100%; }
    .reviews-nav-wrapper { display: flex; gap: 0.4166666666666667vw; }
    .reviews-nav { width: 2.3958333333333335vw; height: 2.3958333333333335vw; border-radius: 0.4166666666666667vw; background: #FFFFFF; border: 0.052083333333333336vw solid #B4B4B4; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease; padding: 0; }
    .reviews-nav:hover { background: #2E2E2E; border-color: #2E2E2E; }
    .reviews-nav:hover img { filter: brightness(0) invert(1); }
    .reviews-nav img { width: 1.25vw; height: 1.25vw; display: block; }
    .reviews-slider-controls-left { width: 2.3958333333333335vw; height: 2.3958333333333335vw; }
}

@media (max-width: 1024px) {
    .desktop-only { display: none; }
    .mobile-only { display: block; padding: 64px 0; border-top: 1px solid #B4B4B4;; }
    .reviews-content .description { display: none; }
    .reviews-content { display: block; flex-direction: column; gap: 40px; }
    .reviews-slider-container { width: 100%; margin-top: 32px; }
    .reviews-slider { overflow: hidden; width: 100%; position: relative; }
    .reviews-slides { display: flex; flex-wrap: nowrap; width: 100%; transition: transform 0.4s ease-in-out; }
    .review-slide { flex: 0 0 100%; display: block; width: 100%; box-sizing: border-box; padding: 0 2px; }
    .review-card { width: 100%; padding: 33px; background: #FFFFFF; border: 1px solid #B4B4B4; border-radius: 16px; box-sizing: border-box; display: flex; flex-direction: column; height: auto; }
    .review-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 24px; }
    .review-stars { display: flex; gap: 4px; }
    .review-stars img { width: 16px; height: 16px; display: block; }
    .review-rating { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 20px; line-height: 1; letter-spacing: -0.06em; text-transform: uppercase; color: #1E8F7F; }
    .review-main { display: flex; flex-direction: column; flex: 1; justify-content: space-between; }
    .review-text { font-family: 'Inter', sans-serif; font-weight: 600; font-style: italic; font-size: 24px; line-height: 1.3; letter-spacing: -0.05em; color: #2E2E2E; margin: 0; }
    .review-divider { height: 1px; background-color: #B4B4B4; width: 100%; margin: 0 auto; align-self: stretch; margin: 24px 0; }
    .review-author { display: flex; align-items: center; gap: 16px; margin: 0; }
    .review-author-avatar { flex-shrink: 0; }
    .review-author-avatar img { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; display: block; }
    .review-author-info { display: flex; flex-direction: column; gap: 4px; }
    .review-author-name { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 16px; line-height: 0.98; letter-spacing: -0.04em; text-transform: uppercase; color: #2E2E2E; margin: 0; }
    .review-author-company { font-family: 'Inter', sans-serif; font-weight: 400; font-size: 16px; line-height: 1.4; letter-spacing: -0.04em; color: #2E2E2E; opacity: 0.5; margin: 0; }
    .reviews-slider-controls { display: flex; justify-content: center; align-items: center; margin-top: 48px; width: 100%; }
    .reviews-dots { display: flex; justify-content: center; gap: 8px; margin: 0; width: 100%; }
    .reviews-nav-wrapper, .reviews-slider-controls-left { display: none; }
}
@media (max-width: 767px) {
    .mobile-only { padding: 48px 0; }
    .reviews-content { gap: 32px; }
    .review-card { padding: 24px; height: 321px; }
    .review-author-avatar img { width: 35px; height: 35px; }
    .review-author-name { font-size: 14px; }
    .review-author-company { font-size: 14px; }
    .reviews-slider-controls { margin-top: 32px; }
}
@media (max-width: 1024px) { .reviews-nav-wrapper { display: none !important; } }


.recent-projects-marquee { width: 100%; background-color: #2E2E2E; padding: 1.25vw 0; overflow: hidden; position: relative; white-space: nowrap; pointer-events: none; }
.recent-projects-marquee.running_line {background-color: #1E8F7F;}
.marquee-item { pointer-events: auto; }
.marquee-wrapper { display: flex; width: max-content; animation: marquee-scroll 20s linear infinite;}
.marquee-group { display: flex; align-items: center; gap: 1.6667vw; white-space: nowrap; padding-right: 1.6667vw; }
.marquee-item { display: inline-flex; align-items: center; gap: 1.6667vw; flex-shrink: 0; }
.marquee-item span { font-family: 'Roboto Condensed', sans-serif; font-weight: 900; font-style: normal; font-size: 6.6667vw; line-height: 0.85; letter-spacing: -0.04em; text-transform: uppercase; color: #FFFFFF; margin: 0; padding: 0; display: block; }
.marquee-item img { display: block; width: 5.1042vw; height: 4.9479vw; object-fit: contain; flex-shrink: 0; }
@keyframes marquee-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@media (min-width: 768px) and (max-width: 1024px) {
    .recent-projects-marquee { padding: 20px 0; }
    .marquee-group { gap: 24px; padding-right: 24px; }
    .marquee-item { gap: 20px; }
    .marquee-item span { font-size: 64px; }
    .marquee-item img { width: 58px; height: 57px; }
}
@media (max-width: 767px) {
    .recent-projects-marquee { padding: 15px 0; }
    .marquee-group { gap: 16px; padding-right: 16px; }
    .marquee-item { gap: 15px; }
    .marquee-item span { font-size: 48px; }
    .marquee-item img { width: 36px; height: 35px; }
    .marquee-wrapper { animation-duration: 20s; }
}


.locations-content {
    padding: 5vw 0;
    display: flex;
    position: relative;
}

.locations-slider.swiper {
    width: 100%;
    overflow: visible;
}

.locations-slides.swiper-wrapper {
    display: flex;
    gap: 1.67vw;
    width: 100%;
}

.locations-content-item.swiper-slide {
    width: calc(50% - 0.835vw);
    flex-shrink: 0;
    height: auto !important;
}

.locations-content-item img {
    display: block;
    max-width: 100%;
    height: auto;
    min-height: 26.56vw;
    border-radius: 16px;
    object-fit: cover;
}

.locations-text-content {
    display: block;
    position: relative;
    margin-top: 1.25vw;
}

.locations-text-content h3 {
    margin: 0.83vw 0;
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 900;
    font-size: 1.458vw;
    line-height: 1;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: #2E2E2E;
}

.locations-text-content p {
    margin: 0;
    opacity: 70%;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 1.042vw;
    line-height: 1.4;
    color: #2E2E2E;
}

.locations-text-content span {
    display: block;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.83vw;
    line-height: 1;
    letter-spacing: -0.05em;
    text-transform: uppercase;
    color: #2E2E2E;
    opacity: 50%;
}

.locations-dots {
    display: none;
}


@media (max-width: 1024px) {
    .locations-content {
        padding: 64px 0;
        flex-direction: column;
    }

    .locations-slider.swiper {
        overflow: hidden;
        width: 100%;
        margin-top: 24px;
        position: relative;
        padding-bottom: 70px;
    }

    .locations-slides.swiper-wrapper {
        gap: 0;
        flex-wrap: nowrap;
    }

    .locations-content-item.swiper-slide {
        width: 100%;
        flex-shrink: 0;
    }

    .locations-content-item img {
        min-height: 642px;
        width: 100%;
    }

    .locations-text-content { margin-top: 24px; }
    .locations-text-content span { font-size: 16px; }
    .locations-text-content h3 { font-size: 24px; margin: 16px 0; }
    .locations-text-content p { font-size: 20px; }


    .locations-dots {
        display: flex !important;
        justify-content: center;
        align-items: center;
        gap: 10px;
        position: absolute !important;
        bottom: 0;
        left: 0;
        width: 100%;
        margin: 0;
        z-index: 10;
        pointer-events: auto;
    }


    .locations-dots .swiper-pagination-bullet {
        width: 8px !important;
        height: 8px !important;
        background: transparent !important;
        border: 1px solid rgba(46, 46, 46, 0.5) !important;
        border-radius: 4px !important;
        opacity: 1 !important;
        margin: 0 !important;
        position: relative;
        overflow: hidden;
        cursor: pointer;
        transition: width 0.3s ease, border-color 0.3s ease !important;
        display: block;
    }


    .locations-dots .swiper-pagination-bullet-active {
        width: 32px !important;
        border-color: #1E8F7F !important;
    }


    .locations-dots .swiper-dot-fill {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 0;
        background-color: #1E8F7F;
        border-radius: 3px;
        transition: width 0.3s ease;
        z-index: 1;
        display: none;
    }

    .locations-dots .swiper-pagination-bullet-active .swiper-dot-fill {
        width: 100%;
        display: block !important;
    }
}


@media (max-width: 767px) {
    .locations-content { padding: 48px 0; }
    .locations-slider { margin-top: 32px; }
    .locations-content-item img { min-height: 312px; border-radius: 16px; }
    .locations-text-content { margin-top: 24px; }
    .locations-text-content span { font-size: 14px; }
    .locations-text-content h3 { font-size: 18px; margin: 16px 0; }
    .locations-text-content p { font-size: 14px; }
    .locations-dots { bottom: 8px !important; }
}



.contact-us {
    position: relative;
    width: 100%;
}

.contact-us__wrapper {
    position: relative;
    min-height: 27.188vw;
    border-radius: 16px;
    overflow: hidden;
    padding: 2.5vw;
    margin-bottom: 5vw;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    color: #FFFFFF;
    background: url("../img/contact-us-services-pc.webp") center / cover no-repeat;
    z-index: 10;
}

.contact-us__tag {
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.833vw;
    line-height: 1.1;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #FFFFFF;
    background: #1E8F7F;
    padding: 0.104vw 0.208vw;
    border-radius: 4px;
    margin-bottom: 1.25vw;
    display: inline-block;
}

.contact-us__title {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 900;
    font-size: 3.333vw;
    line-height: 1;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    margin: 0 0 1.667vw;
    color: #FFFFFF;
    max-width: max-content;
}

.contact-us__avatar-text {
    display: flex;
    align-items: center;
    gap: 0.833vw;
    margin: 0 0 3.333vw;
}

.contact-us__avatar {
    width: 5vw;
    height: 5vw;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}

.contact-us__text {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 1.042vw;
    line-height: 1.4;
    letter-spacing: -0.04em;
    margin: 0;
    color: #FFFFFF;
    opacity: 0.7;
    max-width: 406px;
}

.contact-us__buttons {
    display: flex;
    gap: 1.042vw;
    justify-content: flex-start;
    align-items: end;
}


.contact-btn {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    background: #FFF;
    color: #2E2E2E;
    font-family: "Inter", sans-serif;
    font-weight: 700;
    font-size: 0.833vw;
    line-height: 0.98;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 12px;
    gap: 0.833vw;
    position: relative;
    overflow: hidden;
    height: 3.229vw;
    padding: 0.417vw 0.417vw 0.417vw 0.833vw;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.contact-btn__text {
    position: relative;
    transition: transform 0.3s ease;
}

.contact-btn__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.396vw;
    height: 2.396vw;
    background: #1E8F7F;
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.3s ease;
}

.contact-btn__icon img {
    width: 1.25vw;
    height: 1.25vw;
    display: block;
}

.contact-btn__icon--right {
    opacity: 1;
    transform: translateX(0);
}

.contact-btn__icon--left {
    position: absolute;
    left: 0.417vw;
    opacity: 0;
    transform: translateX(-0.417vw);
    width: 0;
    height: 0;
    background: #FFF;
    border-radius: 8px;
}

.contact-btn--primary {
    max-width: 14.323vw;
    width: 100%;
}

.contact-btn--secondary {
    background: #FFF;
    color: #2E2E2E;
    max-width: 10.833vw;
    width: 100%;
}


.contact-btn--secondary .contact-btn__icon--left {
    background: #fff;
}



.contact-btn--secondary:hover {
    background: #2E2E2E;
    color: #fff;
}

.contact-btn--tertiary {
    background: #2E2E2E;
    color: #fff;
}

.contact-btn--tertiary:hover {
    background: #1E8F7F;
    color: #fff;
}

.contact-btn--tertiary .contact-btn__icon--right {
    background: #fff;
}



@media (max-width: 1024px) {

    .contact-us__wrapper {
        position: relative;
        min-height: auto;
        border-radius: 16px;
        overflow: hidden;
        padding: 32px;
        margin-bottom: 64px;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        color: #FFFFFF;
        background: url("../img/contact-us-services-tablet.webp") center / cover no-repeat;
        z-index: 10;
    }

    .contact-us__tag {
        font-size: 16px;
        padding: 2px 4px;
        margin-bottom: 26px;
    }

    .contact-us__title {
        font-size: 36px;
        margin: 0 0 32px;
    }

    .contact-us__avatar-text {
        gap: 16px;
        margin: 0 0 64px;
    }

    .contact-us__avatar {
        width: 96px;
        height: 96px;
        border-radius: 8px;
        object-fit: cover;
        flex-shrink: 0;
    }

    .contact-us__text {
        font-size: 16px;
        margin: 0;
        max-width: 100%;
    }

    .contact-us__buttons {
        gap: 20px;
    }

    .contact-btn {
        height: 62px;
        gap: 16px;
        padding: 8px 8px 8px 16px;
        font-size: 16px;
        transition: none !important;
        animation: none !important;
    }

    .contact-btn__icon {
        width: 46px;
        height: 46px;
        transition: none !important;
    }

    .contact-btn__icon--left {
        left: 8px;
        transform: translateX(-8px);
        transition: none !important;
    }

    .contact-btn--primary {
        max-width: 275px;
        width: 100%;
    }

    .contact-btn--secondary {
        max-width: 208px;
        width: 100%;
    }

    .contact-btn:hover,
    .contact-btn:active {
        transform: none !important;
    }

    .contact-btn--secondary:hover {
        background: #FFF;
        color: #2E2E2E;
    }


    .contact-btn--tertiary:hover {
        background: #2E2E2E;
        color: #fff;
    }


    .contact-btn:hover .contact-btn__text,
    .contact-btn:active .contact-btn__text {
        transform: none !important;
    }

    .contact-btn:hover .contact-btn__icon--right,
    .contact-btn:active .contact-btn__icon--right {
        opacity: 1 !important;
        width: 46px !important;
        height: 46px !important;
        transform: translateY(-50%) translateX(0) !important;
    }

    .contact-btn:hover .contact-btn__icon--left,
    .contact-btn:active .contact-btn__icon--left {
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
    }
}



@media (max-width: 767px) {
    .contact-us__wrapper {
        background-image: url("../img/contact-us-services-mob.webp");
        padding: 24px;
        margin-bottom: 48px;
    }

    .contact-us__tag {
        font-size: 14px;
    }

    .contact-us__title {
        font-size: 24px;
        margin-bottom: 24px;
        max-width: max-content;
    }

    .contact-us__avatar {
        width: 48px;
        height: 48px;
    }

    .contact-us__text {
        font-size: 14px;
    }

    .contact-us__avatar-text {
        margin: 0 0 48px;
    }

    .contact-us__buttons {
        flex-direction: column;
        gap: 13px;
    }

    .contact-btn {
        width: 100%;
        max-width: 100%;
        justify-content: space-between;
        font-size: 14px;
    }
}



@media (min-width: 1025px) {
    .contact-btn {
        width: fit-content !important;
        max-width: 100%;
        justify-content: flex-start !important;
        white-space: nowrap;
        position: relative;
        padding-right: 3.5vw !important;
    }

    .contact-btn--primary,
    .contact-btn--secondary {
        min-width: auto !important;
    }

    .contact-btn--primary:hover {
        background: #fff;
        color: #2E2E2E;
    }

    .contact-btn--primary:hover .contact-btn__icon--left {
        background: #1E8F7F;
    }

    .contact-btn__text {
        white-space: nowrap;
        display: block;
        z-index: 1;
        position: relative;
    }

    .contact-btn__icon {
        position: absolute !important;
        top: 50%;
        transform: translateY(-50%);
        flex-shrink: 0;
        margin: 0;
    }

    .contact-btn__icon--left {
        left: 0.417vw;
        opacity: 0;
        width: 2.396vw;
        height: 2.396vw;
        transform: translateY(-50%) translateX(-10px);
        z-index: 2;
    }

    .contact-btn__icon--right {
        right: 0.417vw;
        opacity: 1;
        width: 2.396vw;
        height: 2.396vw;
        transform: translateY(-50%) translateX(0);
        z-index: 2;
    }

    .contact-btn:hover .contact-btn__icon--right {
        width: 0;
        height: 0;
        opacity: 0;
        padding: 0;
        margin: 0;
    }

    .contact-btn:hover .contact-btn__icon--left {
        width: 2.396vw;
        height: 2.396vw;
        opacity: 1;
        transform: translateY(-50%) translateX(0);
    }

    .contact-btn:hover .contact-btn__text {
        transform: translateX(2.5vw);
    }
}



@media (max-width: 1024px) {
    .contact-us__buttons {
        width: 100%;
        max-width: 100%;
        align-items: stretch;
    }

    .contact-btn {
        width: 100%;
        max-width: 100%;
        justify-content: space-between;
        position: relative;
        padding-right: 60px;
        transition: none !important;
    }

    .contact-btn__text {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        text-align: center;
        width: 100%;
        flex: 1;
        min-width: 0;
        max-width: 200px;
        transition: none !important;
        transform: none !important;
    }

    .contact-btn__icon {
        position: absolute !important;
        top: 50%;
        transform: translateY(-50%) !important;
        margin: 0;
        transition: none !important;
    }

    .contact-btn__icon--left {
        left: 8px;
        opacity: 0 !important;
        width: 0 !important;
        height: 0 !important;
        transform: translateY(-50%) translateX(-10px) !important;
        display: none !important;
    }

    .contact-btn__icon--right {
        right: 8px;
        opacity: 1 !important;
        width: 46px !important;
        height: 46px !important;
        transform: translateY(-50%) translateX(0) !important;
        display: flex !important;
    }

    .contact-btn,
    .contact-btn *,
    .contact-btn__icon,
    .contact-btn__text,
    .contact-btn__icon--left,
    .contact-btn__icon--right {
        transition: none !important;
        animation: none !important;
    }

}

.contact-btn__icon img {
    display: block;
    width: 1.25vw;
    height: 1.25vw;
    position: relative;
    z-index: 3;
}

@media (max-width: 1024px) {
    .contact-btn__icon img {
        width: 24px;
        height: 24px;
    }
}

@media (max-width: 767px) {
    .contact-btn__text {
        text-align: left;
    }
}



.expertise {
    padding: 5vw 0;
}

.expertise-slider-container {
    width: 100%;
    position: relative;
}

.expertise-slider {
    width: 100%;
    overflow: hidden;
}

.expertise-slides.swiper-wrapper {
    display: flex;
    box-sizing: border-box;
}

.expertise-card {
    flex: 0 0 calc(33.333% - 21.333px);
    max-width: calc(33.333% - 21.333px);
    padding: 32px;
    background: #FFFFFF;
    border: 1px solid #B4B4B4;
    border-radius: 16px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 320px;
}


.expertise-card-icon {
    display: block;
    margin-bottom: 24px;
    border-radius: 8px;
}

.expertise-card-title {
    font-family: "Roboto Condensed", sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
    letter-spacing: -0.03em;
    text-transform: uppercase;
    color: #2E2E2E;
    margin: 0 0 16px;
}

.expertise-card-text {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.4;
    letter-spacing: -0.04em;
    color: #2E2E2E;
    opacity: 0.7;
    margin: 0;
    flex: 1;
}


.expertise-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 32px;
    width: 100%;
}

.expertise-dots {
    display: flex;
    justify-content: flex-start;
    gap: 8px;
    margin: 0;
    flex: 1;
    margin-left: calc(33.333% + 16px - 4px);
}

.expertise-dots .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
    border: 1px solid #B4B4B4 !important;
    border-radius: 4px !important;
    background: transparent !important;
    opacity: 1 !important;
    position: relative !important;
    overflow: hidden !important;
    margin: 0 !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    transition: width 0.3s ease, border-color 0.3s ease !important;
}

.expertise-dots .swiper-pagination-bullet-active {
    width: 28px !important;
    border-color: #1E8F7F !important;
    background: transparent !important;
}

.expertise-dots .swiper-pagination-bullet-active .swiper-dot-fill {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    width: 0%;
    background-color: #1E8F7F !important;
    border-radius: 4px !important;
    transition: none;
    display: block !important;
    z-index: 1 !important;
}

.expertise-dots .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) .swiper-dot-fill {
    display: none !important;
}

.expertise-nav-wrapper {
    display: flex;
    gap: 8px;
}

.expertise-nav {
    width: 46px;
    height: 46px;
    border-radius: 8px;
    background: #FFFFFF;
    border: 1px solid #B4B4B4;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    padding: 0;
}

.expertise-nav:hover {
    background: #2E2E2E;
    border-color: #2E2E2E;
}

.expertise-nav:hover img {
    filter: brightness(0) invert(1);
}

.expertise-nav img {
    width: 24px;
    height: 24px;
    display: block;
}

.partnerships_item_image {
    display: block;
    border-radius: 8px;
}


@media (max-width: 1024px) {
    .expertise {
        padding: 64px 0;
    }

    .expertise-card {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 24px;
        min-height: auto;
    }

    .expertise-card-title {
        font-size: 20px;
    }

    .expertise-card-text {
        font-size: 14px;
    }

    .expertise-controls {
        justify-content: center;
        margin-top: 48px;
    }

    .expertise-dots {
        justify-content: center;
        flex: none;
        margin-left: 0;
    }

    .expertise-nav-wrapper {
        display: none;
    }
}

@media (max-width: 767px) {
    .expertise {
        padding: 48px 0;
    }

    .expertise-card {
        padding: 20px;
    }


    .expertise-card-icon  {
        width: 48px;
        height: 48px;
    }

    .expertise-card-title {
        font-size: 18px;
        margin-bottom: 12px;
    }

    .expertise-card-text {
        font-size: 14px;
    }

    .expertise-controls {
        margin-top: 32px;
    }
}



.stack-columns {
    display: flex;
    gap: 5vw;
    padding-top: 5vw;
    padding-bottom: 5vw;
    border-top: 1px solid #b4b4b4;
    border-bottom: 1px solid #b4b4b4;
}

.left-column {
    position: sticky;
    top: 5vw;
    align-self: flex-start;
    z-index: 10;
    flex: 0 1 25.572916666666668vw;
    min-width: 16.666666666666664vw;
}

.right-column {
    display: flex;
    flex-direction: column;
    width: 100%;
    flex: 1;
}

.filter-menu {
    padding: 1.66666667vw;
    border: 1px solid #B4B4B4;
    border-radius: 16px;
    margin-top: 1.77vw;
}

.filter-menu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.filter-menu li {
    margin: 0 0 0.83333333vw 0;
}

.filter-menu li:last-child {
    margin-bottom: 0;
}


.filter-menu button {
    display: block;
    width: 100%;
    text-align: left;
    text-decoration: none;
    font-family: 'Inter', system-ui, sans-serif;
    font-weight: 700;
    font-size: 0.83333333vw;
    line-height: 98%;
    letter-spacing: -0.64px;
    text-transform: uppercase;
    color: #2E2E2E;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 1.19791667vw 0 1.19791667vw 0.83333333vw;
    border-radius: 12px;
    transition: background-color 0.2s ease;
}

.filter-menu button.active {
    background-color: #D2E9E5;
    color: #1E8F7F;
}

.filter-menu button:not(.active):hover {
    background-color: #EFEFEF;
}

.filter-dropdown {
    display: none;
}

.filter-dropdown__list {
    display: none;
}


@media (max-width: 1024px) {
    .left-column {
        position: static;
        width: 100%;
        margin-bottom: 0;
        flex: 0;
    }

    .filter-menu {
        padding: 32px;
        display: none;
    }

    .filter-menu li {
        margin: 0 0 16px 0;
    }

    .filter-menu button {
        font-size: 16px;
        padding: 23px 0 23px 16px;
    }


    .filter-dropdown {
        display: block;
        position: relative;
        width: 100%;
        margin-bottom: 48px;
        margin-top: 24px;
    }

    .filter-dropdown__toggle {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        padding: 16px 24px;
        background-color: #D2E9E5;
        color: #1E8F7F;
        font-family: 'Inter', system-ui, sans-serif;
        font-weight: 700;
        font-size: 16px;
        line-height: 98%;
        letter-spacing: -0.64px;
        text-transform: uppercase;
        border-radius: 8px;
        border: none;
        cursor: pointer;
        transition: background-color 0.2s ease;
        position: relative;
        z-index: 1000;
    }

    .filter-dropdown__toggle:hover,
    .filter-dropdown__toggle:focus {
        background-color: #c5e3d9;
    }

    .filter-dropdown__toggle[aria-expanded="true"] {
        border-radius: 8px 8px 0 0;
    }

    .filter-dropdown__icon {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .filter-dropdown__icon img {
        width: 24px;
        height: 24px;
        display: block;
        transition: transform 0.3s ease;
    }

    .filter-dropdown__toggle[aria-expanded="true"] .filter-dropdown__icon img {
        transform: rotate(180deg);
    }

    .filter-dropdown__label {
        display: block;
    }

    .filter-dropdown__overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        background-color: #2E2E2E;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        z-index: 9999;
        pointer-events: none;
        margin: 0;
        padding: 0;
    }

    .filter-dropdown__overlay.active {
        opacity: 0.4;
        visibility: visible;
        pointer-events: auto;
    }

    .filter-dropdown__list {
        display: block;
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        width: 100vw;
        background: #FFFFFF;
        z-index: 10000;
        padding: 32px 24px;
        border-radius: 16px 16px 0 0;
        box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.15);
        transform: translateY(100%);
        transition: transform 0.3s ease;
        max-height: 70vh;
        overflow-y: auto;
        margin: 0;
        box-sizing: border-box;
    }

    .filter-dropdown__list.is-visible {
        transform: translateY(0);
    }

    .filter-dropdown__list ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        width: 100%;
    }

    .filter-dropdown__list li {
        margin: 0;
        width: 100%;
    }


    .filter-dropdown__list button {
        display: flex;
        align-items: center;
        width: 100%;
        text-align: left;
        height: 62px;
        padding: 0 16px;
        color: #2E2E2E;
        font-family: 'Inter', system-ui, sans-serif;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.2;
        letter-spacing: -0.64px;
        text-transform: uppercase;
        text-decoration: none;
        background: transparent;
        border: none;
        cursor: pointer;
        border-radius: 12px;
        transition: background-color 0.2s ease, color 0.2s ease;
        box-sizing: border-box;
    }

    .filter-dropdown__list button:not(.active):hover {
        background-color: #EFEFEF;
    }

    .filter-dropdown__list button.active {
        background-color: #D2E9E5;
        color: #1E8F7F;
    }

    .filter-dropdown__close-wrapper {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 24px;
        padding-top: 24px;
        border-top: 1px solid #B4B4B4;
    }

    .filter-dropdown__close {
        display: flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        padding: 11px;
        cursor: pointer;
        transition: opacity 0.2s ease;
        border: 1px solid #B4B4B4;
        border-radius: 8px;
    }

    .filter-dropdown__close:hover {
        opacity: 0.8;
    }

    .filter-dropdown__close img {
        width: 24px;
        height: 24px;
        display: block;
    }

    body.filter-dropdown-open {
        overflow: hidden;
        height: 100vh;
    }
}


@media (max-width: 767px) {
    .filter-dropdown {
        margin-top: 48px;
    }
    .filter-dropdown__toggle {
        font-size: 14px;
    }
}

.stack h2 {
    margin-top: 2.81vw;
}

.stack p {
    max-width: 26.93vw;
    opacity: 70%;
    margin: 1.67vw 0;
}


.stack-cards {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.67vw;
    width: 100%;
}
.card {
    display: flex;
    align-items: center;
    height: 8.33vw;
    border: 1px solid #B4B4B4;
    border-radius: 16px;
    width: 100%;
    padding: 1.67vw;
    gap: 1.25vw;
    box-sizing: border-box;
    flex: 1;
}


.card img {
    border-radius: 8px;
    width: 5vw;
    height: 5vw;
}

.stack .card p {
    opacity: 1;
}

@media (max-width: 1024px) {
    .stack-columns {
        flex-direction: column;
        padding-top: 64px;
        padding-bottom: 64px;
        gap: 0;
    }
    .stack h2 {
        margin-top: 0;
    }
    .stack p {
        max-width: 100%;
        margin: 16px 0 32px 0;
    }
    .stack-cards {
        flex-direction: column;
        gap: 24px;
    }
    .card {
        height: 144px;
        padding: 24px;
    }
    .card img {
        width: 96px;
        height: 96px;
    }
    .stack .card p {
        margin: 0 0 0 24px;
        font-size: 16px;
    }
}


@media (max-width: 767px) {
    .stack-columns {
        padding-top: 48px;
        padding-bottom: 48px;
    }
    .card img {
        width: 48px;
        height: 48px;
    }
    .stack p {
        font-size: 14px;
    }
    .card {
        height: 96px;
    }
    .stack .card p {
        margin: 0 0 0 16px;
    }
}