*{
    padding:0;
    margin:0;
    border:0;
    box-sizing:border-box;
    -webkit-appearance:none;
    appearance:none
}
::after,::before{
    box-sizing:inherit
}
body,html{
    height:100%;
    width:100%;
    line-height:normal;
    font-size:15px
}
input,textarea{
    outline:0
}
*,button,input,select,textarea{
    -webkit-tap-highlight-color:transparent
}
input:focus{
    outline:0;
    box-shadow:none
}
input::-ms-clear{
    display:none
}
button{
    cursor:pointer;
    background-color:transparent;
    border:0;
    outline:0
}
button::-moz-focus-inner{
    padding:0;
    border:0
}
a{
    line-height:1
}
a,a:hover,a:visited{
    text-decoration:none
}
ol li,ul li{
    list-style:none
}
li{
    line-height:normal
}
@font-face{
    font-family:'Inter';
    font-display:swap;
    src:url(../fonts/InterRegular.woff2) format("woff2");
    font-weight:400;
    font-style:normal
}
@font-face{
    font-family:'Inter';
    font-display:swap;
    src:url(../fonts/InterMedium.woff2) format("woff2");
    font-weight:500;
    font-style:normal
}
@font-face{
    font-family:'Sansation';
    font-display:swap;
    src:url(../fonts/SansationItalic.woff2) format("woff2");
    font-weight:400;
    font-style:normal
}
@font-face{
    font-family:'Sansation';
    font-display:swap;
    src:url(../fonts/SansationBoldItalic.woff2) format("woff2");
    font-weight:700;
    font-style:normal
}
.flex{
    display:flex
}
.flex--column{
    flex-direction:column
}
.flex--no-shrink{
    flex-shrink:0
}
.align--center{
    align-items:center
}
.justify--center{
    justify-content:center
}
.justify--between{
    justify-content:space-between
}
.gap--8{
    gap:8px
}
.gap--16{
    gap:16px
}
.gap--24{
    gap:24px
}
.gap--32{
    gap:32px
}
.grid{
    display:grid
}
.pl--8{
    padding-left:8px
}
.pl--16{
    padding-left:16px
}
.pl--22{
    padding-left:22px
}
.pl--24{
    padding-left:24px
}
.pl--32{
    padding-left:32px
}
.pl--48{
    padding-left:48px
}
.pr--8{
    padding-right:8px
}
.pr--16{
    padding-right:16px
}
.pr--20{
    padding-right:20px
}
.pr--24{
    padding-right:24px
}
.pr--32{
    padding-right:32px
}
.pr--48{
    padding-right:48px
}
.pt--8{
    padding-top:8px
}
.pt--16{
    padding-top:16px
}
.pt--24{
    padding-top:24px
}
.pt--32{
    padding-top:32px
}
.pt--48{
    padding-top:48px
}
.pt--168{
    padding-top:168px
}
.pb--8{
    padding-bottom:8px
}
.pb--16{
    padding-bottom:16px
}
.pb--24{
    padding-bottom:24px
}
.pb--32{
    padding-bottom:32px
}
.pb--48{
    padding-bottom:48px
}
.pb--168{
    padding-bottom:168px
}
.m--auto{
    margin-left:auto;
    margin-right:auto
}
.mb--8{
    margin-bottom:8px
}
.mb--16{
    margin-bottom:16px
}
.mb--24{
    margin-bottom:24px
}
.mr--4{
    margin-right:4px
}
.color--white{
    color:var(--color--white)
}
.color--saphire{
    color:var(--color--saphire)
}
.color--dark-blue{
    color:var(--color--dark-blue)
}
.color--text-black{
    color:var(--color--text-black)
}
.color--text-gray{
    color:var(--color--text-gray)
}
.color--muted-blue{
    color:var(--color--muted-blue)
}
.color--decor-blue{
    color:var(--color--decor-blue)
}
.bg--dark-blue{
    background-color:var(--color--dark-blue)
}
.bg--light-blue{
    background-color:var(--color--light-blue)
}
.bg--white{
    background-color:var(--color--white)
}
.bg--deco-blue{
    background-color:var(--color--deco-blue)
}
.bg--light-deco-blue{
    background-color:var(--color--light-deco-blue)
}
.bg--btn-secondary{
    background-color:var(--color--btn-secondary)
}
.bg--btn-blue{
    background-color:var(--color--primary-btn-blue)
}
.bg--super-light-blue{
    background-color:var(--color--super-light-blue)
}
.bg--decor-blue{
    background-color:var(--color--decor-blue)
}
.br--circle{
    border-radius:50%
}
.br--4{
    border-radius:4px
}
.br--8{
    border-radius:8px
}
.br--16{
    border-radius:16px
}
.font--normal{
    font-weight:400
}
.font--medium{
    font-weight:500
}
.font--bold{
    font-weight:700
}
.font--primary{
    font-family:'Inter',sans-serif
}
.font--secondary{
    font-family:'Sansation',sans-serif
}
.font--italic{
    font-style:italic
}
.font--16{
    font-size:1.06667rem
}
.font--18{
    font-size:1.2rem
}
.font--20{
    font-size:1.33333rem
}
.font--24{
    font-size:1.6rem
}
.font--32{
    font-size:2.13333rem
}
.font--40{
    font-size:2.66667rem
}
.text--center{
    text-align:center
}
.position--fixed{
    position:fixed
}
.position--absolute{
    position:absolute
}
.position--relative{
    position:relative
}
.lh--105{
    line-height:105%
}
.lh--150{
    line-height:150%
}
.btn{
    height:56px;
    border-radius:100px
}
@media (min-width:1024px){
    .btn{
        height:59px
    }
    .btn--hover{
        position:relative;
        z-index:0;
        overflow:hidden;
        transition:background-position .6s ease,color .6s ease;
        border-radius:100px
    }
    .btn--hover:before{
        content:'';
        position:absolute;
        top:0;
        left:0;
        width:100%;
        height:100%;
        border-radius:100px;
        transform:translateX(-100%);
        transition:transform .7s ease;
        z-index:-1
    }
    .btn--hover:hover{
        background-position:0 0
    }
    .btn--hover:hover:before{
        transform:translateX(0);
        transition:transform .45s ease
    }
    .btn--hover-blue{
        color:var(--color--dark-blue);
        background:linear-gradient(90deg,var(--color--blue-hover) 50%,var(--color--white) 50%) 100% 0/200% no-repeat
    }
    .btn--hover-blue:before,.btn--hover-secondary:before{
        background-color:var(--color--blue-hover)
    }
    .btn--hover-blue:hover{
        color:var(--color--white)
    }
    .btn--hover-secondary{
        background:linear-gradient(90deg,var(--color--blue-hover) 50%,var(--color--btn-secondary) 50%) 100% 0/200% no-repeat
    }
    .btn--hover-transparent{
        background:linear-gradient(90deg,var(--color--super-light-blue) 50%,var(--color--white) 50%) 100% 0/200% no-repeat
    }
    .btn--hover-transparent-header:before,.btn--hover-transparent:before{
        background-color:var(--color--super-light-blue)
    }
    .btn--hover-transparent-header{
        background:linear-gradient(90deg,var(--color--super-light-blue) 50%,var(--color--dark-blue) 50%) 100% 0/200% no-repeat
    }
    .btn--hover-transparent-header:hover *{
        color:var(--color--dark-blue);
        fill:var(--color--dark-blue)
    }
    .btn--hover-dark-blue{
        background:linear-gradient(90deg,var(--color--dark-blue-hover) 50%,var(--color--primary-btn-blue) 50%) 100% 0/200% no-repeat
    }
    .btn--hover-dark-blue:before{
        background-color:var(--color--dark-blue-hover)
    }
}
.btn--border{
    border:1px solid var(--color--dark-blue)
}
.btn--secondary{
    width:169px
}
.btn--transparent{
    background-color:transparent
}
.divider{
    height:1px;
    width:100%
}
.hidden{
    display:none
}
.pointer{
    cursor:pointer
}
.container{
    max-width:1312px
}
.full--width{
    width:100%
}
.full--height{
    height:100%
}
@media (min-width:1024px){
    .hover--link{
        width:fit-content
    }
    .hover--link:after{
        position:absolute;
        content:'';
        left:0;
        right:0;
        bottom:0;
        width:0;
        height:1px;
        background-color:var(--color--white);
        display:block;
        transition:width .4s ease-in-out
    }
    .hover--link:hover:after{
        width:100%
    }
}
:root{
    --color--saphire:#00145B;
    --color--muted-blue:#003962;
    --color--dark-blue-hover:#00267E;
    --color--dark-blue:#00309F;
    --color--primary-btn-blue:#0044E2;
    --color--btn-secondary:#3A75FF;
    --color--blue-hover:#2F5ECB;
    --color--green:#008D10;
    --color--text-black:#2B2B2B;
    --color--text-gray:#707070;
    --color--light-blue:#B3CAFF;
    --color--decor-blue:#A9C3FF;
    --color--deco-blue:#D4E1FF;
    --color--light-deco-blue:#EFF8FF;
    --color--super-light-blue:#EFF4FF;
    --color--white:#FFFFFF
}
body{
    padding-top:80px
}
body.lock{
    overflow:hidden;
    pointer-events:none;
    user-select:none;
    user-focus-key:unset;
    user-focus-pointer:unset;
    user-focus:unset
}
main{
    flex:1
}
.header{
    height:80px;
    left:0;
    right:0;
    top:0;
    z-index:999
}
@media (min-width:1024px){
    .header{
        padding:0 64px
    }
}
.header.open{
    pointer-events:auto
}
.header__burger{
    height:30px;
    width:36px;
    overflow:visible;
    position:relative;
    z-index:2
}
@media (min-width:1024px){
    .header__burger{
        display:none
    }
}
.header__burger .header__burger-line,.header__burger .header__burger-line::after,.header__burger .header__burger-line::before{
    background:#fff;
    display:block;
    height:2px;
    opacity:1;
    position:absolute;
    transition:.3s ease-in-out;
    border-radius:2px;
    content:''
}
.header__burger .header__burger-line{
    left:13px;
    top:50%;
    width:23px;
    transform:translateY(-50%)
}
.header__burger .header__burger-line::before{
    right:0;
    top:-8px;
    width:36px
}
.header__burger .header__burger-line::after{
    right:0;
    top:8px;
    width:36px
}
.header__burger.close .header__burger-line{
    transform:rotate(45deg);
    top:13px;
    width:27px
}
.header__burger.close .header__burger-line::before{
    top:0;
    transform:rotate(90deg);
    width:27px;
    right:0
}
.header__burger.close .header__burger-line::after{
    top:0;
    right:0;
    transform:rotate(90deg);
    opacity:0;
    width:0
}
@media (min-width:1024px){
    .footer{
        padding-left:64px;
        padding-right:64px;
        gap:32px
    }
    .footer__nav{
        justify-content:space-evenly
    }
    .footer__nav,.footer__nav-container{
        flex-direction:row;
        gap:normal;
        width:100%
    }
    .footer__nav-links{
        display:none
    }
    .footer__nav-link{
        transition:.4s ease
    }
    .footer__nav-link:hover{
        color:var(--color--blue-hover)
    }
    .footer__header-links{
        display:flex
    }
    .footer__container{
        flex-direction:row;
        gap:normal
    }
}
@media (min-width:1280px){
    .footer__form{
        flex-direction:row
    }
    .footer__form-container{
        width:517px
    }
}
.footer__form-field{
    max-width:330px;
    width:100%
}
.footer__form-field::placeholder{
    font-family:'Inter';
    font-size:1.06667rem;
    font-weight:400;
    color:var(--color--text-gray);
    line-height:150%
}
.footer__text{
    max-width:665px
}
.hero{
    background-image:url(../img/sections/main/section-hero/bg-hero.webp);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:top center;
    /*height:calc(100dvh - 80px)*/
}
@media (min-width:1024px){
    .hero{
        padding:72px 64px
    }
    .hero__title{
        font-size:4rem
    }
    .hero__subtext{
        font-style:italic;
        font-weight:500
    }
}
.hero__clients{
    max-width:fit-content
}
@media (min-width:1024px){
    .hero__clients{
        max-width:288px;
        justify-content:space-between
    }
}
.hero__client{
    height:28px;
    width:28px;
    border:1.6px solid var(--color--white);
    background-position:center;
    background-repeat:no-repeat;
    background-size:cover
}
@media (min-width:1024px){
    .hero__client{
        width:40px;
        height:40px
    }
}
.hero__client:nth-of-type(1){
    background-image:url(../img/sections/main/section-hero/image-client-1.webp)
}
.hero__client:nth-of-type(2){
    background-image:url(../img/sections/main/section-hero/image-client-2.webp);
    left:-8.2px
}
@media (min-width:1024px){
    .hero__client:nth-of-type(2){
        left:-10.4px
    }
}
.hero__client:nth-of-type(3){
    background-image:url(../img/sections/main/section-hero/image-client-3.webp);
    left:-18px
}
@media (min-width:1024px){
    .hero__client:nth-of-type(3){
        left:-20px
    }
}
.hero__client-wrapper{
    max-width:68px
}
.hero__text{
    max-width:443px
}
@media (min-width:1024px){
    .hero__text{
        font-size:1.6rem;
        max-width:628px
    }
}
.hero__btn{
    max-width:256px
}
@media (min-width:1024px){
    .hero__btn{
        max-width:283px;
        font-size:1.2rem
    }
    .about{
        padding-left:64px;
        padding-right:64px
    }
    .about__block{
        flex-direction:row
    }
    .about__title{
        font-size:3.2rem
    }
    .about__text{
        font-size:1.2rem
    }
    .about__container{
        padding:10px 0
    }
    .about__btn{
        font-size:1.2rem
    }
}
@media (min-width:1440px){
    .about__wrapper{
        height:100%;
        justify-content:space-between
    }
}
.about__img{
    width:calc(100vw - 64px);
    height:auto
}
@media (min-width:1024px){
    .about__img{
        width:40vw;
        max-width:640px
    }
}
@media (min-width:1440px){
    .about__img{
        width:auto
    }
}
@media (min-width:768px){
    .about{
        gap:32px
    }
}
.store{
    background-image:url(../img/sections/main/section-store/bg-line.svg);
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover
}
@media (min-width:768px){
    .store{
        background-size:inherit
    }
}
@media (min-width:1024px){
    .store{
        padding-left:64px;
        padding-right:64px;
        background-size:cover
    }
}
.store__title{
    max-width:660px
}
@media (min-width:1024px){
    .store__title{
        font-size:3.2rem
    }
}
.store__text{
    max-width:660px
}
@media (min-width:1024px){
    .store__text{
        font-size:1.6rem
    }
    .encore{
        padding-left:64px;
        padding-right:64px;
        gap:32px
    }
    .encore__title{
        font-size:3.2rem
    }
    .encore__wrapper{
        flex-direction:row;
        justify-content:space-between;
        align-items:flex-end
    }
    .encore__btn{
        font-size:1.2rem;
        max-width:169px
    }
}
.encore__img{
    width:100%;
    height:auto
}
.encore__text{
    max-width:640px
}
@media (min-width:1024px){
    .encore__text{
        font-size:1.2rem
    }
}
.consultation{
    background-image:url(../img/sections/main/section-consultation/bg-line.svg);
    background-repeat:no-repeat;
    background-size:auto;
    background-position:left bottom
}
@media (min-width:768px){
    .consultation{
        background-position:left
    }
    .consultation__wrapper{
        flex-direction:row
    }
}
@media (min-width:1024px){
    .consultation{
        padding-left:64px;
        padding-right:64px;
        gap:32px;
        background-position:left bottom
    }
    .consultation,.consultation__content{
        flex-direction:row
    }
    .consultation__wrapper{
        flex-direction:column
    }
    .consultation__header{
        gap:32px;
        flex-basis:50%
    }
    .consultation__title{
        font-size:3.2rem
    }
    .consultation__title-secondary{
        font-size:1.6rem
    }
    .consultation__text{
        font-size:1.2rem;
        max-width:640px
    }
    .consultation__subtitle{
        font-size:2.13333rem
    }
    .consultation__subtext{
        font-size:1.2rem
    }
}
@media (min-width:1280px){
    .consultation__wrapper{
        flex-direction:row
    }
}
.consultation__container{
    box-shadow:0 1px 4px 0 rgba(0,0,0,.11)
}
@media (min-width:768px){
    .consultation__container{
        padding:32px
    }
}
@media (min-width:1024px){
    .consultation__container{
        flex-basis:calc(50% + 42px)
    }
}
@media (min-width:1440px){
    .consultation__container{
        flex-basis:50%
    }
}
.consultation__block{
    height:120px
}
@media (min-width:768px){
    .consultation__block{
        flex-basis:calc(100%/3);
        height:139px
    }
}
@media (min-width:1024px){
    .consultation__block-title{
        font-size:1.6rem
    }
    .consultation__block-subtext,.consultation__block-text{
        font-size:1.2rem
    }
}
.consultation__btn{
    max-width:256px
}
@media (min-width:768px){
    .consultation__btn-container{
        flex-direction:row
    }
}
@media (min-width:1024px){
    .consultation__btn{
        font-size:1.2rem;
        max-width:283px;
        width:100%
    }
    .consultation__btn-secondary{
        font-size:1.2rem;
        max-width:169px;
        width:100%
    }
    .consultation__btn-container{
        flex-direction:column
    }
}
@media (min-width:1280px){
    .consultation__btn-container{
        flex-direction:row
    }
}
@media (min-width:1024px){
    .info{
        padding-left:64px;
        padding-right:64px
    }
    .info__title{
        font-size:2.13333rem
    }
    .info__text{
        font-size:1.2rem
    }
}
@media (min-width:1024px) and (min-width:1280px){
    .info__container{
        max-width:750px;
        display:grid;
        align-self:end
    }
}
@media (min-width:768px){
    .insights:after,.insights:before{
        content:'';
        position:absolute;
        background-position:center;
        background-repeat:no-repeat;
        background-size:cover;
        width:200.45px;
        height:100%;
        top:0;
        z-index:1
    }
}
@media (min-width:768px) and (min-width:1024px){
    .insights:after,.insights:before{
        width:260px
    }
}
@media (min-width:768px){
    .insights:before{
        background-image:url(../img/sections/main/section-insights/bg-left.svg);
        left:0
    }
    .insights:after{
        background-image:url(../img/sections/main/section-insights/bg-right.svg);
        right:0
    }
}
.insights__container{
    z-index:2
}
.insights__btn{
    max-width:256px
}
@media (min-width:1024px){
    .insights__btn{
        font-size:1.2rem;
        max-width:283px;
        width:100%
    }
}
.insights__text{
    max-width:605px
}
@media (min-width:1024px){
    .insights__text{
        font-size:1.6rem
    }
    .insights{
        padding-left:64px;
        padding-right:64px
    }
    .insights__title{
        font-size:3.2rem
    }
    .testimonials{
        padding-left:64px;
        padding-right:64px
    }
    .testimonials__title{
        font-size:3.2rem
    }
    .testimonials__header{
        flex-direction:row;
        align-items:center;
        justify-content:space-between
    }
}
.testimonials__text{
    text-overflow:ellipsis;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:14;
    overflow:hidden
}
@media (min-width:768px){
    .testimonials__text{
        display:flex
    }
    .testimonials__text-secondary{
        display:flex!important
    }
}
@media (min-width:768px) and (min-width:1024px){
    .testimonials__text-secondary{
        font-size:1.2rem
    }
}
@media (min-width:1024px){
    .testimonials__text{
        font-size:1.2rem
    }
}
.testimonials__wrapper{
    overflow-x:hidden
}
.testimonials__slide{
    min-height:640px
}
@media (min-width:768px){
    .testimonials__slide{
        min-height:992px
    }
    .testimonials__slide-btn{
        display:none
    }
}
@media (min-width:1024px){
    .testimonials__slide{
        min-height:980px;
        height:100%
    }
}
@media (min-width:1280px){
    .testimonials__slide{
        min-height:791px
    }
}
@media (min-width:1440px){
    .testimonials__slide{
        min-height:726px
    }
}
@media (min-width:1024px){
    .social{
        padding-left:64px;
        padding-right:64px
    }
    .social__title{
        font-size:3.2rem
    }
    .social__subtitle{
        font-size:1.2rem
    }
}
.social__img{
    object-fit:cover;
    width:100%;
    height:auto
}
@media (min-width:1024px){
    .social__img{
        max-height:492px
    }
}
@media (min-width:768px){
    .social__posts{
        flex-direction:row
    }
}
@media (min-width:768px) and (min-width:1024px){
    .social__posts{
        gap:32px
    }
}
@media (min-width:768px){
    .social__post{
        flex-basis:calc(100%/3)
    }
}
.popup{
    width:100%;
    width:calc(100% - 64px);
    position:relative;
    max-height:90vh;
    overflow-y:auto;
    pointer-events:auto;
    max-width:695px
}
@media (min-width:768px){
    .popup{
        padding:32px;
        gap:32px
    }
    .popup__title{
        font-size:3.2rem
    }
    .popup__text{
        font-size:1.2rem
    }
    .popup__icon{
        width:48px;
        height:48px
    }
}
.popup__overlay{
    inset:0;
    background-color:rgba(0,0,0,.51);
    z-index:1000;
    overflow-y:auto
}
.popup__overlay.active{
    display:flex
}
.popup__img{
    object-fit:cover;
    width:100%;
    height:auto
}
.popup__form-field::placeholder{
    font-family:'Inter';
    font-size:1.06667rem;
    font-weight:400;
    color:var(--color--text-gray);
    line-height:150%
}
@media (min-width:768px){
    .popup__form-field::placeholder{
        font-size:1.2rem
    }
    .popup__form{
        flex-direction:row
    }
    .popup__form-field{
        width:100%;
        font-size:1.2rem
    }
    .popup__form-btn{
        font-size:1.2rem;
        flex-shrink:0
    }
}
.popup__close{
    top:8px;
    right:8px
}
@media (min-width:768px){
    .popup__close{
        right:16px;
        top:16px
    }
}
.mobile-menu{
    top:80px;
    left:0;
    right:0;
    height:calc(100dvh + 80px);
    transform:translateY(calc(100dvh + 80px));
    transition:transform .4s ease,opacity .2s ease;
    z-index:998;
    pointer-events:none;
    opacity:0
}
.mobile-menu.open{
    transform:translateY(0);
    pointer-events:auto;
    overflow:auto;
    height:calc(100dvh - 80px);
    opacity:1
}
.mobile-menu__list-item:after{
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:-16px;
    height:1px;
    background-color:var(--color--deco-blue)
}
.mobile-menu__list-icon{
    transition:transform .4s ease
}
.mobile-menu__list-icon.open{
    transform:rotate(-180deg)
}
.mobile-menu__btn{
    border:1px solid var(--color--white);
    width:fit-content;
    height:43px
}
.mobile-menu__dropdown{
    height:160px
}
.mobile-menu__dropdown-btn{
    background-color:transparent;
    border:0
}
@media (min-width:1024px){
    .desktop-menu{
        display:flex
    }
    .desktop-menu__btn{
        border:1px solid var(--color--white);
        width:fit-content;
        height:43px
    }
    .desktop-menu__btn *{
        transition:all .4s ease-in-out
    }
    .desktop-menu__btn-sign{
        display:flex
    }
    .desktop-menu__drop-item{
        border-bottom:1px solid var(--color--deco-blue)
    }
    .desktop-menu__drop-item:first-child{
        border-top:1px solid var(--color--deco-blue)
    }
    .desktop-menu__dropdown-btn{
        padding:28px 0
    }
    .desktop-menu__dropdown-btn.visible{
        padding:156px 0
    }
    .desktop-menu__services{
        opacity:0;
        visibility:hidden;
        transform:translateY(10px);
        transition:opacity .4s ease,transform .4s ease,visibility .4s;
        z-index:1000;
        border:1px solid var(--color--decor-blue)
    }
    .desktop-menu__services.visible{
        opacity:1;
        visibility:visible;
        transform:translateY(0)
    }
    .desktop-menu__list-icon{
        transition:transform .4s ease-in-out
    }
    .desktop-menu__list-icon.rotated{
        transform:rotate(-180deg)
    }
}
@media (min-width:1024px) and (min-width:1280px){
    .desktop-menu__list-small{
        display:none
    }
    .desktop-menu__list-large{
        display:flex
    }
}
