/* ========== RESPONSIVE ========== */
@media (max-width: 1400px) {
    .about__text {
        font-size: 17px;
        line-height: 30px;
    }

    .about__inner {
        gap: 30px;
    }

    .contact-faq__inner {
        padding: 40px;
    }

    .faq {
        padding: 50px;
    }

    .faq__item {
        padding: 18px 18px;
    }

    .contact-form {
        padding: 50px;
    }

    .reviews__nav-btn {
        display: none;
    }

    .pa-container.pa-logo {
        margin: 70px 0 50px;
    }

}

@media (max-width: 1200px) {
    .hero {
        margin-top: 24px;
    }

    .hero__title {
        font-size: var(--font-size-3xl);
        line-height: 50px;
    }

    .hero__subtitle {
        font-size: var(--font-size-2xl);
        line-height: 50px;
        margin-bottom: 0;
    }

    .btn {
        width: 180px;
        height: 54px;
        font-size: var(--font-size-sm);
    }

    .hero__content {
        display: flex;
        flex-direction: column;
        gap: 24px !important;
    }

    .stats {
        padding: 80px 0 0;
    }

    .stats__title {
        font-size: 28px;
    }

    .stats__icon-wrap {
        width: 100px;
        height: 100px;
        border-radius: 24px;
    }

    .stats__items {
        top: -50px;
    }

    .stats__item {
        gap: 16px;
    }

    .stats__number {
        font-size: 30px;
    }

    .stats__label {
        font-size: 22px;
    }

    .how {
        position: relative;
        margin-top: 80px;
    }

    .how__grid {
        margin-bottom: 36px;
    }

    .how__title {
        font-size: 28px;
        margin-bottom: 50px;
    }

    .how__icon {
        width: 120px;
        height: 120px;
    }

    .how__icon img {
        width: 48px;
        height: 48px;
        object-fit: contain;
    }

    .how__item-text {
        font-size: 17px;
        font-weight: 400;
        color: var(--color-dark);
        line-height: 30px;
        min-height: 160px;
    }

    .about {
        padding: 100px 0 0;
    }

    .about__inner {
        padding: 40px;
    }

    .about__title {
        font-size: 28px;
    }

    .about__text {
        font-size: 16px;
        font-weight: 400;
        color: var(--color-white);
        line-height: 28px;
    }

    .about__inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 30px;
    }

    .about__content {
        flex: 1;
        width: 100%;
    }

    .about__media {
        flex: 1;
        width: 100%;
    }

    .faq {
        padding: 40px;
    }

    .contact-form__logo img {
        height: 70px;
        width: auto;
    }

    .contact-form {
        padding: 40px;
    }

    .contact-form__field {
        height: 60px;
    }

    .contact-form {
        min-height: 730px;
    }

    .reviews__title {
        font-size: 28px;
    }

    .reviews__header {
        margin-bottom: 20px;
    }

    .reviews {
        padding: 90px 0 0;
    }

    .faq__item-content p {
        font-size: 14px !important;
        line-height: 26px;
    }

    .faq__item-text {
        font-size: 14px;
        flex: 1;
    }

    .faq__item {
        padding: 18px 18px 4px;
    }

    .faq__title {
        font-size: 28px;
    }

    .partners__title {
        font-size: 28px;

    }

    .pa-container.pa-logo {
        margin: 50px 0 50px;
    }
}

@media (max-width: 1024px) {
    :root {
        --spacing-container: 40px;
    }

    .navbar__inner {
        padding: 0 40px;
    }

    .navbar__nav {
        display: none;
    }

    .navbar__hamburger {
        display: flex;
    }

    .navbar__mobile-menu {
        display: flex;
    }

    .navbar__cta {
        display: none;
    }

    .hero__container {
        padding: 0 40px;
    }

    .hero__title {
        font-size: 42px;
        line-height: 32px;
    }

    .hero__subtitle {
        font-size: 28px;
        line-height: 56px;
    }

    .btn {
        width: 170px;
        height: 48px;
        font-size: var(--font-size-sm);
        border-radius: 14px 30px 14px 30px;
    }

    .section-wrapper {
        padding: 0 24px;
    }

    .how__item {
        gap: 12px;
    }

    .how__icon {
        width: 100px;
        height: 100px;
    }

    .how__icon img {
        width: 40px;
        height: 40px;
    }

    .how__item-title {
        font-size: 18px;
        line-height: 34px;
    }

    .how__item-text {
        font-size: 16px;
        line-height: 28px;
        min-height: 160px;
    }

    .how__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .about__inner {
        grid-template-columns: 1fr;
        padding: 40px;
    }

    .contact-faq__inner {
        grid-template-columns: 1fr;
        padding: 40px;
    }

    .reviews__grid {
        grid-template-columns: 1fr 1fr;
    }

    .stats {
        padding: 70px 0 60px;
    }

    .stats__header {
        margin-bottom: 80px;
    }

    .stats__title {
        color: var(--color-text-main);
    }

    .stats__items {
        padding: 0 20px;
    }

    footer {
        padding: 40px;
    }

    .footer__grid {
        grid-template-columns: 1fr 1fr;
    }

    .partners__band {
        padding: 0 40px;
    }

    .stats__icon-wrap {
        width: 90px;
        height: 90px;
    }

    .stats__items {
        top: -44px;
    }

    .stats__number {
        font-size: 28px;
    }

    .stats__label {
        font-size: 20px;
    }

    .stats__item {
        gap: 18px;
    }

    .stats__band {
        height: 160px;
    }

    .how {
        position: relative;
        margin-top: 60px;
    }

    .about__inner {
        flex-direction: column;
    }

    .about__actions {
        justify-content: center;
    }

    .about {
        padding: 90px 0 0;
    }

    .contact-faq__inner {
        display: flex;
        flex-direction: column;
        gap: 32px;
    }

    .faq {
        border-radius: 40px;
        flex: 1;
        width: 100%;
    }

    .contact-form {
        border-radius: 24px;
        width: 100%;
    }

    .reviews {
        padding: 70px 0 0;
    }

    .pa-container.pa-logo {
        margin: 40px 0 50px;
    }

}

@media (max-width: 768px) {
    :root {
        --spacing-container: 20px;
    }

    .navbar__inner {
        padding: 0 20px;
        height: 80px;
    }

    .navbar {
        height: 80px;
    }

    .hero__container {
        padding: 0 20px;
    }

    .hero__title {
        font-size: 30px;
        line-height: 28px;
    }

    .hero__subtitle {
        font-size: 20px;
        line-height: 36px;
    }

    .hero__actions {
        align-items: center;
    }

    .hero__content {
        display: flex;
        flex-direction: column;
        gap: 14px !important;
    }

    .btn {
        width: 150px;
        height: 40px;
        font-size: 14px;
        border-radius: 12px 26px 12px 26px;
    }

    .how__grid {
        grid-template-columns: 1fr;
    }

    .about__inner {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .about__media img {
        height: 280px;
    }

    .stats {
        padding: 50px 0 60px;
    }

    .stats__title {
        font-size: 24px;
    }

    .stats__header {
        margin-bottom: 60px;
    }

    .stats__items {
        align-items: center;
        gap: 24px;
        top: -30px;
    }

    .stats__band {
        height: 170px;
        padding-bottom: 24px;
        margin-top: 30px;
    }

    .stats__icon-wrap {
        width: 80px;
        height: 80px;
        border-radius: 20px;
    }

    .stats__number {
        font-size: 26px;
    }

    .stats__label {
        font-size: 18px;
    }

    .contact-faq__inner {
        grid-template-columns: 1fr;
        padding: 20px;
        gap: 20px;
    }

    .contact-form {
        padding: 32px 20px;
    }

    .reviews__grid {
        grid-template-columns: 1fr;
    }

    .reviews__nav {
        display: none;
    }

    footer {
        padding: 32px 20px;
    }

    .footer__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .partners__band {
        padding: 0 20px;
        flex-wrap: wrap;
        height: auto;
        padding: 20px;
        gap: 16px;
    }

    .how__actions {
        align-items: center;
    }

    .how {
        position: relative;
        margin-top: 30px;
    }

    .how__title {
        font-size: 24px;
        margin-bottom: 40px;
    }

    .how__item-text {
        font-size: 16px;
        line-height: 30px;
        min-height: 100px;
    }

    .how__grid {
        margin-bottom: 56px;
    }

    .how__icon {
        width: 90px;
        height: 90px;
        border-radius: 24px;
    }

    .how__icon img {
        width: 34px;
        height: 34px;
    }

    .how__icon {
        width: 80px;
        height: 80px;
        border-radius: 20px;
    }

    .how__item {
        padding: 24px;
        background: var(--color-bg-field);
        border-radius: 24px;
    }

    .about__inner {
        grid-template-columns: 1fr;
        padding: 32px;
    }

    .about__title {
        font-size: 24px;
    }

    .about__content {
        gap: 14px;
    }

    .about {
        padding: 80px 0 0;
    }

    .contact-form {
        padding: 60px 40px 40px;
        min-height: auto;
    }

    .contact-faq__inner {
        gap: 30px;
    }

    .reviews {
        padding: 60px 0 0;
    }

    .reviews__title {
        font-size: 24px;
        font-weight: 700;
        color: var(--color-dark);
    }

    .reviews {
        padding: 50px 0 0;
    }

    .review-card__rating-num {
        font-size: 18px;
        font-weight: 600;
        color: var(--color-white);
    }

    .faq__title {
        font-size: 24px;
    }

    .contact-form__title {
        font-size: 24px;
    }

    .contact-form__title {
        font-size: 24px;

    }

    .partners {
        padding: 20px 0 60px;
    }

    .partners__title {
        font-size: 24px;
    }

    .pa-container.pa-logo {
        margin: 30px 0 50px;
    }
}

@media (max-width: 576px) {

    .hero__title {
        font-size: 28px;
        line-height: 28px;
    }

    .btn {
        width: 140px;
        height: 36px;
        font-size: 13px;
        border-radius: 12px 24px 10px 22px;
    }

    .stats__icon-wrap {
        width: 70px;
        height: 70px;
        border-radius: 18px;
    }

    .stats__number {
        font-size: 22px;
    }

    .stats__label {
        font-size: 16px;
    }

    .stats__band {
        height: 150px;
        padding-bottom: 20px;
        margin-top: 30px;
        border-radius: 20px;
    }

    .stast-items {
        display: flex;
        flex-direction: column;
        gap: 4px;
    }

    .stats__title {
        font-size: 22px;
    }

    .stats {
        padding: 40px 0 0px;
    }

    .stats__header {
        margin-bottom: 50px;
    }

    .stats__icon-wrap {
        border: 3px solid var(--color-primary);
    }

    .how {
        margin-top: 30px;
    }

    .how__title {
        font-size: 22px;
        margin-bottom: 30px;
    }

    .about__title {
        font-size: 22px;
    }

    .about__text {
        font-size: 15px;
        line-height: 28px;
    }

    .about__inner {
        grid-template-columns: 1fr;
        padding: 28px;
    }

    .about {
        padding: 70px 0 0;
    }

    .faq {
        border-radius: 24px;

        padding: 24px;
    }


    .faq__item {
        padding: 14px 24px;
    }

    .contact-form {
        padding: 50px 30px 30px;
        min-height: auto;
    }

    .contact-form__logo img {
        height: 60px;
    }

    .contact-form__field input,
    .contact-form__field textarea {
        font-size: 16px;
    }

    .contact-form__submit {
        font-size: 18px;
    }

    .reviews__title {
        font-size: 22px;
        font-weight: 700;
        color: var(--color-dark);
    }

    .review-card__rating-num {
        font-size: 17px;
        font-weight: 600;
        color: var(--color-white);
    }

    .review-card__rating {
        padding: 24px 12px 16px;
    }

    .faq__title {
        font-size: 22px;
    }

    .contact-form__title {
        font-size: 22px;
    }

    .contact-form__title {
        font-size: 22px;
    }

    .partners__title {
        font-size: 22px !important;
    }

    .pa-container.pa-logo {
        margin: 30px 0 50px;
    }

    .pa-container.pa-logo {
        margin: 20px 0 50px;
    }

}

@media (max-width: 480px) {
    .hero__mask {
        position: relative;
        width: 100%;
        aspect-ratio: 528 / 623;
        overflow: hidden;

        -webkit-mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 528 623' xmlns='http://www.w3.org/2000/svg'><path d='M0 49.9999C0 22.3857 22.3858 0 50 0H478C505.614 0 528 22.3858 528 50V541.192C528 563.907 512.749 583.727 490.625 588.876C435.637 601.675 331.704 623.354 259.964 622.996C188.851 622.64 90.0524 601.624 37.0766 589.02C15.0967 583.791 0 564.045 0 541.452V49.9999Z' fill='white'/></svg>");
        -webkit-mask-size: 100% 100%;
        -webkit-mask-repeat: no-repeat;
        -webkit-mask-position: center;

        mask-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 528 623' xmlns='http://www.w3.org/2000/svg'><path d='M0 49.9999C0 22.3857 22.3858 0 50 0H478C505.614 0 528 22.3858 528 50V541.192C528 563.907 512.749 583.727 490.625 588.876C435.637 601.675 331.704 623.354 259.964 622.996C188.851 622.64 90.0524 601.624 37.0766 589.02C15.0967 583.791 0 564.045 0 541.452V49.9999Z' fill='white'/></svg>");
        mask-size: 100% 100%;
        mask-repeat: no-repeat;
        mask-position: center;
    }

    .hero__title {
        font-size: 32px;
        line-height: 28px;
    }

    .hero__subtitle {
        font-size: 22px;
        line-height: 40px;
        width: 80%;
    }

    .btn {
        width: 140px;
        height: 44px;
        font-size: 14px;
        border-radius: 12px 24px 10px 22px;
    }

    .hero__content {
        gap: 24px !important;
    }

    .stats__number {
        font-size: 24px;
    }

    .stats__band {
        display: none;
    }

    .stats__items {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 1fr;
        background: var(--gradient-main);
        border-radius: var(--radius-xl);
        padding: 40px 0;
        gap: 50px 0;
    }

    .how {
        margin-top: 20px;
    }

    .how__title {
        line-height: 38px;
    }

    .how__icon {
        width: 70px;
        height: 70px;
        border-radius: 18px;
    }

    .how__icon img {
        width: 30px;
        height: 30px;
    }

    .how__item-title {
        font-size: 17px;
        line-height: 22px;
        margin-top: 8px;
    }

    .how__item-text {
        font-size: 15px;
        line-height: 26px;
        min-height: 100px;
    }

    .about {
        padding: 60px 0 0;
    }

    .faq__item-text {
        font-size: 14px;
        line-height: 28px;
    }

    .faq__item {
        padding: 10px 18px;
    }

    .contact-form {
        padding: 40px 30px 30px;
        min-height: auto;
    }

    .contact-form__field {
        height: 56px;
    }

    .contact-form__submit.t-bold {
        height: 56px;
    }

    .contact-form__field input,
    .contact-form__field textarea {
        font-size: 15px;
    }

    .contact-form__submit {
        font-size: 17px;
    }

    .contact-form__logo img {
        height: 50px;
    }

    .review-card__name {
        font-size: 22px;
        font-weight: 700;
        color: var(--color-text-main);
    }

    .review-card__text {
        font-size: 16px;
        line-height: 30px;
    }

    .review-card__avatar {
        width: 100px;
        height: 100px;
    }

    .faq__item-content p {
        margin: 0;
        line-height: 24px;
        color: #666;
        font-size: 14px;
    }

}

@media (max-width: 390px) {

    .stats__number {
        font-size: 22px;
    }

    .stats__label {
        font-size: 16px;
    }

    .stats__items {
        background: var(--gradient-main);
        border-radius: var(--radius-xl);
        top: -44px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        padding: 32px 0;
        position: relative;
        gap: 20px 0;
    }

    .stats__icon-wrap img {
        width: 90%;
        height: 90%;
    }

    .how {
        margin-top: -20px;
    }

    .how__grid {
        gap: 20px;
    }

    .how__grid {
        margin-bottom: 36px;
    }

    .how__icon {
        width: 60px;
        height: 60px;
        border-radius: 16px;
    }

    .how__item {
        padding: 18px 14px;
        background: var(--color-bg-field);
        border-radius: 24px;
    }

    .how__icon img {
        width: 26px;
        height: 26px;
    }

    .how__item-title {
        font-size: 16px;
        line-height: 22px;
        margin-top: 8px;
    }

    .how__item-text {
        font-size: 14px;
        line-height: 24px;
        min-height: 100px;
    }

    .how__title {
        font-size: 20px;
        margin-bottom: 20px;
        line-height: 36px;
    }

    .stats__header {
        margin-bottom: 60px;
    }

    .stats__title {
        font-size: 20px;
    }

    .how__inner {
        padding: 70px 0 30px;
    }

    .about {
        padding: 50px 0 0;
    }

    .about__title {
        font-size: 20px;
    }

    .about__text {
        font-size: 14px;
        font-weight: 400;
        color: var(--color-white);
        line-height: 24px;
    }

    .about__inner {
        grid-template-columns: 1fr;
        padding: 20px;
    }

    .about__inner {
        border-radius: 24px;
    }

    .faq {
        border-radius: 20px;
        padding: 16px;
    }

    .faq__item-text {
        font-size: 13px;
        line-height: 24px;
    }

    .faq__item {
        padding: 10px 15px 0;
    }

    .faq__item-arrow img {
        width: 90%;
        height: 90%;
    }

    .faq__item-icon img {
        width: 20px;
        height: 20px;
    }

    .contact-form {
        padding: 30px 24px 24px;
        min-height: auto;
    }

    .contact-form__field {
        height: 48px;
        border-radius: 16px;
        gap: 2px;
        padding-right: 35px;
    }
    
    .contact-form__field.contact-form__field--textarea {
    padding-right: 8px;
}

button#bt_submit_btn {
    font-size: 16px;
}

.review-card__avatar {
    width: 80px;
    height: 80px;
    border-radius: 20px;
}

.review-card__info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    align-items: start;
}

    .contact-form__field input,
    .contact-form__field textarea {
        font-size: 14px;
    }

    .contact-form__field-icon img {
        width: 20px;
        height: 20px;
        object-fit: contain;
    }

    .contact-form__submit.t-bold {
        height: 48px;
        border-radius: 16px;
    }

    .contact-form__submit {
        font-size: 15px;
    }

    .contact-form__logo img {
        height: 42px;
    }

    .contact-form {
        justify-content: center;
    }

    .contact-form {
        gap: 20px;
    }

    .review-card__name {
        font-size: 18px;
    }

    .review-card__rating {
        padding: 8px 8px 0px;
    }

    .review-card__rating-num {
        font-size: 16px;
    }

    .review-card__rating-star {
        color: #FF8F07;
        font-size: 22px;
    }

    .contact-form__title {
        font-size: 18px;
    }

    .reviews__title {
        font-size: 20px;
    }

    .faq__title {
        font-size: 20px;
    }

    .pa-container.pa-logo {
        margin: 0px 0 50px;
    }

    .partners__title {
        font-size: 20px !important;
    }

    .partners__title {
        font-size: 20px !important;
        margin-bottom: 24px;
    }
}

@media (max-width: 375px) {
    .hero__subtitle {
        width: 100%;
    }
}