* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; /* Учитывает паддинги и бордеры в ширине */
}

body {
  font-family: 'Montserrat', sans-serif;
  color: black;
  /* margin: 0; убираем отступы браузера по умолчанию */
  padding: 0;
}

a {
  color: #474747;
  text-decoration: none;
}

.header__logo {
  width: 70px;

}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.header .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header__list {
  display: flex;
  gap: 30px;
}

.container {
  max-width: 1200px;
  margin: auto;
  /* padding: 0 15px; */

  /* width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between; */
}

.header {
  padding: 35px 0;
  /* position: relative; /* или fixed, если нужен прилипающий хедер */
  z-index: 10; */
}

.header__nav {

}

.header__nav li {
	margin-right: 2rem;
}

.header__nav li:last-of-type {
	margin-right: 0px;
}

.header__nav_link {
	position: relative;
  color: #484848;
  /* font-size: 1.25rem; */
}

/* Подчёркивание при наведении */
.header__nav_link::after {
  content: "";
  display: block;
  margin: auto;
  height: 2px;
  background: transparent;
  transition: all 0.3s ease;
  margin-top: 5px; /* отодвигаем линию ниже текста */
}

.header__nav_link:hover::after,
.header__nav_link.active-nav::after {
  width: 100%;
  background: #00A8DC;
}

.phone-container {
 
}

.phone-container i {
  color: #00a8dc;
}

.phone-container a {
  color: #484848;
  transition: color 0.3s ease;
}

.phone-container a:hover {
  color: black;
}

.welcome {
  position: relative;
  /* margin-top: -140px; */
  padding: 50px 0px -50px 0px;
  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.8) 30%, rgba(255,255,255,1) 70%),
              url('/images/bg.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 750px;
  top: 65px;
  
}

.btn {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 20px 48px;

  width: 300px;
  

  font-weight: 400;
  font-size: 16px;
  color: white;

  background: #00a8dc;
  border-radius: 40px;

  box-shadow: 0px 10px 20px rgba(10, 133, 190, 0.2); /* Тень */

  transition: opacity 0.3s;
}

.btn:hover {
  opacity: 0.8;
  box-shadow: 0px 10px 30px rgba(4, 9, 79, 0.35); /* Тень при наведении */
}

.welcome__title {
  margin-top: 0px;
  color: #212121;
  font-size: 64px;
  font-weight: 900;
  text-transform: uppercase;
}

.welcome__text {
  width: 600px;
}

.welcome__desc {
  margin: 40px 0;
  opacity: 0.7;
}

.welcome__visual {
  background: #00a8dc;
  border-radius: 50%;
  width: 500px;
  height: 500px;
  margin-left: auto;
  margin-top: -50px;
  box-shadow: 0px 10px 20px rgba(10, 133, 190, 0.2); /* Тень */
}

.welcome__visual img {
  width: 650px;
  margin-top: -30px;
}

.welcome .container {
  display: flex;
}

.icon_wrapper {
  width: 50px;
  fill: #00A8DC;
}

.icon_wrapper_mirrored {
  transform: scaleX(-1);
  width: 50px;
  fill: #00A8DC;
}

.advantages__title {
  text-align: center;
  font-size: 26px;
  font-weight: 900;
  opacity: 0.8;
  margin-bottom: 70px;
}

.advantage__columns {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 40px;
}

.item__title {
  margin: 20px 0;
}

.advantages {
  position: relative;
  z-index: 200;
  background-color:white;
  height: 650px;
  margin-top: -150px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 50px;
}

.application {
  display: flex;
  align-items: center;
  position: relative;
  background-image: url('/images/deal.jpg');
  background-size: cover;
  background-position: 100px 0px;
  background-repeat: no-repeat;
  height: 600px;
  z-index: 1;
}

.app_visual {
  position: relative;
}

.app_circle {
  position: absolute;
  top: -350px;
  left: -350px;
  width: 950px;
  height: 950px;
  background-color: #00A8DC;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.app_content {
  position: relative;
  z-index: 3;
  color: #fff;
}

.app_wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  z-index: 4;
}

.left_block {
  display: flex;
  position: relative;
  width: 45%; /* Или фиксированная ширина */
  z-index: 5;
  justify-content: left;
  align-items: left;
 }

.right_block {
  display: flex;
  width: 45%;
  justify-content: center;
  align-items: center;
  z-index: 6;
}

.app_form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 300px
}

.input_wrapper {
  position: relative;
  border-bottom: 1px solid white;
}

.input_wrapper i {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  color: #00A8DC;
  font-size: 16px;
}

.input_wrapper input {
  width: 100%;
  padding: 10px 10px 10px 30px;
  background: transparent;
  border: none;
  outline: none;
  color: white;
  font-size: 16px;
}

.input_wrapper input::placeholder {
  color: white;
  opacity: 0.8;
}

.app_form .btn {
  margin: 20px 0;
}

.app_contact_form {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.app_content {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.app_content p {
  position: relative;
  color: #fffdfd;
}

.app_content h2 {
  position: relative;
  color: #fffdfd;
  font-size: 26px;
  font-weight: 900;
  padding: 10px 0;
}

/* Портфолио работ */

.projects {
  padding: 5px;
  position: relative;
  z-index: 1000;
  background-color: white;
  /* height: 100vh; */
}

.poject_columns {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: center;
}

.projects_title {
  text-align: center;
  font-size: 26px;
    font-weight: 900;
    opacity: 0.8;
    margin: 70px;
}

.project_card_house {
  background-image: url(/images/4.jpg);
  width: 300px;
  height: 400px;
  border-radius: 50px;
  overflow: hidden;
  padding: 30px 40px;
  position: relative;
  flex: 1 1 calc(50% - 20px); /* 50% минус половина gap */
}

.project_card_factory {
  background-image: url(/images/1.jpg);
  width: 300px;
  height: 400px;
  border-radius: 50px;
  overflow: hidden;
  padding: 30px 40px;
  position: relative;
  flex: 1 1 calc(50% - 20px); /* 50% минус половина gap */
}

.project_card_office {
  background-image: url(/images/2.jpg);
  width: 300px;
  height: 400px;
  border-radius: 50px;
  overflow: hidden;
  padding: 30px 40px;
  position: relative;
  flex: 1 1 calc(50% - 20px); /* 50% минус половина gap */
}

.project_card_outside {
  background-image: url(/images/3.jpg);
  width: 300px;
  height: 400px;
  border-radius: 50px;
  overflow: hidden;
  padding: 30px 40px;
  position: relative;
  flex: 1 1 calc(50% - 20px); /* 50% минус половина gap */
}

.btn_card {
  display: flex;
  align-items: center;
  justify-content: center;

  padding: 13px 40px;

  width: 190px;
  
  font-weight: 400;
  font-size: 16px;
  color: white;

  cursor: pointer;
  position: absolute;
  bottom: 35px;
  right: 35px;

  background: #00a8dc;
  border-radius: 40px;

  box-shadow: 0px 10px 20px rgba(10, 133, 190, 0.2); /* Тень */

  transition: opacity 0.3s;
}

.btn_card:hover {
  opacity: 0.8;
  box-shadow: 0px 10px 30px rgba(4, 9, 79, 0.35); /* Тень при наведении */
}

/* Отзывы */

.reviews {
  padding: 5px;
  position: relative;
  z-index: 1000;
  background-color: #fbfbfb;
  height: 100vh;
}

.rev_title {
  text-align: center;
  font-size: 26px;
    font-weight: 900;
    opacity: 0.8;
    margin: 70px;
}