/*  START RESET  */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
html {
    height: 100%;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*,
*::before,
*::after {
  box-sizing: border-box;
}
/*  END RESET  */
html {
    scroll-behavior: smooth;
}
body{overflow-x:hidden;}
.d-none{
    display:none!important;
}

body{
    color:#181818;
    background:#F4F4F4;
    font-family: "Inter Tight", sans-serif;
}
.color_primary{color:#DCD0A9;}
.color_white{color:#FFF;}
.color_grey{color:#878787;}

.container{
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 16px;
}
.no-wrap {
    white-space: nowrap;
}

/*   START HEADER  */

@media (min-width: 992px) {
  .header_body{
    position:absolute;
    z-index:10;
    top:25px;
    left:50%;
    margin-left:-350px;
    transform: translateY(0); /* СКРЫТ сверху */
    opacity: 1;

    
    
    display: flex;
    width: 700px;
    height: 48px;
    padding: 4px 3px;
    justify-content: space-between;
    align-items: center;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.10);
    backdrop-filter: blur(46px);
  }
  
.header_body.fixed {
    position: fixed;
    top: 10px;
    background: rgba(255, 255, 255, 0.50);
    transform: translateY(-50px);
    opacity: 0;
  }

  .header_body.fixed.is-visible {
    transform: translateY(0);
    opacity: 1;
    transition:
      transform 0.35s ease,
      opacity 0.35s ease;
  }
 .header_body.fixed .header_menu ul li a{
     color:#151515;
 }
  
  .header_logo{
      display: flex;
      align-content: center;
      align-items: center;}
      
  .header_logo img{
    width: 40px;
    height: 40px;
  }
  
  .header_menu ul{
      display: flex;
      margin:0px;
      gap:33px;
  }
  
  .header_menu ul li a{
        color: #878787;
        font-size: 12px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        text-decoration:none;
  }
  
  .header_menu ul li a:hover{
        color: #FFF;
        text-decoration:underline;
  }
  
  .header_btn{
    display: flex;
    padding: 12px 23px;
    justify-content: center;
    align-items: center;
    border-radius: 8px;
    background-color: #DCD0A9;
    
    cursor:pointer;
    
    color: #000;
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration:none;
    transition: 
        background-color 0.25s ease,
        color 0.25s ease;
  }
  
 .header_btn:hover{
    background-color: #FFF;
    color: #DCD0A9;
  }
      
}

@media (max-width: 991px) {
    

    .header_body{
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        z-index:100;
        transform: translateY(-100%);
        transition: transform 0.35s ease;
        display: flex;
        padding: 40px 20px 20px 20px;
        border-radius: 0px 0px 30px 30px;
        background: #181818;
        flex-direction: column;
        gap:35px;
        
        max-height: 100vh;
        overflow-y: auto;
      }  
      
      .header_body.is-open {
    transform: translateY(0);
}
      
    .header_close_btn{
        display:flex!important;
        cursor:pointer;
        width: 40px;
        height: 40px;
        justify-content: center;
        align-items: center;
        align-content: center;

     }
  
      .header_logo{
          display: flex;
          align-content: center;
          align-items: center;
          justify-content: space-between;
      }
          
      .header_logo img{
        width: 40px;
        height: 40px;
      }
      
      .header_btn{
        display: flex;
        width: 100%;
        max-width: 400px;
        height: 70px;
        padding: 20px 30px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        cursor:pointer;
        color: #000;
        font-size: 16px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.32px;
        border-radius: 20px;
        background: #DCD0A9;
        text-decoration:none;
        margin: 0 auto;
        margin-top:50px;
        transition: 
            background-color 0.25s ease,
            color 0.25s ease;
  }
  
 .header_btn:hover{
    background-color: #FFF;
    color: #DCD0A9;
  }
  
   .header_menu ul{
      display: flex;
      margin:0px;
      flex-direction: column;
      gap:20px;
  }
  
  .header_menu ul li a{
        display:block;
        width:100%;
        color: #FFF;
        font-family: "Zalando Sans Expanded", sans-serif;
        font-size: 32px;
        font-style: normal;
        font-weight: 700;
        line-height: 93.205%; /* 29.826px */
        letter-spacing: -1.6px;
        text-transform: uppercase;
        text-decoration:none;
        padding-bottom: 5px;
        border-bottom:1px solid #FFF;
        transition: 
            color 0.25s ease;
  }
  
  .header_menu ul li a:hover{
        color: #DCD0A9;
        text-decoration:none;
        border-bottom:1px solid #DCD0A9;
  }
  
  
  .header_mob_btn{
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       z-index:10;
       display:flex!important;
       justify-content: space-between;
       align-items: center;
       padding:30px 30px 0px 30px;
  }
  .header_mob_logo img{
      width: 44px;
      height:67px;
  }
  
  .header_mob_btn_open{
      cursor:pointer;
  }

.header_mob_btn_open.fixed{
    position: fixed;
    top: 10px;
    right:25px;
    transform: translateY(-50px);
    opacity: 0;
  }

.header_mob_btn_open.fixed.is-visible{
    transform: translateY(0);
    opacity: 1;
    transition:
      transform 0.35s ease,
      opacity 0.35s ease;
  }
}

/*   END  HEADER*/

/* START HERO */
.hero_container{
    padding-top: 10px;
    max-width: clamp(1440px, 100vw, 1920px);
}

.hero_body{
    position: relative;
    border-radius: 25px;
    display:flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 330px 65px 40px 65px;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    overflow:hidden;
    min-height: clamp(600px, 98svh, 1000px);
}

.hero_body::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(24, 24, 24, 0) 6%,
        rgba(24, 24, 24, 1) 100%
    );
    pointer-events: none;
    z-index: 1;
}
.hero_body > * {
    position: relative;
    z-index: 2;
}

.hero_buttons{
    margin-top:40px;
    display: flex;
    gap: 20px;
}


.hero_text{
font-family: "Zalando Sans Expanded", sans-serif;
font-size: 90px;
font-style: normal;
font-weight: 900;
line-height: 93.205%; /* 83.884px */
letter-spacing: -4.5px;
text-transform: uppercase;
}

.hero_buttons .hero_cta_button{
    max-width: 325px; 
}


@media (max-width: 991px) {
    .hero_container{
    padding: 5px 5px;
}

.hero_body{
    position: relative;
    border-radius: 25px;
    padding: 108px 15px 20px 15px;
    background-position: 60% 20%;
    background-size: cover;
    background-repeat: no-repeat;
    overflow:hidden;
    min-height: clamp(600px, 98svh, 800px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero_body::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        181deg,
        rgba(24, 24, 24, 0) 58.8%,
        rgba(24, 24, 24, 1) 87.2%
    );
    pointer-events: none;
    z-index: 1;
}
.hero_body > * {
    position: relative;
    z-index: 2;
}

.hero_buttons{
    margin-top:40px;
    display: flex;
    gap: 20px;
}


.hero_text{
color: #FFF;
font-family: "Zalando Sans Expanded", sans-serif;
font-size: clamp(48px, 9vw, 80px);
font-style: normal;
font-weight: 900;
line-height: 93.205%; /* 44.738px */
letter-spacing: -2.4px;
text-transform: uppercase;
}

.hero_buttons .hero_cta_button{
    max-width: 450px;
}


}

/*  END  HERO  */

/*  START TEXT UNDER  HERO  */
.section_our_services{
    min-height: clamp(500px, 98svh, 700px);
    display:flex;
    align-items: center;
}

.container_our_services{
    padding:0px 70px;
    
}
.title_our_services{
    position:absolute;
    top:10px;
    left:0px;
    width:250px;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-indent: 0px;
    letter-spacing: -0.489px;
}
.text_our_services{
    position:relative;
    font-size: clamp(40px, 6vw, 65px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -1.305px;
    text-indent: 40%;
}

@media (max-width: 991px) {
  .section_our_services{
        min-height: auto;
        display: flex;
        align-items: center;
        padding: 100px 0px;
}

.container_our_services{
    padding:0px 20px;
    
}
.title_our_services{
    position:absolute;
    top:0px;
    right:0px;
    left: auto;
    width:200px;
    text-align:right;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-indent: 0px;
    letter-spacing: -0.32px;
}
.text_our_services{
    position:relative;
    padding-top:60px;
    font-size: clamp(26px, 6vw, 40px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
    text-indent: 20%;
}  
}
/*  END  TEXT UNDER HERO  */

/* START SERVICE */
    .services_container{
        display:flex;
    }
    .services_items{
        display:flex;
        gap:30px;
        justify-content: center;
        padding: 0px 70px;
    }
    
    .services_items .service_item{
        display: flex;
        border-radius: 25px;
        background: #EAEAEA;
        overflow: hidden;
        width: 515px;
        min-width: 515px;
        aspect-ratio: 103 / 106;
        flex-direction: column;
        justify-content: space-between;
        cursor:pointer;
    }
    
    .service_item_img{
        width:100%;
        aspect-ratio: 103 / 58;
        overflow: hidden;
    }
    
    .service_item_img img{
        width:100%;
        user-select: none;
        -webkit-user-drag: none;
    }
    
    .service_item_text{
        display: flex;
        padding: 60px 20px 20px 70px;
        flex-direction: column;
        gap: 10px;
    }
    .service_item_text h2{
        font-size: 32px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    .service_item_text p{
        color: #878787;
        font-size: 24px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    
@media (max-width: 991px) {
    .services_items{
        display:flex;
        gap:30px;
        justify-content: center;
        padding: 0px 20px;
    }
    
    .services_items .service_item{
        border-radius: 16px;
        width: 334px;
        min-width: 334px;
    }
    
    .service_item_text{
        display: flex;
        padding: 40px 10px 10px 50px;
        flex-direction: column;
        gap: 10px;
    }
    .service_item_text h2{
        font-size: 20px;
    }
    .service_item_text p{
        font-size: 16px;
    }
}    
/* END SERVICE */

/* START SIGNATURE */
.cta_button {
        display: flex;
        width: 100%;
        max-width: 410px;
        height: 97px;
        padding: 20px 30px;
        justify-content: center;
        align-items: center;
        gap: 10px;
        border-radius: 20px;
        background: #DCD0A9;
        color: #000;
        font-family: "Inter Tight", sans-serif;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
        text-decoration: none;
        transition: background-color 0.25s ease;
        cursor:pointer;
    }
.cta_button:hover{
    background: #FFF;
    color:#DCD0A9;
    text-decoration:none;
    letter-spacing: -0.02em;
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

@media (max-width: 991px) {
  .cta_button {
        display: flex;
        width: 100%;
        max-width: 400px;
        margin:0 auto;
        height: 70px;
        font-size: 16px;
    } 
}

@media (max-width: 991px) {
    .d-none-mob{
        display:none!important;
    }
}
@media (min-width: 992px) {
    .d-none-pc{
        display:none!important;
    }
}


@media (min-width: 992px) {
    .signature{
        padding:250px 0px;
    }
    .signature_container{
         padding:0 70px;
    }
    .signature_body{
        position: relative;
        aspect-ratio: 1280 / 805;
        background-image: var(--hero-bg-desktop);
        background-size: 107%;
        background-position: left 80%;
        background-repeat: no-repeat;
        border-radius: 25px;
    }
    
    .signature__headline{
        position:absolute;
        left:0px;
        top:0px;
        border-radius: 0 0 25px 0;
        background: #F4F4F4;
        width: 50%;
    }
    
    .signature__title{
        font-size: clamp(60px, 5.8vw, 90px);
        font-style: normal;
        font-weight: 500;
        line-height: 1.1;
        letter-spacing: -0.02em;
        
        padding-right: clamp(30px, 3vw, 50px);
        padding-bottom: clamp(30px, 3vw, 50px); 
    }
    

    .signature__headline::after {
      content: "";
      position: absolute;
      top: 0;
      right: -25px;
      width: 25px;
      height: 25px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(90deg);
    }
    .signature__headline::before {
      content: "";
      position: absolute;
      bottom: -25px;
      left: 0px;
      width: 25px;
      height: 25px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(90deg);
    }
    
    .signature__cta{
        position:absolute;
        right:0px;
        bottom:0px;
        border-radius: 25px 0 0 0;
        background: #F4F4F4;
        width: 35%;
        
        display:flex;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        letter-spacing: -0.02em;
        flex-direction: column;
        gap: 30px;
        padding-top: clamp(30px, 2.5vw, 40px);
        padding-left: clamp(40px, 2.5vw, 60px); ;
        align-items: center;
    }
    
        .signature__cta::after {
      content: "";
      position: absolute;
      top: -25px;
      right: 0px;
      width: 25px;
      height: 25px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(-90deg);
    }
    .signature__cta::before {
      content: "";
      position: absolute;
      bottom: 0px;
      left: -25px;
      width: 25px;
      height: 25px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(-90deg);
    }
    
}
@media (max-width: 991px) {
    .signature{
        padding:100px 0px;
    }
    .signature_container{
         padding:0 20px;
    }
    .signature_body{
        position: relative;
        width:100%;
        min-height: clamp(400px, calc(98svh - 220px), 800px);
        background-image: var(--hero-bg-desktop);
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 15px;
    }
    
    .signature__headline{
        position:absolute;
        left:0px;
        top:-45px;
        width: 330px;
    }
    
    .signature_headline_bg_mob{
        position:absolute;
        left:0px;
        top:0px;
        border-radius: 0 0 15px 0;
        background: #F4F4F4;
        width: 220px;
        height:90px;
        z-index:1;
    }
    
    .signature__title br{display:none;}
    .signature__title .color_primary{color:#181818;}
    .signature__title{
        position:relative;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height:normal;
        letter-spacing: -0.02em;
        z-index:2;
    }
    
    .signature_headline_bg_mob::after {
      content: "";
      position: absolute;
      top: 45px;
      right: -15px;
      width: 15px;
      height: 15px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(90deg);
      background-size: contain;
    }
    .signature_headline_bg_mob::before {
      content: "";
      position: absolute;
      bottom: -15px;
      left: 0px;
      width: 15px;
      height: 15px;
      background-image: url("/assets/images/angle.svg");
      transform: rotate(90deg);
      background-size: contain;
    }
    
    .signature__cta{
        position:absolute;
        right:0px;
        bottom:0px;
        border-radius: 15px 0 0 0;
        background: #F4F4F4;
        width: 260px;
        
        display:flex;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        letter-spacing: -0.02em;
        padding-top: 15px;
        padding-left: 15px;
        align-items: center;
    }
    .signature__cta .cta_button{
        display:none!important;
    }
    
        .signature__cta::after {
      content: "";
      position: absolute;
      top: -15px;
      right: 0px;
      width: 15px;
      height: 15px;
      background-image: url("/assets/images/angle.svg");
      background-size: contain;
      transform: rotate(-90deg);
    }
    .signature__cta::before {
      content: "";
      position: absolute;
      bottom: 0px;
      left: -15px;
      width: 15px;
      height: 15px;
      background-image: url("/assets/images/angle.svg");
      background-size: contain;
      transform: rotate(-90deg);
    }
    
    .signature_cta_button_mob{
        margin-top:30px;
    }
}
/* END SIGNATURE */

/*  SATRT CONSULTATION */
  @media (min-width: 992px) {
        .consultation{
            width:100%;
            overflow:hidden;
            padding-bottom:200px;
        }
        .consultation_container{
            padding:0px 70px;
            position:relative;
        }
        
        .consultation_content{
            position:relative;
            display:flex;
            flex-direction: column;
            gap:30px;
            z-index:2;
        }
        
        .consultation_title{ 
            font-size: clamp(60px, 5.8vw, 90px);
            width:60%;
            font-style: normal;
            font-weight: 500;
            line-height: 98%;
            letter-spacing: -0.02em; 
        }
        
        .consultation_desc{
            display:flex;
            gap:30px;
            max-width:450px;
            width:50%;
        }
        .consultation_desc img{
            width:50px;
            height:50px;
        }
        .consultation_desc p.consultation_desc_text{
            font-size: clamp(16px, 2vw, 24px);
        }
        
        .consultation_cta_button{
            margin-top:120px;
        }
        
        .consultation_hint{
            position:absolute;
            top:0px;
            right:70px;
            width:200px;
        }
        .consultation_hint p.consultation_hint_text{
            font-size: clamp(16px, 2vw, 24px);
        }
        
        .consultation_media{
            position:absolute;
            top:80px;
            left:500px;
            max-width:1250px;
            width:100%;
            z-index:1;
        }
        .consultation_media img{
            width:100%;
        }
    }
    
 @media (max-width: 991px) {
        .consultation{
            width:100%;
            overflow:hidden;
            
        }
        .consultation_container{
            padding:0px 20px;
            position:relative;
            min-height:500px;
        }
        
        .consultation_content{
            position:relative;
            display:flex;
            flex-direction: column;
            gap:20px;
            z-index:2;
            padding-left:clamp(88px, 25vw, 350px);
        }
        
        .consultation_title{ 
            font-size: 32px;
            width:100%;
            font-style: normal;
            font-weight: 500;
            line-height: normal;
            letter-spacing: -0.02em; 
        }
        
        .consultation_desc{
            display:flex;
            gap:30px;
            width:100%;
            max-width:400px;
        }
        .consultation_desc img{
            width:40px;
            height:40px;
        }
        .consultation_desc p.consultation_desc_text{
            font-size: 16px;
        }
        
        .consultation_cta_button{
            position:absolute;
            width:calc(100% - 40px);
            bottom:0px;
            z-index:2;
            left:50%;
            transform: translateX(-50%);
        }
        
        
        .consultation_media{
            position:absolute;
            bottom:30px;
            left:-180px;
            width:clamp(540px, 100vw, 700px);
            z-index:1;
        }
        .consultation_media img{
            width:100%;
            transform: scaleX(-1);
        }
    }
/* END CONSULTATION*/

/*START INDUSTRIES*/

.industries_container{
    padding:0px 70px 0px 180px;
    display:flex;
    flex-direction: column;
    gap:90px;
}

.industries_title h2 {
        font-size: clamp(60px, 5.8vw, 90px);
        font-style: normal;
        font-weight: 500;
        line-height: 104%;
        letter-spacing: -0.02em;
    }
    
.industries_items{
    display:flex;
    flex-direction: column;
    gap:60px;
}

.industries_item{
    display:flex;
    flex-direction: row-reverse;
    gap:140px;
    width: 100%;
    padding-bottom:26px;
    border-bottom:1px solid #181818;
}

.industries_item_img{
    width: calc(48% - 70px);
    aspect-ratio: 50 / 42;
    overflow: hidden;
    border-radius: 30px;
}
.industries_item_img img{
    width: 100%;
    height: 100%;
    aspect-ratio: 50 / 42;
    object-fit: cover;
    display: block;
}
.industries_item_body{
    width: calc(52% - 70px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.industries_item_name h3{
    font-size: clamp(42px, 4.5vw, 64px);
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.02em;
}

.industries_item_body_text{
    display: flex;
    flex-direction: column;
    gap:30px;
}
.industries_item_index{
    font-size: clamp(24px, 2.5vw, 32px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
}

.industries_item_text p{
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
}

@media (max-width: 991px) {
    .industries{
        margin-top:100px;
        margin-bottom:100px;
    }
    .industries_container{
        padding:0px 20px 0px 20px;
        display:flex;
        flex-direction: column;
        gap:20px;
        max-width: 600px;
    }
    
    .industries_title h2 {
            font-size: 48px;
            font-style: normal;
            font-weight: 500;
            line-height: 91%; 
            letter-spacing: -0.02em;
            margin-bottom:24px;
        }
        
    .industries_items{
        display:flex;
        flex-direction: column;
        gap:50px;
    }
    
    .industries_item{
        display:flex;
        flex-direction: column;
        gap:25px;
        width: 100%;
        padding-bottom:10px;
        border-bottom:1px solid #181818;
    }
    
    .industries_item_img{
        width: 100%;
        border-radius: 20px;
    }

    .industries_item_body{
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap:25px;
    }
    
    .industries_item_name h3{
        font-size: 32px;
    }
    
    .industries_item_body_text{
        display: flex;
        flex-direction: row-reverse;
        gap:60px;
    }
    .industries_item_index{
        font-size: 16px;
    }
    
    .industries_item_text p{
        font-size: 16px;
    }  
}
/* END INDUSTRIES */

/* START PORTFOLIO */
    .section_portfolio{
        margin-top:200px;
    }
    .portfolio_container{
        padding:0px 70px;
    }
    .portfolio_title{
        display:flex;
        width:100%;
        justify-content: space-between;
        align-items: flex-end;
        gap:30px;
        border-bottom:1px solid #181818;
    }
    .portfolio_title h2{
        font-size: clamp(60px, 5.8vw, 90px);
        font-style: normal;
        font-weight: 500;
        line-height: 89%;
        letter-spacing: -0.02em;
        width:calc(65% - 15px);
        padding-bottom:38px;
    }
    .portfolio_title .portfolio_label{
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: 88.944%; /* 28.462px */
        letter-spacing: -0.02em;
        width:calc(35% - 15px);
        padding-bottom:15px;
    }
    
    .portfolio_text{
        width:calc(35% - 15px);
        padding-top:15px;
        text-align: left;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
        margin:0 0 0 auto;
    }
    
.portfolio_body{
    display:flex;
    width:100%; 
    height:100%;
    gap:20px;
    margin-top:60px;
}
.portfolio-cards-top{
    display:flex;
    width:100%; 
    gap:20px;  
}

.portfolio-card{
    position:relative;
    border-radius: 20px;
    overflow:hidden;
    transition:
        opacity 0.4s ease,
        transform 0.4s ease,
        box-shadow 0.4s ease;
    will-change: transform;
}

.portfolio-card:hover{
    transform: translateY(-0px) scale(1.1);
    box-shadow: 0 25px 60px rgba(0,0,0,0.25);
    z-index: 5;
}

.portfolio-card__image{
    width:100%;
    height:100%;
}
.portfolio-card__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
        180deg,
        rgba(14, 14, 14, 0) 26.59%,
        #0E0E0E 116.52%
    );
    pointer-events: none;
}
.portfolio-card__image img{
    width: 100%;
    object-fit: cover;
    height: 100%;
}

.portfolio-card-1{
    width:calc(32% - 10px);
    min-height:100%;
}
.portfolio-card-2,.portfolio-card-3,.portfolio-card-4{
    height:380px;
}
.portfolio-card-2{
    width:calc(37% - 10px);   
}
.portfolio-card-3{
    width:calc(63% - 10px);   
}

.portfolio-cards-right{
    display:flex;
    flex-direction: column;
    width:calc(68% - 10px); 
    gap:20px;  
}

.portfolio-card__content{
    position:absolute;
    left:40px;
    bottom:40px;
    z-index:2;
    display:flex;
    flex-direction: column;
    gap:15px;  
}

.portfolio-card__title{
    color: #FFF;
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: 89%; 
    letter-spacing: -0.02em;
}

.portfolio-card__subtitle{
    color: #FFF;
    font-size: 26px;
    font-style: normal;
    font-weight: 400;
    line-height: 109%; 
    letter-spacing: -0.02em;
}


/* Когда ховерим любую карточку — затемняем ВСЕ */
.portfolio_body:has(.portfolio-card:hover) .portfolio-card {
    opacity: 0.33;
}

/* Но активную карточку оставляем светлой */
.portfolio_body:has(.portfolio-card:hover) .portfolio-card:hover {
    opacity: 1;
}
@media (max-width: 991px) {
    .section_portfolio{
        margin-top:100px;
    }
    .portfolio_container{
        padding:0px 20px;
        max-width:600px;
    }

    .portfolio_title h2{
        font-size: 48px;
        padding-bottom:9px;
    }
    .portfolio_title .portfolio_label{
        font-size: 16px;

    }
    
    .portfolio_text{
        width: 100%;
        padding-top:20px;
        text-align: left;
        font-size: 16px;
    }
    
.portfolio_body{
    display:flex;
    flex-direction: column;
    width:100%; 
    height:100%;
    gap:20px;
    margin-top:30px;
}

.portfolio-cards-right,.portfolio-cards-top {
    display: contents;
}

.portfolio-card:hover{
    transform: translateY(-0px) scale(1.05);
    box-shadow: 0 25px 60px rgba(0,0,0,0.25);
    z-index: 10;
}
.portfolio-card-1, .portfolio-card-2,.portfolio-card-3,.portfolio-card-4{
    width:100%;
    aspect-ratio: 1 / 1;
    height:auto;
    min-height:auto;
}


.portfolio-card__content{
    left:25px;
    bottom:40px;
    gap:5px;  
}

.portfolio-card__title{
    font-size: 24px;
    line-height: 1; 
}

.portfolio-card__subtitle{
    font-size: 16px;
    line-height: 1; 
}

/* Когда ховерим любую карточку — затемняем ВСЕ */
.portfolio_body:has(.portfolio-card:hover) .portfolio-card {
    opacity: 1;
}

/* Но активную карточку оставляем светлой */
.portfolio_body:has(.portfolio-card:hover) .portfolio-card:hover {
    opacity: 1;
}

}  
/* END PORTFOLIO */

/* START TEAM */
   .section_team{
        margin-top:180px;
        margin-bottom:180px;
    }
    .team_container{
        padding:0px 70px;
        display:flex;
        flex-direction: column;
        gap:30px;
    }
    .team_img{
        width:100%;
        height:505px;
        max-height:505px;
        border-radius: 30px;
        overflow:hidden;
    }
    .team_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        object-position: center 35%;
    }
    .team_head{
        display:flex;
        gap:50px;
        width:100%;
    }
    .team_title{
        position:relative;
        width:calc(68% - 25px);
        font-size: clamp(42px, 4.5vw, 64px);
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
        text-indent: 200px;
    }
    .team_label{position:absolute;
        top:16px;
        left: 0px;
        font-size: 32px;
        font-style: normal;
        font-weight: 400;
        line-height: 88.944%; 
        letter-spacing: -0.02em;
        text-indent: 0px;
    }
    .team_text{
        width:calc(32% - 25px);
        text-align: right;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
        padding-top:8px;
    }
@media (max-width: 991px) {
    .section_team{
        margin-top:100px;
        margin-bottom:100px;
    }
    .team_container{
        padding:0px 20px;
        display:flex;
        flex-direction: column;
        gap:30px;
    }
    .team_img{
        width:100%;
        aspect-ratio: 67 / 53;
        height:auto;
        max-height:auto;
        border-radius: 20px;
    }
    .team_img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        object-position: center 35%;
    }
    .team_head{
        display:flex;
        flex-direction: column;
        gap:30px;
        width:100%;
        margin: 0 auto;
        max-width: 600px;
    }
    .team_title{
        position:relative;
        width:100%;
        max-width:400px;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: 91%; 
        letter-spacing: -0.02em;
        text-indent: 90px;
    }
    .team_label{position:absolute;
        color: #AEAEAE;
        top: 0px;
        left: 0px;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal; 
        letter-spacing: -0.02em;
        text-indent: 0px;
    }
    .team_text{
        color: #878787;
        width: 100%;
        max-width:400px;
        text-align: right;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
        margin: 0 0 0 auto;
        padding-top:0px;
    }
    }
/* END TEAM */

/* START PROJECT */
    .section_project_journey{
        display:flex;
        flex-direction: column;
        align-items: center;
        gap:50px;
    }
    .project_journey_container{
        padding:0px 70px;
    }
    .project_journey_head{
        display:flex;
        gap:30px;
        justify-content: space-between;
        padding-bottom:20px;
        border-bottom:1px solid #181818;
    }
    
    .project_journey_title{
        position: relative;
        width: calc(50% - 15px);
        font-size: clamp(42px, 4.5vw, 64px);
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    .project_journey_text{
        width: calc(50% - 15px);
        text-align: right;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    
    
    .project_journey_items{
        display: flex;
        justify-content: center;
        padding: 0px 70px;
    }
    .project_journey_item{
        position:relative;
        padding:90px 60px 140px 60px;
        width: 688px;
        max-width: 688px;
        aspect-ratio: 688 / 527;
        height: auto;
        border-radius: 30px;
        background: -webkit-gradient(linear, 100% 0, 0 0, from(#DCD0A9), to(#BFAE7F));
        background: -webkit-linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        background: -moz-linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        background: -o-linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        background: linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        cursor:pointer;
    }
    
    .project_journey_item_body{
        display:flex;
        flex-direction: column;
        gap:40px; 
    }
    
    .project_journey_item_title{
        color: #FFF;
        font-size: clamp(42px, 4.5vw, 64px);
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    .project_journey_item_test{
        color: #FFF;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    
    .project_journey_item_index{
        position:absolute;
        right:60px;
        bottom:60px;
        color: #DCD0A9;
        text-align: right;
        font-size: clamp(60px, 5.8vw, 90px);
        font-style: normal;
        font-weight: 500;
        line-height: 0.75;
        letter-spacing: -0.02em;
    }
@media (max-width: 991px) {

    .project_journey_container{
        padding:0px 20px;
    }
    .project_journey_head{
        display:flex;
        flex-direction: column;
        gap:20px;
        padding-bottom:0px;
        border-bottom:0px solid #181818;
        width:100%;
        margin: 0 auto;
        max-width: 600px;
    }
    
    .project_journey_title{
        position: relative;
        width: 100%;
        font-size: 48px;
        font-style: normal;
        font-weight: 500;
        line-height: 102%;
        letter-spacing: -0.02em;
        padding-bottom:20px;
        border-bottom:1px solid #181818;
    }
    .project_journey_text{
        width: 100%;
        text-align: right;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
        margin: 0 0 0 auto;
    }
    
    
    .project_journey_items{
        display: flex;
        justify-content: center;
        padding: 0px 20px;
    }
    .project_journey_item{
        position:relative;
        padding:54px 50px 50px 50px;
        width: 334px;
        max-width: 320px;
        aspect-ratio: 334 / 320;
        height: auto;
        border-radius: 20px;
    }
    
    .project_journey_item_body{
        display:flex;
        flex-direction: column;
        gap:15px; 
    }
    
    .project_journey_item_title{
        color: #FFF;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    .project_journey_item_test{
        color: #FFF;
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -0.02em;
    }
    
    .project_journey_item_index{
        position:absolute;
        right:32px;
        bottom:32px;
        color: #DCD0A9;
        text-align: right;
        font-size: 32px;
        font-style: normal;
        font-weight: 500;
        line-height: 0.75;
        letter-spacing: -0.02em;
    }
}
/* END PROJECT */

/* START REVIEWS OLD
.section_reviews{
    margin-top:200px;
    padding:0px 20px;
    display:flex;
    justify-content: center;
}
.reviews_wrapper{
    padding:128px 0px;
    border-radius: 30px;
    background: #FFF;
    display:flex;
    flex-direction: column;
    gap:50px;
}
.reviews_container{
    padding:0px 66px;
}
.reviews_head{
    display:flex;
}
.reviews_title{
    font-size: clamp(60px, 5.8vw, 90px);
    font-style: normal;
    font-weight: 500;
    line-height: 104%;
    letter-spacing: -0.02em;
    width:70%;
}
.reviews_label{
    width: 30%;
    text-align: right;
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
}


.reviews_items{padding:0px 36px 0px 66px;}
.reviews_item{
    border-radius: 30px;
    background: #F4F4F4;
    max-width: 512px;
    padding:50px 70px 40px 35px;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    gap:85px;
    cursor:pointer;
}

.reviews_item_text{
    display:flex;
    flex-direction: column;
    gap:30px;
}
.reviews_item_text img{
    width:82px;
    height:82px;
    border-radius: 50%;
}

.reviews_item_text p{
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
}
.reviews_item_client_name{
    font-size: 32px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.02em;
}
.reviews_item_client_subname{
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: 114.05%;
    letter-spacing: -0.02em;
}
@media (max-width: 991px) {
   .section_reviews{
    margin-top:100px;
    padding:0px 0px;
}
.reviews_wrapper{
    padding:40px 0px;
    border-radius: 30px;
    background: #FFF;
    display:flex;
    flex-direction: column;
    gap:35px;
}
.reviews_container{
    padding:0px 20px;
}
.reviews_head{
    display:flex;
}
.reviews_title{
    font-size: 48px;
    font-style: normal;
    font-weight: 500;
    line-height: 102%;
    letter-spacing: -0.02em;
    width:100%;
}

.reviews_items{padding:0px 20px 0px 20px;}
.reviews_item{
    border-radius: 20px;
    background: #F4F4F4;
    max-width: 100%;
    padding:33px 45px 25px 25px;
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    gap:50px;
    height:auto;
}

.reviews_item_text{
    display:flex;
    flex-direction: column;
    gap:20px;
}
.reviews_item_text img{
    width:54px;
    height:54px;
}

.reviews_item_text p{
    font-size: 16px;
}
.reviews_item_client_name{
    font-size: 24px;
}
.reviews_item_client_subname{
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
} 
.reviews_items .swiper-wrapper{
    display:flex;
    flex-direction: column;
    gap:20px;
}
}
/* END REVIEWS */

/* SATRT REVIEWS */
.section_reviews{
    margin-top:100px;
    padding:0px 20px;
    display:flex;
    justify-content: center;
}
.reviews_wrapper {
    padding: 100px 0px;
    border-radius: 30px;
    background: #FFF;
}
.reviews_container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 0px 66px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
}
.reviews_title {
    font-size: clamp(42px, 4.5vw, 64px);
    font-style: normal;
    font-weight: 500;
    line-height: 104%;
    letter-spacing: -0.02em;
    width: 80%;
}

.reviews_label {
    width: 30%;
    text-align: right;
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.02em;
}

.reviews_head{
    display: flex;
    align-items: flex-end;
    padding-bottom:15px;
    border-bottom: 1px solid #181818;}
    
.reviews_body{
    display: flex;
    gap: 30px;
}
.google_review{
    width:calc(35% - 15px);
}
.review_items{
     width:calc(65% - 15px);
     display: flex;
     flex-wrap: wrap;
     gap:15px;
}
.review_items .review_item {
    position: relative;
    width:calc(33.33% - 10px);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    padding: 24px;
    border-radius: 16px;
    background: #F4F4F4;
}
.review_items .review_item .review_text{
    text-align: center;
    font-size: 16px;
    line-height: 20px; 
    
      display: -webkit-box;
  -webkit-line-clamp: 4;      /* количество строк */
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (min-width: 992px) {
    /* overlay с полным текстом */
    .review_items .review_item::after {
      content: attr(data-full-text);
      position: absolute;
      left: 0;
      right: 0;
      top: 0px; /* под звёздами — подгони */
      background: #F4F4F4;
      padding: 16px;
      border-radius: 12px;
      box-shadow: 0 20px 50px rgba(0,0,0,.15);
      font-size: 14px;
      line-height: 1.5;
      opacity: 0;
      pointer-events: none;
      transform: translateY(10px);
      transition: .25s ease;
      z-index: 10;
      max-height: 80vh;
      min-height: 100%;
      overflow-y: auto;
    }
    
    /* показываем при наведении */
    .review_items .review_item:hover::after {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
}

.review_items .review_item_photo img{
    width:40px;
    height:40px;
    aspect-ratio: 1/1;
}

.review_items .review_item_author_name{
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 20px; 
}
.review_items .review_item_google_logo{
    width:64px;
    height:21px;
    background-image: url('/assets/images/logos-google.svg');
    background-repeat:no-repeat;
    background-size:contain;
    background-position:center;    
}

.review_items .google_stars {
    height: 24px;
    width: 136px;
    -webkit-mask: url(/assets/images/rating-stars.svg) no-repeat center / contain;
    mask: url(/assets/images/rating-stars.svg) no-repeat center / contain;
    position: relative;
    background: #ebedf2;
}
.review_items .google_stars .cover {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #FBBC04;
}

.reviews_body .google_review{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.google_review_logo{
    display: flex;
    gap:16px;
}
.google_review_logo svg{
    width:100%;
    height:100%;
    max-width:86px;
    max-height:86px;
    min-width:40px;
    min-height:40px;
}
.reviews_body .google_review_head{
    display: flex;
    flex-direction: column;
    gap:16px;
}
.reviews_body .google_review_ratings_wrapper{
    display: flex;
    flex-direction: column;
    gap:16px;
}
.reviews_body .google_review_ratings_wrapper .text_google_reviews{
    font-size: 24px;
    font-weight: 600;
    line-height: 30px; 
}
.reviews_body .google_review_firm_name{
    font-size: clamp(42px, 4.5vw, 64px);
    font-style: normal;
    font-weight: 500;
    line-height: 105%;
}


.google_review_head .total_ratings{
    display: flex;
    gap:16px;
    align-items: center;
    color: #FFB300;
    font-size: 40px;
    font-weight: 700;
    line-height: 40px;
    flex-wrap: wrap;
}

.google_review_head .google_stars {
    height: 40px;
    width: 216px;
    -webkit-mask: url(/assets/images/rating-stars.svg) no-repeat center / contain;
    mask: url(/assets/images/rating-stars.svg) no-repeat center / contain;
    position: relative;
    background: #ebedf2;
}
.google_review_head .google_stars .cover {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: #FBBC04;
}

.reviews_body .google_review_buttons{
    display: flex;
    flex-direction: column;
    gap:15px;
}
.google_review_buttons .cta_button.google_review_button_more{
    background-color:#FFF;
    border: 1px solid #181818;
    font-weight: 400;
        
}
.google_review_buttons .cta_button.google_review_button_more:hover{
    background-color:#FFF;
    border: 0px solid #181818;
    font-weight: 400;
        
}
@media (max-width: 991px) {
    .section_reviews{margin-top:100px;padding:0px 0px;}
    .reviews_wrapper {padding: 80px 0px 30px 0px;}
    .reviews_container {padding: 0px 20px;}
    .reviews_title {font-size: 32px;width: 100%;}
    .reviews_body{flex-direction: column;}
    .google_review{width:100%;}
    .review_items{width:100%;flex-direction: column;}
    .review_items .review_item {width:100%;cursor:pointer;}
    .review_items .review_item:nth-child(n + 4) {display: none;}
    .review_items .review_item .review_text{
        display: -webkit-box;;
        -webkit-line-clamp: 5;      
        -webkit-box-orient: vertical;
        overflow: hidden; 
        max-height: 8em; /* ≈ 5 строк */
        transition: max-height 0.8s ease;
    }

    .review_items .review_item.open .review_text {
        -webkit-line-clamp: unset;
        display: block;
        max-height: 1000px;
    }

    .google_review_logo{gap:12px;}
    .google_review_logo svg{
        max-width:68px;
        max-height:68px;
        min-width:68px;
        min-height:68px;
    }
    .reviews_body .google_review_head{gap:12px;}
    .reviews_body .google_review_ratings_wrapper{gap:12px;}
    .reviews_body .google_review_ratings_wrapper .text_google_reviews{font-size: 20px;line-height: 24px;}
    .reviews_body .google_review_firm_name{font-size: 48px;}
    .google_review_head .total_ratings{gap:12px;font-size: 32px;line-height: 32px;}
    .google_review_head .google_stars {height: 31px;width: 168px;}
    .reviews_body .google_review_buttons{gap:10px;padding-top:45px;}
}

/* END REVIEWS */

/* START CONTACT */
.contact_section{
        margin-top:20px;
    }
    .contact_container{
        display:flex;
        gap:10px;
    }
    .contact_left_block{
        display:flex;
        gap:330px;
        flex-direction: column;
        justify-content: space-between;
        width: calc(50% - 5px);
        border-radius: 30px;
        padding:70px 70px 40px 65px;
        border-radius: 30px;

        background:
        var(--contact-logo-bg) bottom right / 350px no-repeat,
        linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        }
    
    .contact_form_wrapper{
        width: calc(50% - 5px);
        min-height:100%;
    }
    .wrapper_form{
        height:100%;
    }
    .contact_left_block p{
        color: #151515;
        font-size: clamp(16px, 2vw, 24px);
        font-style: normal;
        font-weight: 400;
        line-height: normal;
    }
    .contact_left_block .h2{
        color: #151515;
        font-size: clamp(60px, 5.8vw, 90px);
        font-style: normal;
        font-weight: 500;
        line-height: 1; 
    }
    
    .custom-form-success{
        color: #151515;
        font-size: 32px;
        font-style: normal;
        font-weight: 400;
        padding: 40px 0px;
        line-height: normal;
    }
    
@media (max-width: 991px) {
    .contact_container{
        padding:0px 5px;
    }
    .custom-form-success{
        font-size: 24px;
        padding: 30px 0px;
    }
    
    .contact_container{
        display:flex;
        flex-direction: column;
        gap:15px;
    }
    .contact_left_block{
        display:flex;
        gap:150px;
        flex-direction: column;
        justify-content: space-between;
        width: 100%;
        border-radius: 20px;
        padding:55px 15px 40px 40px;
        border-radius: 20px;

        background:
        var(--contact-logo-bg) bottom right / 100px no-repeat,
        linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
        }
    
    .contact_left_block p{
        font-size: 16px;
    }
    .contact_left_block .h2{
        font-size: 48px;
    }
    
    .contact_form_wrapper{
        width: 100%;
        height:auto;
    }
    .wrapper_form{
        height:auto;
    }
}  

.contact_form_body{
    border-radius: 30px;
    background: #FFF;
    padding:70px 60px 40px 60px;
    height:100%;
}

.contact_form_head{
    display:flex;
    flex-direction: column;
    gap:15px;
    padding-bottom:30px;
}

.contact_form_title{
    color: #151515;
font-size: 64px;
font-style: normal;
font-weight: 500;
line-height: normal;
}
.contact_form_subtitle{
    color: #151515;
    font-size: clamp(16px, 2vw, 24px);
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    width:80%;
}

.field_form_body{
    display:flex;
    flex-direction: column;
    gap:20px;
}

.form_input_item input{
    width:100%;
    font-family: "Inter Tight",sans-serif;
    border:none;
    padding-bottom:15px;
    border-bottom:1px solid #AEAEAE;
    outline: none;
    color: #151515;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal; 
    letter-spacing: -0.02em
}
.form_input_item input::placeholder{
    color: #AEAEAE;
    font-family: "Inter Tight",sans-serif;
    font-weight: 400;;
}
.form_input_item .error{color:#EE0000;}
.form_input_item input:focus{
    border-bottom-color: #181818;
}

.form_input_item_project_type{
    padding-bottom:15px;
    border-bottom:1px solid #AEAEAE; 
}

.label_project_type span{
    color: #AEAEAE;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: normal; 
    letter-spacing: -0.02em;
}
.form_input_item{
    position: relative;
}

.contact_form_btn_submit{
    margin-top:60px;
    border:none;    
}


@media (max-width: 991px) {
   .contact_form_body{
        border-radius: 20px;
        padding:40px 20px 40px 40px;
        height:100%;
    }
    
    .contact_form_title{
        font-size: 48px;
    }
    .contact_form_subtitle{
        font-size: 16px;
        width:100%;
    }
    
    .field_form_body{
        gap:25px;
    }
    
    .form_input_item_project_type{
        padding-bottom:15px;
        border-bottom:1px solid #AEAEAE; 
    }
    
    .label_project_type span{
        color: #AEAEAE;
        font-size: 24px;
        font-style: normal;
        font-weight: 400;
        line-height: normal; 
        letter-spacing: -0.02em;
    }
    .form_input_item{
        position: relative;
    }
    
    .contact_form_btn_submit{
        margin-top:30px;
        border:none;    
    }
    .form_input_item_submit{
        padding-right:20px;
    }
 
}


/* заголовок */
.label_project_type{
    display:flex;
    justify-content: space-between;
    align-items:center;
    cursor:pointer;
}

/* стрелка */
.label_project_type .arrow{
    transition: transform .3s ease;
}

/* тело */
.radio-group{
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition:
        max-height .35s ease,
        opacity .25s ease;
}

/* открытое состояние */
.form_input_item.is-open .radio-group{
    max-height: 500px; /* с запасом */
    opacity: 1;
}

.form_input_item.is-open .label_project_type .arrow{
    transform: rotate(180deg);
}

/* радиокнопки */
.radio-group label{
    display:block;
    padding:0px 0px;
    cursor:pointer;
}


.radio-pills{
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding-top:15px;
}

/* label как кнопка */
.radio-pill{
    position: relative;
    cursor: pointer;
}

/* скрываем настоящий radio */
.radio-pill input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* внешний вид капсулы */
.radio-pill span{
    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 16px 18px;
    border-radius: 999px;

    font-size: clamp(16px, 2vw, 24px);
    font-weight: 400;
    letter-spacing: -0.02em;

    color: #AEAEAE;
    background: #FFFFFF;

    border: 1px solid #D9D9D9;

    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease;
}
.radio-pill input:checked + span{
    background: #DED4B0;   /* бежевый */
    color: #1A1A1A;
    border-color: #DED4B0;
}
.radio-pill:hover span{
    border-color: #CFCFCF;
}



/* popup container */
.contact-popup {
    position: fixed;
    inset: 0;
    z-index: 1000;

    display: flex;
    align-items: center;
    justify-content: center;

    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
}

/* открытое состояние */
.contact-popup.is-open {
    opacity: 1;
    pointer-events: auto;
}

/* overlay */
.contact-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
}

/* content */
.contact-popup__content {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 720px;
    max-height: 100svh;
    overflow-y: auto;

    border-radius: 30px;
    background: transparent;

    transform: translateY(10px) scale(0.98);
    transition: transform .3s ease;
}

/* анимация появления */
.contact-popup.is-open .contact-popup__content {
    transform: none;
}

/* close button */
.contact-popup__close {
    position: absolute;
    top: 20px;
    right: 20px;

    background: none;
    border: none;
    font-size: 22px;
    cursor: pointer;
    color: #151515;
    z-index: 5;
}

/* mobile */
@media (max-width: 767px) {
    .contact-popup__content {
        max-width: calc(100% - 30px);
        border-radius: 20px;
    }
}
/* END CONTACT */

/* START FOOTER */
footer{
    margin: 0 auto;
  margin-top:100px;
  border-radius: 30px 30px 0px 0px;
  background: #181818;
  max-width:1920px;
}

.footer_container{    
    color: #FFF;
    padding: 80px 80px 360px 80px;
    display: flex;
    justify-content: space-between;
    gap:20px;
    background-image:
        url(/assets/images/footer-bg-ank_1.svg),
        url(/assets/images/footer-bg-ank_2.svg);
    
    background-position:
        center bottom,
        center bottom;
    
    background-repeat:
        no-repeat,
        no-repeat;
    
    background-size:
        contain,
        95%;
}

.footer_text{
    color: #AEAEAE;
    font-family: "Inter Tight", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 88.944%; 
    letter-spacing: -0.48px;
}

.footer_col_right{
    display: flex;
    justify-content: space-between;
    min-width: 300px;
    width: 40%;
}

.footer_menu ul{
    display: flex;
    flex-direction: column;
    gap:12px;
}

.footer_menu ul li{
    list-style:none;
    margin:0px;
}

.footer_menu ul li a{
    color: #AEAEAE;
    font-family: "Inter Tight", sans-serif;
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 88.944%; 
    letter-spacing: -0.48px;
    text-decoration:none;
    
}

.footer_menu ul li a:hover{
    color: #FFF;
    text-decoration: underline;
}

.footer_social_links_mob{
    display: none;
}

@media (max-width: 991px) {
    .footer_social_links_pc{
        display: none;
    }
    
    .footer_social_links_mob{
        display: block;
    }
    
    .footer_container{    
        border-radius: 30px 30px 0px 0px;
        color: #FFF;
        padding: 40px 20px 30% 20px;
        background-image: url(/assets/images/footer-bg-ank_2.svg);
        background-position: center bottom;
        background-repeat:no-repeat;
        background-size:contain;
    }
    
    .footer_text{
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 88.944%; /* 14.231px */
        letter-spacing: -0.32px;
    }
    
    .footer_col_left{
        display: flex;
        flex-direction: column;
        gap:25px;
    }
    
    .footer_col_right{
        display: flex;
        justify-content: space-between;
        min-width: 50%;
        width: 50%;
    }
    .footer_menu ul{
        display: flex;
        flex-direction: column;
        gap:12px;
    }
    
    .footer_menu ul{
        display: flex;
        flex-direction: column;
        gap:12px;
    }
    
    .footer_menu ul li{
        list-style:none;
        margin:0px;
    }
    
    .footer_menu ul li a{
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 88.944%; /* 14.231px */
        letter-spacing: -0.32px;
        text-decoration:none;
        
    }

}
/* END FOOTER */

/* START CTA CURSOR */
.cursor-cta {display:none;}
@media (min-width: 992px) {
    .cta-area{cursor:none;}
    /* курсор-кнопка */
    
    .cursor-cta {
        position: fixed;
        top: 0;
        left: 0;
        width: 164px;
        height: 164px;
        border-radius: 50%;
        background: #e5ddbc; /* как на примере */
        color: #000;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
    
        font-weight: 600;
        font-size: 16px;
        line-height: 111%;
        opacity: 0;
        pointer-events: none;
        transform: translate(-50%, -50%) scale(0);
        transition:
            transform 0.25s ease,
            opacity 0.25s ease;
        z-index: 9999;
    }
    
    /* активное состояние */
    .cursor-cta.is-active {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}
/* END CTA CURSORE */

/*  START WA FIXED */
.whatsapp-button {
    position: fixed;
    right: 70px;
    bottom: 0px;
    transform: translate(50%, -50%);
    border-radius:10px;
    background: linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
    width: 60px;
    height: 60px;
    z-index: 99;
    display: flex;
    justify-content: center;
    align-items: center;
    
    transition: transform 0.25s ease;
}

.whatsapp-button .whatsapp-button-icon-hover{
    display: none;
}

@media (min-width: 992px) {
    .whatsapp-button:hover {
        transform: translate(50%, -50%) scale(1.10);
        background: linear-gradient(180deg, #DCD0A9 0%, #BFAE7F 100%);
         box-shadow: 0 4px 10px rgba(0,0,0,0.15);
    }
    .whatsapp-button:hover .whatsapp-button-icon{
        display: none;
    }

    .whatsapp-button:hover .whatsapp-button-icon-hover{
         display: block;
         position:relative;
         z-index: 2;
    }
    
    .whatsapp-button:hover::before{
        content: "";
        top:1px;
        left:1px;
        display: block;
        position:absolute;
        z-index: 1;
        background: #FFF;
        border-radius: 9.5px;
        width: 58px;
        height: 58px;
    }
}

@media (max-width: 991px) {
    .whatsapp-button {
        right: 55px;
        bottom: -10px;
        transform: translate(50%, -50%) scale(0.8);
        opacity: 0;
        pointer-events: none;

        transition:
            opacity .3s ease,
            transform .3s ease;
    }

    .whatsapp-button.is-visible {
        opacity: 1;
        transform: translate(50%, -50%) scale(1);
        pointer-events: auto;
    }
}


/* END WA FIXED */