*{position:relative;margin:0;padding:0;box-sizing:border-box}a,button,span{display:inline-block}input,textarea{display:block;width:100%}table{width:100%;border-collapse:collapse}a{background-color:transparent;text-decoration:none}img{border:none;max-width:100%;height:auto}a,button{outline:0;cursor:pointer}li{list-style:none}button{background:0 0;border:none}a,button,input,textarea{color:#000;font-weight:inherit;-webkit-appearance:none;transition:color .3s ease,background-color .3s ease,opacity .3s ease}:after,:before{box-sizing:border-box}textarea{resize:none;outline:0;border:none;-webkit-appearance:none;border-radius:0;background:0 0}input{outline:0;border:none;-webkit-appearance:none;border-radius:0;background:0 0}input[type=number]{-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none}input[type=submit]{cursor:pointer;-webkit-appearance:none;display:inline-block}input[type=search]::-webkit-search-cancel-button{background:0 0;display:none}.text-align-left{text-align:left}.text-align-center{text-align:center}.text-align-right{text-align:right}.full-img img{width:100%}figure{text-align:center;margin-bottom:30px;margin-top:5px;font-size:.75em;opacity:.8}[hidden]{display:none!important}.img-full{width: 100%;}
.clearfix:after{content: '';clear: both;display: block}


h1, .h1 {
    font-weight: bold;
    font-size: 54px;
    margin-bottom: 30px;
}
h2, .h2 {
    font-weight: bold;
    font-size: 36px;
    line-height: 44px;
    margin-bottom: 20px;
    text-align: center;
}
h3, .h3 {
    font-weight: bold;
    font-size: 22px;
    line-height: 27px;
    margin-bottom: 10px;
}
h4, .h4 {
    margin-bottom: 15px;
}
h5, .h5 {
    font-weight: 500;
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 8px;
}
h6, .h6 {
    font-weight: 500;
    font-size: 16px;
    margin-bottom: 10px;
}



body {
   font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
}

/* Critical baseline to render link + underline together at first paint */
.mobile-start-project {
    display: none;
    color: #161616;
    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    line-height: 1.2;
}
@media (max-width: 1024px) {
    .mobile-start-project { display: inline-block; font-size: 18px; }
}

.wrapper {
    width: 100%;
    overflow: hidden;
    position: relative;
}

header {
    width: 100%;
}


.container,
.container-fluid {
    width: 100%;
    margin: 0 auto;
    z-index: 2;
}

.container {
    max-width: 1440px;
    padding: 0px 30px;
    position: relative;
}
.container-fluid {
    max-width: 1920px;
}
.header{
    background-color: #161616;
    
}

.top_head{
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   align-items: center;
   padding-top: 20px;
   position: relative;
}

.wrap_menu {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
}
.nav{
    display: flex;
    flex-wrap: wrap;
}
.nav li a{
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 500;
    margin: 0px 16px;
    
}
.nav li a:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 1px;
    background-color: #FFF;
    transition: 0.3s;
}
.nav li a:hover:before{
    width: 100%;
}
.call_back {
    color: #FFFFFF;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 1px solid #FFF;
}
/* .call_back:before{
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px;
    width: 0;
    height: 1px;
    background-color: #FFF;
    transition: 0.3s;
}

.call_back:hover:before{
    width: 80%;
}


.call_back:after{
    content: '';
    position: absolute;
    right: 0;
    top: -3px;
    width: 0;
    height: 1px;
    background-color: #FFF;
    transition: 0.3s;
}

.call_back:hover:after{
    width: 80%;
} */
.wrap_tittle_header {
    width: 850px;
    margin: 0 auto;
    margin-top: 178px;
    padding-bottom: 176px;
}
.tittle_main {
    display: block;
    text-align: center;
    color: #FFFFFF;
    font-size: 65px;
    line-height: 106%;
    letter-spacing: 3px;
}

.desktop-text {
    display: block;
}

.mobile-text {
    display: none;
}
.yellow{
    color: #CEF533;
        display: inline;
}
.main_link{
    color: #161616;
    font-size: 18px;
    background-color: #CEF533;
    display: block;
    margin: 0 auto;
    margin-top: 50px;
    width: 235px;
    height: 55px;
    line-height: 55px;
    font-weight: 700;
    padding-left: 24px;
    border-radius: 8px;
}
.main_link:before {
    content: '';
    position: absolute;
    background: url(../img/assets/arrow.svg) no-repeat top center;
    width: 13px;
    height: 13px;
    right: 27px;
    top: 22px;
    transition: 0.3s;
}
.main_link:hover:before{
    right: 45px;
}
.image_tittle {
    width: 120px;
    height: 68px;
    vertical-align: middle;
    contain: layout style paint;
}

/* Optimize GIF container for better performance */
#gif-container {
    contain: layout style paint;
    will-change: transform;
}

/* Optimize GIF images for better performance */
#gif-container img {
    contain: layout style paint;
    will-change: transform;
}

/* Reduce GIF animation complexity on mobile */
@media (max-width: 767px) {
    #gif-container img {
        animation-play-state: paused;
    }
}
.abs1{
    color: #FFFFFF;
    font-size: 18px;
        padding-right: 21px;
    height: 56px;
    line-height: 56px;
    position: absolute;
     left: -79px;
    top: 98px;







    background-color: rgba(22, 22, 22, 0.1); /* fill: #161616, opacity 30% */
  color: #fff; /* текст белый */
  border: 1px solid rgba(22, 22, 22, 0.5); /* linear stroke with 50% opacity */
  backdrop-filter: blur(10px); /* background blur */
  -webkit-backdrop-filter: blur(10px); /* для Safari */

  /* Inner shadow эмулируем через box-shadow внутрь */
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.25); 

  
  border-radius: 8px;
 
  transition: all 0.3s ease;
  border: 1px solid #82939F;
  padding-left: 52px;
}
.abs1:before {
    content: '';
    position: absolute;
    left: 20px;
    top: 20px;
    background: url(../img/assets/button.svg) no-repeat top center;
    width: 16px;
    height: 16px;
}
.abs2 {
    top: -38px;
    left: 312px;
}
.abs2:before{
    content: '';
     background: url(../img/assets/button2.svg) no-repeat top center;
    width: 18px;
    height: 18px;
}
.abs3 {
    left: auto;
    right: -96px;
    top: 34px;
}
.abs3:before{
    content: '';
     background: url(../img/assets/button3.svg) no-repeat top center;
    width: 32px;
    height: 32px;
        left: 13px;
    top: 13px;
}

/* Show floating chips only on desktop */
@media (min-width: 768px) {
    .abs1, .abs2, .abs3 {
        display: block !important;
        position: absolute !important;
    }
}
.marq {
  height: 46px;
  background-color: #CEF533;
  overflow: hidden;
  position: absolute;
  width: 100%;
  bottom: 0;
  box-sizing: border-box;
}

.marq-track {
  display: flex;
  width: max-content;
  animation: marquee 20s linear infinite;
  align-items: center;
  height: 100%;
}

.marq-content {
  display: flex;
  align-items: center;
  height: 100%;
}

.marq-content span {
  display: inline-block;
  margin-right: 153px;
  color: #161616;
  font-size: 20px;
  text-transform: uppercase;
  position: relative;
}

.marq-content span:after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #161616;
    right: -76px;
  top: 11px;
}



/* Ключевая анимация */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.materials{
    background-color: #F0F0F0;
    padding-top: 50px;
    padding-bottom: 50px;
}
.tittle{
    color: #161616;
    font-size: 16px;
    font-weight: 700;
    border-bottom: 1px solid #161616;
        padding-right: 30px;
}
.tittle:after {
    content: '';
    position: absolute;
    right: 6px;
    top: 5px;
    background: url(../img/assets/arrow2.svg) no-repeat top center;
    width: 10px;
    height: 11px;
}
.txt_mat {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 27px;
}
.txt_mat p{
    width: 700px;
    color: #161616;
    font-size: 45px;
    letter-spacing: -0.02em;
}
.txt_mat span{
    color: #161616;
    font-size: 16px;
    width: 250px;
    line-height: 120%;
}
.wrap_materials {
    padding-top: 200px;
    display: flex
;
    justify-content: space-between;
    flex-wrap: wrap;
}
.item_material{
    width: 32%;
    height: 334px;
    border-radius: 12px;
    background-color: #FFF;
    padding: 20px 20px;


}
.head_mat{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
}
.head_mat p {
    width: 220px;
    color: #161616;
    font-size: 24px;
    letter-spacing: -0.01em;
    line-height: 100%;
}
.foot_m {
    color: #161616;
    font-size: 16px;
    line-height: 120%;
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
}
.item_material_last {
    background-color: #161616;

}
.item_material_last p{
    color: #FFF;
}
.item_material_last span{
    color: #C0C0C0;
}


.cases{
    background-color: #161616;
    padding-top: 50px;
    padding-bottom: 100px;

}
.cases .tittle{
    color: #CEF533;
    border-color: #CEF533;
}
.cases .tittle:after {
    
    background: url(../img/assets/arrow2-yellow.svg) no-repeat top center;
}
.big_cases{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 45px;
}
.item_big_cases{
    width: 48%;
    contain: layout style paint;
}
.photo_big_case{
    width: 100%;

}
.photo_big_case img{
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.describe_case{
    padding-top: 19px;
    display: flex;
    align-items: center;
}
.describe_case p{
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 500;
    padding-right: 30px;
}
.describe_case p:after {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    background-color: #FFF;
    border-radius: 50%;
    right: 10px;
    top: 10px;
}
.describe_case span{
    color: #FFFFFF;
    font-size: 16px;
}
.small_cases{
    padding-top: 50px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.item_small_cases{
    width: 32%;
    contain: layout style paint;
}
.photo_small_case{
    width: 100%;
}
.photo_small_case img{
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.advantages{
    padding-top: 200px;
}
.tittle_advantages{
    color: #FFFFFF;
    font-size: 65px;
    line-height: 99%;
    letter-spacing: -0.02em;
    display: block;
    text-align: center;
}
.tittle_advantages img {
    vertical-align: middle;
}
.item_adv{
    border: 1px solid #909482;
    padding: 30px 30px;
    height: 306px;
    border-radius: 8px;
}
.foor_adv{
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
}
.foor_adv p{
    color: #FFFFFF;
    font-size: 24px;
    padding-bottom: 16px;
}
.foor_adv span{
    color: #C0C0C0;
    font-size: 16px;
    line-height: 120%;

}


.adv_swiper_wrap {
    padding-top: 60px;
 
}
.arrow_adv_swiper{
    display: flex;
    justify-content: center;
    padding-top: 50px;
}
.next_adv ,.prev_adv {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
    position: relative;
    left: auto;
    right: auto;
    bottom: 0;
    /* padding-top: 50px; */
    margin: 0;
}
.next_adv:after{
    content: none;
}
.prev_adv:after{
    content: none;
}
.prev_adv{
    background: url(../img/prev.png) no-repeat top center;
    width: 50px;
    height: 50px;
    margin: 0px 6px;
}
.next_adv{
    background: url(../img/next.png) no-repeat top center;
    width: 50px;
    height: 50px;
    margin: 0px 6px;
}
.services{
    background-color: #FFF;
    padding-top: 30px;
    padding-bottom: 50px;

}
.faq{
    width: 915px;

}
.line_faq{
    border-top: 1px solid #8C8C8C;
    padding: 30px 0px;
    cursor: pointer;
}
.tittle_faq{
    color: #161616;
    font-size: 45px;
    display: block;
    line-height: 99%;
    letter-spacing: -0.02em;

}
.line_faq p {
    padding-top: 16px;
    color: #161616;
    font-size: 16px;
    line-height: 120%;
    width: 420px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    display: block; /* убираем display: none, иначе анимация не сработает */
  }
  
  
.line_faq:before {
    content: '';
    background: url(../img/assets/faq-arrow.svg) no-repeat top center;
    width: 23px;
    height: 23px;
    position: absolute;
    right: 0;
    top: 39px;
}

.line_faq.active:before {
    transform: rotate(180deg);
    transition: transform 0.3s ease;
    background: url(../img/assets/faq-arrow-black.svg) no-repeat top center;
  }

  .wrap_faq_right{
    display: flex;
    justify-content: right;
  }



.wrap_faq_right .main_link{
    color: #FFF;
    background-color: #161616;
    margin-top: 30px;
    margin-left: 0;
}
.wrap_faq_right .main_link:before{
    background: url(../img/assets/arrow-white.svg) no-repeat top center;
}
.reviews {
    background-color: #F0F0F0;
    padding-top: 50px;
    padding-bottom: 100px;
}
.sub_tittle_reviews{
    color: #161616;
    font-size: 45px;
    line-height: 99%;
    letter-spacing: -0.02em;
    padding-top: 36px;
    display: block;
    padding-bottom: 60px;
}
.item_rev{
    height: 440px;
    background-color: #F7F7F7;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-left: 40px;
    padding-right: 40px;
    border-radius: 12px;
}
.head_rev{

}
.photo_rev{
    width: 65px;
    height: 65px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    margin: 0 auto;
}
.photo_rev img{
    width: 100%;
    min-height: 100%;
    object-fit: cover;

}
.head_rev span{
    display: block;
    text-align: center;
    font-weight: 700;
    font-size: 20px;
    padding-top: 12px;
}
.head_rev p{
    color: #8C8C8C;
    font-size: 14px;
    line-height: 120%;
    display: block;
    text-align: center;
    padding-top: 4px;
}
.text_review {
    left: 40px;
    right: 40px;
    position: absolute;
    bottom: 0;
}
.text_review p{
    color: #161616;
    font-size: 16px;
    line-height: 120%;
    padding-bottom: 30px;
}









.next_rev ,.prev_rev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
    position: relative;
    left: auto;
    right: auto;
    bottom: 0;
    /* padding-top: 50px; */
    margin: 0;
}
.next_rev:after{
    content: none;
}
.next_rev{
    background: url(../img/assets/next.svg) no-repeat top center;
    width: 50px;
    height: 50px;
    margin: 0px 6px;
}










.prev_rev:after{
    content: none;
}
.prev_rev{
    background: url(../img/assets/prev.svg) no-repeat top center;
    width: 50px;
    height: 50px;
    margin: 0px 6px;
}


.swiper-slide-active + .swiper-slide .item_rev {
    background-color: #fff;
  }






  .item_rev {
    transform: rotate(0deg);
    transition: transform 0.4s ease;
  }
  
  /* Первый (левый) слайд — чуть влево */
  .swiper-slide-active .item_rev {
    transform: rotate(-4deg);
  }
  
  /* Третий (правый) слайд — чуть вправо */
  .swiper-slide-active + .swiper-slide + .swiper-slide .item_rev {
    transform: rotate(4deg);
  }


.questions{
    background-color: #161616;
    padding: 100px 0px;
}
.tittle_question{
    padding-bottom: 50px;
    display: block;
    text-align: center;
    color: #FFF;
    line-height: 99%;
    letter-spacing: -0.02em;
    font-size: 45px;

}
.line_question {
    border-top: 1px solid #8C8C8C;
    padding: 32px 0px;
    width: 900px;
    cursor: pointer;
    margin: 0 auto;
}
.line_question:before{
    content: '';
    position: absolute;
    right: 0;
   
    background: url(../img/assets/q1.svg) no-repeat top center;
    top: 39px;
    background-size: contain;
    width: 25px;
    height: 25px;
}
.line_question span{
    color: #FFFFFF;
    font-size: 24px;
    display: block;
    padding-right: 55px;
}
.line_question p{
    width: 590px;
    color: #FFFFFF;
    font-size: 16px;
    line-height: 120%;
    padding-top: 16px;



    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
    display: block; /* Обязательно, иначе анимации не будет */
}




  
  .line_question.active:before {
    background: url(../img/assets/q2.svg) no-repeat top center;
    transform: rotate(180deg);
    transition: transform 0.3s ease;
  }

.line_question.active span{
    color: #CEF533;
}
.blog{
    background-color: #F0F0F0;
    padding: 50px 0px;
}
.head_blog{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 30px;
    padding-bottom: 150px;

}
.head_blog span{
    color: #161616;
    font-size: 45px;
    line-height: 99%;
    letter-spacing: -0.02em;
    display: block;
}
.head_blog .main_link{
    margin: 0;
    color: #FFF;
    background-color: #161616;
}


.head_blog .main_link:before{
    background: url(../img/assets/arrow-white.svg) no-repeat top center;
}
.wrap_blog{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}
.item_blog {
    background-color: #FFF;
    border-radius: 12px;
    padding: 20px 20px;
    width: 32%;
    padding-bottom: 42px;
}
.photo_blog{
    width: 97px;
    height: 97px;
    overflow: hidden;
    border-radius: 9px;

}
.photo_blog img{
    width: 100%;
    min-height: 100%;
    object-fit: cover;
}
.item_blog span{
    color: #161616;
    font-size: 24px;
    line-height: 100%;
    display: block;
    letter-spacing: -0.01em;
    padding-top: 32px;
}
.item_blog p{
    padding-top: 12px;
    padding-bottom: 20px;
    font-size: 16px;
    line-height: 120%;
    letter-spacing: 0em;
}
.foot_blog {
    display: flex
;
    justify-content: right;
    position: absolute;
    right: 20px;
    bottom: 20px;
}
.read_more{
    color: #161616;
    font-size: 18px;
    font-weight: 700;
    padding-right: 45px;

}
.read_more:after {
    content: '';
    position: absolute;
    right: 0px;
    top: 3px;
    width: 17px;
    height: 19px;
  
    background: url(../img/assets/arright.svg) no-repeat top center;
    transition: 0.3s;
}
.read_more:hover:after{
    right: 7px;
}
.read_more:hover{
    text-decoration: underline;
}
.feedback{
    background-color: #161616;
    padding-top: 50px;
    padding-bottom: 62px;

}
.tittle_feedback{
    color: #FFFFFF;
    font-size: 45px;
    display: block;
    line-height: 99%;
    letter-spacing: -0.02em;
}
.form_wrapper{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 62px;
}
.contact_form{
    
    border-radius: 12px;
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 84px;
    padding-bottom: 42px;


    width: 66.4%;

    border: 1px solid #FFF;
    background-color: rgba(0, 0, 0, 0.6); /* или rgba(22, 22, 22, 0.6) если нужно темнее */
  backdrop-filter: blur(15px); /* регулируется — 10-20px чаще всего */
  -webkit-backdrop-filter: blur(15px); /* для Safari */
  
}
.wrap_options{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.question_title{
    color: #B4B6AE;
    font-size: 14px;
    padding-bottom: 16px;
    display: block;
}
.option_item{

}

.question_block{
    padding-bottom: 39px;
}




/* Скрываем сами радиокнопки */
.option_item input[type="radio"] {
    display: none;
  }
  
  /* Базовый стиль текста */
  .option_item span {
    cursor: pointer;
    transition: all 0.3s ease;
    color: #FFFFFF;
    font-size: 16px;
    background-color: #000000;
    border: 1px solid #373737;
    border-radius: 8px ;
    padding: 8px 19px;


  }
  
  /* Активный пункт — когда выбран input */
  .option_item input[type="radio"]:checked + span {
    /* сюда навесишь свои стили */
    /* пример: background-color: #fff; color: #000; */
    /* для тебя просто оставляем класс или хук */
    background-color: #CEF533;
    border: 1px solid #CEF533;
    color: #000;
  }


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

.input_field{
    width: 48%;
}
.input_field p{
    color: #B4B6AE;
    font-size: 14px;
    padding-bottom: 16px;
}
.input_field input{
    color: #FFFFFF;
    font-size: 16px;
    font-family: "DM Sans", sans-serif;
    display: block;
    width: 100%;
    border-bottom: 1px solid #8C8C8C;
    height: 44px;
    line-height: 44px;
}

.input_field input::placeholder {
    color: #FFFFFF;
    font-size: 16px;
    font-family: "DM Sans", sans-serif;

  }

.input_field input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent;
}
.txt_area_wrap{
    padding-top: 40px;
    padding-bottom: 20px;
}
.txt_area_wrap textarea{
    color: #FFFFFF;
    font-size: 16px;
    font-family: "DM Sans", sans-serif;
    font-family: "DM Sans", sans-serif;
    display: block;
    width: 100%;
    border-bottom: 1px solid #8C8C8C;
}
.txt_area_wrap textarea::placeholder {
    color: #FFFFFF;
    font-size: 16px;
    font-family: "DM Sans", sans-serif;
}
.txt_area_wrap p{
    color: #B4B6AE;
    font-size: 14px;
    padding-bottom: 16px;
}


.txt_area_wrap input:focus::placeholder,
textarea:focus::placeholder {
  color: transparent;
}
.send_button{
    display: flex;
    justify-content: right;
}
.send_button .main_link{
    margin: 0;
    text-align: left;
}
.position {
    background-color: #F0F0F0;
    border-radius: 12px;
    padding: 20px 20px;
    width: 32.8%;
}
.contact_info{
   
}
.contact_info a{
    color: #161616;
    font-size: 24px;
    letter-spacing: -0.01em;
    margin-bottom: 9px;
}
.soc_info{
    display: flex;
    flex-wrap: wrap;
}
.soc_info a{
    margin-right: 6px;
}
.abs_soc {
    position: absolute;
    bottom: 15px;
    left: 20px;
}
.footer{
    background-color: #161616;
    padding-top: 40px;
}
.wrap_footer{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;

}
.footer_nav{
    display: flex;
    flex-wrap: wrap;
}
.item_footer_nav .tittle{
    color: #FFF;
    border-color: #FFF;
    margin-top: 15px;
    margin-bottom: 10px;
}
.item_footer_nav .tittle:after {
    background: url(../img/assets/footarrow.svg) no-repeat top center;
    
}
.item_footer_nav{
    margin-left: 98px;
}
.nav_foot li a{
    color: #FFF;
    font-size: 16px;
    margin-bottom: 16px;
}
.nav_foot li a:hover{
    text-decoration: underline;
}
.adress a{
    color: #FFFFFF;
    font-size: 16px;
    margin-bottom: 16px;
    display: block;
}
.foot_bottom{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 59px;
}
.copy{
    color: #8C8C8C;
    font-size: 14px;
}
.privacy_links{
    padding-bottom: 30px;
}
.privacy_links a{
    color: #8C8C8C;
    font-size: 14px;
    margin-left: 31px;
}
.privacy_links a:hover{
    text-decoration: underline;
}
/* .footer .container:before {
    content: 'Power of Point';
    position: absolute;
    left: 22px;
    bottom: -200px;
    color: #CEF533;
    font-size: 202px;
    font-weight: 900;
    letter-spacing: 0.02em;
    font-size: clamp(9.375rem, 5.6607rem + 5.8036vw, 12.625rem);
} */
.footer .container{
    padding-bottom: 50px;
}
.review_swiper{
    padding-top: 16px;
    padding-left: 17px;
    padding-right: 17px;
    padding-bottom: 30px;
}
/* Базовая анимация */
@keyframes floatWiggle {
    0%   { transform: translate(0, 0) rotate(0deg); }
    25%  { transform: translate(-3px, 2px) rotate(-1.2deg); }
    50%  { transform: translate(2px, -3px) rotate(1.2deg); }
    75%  { transform: translate(-2px, 1px) rotate(-1deg); }
    100% { transform: translate(0, 0) rotate(0deg); }
  }
  
  /* Общий класс */
  .float-text {
    display: inline-block;
    animation-name: floatWiggle;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
  }
  
  /* Индивидуальные тайминги */
  .abs1 {
    animation-duration: 3.4s;
    animation-delay: 0s;
  }
  
  .abs2 {
    animation-duration: 4.1s;
    animation-delay: 0.5s;
  }
  
  .abs3 {
    animation-duration: 3.8s;
    animation-delay: 1s;
  }
  .mobile_image{
    display: none;
  }
  .burger{
    display: none;
  }


  @media (max-width: 1339px) {
    .wrap_materials {
        padding-top: 110px;
        
    }
    .advantages {
        padding-top: 110px;
    }
    .wrap_faq_right {
      
        justify-content: left;
        padding-top: 45px;
    }
    .item_rev{
        height: auto;
        padding-left: 25px;
        padding-right: 25px;
    }
    .text_review {
        left: 0;
        right: 0;
        position: relative;
        bottom: auto;
        padding-top: 30px;
    }
    .contact_info a {
        
        font-size: 20px;
        
    }
    .wrap_options {
       
        justify-content: unset;
     
    }
    .option_item {
        margin-right: 10px;
        margin-bottom: 10px;
    }
    .footer .container:before {
        
        bottom: -67px;
        
        font-size: 147px;
    }
  }
  @media (max-width: 1023px) {
    .image_tittle{
        display: none;
    }
    #gif-container{
        display: none;
    }
    .mobile_image{
        display: none;
        text-align: center;
    }
    .tittle_main {
        text-align: center;
        color: #FFFFFF;
        font-size: 48px;
        line-height: 120%;
        letter-spacing: 1px;
        padding-top: 17px;
        margin-bottom: 20px;
        white-space: normal;
        word-spacing: normal;
    }
    
    .desktop-text {
        display: none;
    }
    .abs1{
        display: none;
    }
    .line_question {
       
        width: 100%;
       
    }
    .wrap_tittle_header {
        width: 100%;
        margin: 0 auto;
        margin-top: 119px;
        padding-bottom: 115px;
        text-align: center;
    }
    .main_link {
        margin-bottom: 68px;
        text-align: left;
    }
    .txt_mat p {
        width: 100%;
       
        font-size: 39px;
       
        line-height: 99%;
        padding-bottom: 30px;
    }
    .txt_mat span {
       
        
        width: 100%;
       
    }
    .wrap_materials {
        justify-content: unset;
        column-gap: 22px;
        row-gap: 26px;
        padding-top: 55px;
    }
    .item_material {
        width: 47%;
       
    }
    .describe_case p {
        
        font-size: 16px;
       
    }
    .describe_case p:after {
        
        right: 11px;
        top: 8px;
    }
    .advantages {
        padding-top: 30px;
    }
    .foor_adv p {
        
        font-size: 18px;
       
        line-height: 102%;
    }
    .tittle_faq {
        
        font-size: 36px;
        
    }
    .review_swiper .slide-left,
  .review_swiper .slide-right {
    transform: none !important;
  }

  .swiper-slide-active .item_rev {
    transform: unset;
}
.arrow_adv_swiper {
   
    padding-top: 0;
}

.tittle_question {
   
    font-size: 39px;
}

.questions {
   
    padding: 69px 0px;
}





  .wrap_blog {
    display: flex;
      flex-wrap: nowrap;
      overflow: hidden;
      overflow-x: auto;
      justify-content: left;
  }

  .item_blog {
    flex: 0 0 auto;


    width: 41%;
   
    margin-right: 30px;
  }

  .head_blog {
   
    padding-bottom: 49px;
}

.contact_form {
    
    width: 100%;
    
}
.abs_soc {
    position: relative;
    bottom: auto;
    left: auto;
    padding-top: 45px;
}
.position {
   
    width: 350px;
    margin-top: 30px;
}
.item_footer_nav {
    margin-left: 47px;
}
.footer .container:before {
    bottom: -44px;
    font-size: 107px;
}
.footer .container{
    padding-bottom: 69px;
}

}


  @media (max-width: 767px) {



          .wrap_menu {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh;
        min-height: 100vh;
        max-width: 100vw;
        background-color: #161616;
        transform: translateX(100%);
        transition: transform 0.4s ease;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 999999;
        flex-direction: column;
        visibility: hidden;
        opacity: 0;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
        overflow: hidden;
        border: none;
        outline: none;
      }
    
      .wrap_menu.active {
        transform: translateX(0);
        visibility: visible;
        opacity: 1;
        display: flex;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh;
        background-color: #161616;
        position: fixed;
        margin: 0;
        padding: 0;
        border: none;
        outline: none;
        z-index: 10000000 !important;
      }
      

    
      .wrap_menu .nav {
        display: flex;
        flex-direction: column;
        gap: 24px;
        text-align: center;
        flex-wrap: nowrap;
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        position: relative;
        z-index: 1000000;
      }
    
      .wrap_menu .nav a {
        font-size: 24px;
        color: #fff;
        text-decoration: none;
        padding: 15px 20px;
        display: flex;
        transition: all 0.3s ease;
        margin: 0;
        border-radius: 8px;
        min-height: 44px;
        align-items: center;
        justify-content: center;
      }
      
      .wrap_menu .nav a:hover,
      .wrap_menu .nav a:active,
      .wrap_menu .nav a:focus {
        color: #CEF533;
        background-color: rgba(206, 245, 51, 0.1);
        transform: scale(1.05);
      }
      
      .wrap_menu .nav a:before {
        display: none;
      }
      
      .mobile_call_back {
        color: #161616;
        background-color: #CEF533;
        font-size: 18px;
        font-weight: 700;
        border: none;
        text-decoration: none;
        margin-top: 40px;
        padding-left: 24px;
        display: flex;
        transition: all 0.3s ease;
        position: relative;
        z-index: 1000000;
        border-radius: 8px;
        text-align: left;
        width: 235px;
        height: 55px;
        line-height: 55px;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
      }
      
      .mobile_call_back:before {
        content: '';
        position: absolute;
        background: url(../img/assets/arrow.svg) no-repeat top center;
        width: 13px;
        height: 13px;
        right: 27px;
        top: 22px;
        transition: 0.3s;
      }
      
      .mobile_call_back:hover:before {
        right: 45px;
      }
    
      .burger {
        width: 28px;
        height: 20px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        cursor: pointer;
        z-index: 1000001;
        position: relative;
      }
      
      .burger span {
        display: block;
        height: 2px;
        width: 100%;
        background-color: #fff;
        transition: 0.3s ease;
        transform-origin: center;
      }
      
      /* Состояние активного бургера – превращение в крестик */
      .burger.active span:nth-child(1) {
        transform: rotate(45deg);
        top: 9px;
        left: 0;
        position: absolute;
        transform-origin: center;
      }
      
      .burger.active span:nth-child(2) {
        transform: rotate(-45deg);
        top: 9px;
        left: 0;
        position: absolute;
        transform-origin: center;
      }
    
      body.no-scroll {
        overflow: hidden;
        height: 100vh;
        min-height: 100vh;
        touch-action: none;
        position: fixed;
        width: 100vw;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 0;
      }
      
      html.no-scroll {
        overflow: hidden;
        height: 100vh;
        width: 100vw;
        margin: 0;
        padding: 0;
      }
      
      /* Ensure mobile menu overlay covers everything when active */
      .wrap_menu.active {
        z-index: 99999999 !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
      }
      
      .wrap_menu.active * {
        z-index: 99999999 !important;
      }
      
      .wrap_menu.active ~ .burger,
      .wrap_menu.active + .burger {
        z-index: 100000000 !important;
      }
      
      /* Additional overlay protection */
      .wrap_menu.active::before {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #161616;
        z-index: 999998;
        pointer-events: none;
      }
      
      /* Ensure header doesn't interfere with mobile menu */
      .header {
        z-index: 100;
      }
      
      /* Force mobile menu to be on top of everything */
      .wrap_menu {
        position: fixed !important;
        z-index: 1000 !important;
      }
      
      /* Add backdrop overlay for mobile menu */
      .wrap_menu::after {
        content: '';
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(22, 22, 22, 0.95);
        z-index: -1;
        opacity: 0;
        transition: opacity 0.4s ease;
        pointer-events: none;
      }
      
      .wrap_menu.active::after {
        opacity: 1;
        pointer-events: auto;
      }
      

      .wrap_tittle_header {
        
        z-index: -1;
    }





    .logo {
        z-index: 10;
    }
    .call_back {
        display: none;
        z-index: 10;
    }
    .wrap_tittle_header {
        
        margin-top: 92px;
        
    }
    .top_head {
        
        padding-top: 30px;
    }

    .tittle_main {
        font-size: 36px;
        line-height: 100%;
    }

    .tittle_main br{
        display: none;
    }
    
    .desktop-text {
        display: none;
    }
    
    .mobile-text {
        display: block !important;
        white-space: normal;
        word-spacing: normal;
        line-height: 1.3;
    }
    
    .mobile-text span {
        display: block !important;
        text-align: center;
    }
    
    .mobile-text span + span {
        margin-top: 0;
    }
    .container {
        
        padding: 0px 16px;
        
    }
    .yellow br{
        display: none;
    }
    .abs1 {
        display: none;
    }
    
    /* Hide floating chips on all non-desktop resolutions */
    .abs1, .abs2, .abs3 {
        display: none !important;
    }
    .main_link {
        margin-bottom: 50px;
       
    }
    .wrap_tittle_header {
        
        padding-bottom: 88px;
        
    }
    .item_material {
        width: 100%;
    }

    .item_material {
     
        height: 270px;
        
    }

    .item_big_cases {
        width: 100%;
        margin-bottom: 30px;
    }
    .small_cases {
        padding-top: 0;
       
    }
    .item_small_cases {
        width: 100%;
        margin-bottom: 30px;
    }
    
    /* Hide hover images on mobile to reduce loading */
    .case-image-hover {
        display: none !important;
    }
    
    /* Ensure hover images are never loaded on mobile */
    .case-image-hover[data-src] {
        display: none !important;
    }
    
    /* Ensure main images are always visible on mobile */
    .case-image {
        opacity: 1 !important;
        z-index: 1;
    }
    
    /* Remove orange circle effect on mobile */
    .photo_big_case::after,
    .photo_small_case::after {
        display: none;
    }
    
    /* Mobile scroll animation for case images */
    .photo_big_case,
    .photo_small_case {
        position: relative;
        overflow: hidden;
    }
    
    .case-image,
.case-image-hover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
    will-change: opacity;
}
    
    .case-image {
        z-index: 1;
    }
    
    .case-image-hover {
        opacity: 0;
        z-index: 2;
    }
    
    /* Animation classes for scroll-triggered effects */
    
    /* Remove bottom padding from project-text on mobile */
    .project-text {
        margin-bottom: 0;
    }
    
    /* Mobile two-column layout - single column with video first */
    .two-column-layout {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 50px;
        grid-template-columns: none;
    }
    
    .two-column-layout .text-column {
        order: 2;
        width: 100%;
    }
    
    .two-column-layout .media-column {
        order: 1;
        width: 100%;
    }
    .case-animate .case-image {
        opacity: 0;
    }
    
    .case-animate .case-image-hover {
        opacity: 1;
    }
    
    /* Optimized case animations - no delays for better performance */
    .item_big_cases .case-animate .case-image,
    .item_big_cases .case-animate .case-image-hover,
    .item_small_cases .case-animate .case-image,
    .item_small_cases .case-animate .case-image-hover {
        transition-delay: 0s;
    }
    
    /* Mobile case buttons */
    .mobile-case-button {
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #CEF533;
        color: #161616;
        padding: 6px 6px;
        border-radius: 0;
        font-size: 13px;
        font-weight: 500;
        z-index: 15;
        display: flex;
        flex-direction: row;
        align-items: center;
        text-align: center;
        line-height: 1.1;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
        gap: 6px;
        pointer-events: none;
        cursor: default;
    }
    
    .mobile-case-button span {
        display: inline;
        text-rendering: optimizeLegibility;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }
    
    /* Hide mobile buttons on desktop */
    @media (min-width: 768px) {
        .mobile-case-button {
            display: none;
        }
        .mobile_call_back {
            display: none;
        }
        .wrap_menu {
            display: none;
        }
        .call_back {
            display: none;
        }
    }
    
    /* Mobile performance optimizations */
    @media (max-width: 767px) {
        /* Reduce transition complexity on mobile */
        .case-image,
        .case-image-hover {
            transition: opacity 0.2s ease;
        }
        
        /* Disable complex animations on mobile */
        .photo_big_case::after,
        .photo_small_case::after {
            display: none !important;
        }
        
        /* Optimize case containers */
        .item_big_cases,
        .item_small_cases {
            contain: layout style paint;
        }
    }
    
    /* Hide desktop hover text on mobile */
@media (max-width: 767px) {
    .hover-text {
        display: none !important;
    }
}

/* Show hover text on desktop */
@media (min-width: 768px) {
    .hover-text {
        display: block !important;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease;
    }
    
    .hover-text.show {
        opacity: 1;
        visibility: visible;
    }
}

/* Cross-browser cursor reset for case cards */
.photo_big_case,
.photo_small_case,
.photo_big_case *,
.photo_small_case *,
.item_big_cases,
.item_small_cases,
.item_big_cases *,
.item_small_cases * {
    cursor: default !important;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Exception for Hansab project link - maintain clickability */
.project-link {
    cursor: pointer !important;
}

/* Override global cursor pointer for case cards */
.cases a,
.cases .photo_big_case,
.cases .photo_small_case,
.cases .item_big_cases,
.cases .item_small_cases,
.cases .photo_big_case *,
.cases .photo_small_case *,
.cases .item_big_cases *,
.cases .item_small_cases * {
    cursor: default !important;
}

/* Specific override for Hansab project link */
.cases .project-link {
    cursor: pointer !important;
}

/* Override global a tag cursor rule for cases section */
#cases a:not(.project-link) {
    cursor: default !important;
}

/* Hide cursor on hover over case cards (desktop only) */
@media (hover: hover) and (pointer: fine) {
  .cases .photo_big_case:hover,
  .cases .photo_small_case:hover,
  .cases .item_big_cases:hover,
  .cases .item_small_cases:hover,
  .cases .project-link:hover,
  .cases .photo_big_case:hover *,
  .cases .photo_small_case:hover *,
  .cases .item_big_cases:hover *,
  .cases .item_small_cases:hover *,
  .cases .project-link:hover *,
  .cases .hover-text,
  .cases .hover-text *,
  .cases .photo_big_case::after,
  .cases .photo_small_case::after {
      cursor: none !important;
  }
}
    .tittle_advantages {
        
        font-size: 40px;
       
    }
    .arrow_adv_swiper {
        padding-top: 36px;
    }

    .services {
       
        padding-top: 30px;
      
    }
    .line_faq p{
        width: 100%;
    }
    .tittle_faq {
        font-size: 33px;
        padding-right: 30px;
    }

    .wrap_faq_right .main_link {
      
        width: 100%;
    }
    .services {
       padding-bottom: 50px;
    }

    .sub_tittle_reviews {
        
        font-size: 35px;
       
        
        padding-bottom: 29px;
    }


    element.style {
    }
    @media (max-width: 1339px) {
        .text_review {
           
            height: 254px;
            overflow: hidden;
        }
        .tittle_question {
            font-size: 36px;
            line-height: 110%;
        }
        .line_question span {
            
            font-size: 19px;
          
        }
        .line_question p {
            width: 100%;
           
        }
        .questions {
            padding: 69px 0px 35px 0px;
        }
        .head_blog span {
           
            font-size: 35px;
            
        }
        .head_blog .main_link {
           
            display: none;
        }
        .item_blog {
           
            width: 79%;
            
        }


            .tittle_feedback {
                
                font-size: 36px;
                
            }
            .contact_form {
               border: none;
                padding-top: 30px;
                padding-left: 10px;
                padding-right: 6px;
                padding-bottom: 28px;
               
            }
            .option_item {
                display: block;
                width: 100%;
                text-align: center;
            }
            .input_field {
                width: 100%;
                margin-bottom: 30px;
            }
            .txt_area_wrap {
                padding-top: 8px;
                padding-bottom: 35px;
            }
            .send_button {
               
                justify-content: left;
              
            }
            .send_button .main_link {
                
                width: 100%;
                
            }
            .item_footer_nav {
                margin-left: 0;
            }
            .wrap_footer .logo{
                margin-bottom: 25px;
            }
            .item_footer_nav {
                margin-left: 0;
                width: 100%;
            }
            .footer .container:before {
                bottom: -24px;
                font-size: 48px;
            }
            .foot_bottom {
               
                justify-content: flex-start;
                flex-direction: column;
                align-items: flex-start;
                padding-top: 23px;
            }
            .privacy_links a {
               
                margin-left: 0;
                margin: 0px;
                margin-top: 10px;
                text-align: center;
            }
            .copy {
              
                padding-bottom: 6px;
            }
            .footer .container {
                padding-bottom: 21px;
            }
            .position {
                width: 100%;
            }
            .contact_info {
                padding-bottom: 20px;
            }
            .wrap_options {
                text-align: left;
            }
            .option_item {
                text-align: left;
            }
            .question_block {
                padding-bottom: 15px;
            }
            .sub_tittle_reviews {
                text-align: center;
            }
            .reviews .tittle {
                text-align: center !important;
                display: block !important;
                width: 100% !important;
                padding-right: 0 !important;
            }
            .reviews .tittle:after {
                right: 50% !important;
                transform: translateX(50%) !important;
            }
            .reviews .tittle {
                display: none !important;
            }
            .text_review {
                text-align: center;
            }
            .cases {
                padding-bottom: 50px;
            }
    }













}

/* Additional mobile breakpoints for better responsiveness */
@media (max-width: 480px) {
  .wrap_menu .nav {
    gap: 20px;
    max-width: 280px;
  }
  
  .wrap_menu .nav a {
    font-size: 22px;
    padding: 12px 16px;
  }
  
  .mobile_call_back {
    font-size: 16px;
    width: 200px;
    margin-top: 30px;
  }
}

@media (max-width: 360px) {
  .wrap_menu .nav {
    gap: 16px;
    max-width: 260px;
  }
  
  .wrap_menu .nav a {
    font-size: 20px;
    padding: 10px 12px;
  }
  
  .mobile_call_back {
    font-size: 15px;
    width: 180px;
    margin-top: 25px;
  }
}

/* Landscape orientation adjustments */
@media (max-height: 500px) and (orientation: landscape) {
  .wrap_menu .nav {
    gap: 12px;
  }
  
  .wrap_menu .nav a {
    padding: 8px 16px;
    font-size: 20px;
    min-height: 36px;
  }
  
  .mobile_call_back {
    margin-top: 20px;
    font-size: 16px;
    height: 40px;
    line-height: 40px;
    width: 200px;
  }
}

.photo_big_case, .photo_small_case {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
}

.photo_big_case img, .photo_small_case img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.3s ease;
    will-change: opacity;
}

.case-image {
    z-index: 1;
}

.case-image-hover {
    opacity: 0;
    z-index: 2;
}

/* Ensure hover images are properly positioned when loaded */
.case-image-hover[src] {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Desktop hover effects */
@media (hover: hover) and (pointer: fine) {
    .photo_big_case:hover .case-image-hover,
    .photo_small_case:hover .case-image-hover {
        opacity: 1;
    }
    
    .photo_big_case:hover .case-image,
    .photo_small_case:hover .case-image {
        opacity: 0;
    }
}

/* Hover effect with circle and "View project" text */
.photo_big_case,
.photo_small_case {
    position: relative;
    overflow: hidden;
    cursor: default;
}

/* Disable complex hover effects on touch devices for better performance */
@media (hover: none) and (pointer: coarse) {
    .photo_big_case::after,
    .photo_small_case::after {
        display: none;
    }
    
    .photo_big_case:hover .case-image-hover,
    .photo_small_case:hover .case-image-hover {
        opacity: 0;
    }
    
    .photo_big_case:hover .case-image,
    .photo_small_case:hover .case-image {
        opacity: 1;
    }
}

/* Ensure hover effects work on desktop */
@media (hover: hover) and (pointer: fine) {
    .photo_big_case:hover .case-image-hover,
    .photo_small_case:hover .case-image-hover {
        opacity: 1 !important;
    }
    
    .photo_big_case:hover .case-image,
    .photo_small_case:hover .case-image {
        opacity: 0 !important;
    }
}

.photo_big_case::after,
.photo_small_case::after {
    content: '';
    position: absolute;
    width: 120px;
    height: 120px;
    background-color: #CEF533;
    border-radius: 50%;
    z-index: 10;
    opacity: var(--circle-visible, 0);
    pointer-events: none;
    transition: opacity 0.3s ease;
    left: var(--mouse-x, 50%);
    top: var(--mouse-y, 50%);
    transform: translate(-50%, -50%);
}

.photo_big_case:hover::after,
.photo_small_case:hover::after {
    opacity: 1;
}

/* Removed old ::before pseudo-element to prevent text doubling */

/* Removed hover state for ::before pseudo-element */

/* Hover text styling */
.hover-text {
    position: absolute;
    color: #161616 !important;
    font-size: 14px;
    font-weight: 600;
    z-index: 1000;
    pointer-events: none;
    text-align: center;
    transform: translate(-50%, -50%);
    background: transparent;
    line-height: 1.1;
    white-space: nowrap;
}

.hover-text span {
    display: block;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-bottom: 1px;
}

.hover-text span:last-child {
    margin-bottom: 0;
}

/* Project link styling */
.project-link {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: default;
}

/* Project Overview Page Styles */

/* Header styles for white background */
.header-white {
    background-color: #FFFFFF !important;
    background-image: none !important;
}

/* Logo sizes */
.logo-header {
    max-width: 55px;
    height: auto;
}

.logo-footer {
    max-width: 60px;
    height: auto;
}

/* Navigation styles for white header */
.nav-white li a {
    color: #161616 !important;
    position: relative;
}

.nav-white li a:before {
    background-color: #161616 !important;
}

/* Call back button for white header */
.call_back-white {
    color: #161616 !important;
    border-color: #161616 !important;
}

/* Burger menu for white header */
.burger-white span {
    background-color: #161616 !important;
}

/* Project overview headings */
.project-title {
    color: #161616;
    font-size: 45px;
    line-height: 99%;
    letter-spacing: -0.02em;
    padding-top: 20px;
    display: block;
    text-align: left;
    font-weight: 400;
}

/* Project info grid */
.project-info-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 20px;
    padding: 30px 0;
}

/* Project info full width layout */
.project-info-full-width {
    width: 100%;
    margin-bottom: 30px;
    padding: 30px 0;
}

.project-info-row {
    display: flex;
    flex-direction: row;
    gap: 15px;
    justify-content: space-between;
}

/* Project description */
.project-description {
    margin-bottom: 40px;
}

.description-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}

.project-description p {
    color: #161616;
    line-height: 1.7;
    font-size: 16px;
    font-weight: 400;
    margin: 0;
}

.project-info-item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.project-info-label {
    font-size: 14px;
    color: #666;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.project-info-value {
    font-size: 16px;
    color: #161616;
    font-weight: 400;
}

/* Project intro text */
.project-intro {
    margin-bottom: 40px;
}

.project-intro p {
    color: #161616;
    line-height: 1.7;
    font-size: 18px;
    font-weight: 400;
}

.project-heading {
    color: #161616;
    margin-bottom: 20px;
    font-size: 26px;
    font-weight: 450;
}

.project-text {
    color: #161616;
    line-height: 1.7;
    font-size: 16px;
    margin-bottom: 20px;
}

.project-text:last-child {
    margin-bottom: 0;
}

/* Image grids */
.image-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.image-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.image-grid-responsive {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-bottom: 50px;
}

/* Two Column Layout */
.two-column-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 50px;
    align-items: center;
}

.text-column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.media-column {
    width: 100%;
}

.media-column iframe {
    border-radius: 8px;
}

/* Video containers */
.video-container {
    position: relative;
    width: 680px;
    height: 380px;
    background: #F8F8F8;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    overflow: hidden;
}

/* Generic media box for images/iframes with consistent sizing */
.media-box {
    position: relative;
    width: 100%;
    height: 380px;
    border-radius: 8px;
    overflow: hidden;
    background: #F8F8F8;
}

.media-box > img,
.media-box > iframe,
.media-box > video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: 0;
}

.video-loading {
    color: #666;
    font-size: 14px;
    z-index: 1;
}

.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Custom image height to match video */
.future-heroes-2-image {
    /* Height is now controlled by the container with padding-top: 58.35% */
}

/* Fix for Kinescope player */
.video-container .kin-pl-1r6w41e {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border-radius: 8px;
    overflow: hidden !important;
}

/* Ensure video fills container completely */
.video-container iframe,
.video-container div[aria-label] {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    border-radius: 8px;
}

/* Prevent any size changes during video playback */
.video-container * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    max-height: 100% !important;
}

/* Force Kinescope player to maintain size */
.video-container .kin-pl-1r6w41e,
.video-container .kin-pl-1r6w41e * {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    overflow: hidden !important;
    transform: none !important;
    transition: none !important;
}

/* Image placeholders */
.image-placeholder-320 {
    background: #f0f0f0;
    height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.image-placeholder-380 {
    background: #f0f0f0;
    height: 380px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.project-image-380 {
    width: 100%;
    height: 380px;
    object-fit: cover;
    border-radius: 8px;
}

.image-placeholder-400 {
    background: #f0f0f0;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.project-image-400 {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 8px;
}

.image-placeholder-450 {
    background: #f0f0f0;
    height: 450px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.project-main-image {
    width: 100%;
    height: 450px;
    object-fit: cover;
    border-radius: 8px;
}

.desktop-image {
    display: block;
}

.mobile-image {
    display: none;
}

.image-placeholder-300 {
    background: #f0f0f0;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.image-placeholder-350 {
    background: #f0f0f0;
    height: 350px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.image-placeholder-150 {
    background: #f0f0f0;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.image-placeholder-200 {
    background: #f0f0f0;
    height: 200px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
}

.image-placeholder-text {
    color: #666;
    font-size: 14px;
}

/* Text sections */
.text-section {
    margin-bottom: 50px;
}

.text-section-large {
    margin-bottom: 30px;
}

/* Process section */
.process-title {
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 400;
}

.process-container {
    max-width: 900px;
    margin: 0 auto;
}

.process-step {
    margin-bottom: 30px;
    padding: 30px 0;
    border-top: 1px solid #8C8C8C;
}

.process-step:first-child {
    border-top: none;
}

.process-step-title {
    color: #CEF533;
    margin-bottom: 15px;
}

.process-step-title-white {
    color: #FFFFFF;
    margin-bottom: 15px;
}

.process-step-text {
    color: #FFFFFF;
    line-height: 1.6;
}

/* Results section */
.results-title {
    font-weight: 400;
}

.results-subtitle {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 40px;
    color: #161616;
    text-align: center;
}

.result-card {
    background: #F7F7F7;
    padding: 30px;
    border-radius: 12px;
}

.result-card-title {
    color: #161616;
    margin-bottom: 15px;
}

.result-card-text {
    color: #161616;
    line-height: 1.6;
    margin-bottom: 20px;
}

/* Contact section */
.contact-title {
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 50px;
    font-weight: 400;
}

/* Responsive adjustments */
@media (max-width: 1023px) {
    .image-grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
    
    /* Ensure single column layout on tablets */
    .description-columns {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .two-column-layout {
        display: flex;
        flex-direction: column;
        gap: 30px;
    }
    
    .two-column-layout .text-column,
    .two-column-layout .media-column {
        width: 100%;
        order: unset;
    }
    
    /* Show mobile images on tablets */
    .text-section .mobile-image {
        display: block;
        margin: 20px 0;
    }
}

@media (max-width: 767px) {
    .image-grid-3,
    .image-grid-2 {
        grid-template-columns: 1fr;
    }
    
    .image-grid-responsive {
        grid-template-columns: 1fr;
    }
    
    .project-info-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .project-info-row {
        flex-direction: column;
        gap: 15px;
    }
    
    .description-columns {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .desktop-image {
        display: none;
    }
    
    .mobile-image {
        display: block;
    }
    
    .logo-header {
        max-width: 60px;
    }
    
    .logo-footer {
        max-width: 50px;
    }
}

/* Additional mobile breakpoint for smaller devices */
@media (max-width: 480px) {
    .desktop-image {
        display: none !important;
    }
    
    .mobile-image {
        display: block !important;
    }
    
    .project-main-image {
        height: auto;
        max-height: none;
    }
    
    /* Override height for mobile images to use full height */
    .mobile-image.project-main-image {
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}

/* Force mobile images on all mobile devices with higher specificity */
@media (max-width: 767px) {
    .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Make media boxes fluid on mobile */
    .media-box {
        height: 56.25vw; /* 16:9 relative to viewport width */
        max-height: 380px;
    }
    
    .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
    
    /* Override height for mobile images to use full height */
    .mobile-image.project-main-image {
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
    
    /* Ensure mobile images in text sections are visible */
    .text-section .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        margin: 20px 0;
    }
}

/* Mobile height adjustment for medium mobile devices */
@media (max-width: 767px) {
    .project-main-image {
        height: auto;
        max-height: none;
    }
}

/* Ensure mobile images are always visible on mobile devices */
@media (max-width: 767px) {
    .text-section-large .mobile-image,
    .image-grid-responsive .mobile-image,
    .image-grid-2 .mobile-image,
    .image-grid-3 .mobile-image,
    .text-section .mobile-image {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        position: relative !important;
        z-index: 10 !important;
    }
    
    .text-section-large .desktop-image,
    .image-grid-responsive .desktop-image,
    .image-grid-2 .desktop-image,
    .image-grid-3 .desktop-image,
    .text-section .desktop-image {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        position: absolute !important;
        z-index: -1 !important;
    }
}

/* Debug: Force show mobile image on all mobile devices */
@media (max-width: 1024px) {
    .text-section-large .mobile-image,
    .image-grid-responsive .mobile-image,
    .image-grid-2 .mobile-image,
    .image-grid-3 .mobile-image {
        display: block !important;
    }
    
    .text-section-large .desktop-image,
    .image-grid-responsive .desktop-image,
    .image-grid-2 .desktop-image,
    .image-grid-3 .desktop-image {
        display: none !important;
    }
}

/* Privacy Policy Page Styles */
.privacy-policy-content {
    padding: 80px 0;
    background: transparent;
    min-height: calc(100vh - 200px);
    margin-bottom: 0;
}

.privacy-header {
    text-align: center;
    margin-bottom: 60px;
}

.privacy-header h1 {
    color: #161616;
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.last-updated {
    color: #666666;
    font-size: 16px;
    font-weight: 400;
}

.privacy-section {
    margin-bottom: 50px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.privacy-section h2 {
    color: #161616;
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 20px;
    text-align: left;
}

.privacy-section h3 {
    color: #161616;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 15px;
    margin-top: 25px;
}

.privacy-section p {
    color: #333333;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 15px;
}

.privacy-section ul {
    margin: 20px 0;
    padding-left: 20px;
}

.privacy-section li {
    color: #333333;
    font-size: 16px;
    line-height: 1.7;
    margin-bottom: 8px;
    list-style-type: disc;
}

.contact-info {
    background: #F7F7F7;
    padding: 25px;
    border-radius: 8px;
    margin-top: 20px;
}

.contact-info p {
    margin-bottom: 10px;
}

.contact-info p:last-child {
    margin-bottom: 0;
}



/* Mobile responsive for privacy policy */
@media (max-width: 767px) {
    .privacy-policy-content {
        padding: 60px 0;
    }
    
    .privacy-header h1 {
        font-size: 36px;
    }
    
    .privacy-section h2 {
        font-size: 24px;
    }
    
    .privacy-section h3 {
        font-size: 18px;
    }
    
    .privacy-section {
        margin-bottom: 40px;
    }
    
    .contact-info {
        padding: 20px;
    }
}

/* Fix for privacy policy footer white line issue */
.privacy-policy-content + .footer {
    margin-top: 0;
}



.privacy-policy-content + .footer .container {
    padding-bottom: 40px;
}

/* Ensure privacy policy page ends with black background */
.privacy-policy-content + .footer {
    background-color: #161616;
}

/* Global mobile image height override */
@media (max-width: 767px) {
    .mobile-image {
        height: auto !important;
        max-height: none !important;
        object-fit: contain !important;
    }
    
    /* Remove top padding for project title on mobile */
    .project-title {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

/* Ensure Future Heroes 2 mobile image fills the media box height on mobile */
@media (max-width: 767px) {
    .media-box .future-heroes-2-image.mobile-image {
        height: 100% !important;
        width: 100% !important;
        max-height: 100% !important;
        object-fit: cover !important;
    }
}



/* Mobile hero text styling (restores previous behavior) */
@media (max-width: 1023px) {
    .tittle_main .desktop-text { display: none; }
    .tittle_main .mobile-text { display: block; white-space: normal; word-spacing: normal; line-height: 1.35; }
    .tittle_main .mobile-text span { display: block; text-align: center; font-size: 36px; line-height: 1.15; }
    .tittle_main .mobile-text span:last-child { margin-bottom: 0; }
}

/* Ensure hero mobile line breaks render across all mobile widths */
@media (max-width: 1023px) {
    .tittle_main br,
    .tittle_main .yellow br { display: inline; }
    .tittle_main .mobile-text { text-align: center; }
    
    /* Disable parallax effect on mobile */
    .header {
        background-attachment: scroll;
        background-position: center center;
        transform: none;
    }
}

/* Logos Page Styles */
.logos-section {
    padding: 80px 0;
    background: transparent;
    min-height: calc(100vh - 200px);
}

.logos-header {
    text-align: center;
    margin-bottom: 60px;
}

.logos-header .project-title {
    text-align: center;
    margin-bottom: 20px;
}

.logos-header .project-intro {
    text-align: center;
    max-width: 600px;
    margin: 0 auto;
}

/* Search Bar Styles */
.search-section {
    margin-bottom: 50px;
    display: flex;
    justify-content: center;
}

.search-container {
    position: relative;
    max-width: 500px;
    width: 100%;
}

.search-input {
    width: 100%;
    padding: 16px 20px;
    padding-right: 60px;
    border: 2px solid #E5E5E5;
    border-radius: 12px;
    font-size: 16px;
    background: #FFFFFF;
    transition: all 0.3s ease;
    color: #161616;
}

.search-input:focus {
    outline: none;
    border-color: #CEF533;
    box-shadow: 0 0 0 3px rgba(206, 245, 51, 0.1);
}

.search-input::placeholder {
    color: #999;
}

.search-button {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #CEF533;
    border: none;
    border-radius: 8px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: none;
    color: #161616;
}

.search-button:hover {
    background: #CEF533;
    transform: translateY(-50%);
}

.search-button svg {
    width: 20px;
    height: 20px;
}

.logos-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
    max-width: 100%;
    margin: 0;
    border: 1px solid #E5E5E5;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.logo-item {
    background: #FFFFFF;
    border: 1px solid #E5E5E5;
    border-radius: 0;
    padding: 20px;
    text-align: left;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    box-shadow: none;
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    min-height: 80px;
    box-sizing: border-box;
    width: 100%;
}

.logo-item:hover {
    transform: none;
    box-shadow: none;
    border-color: #E5E5E5;
    background: #FFFFFF;
}

.logo-item:nth-child(4n+1) {
    border-left: none;
}

.logo-item:nth-child(4n) {
    border-right: none;
}

.logo-item:nth-child(-n+4) {
    border-top: none;
}

.logo-item:nth-last-child(-n+4) {
    border-bottom: none;
}

.logo-placeholder {
    width: 60px;
    height: 60px;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #F8F8F8;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.logo-placeholder-gray {
    width: 100%;
    height: 100%;
    background: #CCCCCC;
    border-radius: 6px;
}

.logo-preview {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: 50px;
    max-height: 50px;
}

.logo-info {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex: 1;
    gap: 20px;
    min-width: 0;
    width: 100%;
}

.logo-name {
    color: #161616;
    font-size: 16px;
    font-weight: 500;
    margin: 0;
    line-height: 1.3;
    flex: 1;
    white-space: normal;
    overflow: visible;
    word-wrap: break-word;
    hyphens: auto;
    max-width: 100%;
}

.download-btn-container {
    flex-shrink: 0;
}

.download-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #CEF533;
    color: #161616;
    padding: 10px;
    border-radius: 6px;
    text-decoration: none;
    transition: none;
    border: 1px solid transparent;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.download-btn:hover {
    background: #CEF533;
    transform: none;
    box-shadow: none;
}

.download-btn svg {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Mobile responsive for logos page */
@media (max-width: 1023px) {
    .search-container {
        max-width: 400px;
    }
    
    .logos-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
        padding: 0;
        width: 100%;
    }
    
    .logo-item {
        padding: 15px;
        gap: 15px;
        min-height: 70px;
        width: 100%;
    }
    
    .logo-item:hover {
        transform: none;
        box-shadow: none;
        border-color: #E5E5E5;
        background: #FFFFFF;
    }
    
    .logo-placeholder {
        width: 50px;
        height: 50px;
    }
    
    .logo-info {
        gap: 15px;
        width: 100%;
    }
    
    .logo-name {
        font-size: 15px;
        line-height: 1.3;
    }
    
    .logo-item:nth-child(3n+1) {
        border-left: none;
    }
    
    .logo-item:nth-child(3n) {
        border-right: none;
    }
    
    .logo-item:nth-child(-n+3) {
        border-top: none;
    }
    
    .logo-item:nth-last-child(-n+3) {
        border-bottom: none;
    }
}

@media (max-width: 767px) {
    .logos-section {
        padding: 60px 0;
    }
    
    .logos-header {
        margin-bottom: 40px;
        padding: 0 20px;
    }
    
    .logos-header .project-title {
        font-size: 36px;
        line-height: 1.2;
    }
    
    .logos-header .project-intro {
        font-size: 16px;
        line-height: 1.5;
    }
    
    .search-section {
        margin-bottom: 40px;
        padding: 0 20px;
    }
    
    .search-input {
        padding: 14px 18px;
        padding-right: 56px;
        font-size: 15px;
    }
    
    .search-button {
        width: 40px;
        height: 40px;
    }
    
    .search-button:hover {
        background: #CEF533;
        transform: translateY(-50%);
    }
    
    .search-button svg {
        width: 18px;
        height: 18px;
    }
    
    .logos-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        padding: 0 16px;
        border-radius: 8px;
        width: calc(100% - 32px);
    }
    
    .logo-item {
        padding: 12px;
        gap: 12px;
        min-height: 65px;
        width: 100%;
    }
    
    .logo-item:hover {
        transform: none;
        box-shadow: none;
        border-color: #E5E5E5;
        background: #FFFFFF;
    }
    
    .logo-placeholder {
        width: 45px;
        height: 45px;
    }
    
    .logo-info {
        gap: 12px;
        width: 100%;
    }
    
    .logo-name {
        font-size: 14px;
        line-height: 1.3;
    }
    
    .download-btn {
        padding: 8px;
        width: 32px;
        height: 32px;
    }
    
    .download-btn:hover {
        background: #CEF533;
        transform: none;
        box-shadow: none;
    }
    
    .download-btn svg {
        width: 14px;
        height: 14px;
    }
    
    .logo-item:nth-child(2n+1) {
        border-left: none;
    }
    
    .logo-item:nth-child(2n) {
        border-right: none;
    }
    
    .logo-item:nth-child(-n+2) {
        border-top: none;
    }
    
    .logo-item:nth-last-child(-n+2) {
        border-bottom: none;
    }
}

@media (max-width: 480px) {
    .search-container {
        max-width: 100%;
    }
    
    .search-input {
        padding: 12px 16px;
        padding-right: 52px;
        font-size: 14px;
    }
    
    .search-button {
        width: 36px;
        height: 36px;
    }
    
    .search-button:hover {
        background: #CEF533;
        transform: translateY(-50%);
    }
    
    .search-button svg {
        width: 16px;
        height: 16px;
    }
    
    .logos-grid {
        grid-template-columns: 1fr;
        gap: 0;
        padding: 0 16px;
        border-radius: 8px;
        width: calc(100% - 32px);
    }
    
    .logo-item {
        padding: 15px;
        gap: 15px;
        min-height: 70px;
        width: 100%;
    }
    
    .logo-item:hover {
        transform: none;
        box-shadow: none;
        border-color: #E5E5E5;
        background: #FFFFFF;
    }
    
    .logo-placeholder {
        width: 50px;
        height: 50px;
    }
    
    .logo-info {
        gap: 15px;
        width: 100%;
    }
    
    .logo-name {
        font-size: 15px;
        line-height: 1.3;
    }
    
    .logo-item:nth-child(1) {
        border-left: none;
        border-right: none;
    }
    
    .logo-item:nth-child(-n+1) {
        border-top: none;
    }
    
    .logo-item:nth-last-child(-n+1) {
        border-bottom: none;
    }
}

.logo-item[style*="position: absolute"] {
    pointer-events: none;
}

.mobile-image {
    z-index: 1 !important;
}

.project-main-image.mobile-image {
    z-index: 1 !important;
}

/* Ensure all images stay below mobile menu */
img.mobile-image,
.mobile-image,
.project-main-image,
.project-main-image.mobile-image {
    z-index: 1 !important;
    position: relative !important;
}

/* Force mobile menu backdrop */
.wrap_menu.active::before {
    content: '';
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: rgba(22, 22, 22, 0.95) !important;
    z-index: 99999998 !important;
    pointer-events: none !important;
}

.mobile-image {
    z-index: 1 !important;
}

.project-main-image.mobile-image {
    z-index: 1 !important;
}

/* Mobile header: show text CTA, hide desktop nav */
@media (max-width: 1024px) {
	.desktop-nav {
		display: none;
	}
	
	/* Hide desktop call_back button on mobile */
	.call_back {
		display: none;
	}
}

/* ===== MOBILE START PROJECT BUTTON - CLEAN VERSION ===== */

/* Base styles for mobile start project button */
.mobile-start-project {
    /* Desktop: Hidden by default */
    display: none;
    
    /* Common styles */
    color: #161616;
    font-family: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Liberation Sans', sans-serif;
    font-weight: 500;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
    white-space: nowrap;
    background: transparent;
    margin: 0 12px;
    line-height: 1.2;
    
    /* Prevent layout shift */
    position: static;
    opacity: 1;
    
    /* Prevent font weight jumping */
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-variation-settings: 'wght' 500;
}

/* Mobile styles - show button */
@media (max-width: 1024px) {
    .mobile-start-project {
        display: inline-block;
        font-size: 18px;
    }
}

/* Smaller mobile devices */
@media (max-width: 768px) {
    .mobile-start-project {
        font-size: 18px;
        margin: 0 8px;
    }
}

/* Hover effects */
.mobile-start-project:hover {
    color: #82854E;
    text-decoration: none;
}

/* Hide in mobile menu when active */
.wrap_menu.active .mobile-start-project {
    display: none;
}

/* ===== END MOBILE START PROJECT BUTTON ===== */