/* = Hero */
.hero {
    display: block;
    margin-top: clamp(8px, 1.11vw, 16px);
}
.hero__inner {
    display: block;
    position: relative;
    min-height: clamp(545px, 40.28vw, 580px);
    border-radius: 0 40px 40px 40px;
    overflow: hidden;
}

.hero__inner.hero__contacts {
    border-radius: 0 40px 0 40px;
}

.hero__inner.hero__service,
.hero__inner.hero__about {
    border-radius: 0 40px 0 40px;
}

.hero__inner:after {
    content: "";
    display: block;
    position: absolute;
    z-index: 1;
    width: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(185.61deg, rgba(42, 42, 42, 0) -0.8%, rgba(42, 42, 42, 0.8) 61.11%);
}

.hero__content {
    position: absolute;
    z-index: 2;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.hero__content .bubble {
    display: block;
    max-width: clamp(560px, 61.46vw, 885px);
    position: relative;
    left: 0;
    top: 0;
}

.hero__content .bubble-right-bottom {
    position: absolute;
    bottom: 0 !important;
    right: 0 !important;
    top: unset !important;
    left: unset !important;
    background-color: #fff;
    border-radius: 40px 0 0 0;
    display: block;
    padding-left: clamp(12px, 1.39vw, 20px);
}

.hero__content .bubble-right-bottom .button-wrapper {
    background-color: unset !important;
}

.hero__content .bubble .text-top-wrapper {
    background-color: #fffcf6;
    display: block;
    border-radius:  0 0 40px 0;
    position: relative;
}

.hero__content .bubble .text-top-wrapper:after {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(180deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    right: calc(-1 * clamp(24px, 2.76vw, 40px));
}

.hero__content .bubble.bubble-line-1 .text-top-wrapper {
    background-color: #fffcf6;
    display: block;
    border-radius:  0 0 40px 0;
    position: relative;
    float: left;
    padding-right: clamp(12px, 1.39vw, 20px);
    padding-bottom: clamp(8px, 0.97vw, 14px);
}

.hero__content .bubble.bubble-line-1 .text-top-wrapper:after {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(180deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    right: calc(-1 * clamp(24px, 2.76vw, 40px));
}

.hero__content .bubble.bubble-line-1 .text-top-wrapper:before {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(180deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: calc(-1 * clamp(24px, 2.76vw, 40px));
    left: 0;
}

.hero__content .bubble-line-1:first-child .text-top-wrapper {
    padding-top: clamp(6px, 0.69vw, 10px);
}

.hero__content .bubble.bubble-right-bottom .button-wrapper:before {
    bottom: 0 !important;
    left: calc(-1 * clamp(36px, 4.17vw, 60px)) !important;
    transform: rotate(0deg);
}

.hero__content .bubble .button-wrapper {
    background-color: var(--bg);
    display: block;
    border-radius:  0 0 40px 0;
    max-width: clamp(160px, 16.67vw, 240px);
    padding: clamp(12px, 1.39vw, 20px) clamp(12px, 1.39vw, 20px) clamp(12px, 1.39vw, 20px) 0 !important;
    position: relative;
    float: left;
}

.hero__content .bubble .button-wrapper:after {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(180deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0;
    right: calc(-1 * clamp(24px, 2.76vw, 40px));
}

.hero__content .bubble.bubble-right-bottom .button-wrapper:after {
    top: calc(-1 * clamp(24px, 2.76vw, 40px)) !important;
    right: 0 !important;
    transform: rotate(360deg);
}

.hero__content .bubble.bubble-left-bottom {
    bottom: 0;
    left: 0;
    top: unset;
    position: absolute;
    z-index: 1;
    display: block;
    padding: clamp(12px, 1.25vw, 18px) clamp(12px, 1.39vw, 20px) 0 clamp(6px, 0.69vw, 10px);
    background: #fffcf6;
    border-radius: 0 clamp(20px, 2.76vw, 40px) 0 0;
}

.hero__content .bubble.bubble-left-bottom-nobg {
    background: unset;
}

.hero__content .bubble.bubble-left-bottom:before {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(90deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: calc(-1 * clamp(24px, 2.76vw, 40px));
    left: 0;
}

.hero__content .bubble.bubble-left-bottom:after {
    width: clamp(24px, 2.76vw, 40px);
    height: clamp(24px, 2.76vw, 40px);
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(90deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    right: calc(-1 * clamp(24px, 2.76vw, 40px));
    bottom: 0;
}

.hero__content .bubble.bubble-left-bottom-nobg:after,
.hero__content .bubble.bubble-left-bottom-nobg:before {
    display: none;
}

.stats {
    display: flex;
    gap: clamp(12px, 1.39vw, 20px);
    font-family: Arial, sans-serif;
    max-width: clamp(420px, 70%, 70%);
    position: relative;
    top: calc(-1 * clamp(40px, 4.86vw, 70px));
    z-index: 2;
    left: clamp(24px, 4.51vw, 65px);
}

.stat-item {
    flex: 1;
    background: #f6f6f4;
    padding: clamp(12px, 1.39vw, 20px);
    border-radius: clamp(12px, 1.39vw, 20px);
    text-align: center;
}

.stat-value {
    margin-bottom: clamp(6px, 0.56vw, 8px);
    font-family: Manrope;
    font-weight: 800;
    font-size: clamp(26px, 2.76vw, 40px);
    line-height: 120%;
    text-align: center;
    color: var(--red);
}

.stat-text {
    font-weight: 500;
    font-size: clamp(14px, 1.11vw, 16px);
    line-height: 120%;
    text-align: center;
    color: var(--black);
}





.features {
    display: flex;
    gap: 20px;
    font-family: Arial, sans-serif;
    margin: 20px 20px 0 10px;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f6f6f4;
    padding: 14px 20px;
    border-radius: 20px;
}

.feature-icon {
    width: 32px;
    height: 32px;
    background: #a6322a;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 16px;
}




.hero__content  .bubble .button-wrapper:before {
    width: 40px;
    height: 40px;
    content: "";
    position: absolute;
    background-image: url("../images/shape.svg");
    transform: rotate(
            180deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -40px;
    left: 0;
}

.hero__title {
    font-weight: 700;
    font-size: 42px;
    line-height: 120%;
    text-transform: uppercase;
    /*max-width: 795px;*/
    padding: 0;
    margin: 0;
    padding-bottom: 20px;
}

.hero__cta {
    max-width: 200px;
    text-align: center;
}

.hero__badge-subtitle-wrapper {
    position: absolute;
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    color: var(--bg);
    left: 40px;
    bottom: 40px;
    max-width: 1020px;
}

.hero__badge-subtitle-wrapper .hero__badge {
    font-weight: 600;
    font-size: 18px;
}

.hero__badge-subtitle-wrapper .hero__subtitle {

}


.hero__image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 580px;
    /*border-radius: 30px;*/
    overflow: hidden;
    z-index: 0;
}

.hero__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* = Breadcrumbs */
.breadcrumbs {}
.breadcrumbs__list {}
.breadcrumbs__item {}
.breadcrumbs__link {}

/* = Advantages */
.advantages {
    display: block;
}

.advantages .container {
    display: flex;
    gap: 40px;
}

.advantages .container .col {
    display: flex;
    width: 100%;
    flex-direction: column;
    justify-content: space-between;
}

.advantages .container .col:first-child {
    max-width: 400px;
}

.advantages .container .col .img-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 40px;
    max-width: 400px;
    width:100%;
}

.advantages .container .col .img-wrapper img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.advantages .container .col h2 {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    padding: 0;
    margin: 20px 0 40px 0;
}

.advantages .container .col ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 30px;
    justify-content: space-between;
}

.advantages .container .col ul li {
    display: flex;
    font-weight: 600;
    font-size: 20px;
    line-height: 120%;
    background-image: url("../images/check-red.svg");
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 24px 24px;
    padding-left: 40px;
    width: 33%;
}

.advantages__grid {
    display: flex;
    justify-content: space-between;
}

.advantages__item {
    display: flex;
    width: 33%;
    flex-direction: column;
    align-content: flex-start;
    gap: 20px;
}


.advantages__stat {
    font-weight: 800;
    font-size: 60px;
    line-height: 120%;
    text-align: center;
    color: var(--red);
}
.advantages__desc {
    font-weight: 500;
    font-size: 18px;
    line-height: 120%;
    text-align: center;
}
.advantages__cta-wrap {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    margin-bottom: 20px;
}
.advantages__cta {
    max-width: 227px;
    min-width: 180px;
    text-align: center;
    display: block;
}



/* = Services */
.services {
    display: block;
    margin: 100px 0;
}

.services .container {
    display: flex;
    gap: 20px;
    align-items: center;
}

.services .section__title {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    padding: 0;
    margin: 0;
}

.services__grid {
    display: flex;
    gap: 24px;
}

.services__card{
    position: relative;
    transition: transform .35s ease;
    will-change: transform;
    transform: translateZ(0);
    opacity: 1;
}
.services__card:hover,
.services__card:focus-within{
    transform: scale(1.05);
    z-index: 2;
}

@media (prefers-reduced-motion: reduce){
    .services__card{ transition: none; }
}

.services__link {
    position: relative;
    display: block;
    width: 265px;
    height: 180px;
}
.services__image {
    display: block;
    position: relative;
    overflow: hidden;
    z-index: 0;
    width: 100%;
    border-radius: 10px;
    height: 100%;
}



.services__image:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #2A2A2A80;
    z-index: 1;
    display: block;
}

.services__image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.services__name {
    font-weight: 800;
    font-size: 24px;
    line-height: 120%;
    position: absolute;
    z-index: 2;
    bottom: 10px;
    left: 14px;
    color: white;
    padding: 0;
    margin: 0;
}

.services__link .services__link-icon {
    position: absolute;
    z-index: 5;
    background-color: white;
    border-radius: 0 0 0 10px;
    background-image: url("../images/arrow-sq-right.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 40px 40px;
    width: 60px;
    height: 60px;
    display: block;
    top: -10px;
    right: -10px;
}


.services__link .services__link-icon:after {
    width: 10px;
    height: 10px;
    content: "";
    position: absolute;
    background-image: url(../images/shape.svg);
    transform: rotate(270deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 10px;
    left: -10px;
}

.services__link .services__link-icon:before {
    width: 10px;
    height: 10px;
    content: "";
    position: absolute;
    background-image: url(../images/shape.svg);
    transform: rotate(270deg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: -10px;
    right: 10px;
}


/* = Reviews (slider) */
.reviews {
    display: block;
}

.reviews .container {
    background-color: var(--grey-soft);
    border-radius: 40px;
    padding-left: 40px;
    padding-right: 40px;
}

.reviews .container.inner_reviews {
    background-color: transparent;
}

.reviews .container .section__title {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    display: block;
    text-align: center;
    margin: 0 auto;
    padding: 40px 0;
}

.reviews__img {
    /*width: 253px;*/
    height: 268px;
    border-radius: 35px 35px 0 0;
    padding: 20px;
    border: solid 1px var(--grey-d9);
    border-bottom: none;
    display: block;
    position: relative;
    overflow: hidden;
    background-color: white;
    z-index: 1;
}

.reviews__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 20px;
}

/*.splide__list {*/
/*    gap: 20px!important;*/
/*}*/

.reviews__info {
    background-color: white;
    display: none;
    position:absolute;
    z-index: 2;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 26px;
    font-size: 18px;
    line-height: 120%;
}

.reviews__info .reviews__info-header {
    display: flex;
    justify-content: space-between;
}

.reviews__author {
    display: flex;
    position: relative;
    z-index: 3;
    background-color: white;
    border-radius: 0 0 35px 35px;
    padding: 0 20px 20px 20px;
    border: solid 1px var(--grey-d9);
    border-top: none;
    gap: 10px;
    align-items: center;
}

.reviews__author .icon {
    display: block;
    width: 42px;
    min-width: 42px;
    height: 42px;
    background-color: var(--grey-d9);
    border-radius: 50%;
    position: relative;
    overflow: hidden;
}


.reviews__author .icon img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.author_info {
    display: flex;
    flex-direction: column;
    font-weight: 600;
    font-size: 16px;
    line-height: 120%;
}

.author_info span:first-child {

}

.author_info span:last-child {
    color: var(--grey);
}

.reviews__slide {}
.reviews__slide:hover  .reviews__info {
    display: block;
    cursor: pointer;
}

.reviews__slide-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 40px 0;
    align-items: center;
}

.inner_reviews .reviews__slide-footer .btn{
    display: none;
}


.inner_reviews .reviews__slide-footer   .reviews__arrows-wrapper {
    display: flex;
    gap: 10px;
    width: 100%;
    justify-content: space-between;
}


.reviews__track {}
.reviews__slide {}

.reviews__arrows-wrapper {
    display: flex;
    gap: 10px;
}

.reviews__arrow {
    display: block;
    background-color: var(--bg);
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10px 20px;
    background-image: url("../images/arrow-left.svg");
    border:none;
}
.reviews__arrow--prev {
}
.reviews__arrow--next {
    transform: rotate(180deg);
}

.reviews__arrow:hover {
    opacity: 0.8;
    cursor: pointer;
}

/* = Workflow */
.workflow {
    display: block;
    margin: 100px 0;
}
.workflow .section__title {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 40px 0;
}

.workflow__grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.workflow__step {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    position: relative;
    width: 25%;
}
.workflow__icon {}

.workflow__num {
    display: flex;
    margin: 0 auto;
    width: 48px;
    height: 48px;
    background-color: var(--grey-soft);
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 20px;
    line-height: 120%;
    text-align: center;
}

.workflow__step:before {
    content: "";
    display: block;
    height: 1px;
    width: 60%;
    background-color: var(--grey-soft);
    position: absolute;
    top: 150px;
    right: -80px;
}


.workflow__step:last-child:before{
    display: none;
}


.workflow__caption {
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
    text-align: center;
}
.workflow__links {}
.workflow__link {
    font-weight: 800;
    font-size: 16px;
    line-height: 120%;
    text-align: center;
    text-transform: uppercase;
    color: var(--red);
}



/* ====== Секция ====== */
.pricing.section {
    background: var(--bg);
    padding: clamp(32px, 4vw, 56px) 0;
    font-family: var(--font);
    color: var(--black);
}

.pricing .section__title {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 40px 0;
}

.pricing__tabs-wrapper {
    display: flex;
    justify-content: space-between;
    padding: 30px 0;
    align-items: center;
}


/* ====== Табы ====== */
.pricing__tabs {
    display: inline-flex;
    gap: 20px;
    background: var(--grey-soft);
    padding: 6px;
    border-radius: 999px;
    /* margin: 0 auto clamp(18px, 3vw, 28px); */
    margin-top: 30px 0;
    margin: 0;
}

.pricing__tab {
    border: 0;
    background: transparent;
    padding: 16px 24px;
    border-radius: 999px;
    font-size: clamp(14px, 1.7vw, 16px);
    color: var(--black);
    cursor: pointer;
    font-family: var(--font-roboto);
    transition: transform .15s ease, background-color .15s ease;
    white-space: nowrap;
}

.pricing__tab:is(:hover,:focus-visible) {
    transform: translateY(-1px);
}

.pricing__tab.is-active {
    background: var(--blue);
    color: #fff;
}

/* ====== Сетка контента ====== */
.pricing__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 3.5vw, 32px);
    align-items: start;
}

@media (min-width: 992px) {
    .pricing__inner {
        grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
        gap: clamp(24px, 3vw, 40px);
    }
}

/* ====== Медиа (картинка) ====== */
.pricing__media {
    border-radius: var(--radius-xl);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.pricing__media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

@media (min-width: 992px) {
    .pricing__media img { aspect-ratio: auto; }
}

/* ====== Контент ====== */
.pricing__content {
    display: grid;
    align-content: start;
    gap: clamp(14px, 2vw, 18px);
}



.pricing__list {
    list-style: none;
    margin: 20px 0 0 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.pricing__list h3 {
    position: relative;
    padding: 12px 20px 12px 20px;
    background: var(--grey-soft);
    border-radius: 999px;
    font-size: clamp(14px, 1.8vw, 16px);
    line-height: 1.45;
    font-weight: 600;
    text-align: left;
    margin: 0;

}

.pricing__list h3.pricing__title--with-pin {
    background-image: url("../images/location-pin.svg");
    background-repeat: no-repeat;
    background-position: 14px center;
    background-size: auto;
    padding-left: 42px;
}

.price__button_wrapper {
    display: flex;
    width: 100%;
    justify-content: flex-end;
    padding-top: 20px;
}


.pricing__list  ul{
    list-style: none;
    margin: 7px 0;
    padding: 0;
    display: grid;
    gap: 10px;
}

.pricing__list  ul li {
    display: flex;
    position: relative;
    align-items: flex-start;
    padding-left: 16px;
}

.pricing__list ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--red);
}

.pricing__note {
    font-weight: 500;
    font-size: 16px;
    line-height: 120%;
    max-width: 777px;
}






/* = Tips / Blog */

/* секция */
.tips.section{ background:var(--bg); padding:clamp(28px,4vw,56px) 0; color:var(--black); }
.tips .section__title{
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 70px 0;
}

/* сетка */
.tips__grid, .tips__grid-3{
    display:grid;
    gap:clamp(14px,2.5vw,24px);
    grid-template-columns: 1fr;
}
@media (min-width: 640px){ .tips__grid{ grid-template-columns: repeat(2,1fr); } }
@media (min-width: 992px){
    .tips__grid{ grid-template-columns: repeat(4,1fr); }
    .tips__grid-3{ grid-template-columns: repeat(3,1fr)!important; }
}

/* карточка */
.tips__card{
    background: var(--grey-soft);
    border-radius: 40px;
    padding: 24px;
}
.tips__card-link{
    display:grid;
    gap:10px;
    color:inherit;
    text-decoration:none;
    grid-template-rows: auto auto 1fr auto; /* кнопка прижимается вниз */
    height:100%;
}

/* изображение */
.tips__image{
    border-radius: 20px;
    overflow:hidden;
    background:var(--grey-soft);
}
.tips__image img{ display:block; width:100%; height:auto; object-fit:cover; aspect-ratio:16/9; }
.tips__image--placeholder{ width:100%; aspect-ratio:16/9; background:var(--grey-d9); }

/* текст */
.tips__title{
    font:700 clamp(16px,2vw,18px)/1.25 var(--font);
    color:var(--black);
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    padding: 0;
    margin: 0;
}
.tips__excerpt{
    color:#4a4a4a;
    font-size:clamp(13px,1.8vw,15px);
    line-height:1.5;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin-bottom:6px;
    padding: 0;
}

/* кнопка в карточке */
.tips__more{
    text-align: center;
}

/* нижняя кнопка */
.tips__footer{
    display:flex; justify-content:flex-end; margin-top:clamp(16px,3vw,24px);
}



/* = FAQ */
/* секция */
.faq.section{ background:var(--bg); padding:clamp(28px,4vw,56px) 0; color:var(--black); font-family:var(--font); }
.faq .section__title{
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
    display: block;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 40px 0;
}

/* сетка */
/* сетка: mobile — одна колонка, desktop — 2 masonry-колонки */
.faq__grid{
    display:block;                   /* отключаем grid */
}
.faq__item{
    margin: 0 0 clamp(12px,2.5vw,18px);  /* вместо gap */
    border-radius:22px;
    background:var(--grey-soft);
    overflow:hidden;
    min-height:92px;
}

@media (min-width: 900px){
    .faq__grid{
        column-count: 2;                              /* две независимые колонки */
        column-gap: clamp(20px,3vw,28px);            /* расстояние между ними */
    }
    .faq__item{
        break-inside: avoid;                          /* не делить карточку */
        -webkit-column-break-inside: avoid;
        -moz-column-break-inside: avoid;
        display: inline-block;                        /* уважать ширину колонки */
        width: 100%;
    }
}


/* пункт */
.faq__item{border-radius:22px;background:var(--grey-soft);/* box-shadow:0 2px 10px rgba(0,0,0,.04); */overflow:hidden;min-height: 92px;display: flex;justify-content: space-between;flex-wrap: wrap;align-content: center;}


/* кнопка-вопрос */
.faq__btn{
    width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
    padding:clamp(14px,2.2vw,20px) clamp(16px,2.5vw,24px);
    background:transparent; border:0; cursor:pointer; text-align:left; color:var(--black);
    font:600 clamp(15px,2vw,18px)/1.35 var(--font);
}
.faq__btn:focus-visible{ outline:2px solid var(--blue); outline-offset:2px; border-radius:18px; }

/* стрелка */
.faq__icon{ width:24px; height:24px; flex:0 0 auto; color:var(--red); transition:transform .2s ease; }
.faq__btn[aria-expanded="true"] .faq__icon{ transform: rotate(90deg); }

/* панель-ответ */
.faq__panel{
    max-height:0;
    overflow:hidden;
    transition:max-height .28s ease;
    will-change:max-height;
    background:var(--grey-soft);
    /* border-top:1px solid rgba(0,0,0,.06); */
}
.faq__panel-inner{
    padding:0 clamp(16px,2.5vw,24px) clamp(14px,2vw,18px);
    color:#4a4a4a;
    font-size:clamp(14px,1.9vw,16px);
    line-height:1.6;
    /* display: none; */
}

/* мелкие улучшения */
.faq__btn:hover{ filter:brightness(.98); }



/* = Lead form */
.lead.section {
    background: var(--bg);
    padding: clamp(28px, 4vw, 56px) 0;
    color: var(--black);
    font-family: var(--font);
}

.lead__inner {
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(16px, 3vw, 28px);
    align-items: start;
}

@media (min-width: 992px) {
    .lead__inner {
        grid-template-columns: minmax(260px, .6fr) 1.1fr;
        gap: clamp(24px, 3vw, 40px);
    }
}

/* Left text */
.lead__text {
    max-width: 480px;
}
.lead__title {
    font-weight: 600;
    font-size: 32px;
    line-height: 120%;
    text-transform: uppercase;
}
.lead__desc {
    font-weight: 600;
    font-size: 18px;
    line-height: 120%;
}

/* Form card */
.lead__form {
    background: var(--red);
    border-radius: 22px;
    padding: clamp(14px, 2.5vw, 20px);
    color: #fff;
    width: 100;
}
.lead__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 12px;
}
@media (min-width: 640px) {
    .lead__row {
        grid-template-columns: 1fr 1fr;
        gap: 12px;
    }
}

/* Fields */
.lead__field {
    display: block;
}
.lead__field input,
.lead__field textarea {
    width: calc(100% - 28px);
    display: block;
    background: #fff;
    color: var(--black);
    border: 0;
    border-radius: 16px;
    padding: 12px 14px;
    font: 500 14px/1.4 var(--font);
    outline: none;

    font-family: Manrope;
    font-weight: 400;
    font-style: Regular;
    font-size: 14px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0%;

}
.lead__field textarea {
    resize: vertical;
    min-height: 92px;
}
.lead__field--full {
    margin-top: 8px;
}

/* Footer row */
.lead__footer {
    margin-top: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
    justify-content: space-between;
    flex-wrap: wrap;
}

/* Agree */
.lead__agree {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 400;
    font-style: Regular;
    font-size: 16px;
    line-height: 140%;

}
.lead__agree a {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
    opacity: .95;
    font-family: Manrope;
    font-weight: 700;
    font-style: Bold;
    font-size: 16px;
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0%;
    text-decoration: underline;
    text-decoration-style: solid;
    text-decoration-offset: 0%;
    text-decoration-thickness: 0%;
    text-decoration-skip-ink: auto;

}
.lead__agree input {
    width: 18px;
    height: 18px;
    accent-color: var(--red-darck);
    border-radius: 4px;
}

/* Submit button */
.lead__submit {
    background: var(--red-darck);
    color: #fff;
    border: 0;
    cursor: pointer;
    padding: 12px 24px;
    border-radius: 22px;
    font: 700 15px/1 var(--font);
    transition: .15s ease;

    font-family: Manrope;
    font-weight: 500;
    font-style: Medium;
    font-size: 18px;
    leading-trim: NONE;
    line-height: 120%;
    letter-spacing: 0%;
    min-width: 250px;

}
.lead__submit:hover {
    transform: translateY(-1px);
    background: #5e1b1b;
}

/* Accessibility helper */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}



/* ====== ticker with dot separators ====== */
.ticker-dots{
    --speed: 28s;           /* скорость (меньше — быстрее) */
    --space: 28px;          /* интервал между элементами */
    --dot: 8px;             /* диаметр точки */
    --dot-color: #b9716f;   /* цвет точки */
    --text-color: #2a2a2a;  /* цвет текста */
    --bg: transparent;      /* фон полосы */
    overflow: hidden;
    width: 100%;
    background: var(--bg);
    margin-top: 80px;
    margin-bottom: 80px;
}

.ticker-dots__track{
    display: flex;
    width: max-content;
    animation: ticker-marquee var(--speed) linear infinite;
}

.ticker-dots__list{
    display: flex;
    margin: 0;
    padding: 8px 0;
    list-style: none;
}

.ticker-dots__item{
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    color: var(--text-color);
    font-weight: 500;
    line-height: 1.3;
}

/* точка-разделитель */
.ticker-dots__item:not(:first-child)::before{
    content: "";
    width: var(--dot);
    height: var(--dot);
    border-radius: 50%;
    background: var(--dot-color);
    margin: 0 var(--space);
    flex: none;
    box-shadow: 0 0 0 2px rgba(0,0,0,0); /* чтобы не было «слипания» в некоторых браузерах */
}

/* пауза при наведении (по желанию) */
.ticker-dots:hover .ticker-dots__track{ animation-play-state: paused; }

/* уважение reduce-motion */
@media (prefers-reduced-motion: reduce){
    .ticker-dots__track{ animation: none; }
}

@keyframes ticker-marquee{
    to { transform: translateX(-50%); } /* двигаем на ширину первого списка */
}


@media screen and (max-width: 1024px) {
    .advantages .container {
        flex-direction: column;
    }

    .hero__badge-subtitle-wrapper {
        left: 20px;
        right: 20px;
        bottom: 20px;
    }

    .hero__title {
        font-size: 28px;
    }


    .services .container {
        flex-direction: column;
    }
    .services__grid {
        width: 100%;
    }
    .services__link {
        width: 100%;
    }


    .pricing__tabs-wrapper {
        flex-direction: column;
    }


    .pricing__tabs {
        border-radius: 20px;
        flex-direction: column;
        width: 100%;
        margin-top: 30px;
    }


    .pricing__content {
        width: 100%;
    }

    .workflow__step {
        text-align: center;
        display: flex
    ;
        flex-direction: column;
        align-items: center;
        gap: 30px;
        position: relative;
        width: calc(100% - 40px);
        border: solid 1px #A5A5A5;
        padding: 20px;
        border-radius: 10px;
        margin-bottom: 10px;
    }

    .workflow__grid {
        flex-direction: column;
    }

    .advantages .container .col ul {;
        flex-direction: column;
    }

    .advantages .container .col ul li {
        width: auto;
    }

    .advantages__item {
        display: flex;
        width: auto;
        flex-direction: column;
        align-content: flex-start;
        gap: 20px;
    }

    .advantages__grid {
        flex-direction: column;
    }

    .advantages__cta-wrap {
        width: 100%;
        justify-content: center;
        margin-bottom: 20px;
        margin-top: 20px;
    }

    .services__grid {
        flex-direction: column;
    }

    .workflow__step:before {
        display: none;
    }


    .hero__content .bubble-right-bottom {
        position: absolute;
        bottom: 30% !important;
        right: 0 !important;
        top: unset !important;
        left: unset !important;
        background-color: #fff;
        border-radius:  40px 0 0 40px ;
        display: block;
        padding-left: clamp(12px, 1.39vw, 20px);
    }

    .hero__content .bubble.bubble-right-bottom .button-wrapper:before {
        left: unset !important;
        transform: rotate(270deg);
        right: 0;
        bottom: clamp(-24px, -2.76vw, -40px) !important;
    }

    .hero__content .bubble .button-wrapper {
        background-color: var(--bg);
        display: block;
        border-radius: 0 0 40px 0;
        max-width: clamp(190px, 16.67vw, 240px);
        padding: clamp(12px, 1.39vw, 20px) clamp(12px, 1.39vw, 20px) clamp(12px, 1.39vw, 20px) 0 !important;
        position: relative;
        float: left;
    }

    .features {
        display: flex;
        gap: 20px;
        font-family: Arial, sans-serif;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    .services_inner__tabs {
        display: flex;
        gap: 12px;
        flex-wrap: wrap;
        background-color: var(--grey-soft);
        font-weight: 600;
        font-size: 18px;
        line-height: 120%;
        align-items: center;
        justify-content: space-around;
        margin: auto;
        border-radius: 30px!important;
        padding: 5px;
        max-width: 1100px;
        flex-direction: column!important;
        width: 100% !important;
    }


    .services_inner__tab {
        width: calc(100% - 14px)!important;
    }

    .feature-item {
        width: calc(100% - 56px)!important;
    }


    .hero__inner.hero__service, .hero__inner.hero__about {
        border-radius: 0 40px 40px 0 !important;
    }

    hero__content .bubble.bubble-line-1 .text-top-wrapper {
        padding-bottom: 0px !important;
    }
}


@media screen and (max-width: 778px) {
    .hero__inner.hero__service, .hero__inner.hero__about {
        border-radius: 0 20px 40px 40px !important;
    }

    .lead__submit {
        width: 100%;
    }
}

@media screen and (max-width: 496px) {
    .stats {
        left: 10px;
        right: 10px;
        flex-wrap: wrap;
        top: -80px;
        max-width: calc(100% - 20px);
    }

    .stats .stat-item:first-child {
        width: 50%;
        float: left;
    }

    .stats .stat-item:last-child {
        width: 50%;
        float: right;
    }

    .stats .stat-item {
        clear: both;
    }
}