@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
*,
*::before,
*::after {
  padding: 0;
  margin: 0;
  border: 0;
  box-sizing: border-box;
}

:focus,
:active {
  outline: none;
}

a:focus,
a:active {
  outline: none;
}

a,
a:visited {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

ul,
ol,
li {
  padding: 0;
  margin: 0;
  list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
p {
  font-size: inherit;
  font-weight: inherit;
  padding: 0;
  margin: 0;
}

nav,
header,
main,
section,
aside,
footer {
  display: block;
}

[hidden] {
  display: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

input,
button,
textarea {
  font-family: inherit;
}

input::-ms-clear {
  display: none;
}

button {
  cursor: pointer;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

button:focus-visible {
  border: none;
  outline: none;
}

html,
body {
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  font-weight: 400;
  text-align: left;
  line-height: 22px;
  letter-spacing: 0.03em;
  width: 100%;
  min-width: 360px;
  margin: 0 auto;
  color: #000000;
  background: #C9C3B5;
  position: relative;
  outline: none;
  -webkit-text-size-adjust: none;
}

.container {
  max-width: 1200px;
  padding: 0 10px;
  margin: 0 auto;
}
@media screen and (max-width: 1199.98px) {
  .container {
    max-width: 1040px;
  }
}
@media screen and (max-width: 991.98px) {
  .container {
    max-width: 720px;
  }
}
@media screen and (max-width: 575.98px) {
  .container {
    max-width: 360px;
    padding: 0 10px;
  }
}

a:hover,
a:not(:hover),
button:hover,
button:not(:hover) {
  transition: all ease-out 0.4s;
}

input[type=text],
input[type=submit],
textarea {
  -webkit-appearance: none;
}

a,
label,
button,
div {
  -webkit-appearance: none;
  -webkit-tap-highlight-color: transparent;
}

input {
  background: none;
  box-shadow: none;
  outline: none;
}

.disabled {
  pointer-events: none;
  background: gray !important;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  box-shadow: 0 0 0 30px transparent inset !important;
  background-color: transparent !important;
  color: inherit !important;
  -webkit-transition: background-color 5000s;
  transition: background-color 5000s;
  -webkit-text-fill-color: #fff !important;
}

[data-fancybox=gallery] {
  position: relative;
}

[data-fancybox=gallery]:hover img {
  filter: brightness(0.7);
}

[data-fancybox=gallery]::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white"><path d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/></svg>') no-repeat center;
  opacity: 0;
  transition: opacity 0.3s;
}

[data-fancybox=gallery]:hover::after {
  opacity: 1;
}

.header {
  width: 100%;
  display: block;
  background: url("/img/bg_1.png") top center/cover no-repeat;
}
.header .container {
  width: 100%;
  padding-top: 30px;
  padding-bottom: 185px;
}
.header-info {
  margin-bottom: 135px;
}
.header-info__contacts {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 25px;
  font-weight: 500;
}
.header-info__contacts a {
  line-height: 1;
  color: #fff;
}
.header-info__contacts a:hover, .header-info__contacts a:focus {
  filter: brightness(0.9);
}
.header-hero__title {
  font-weight: 500;
  font-size: 100px;
  line-height: 102%;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  margin-bottom: 13px;
}
.header-hero__subtitle {
  font-weight: 400;
  font-size: 22px;
  line-height: 27px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  margin-bottom: 40px;
}
.header-hero__select {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}
.header-hero__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 280px;
  font-size: 20px;
  font-weight: 600;
  line-height: 150%;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-align: center;
  min-height: 70px;
  padding: 10px 15px;
  margin: 0;
  text-decoration: none;
  color: #ffffff;
  background: #355733;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  touch-action: manipulation;
  vertical-align: top;
  cursor: pointer;
  outline: none;
  border: none;
  border-radius: 15px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
}
.header-hero__btn:hover, .header-hero__btn:focus {
  filter: brightness(0.9);
}
.header-hero__btn_about {
  border: 1px solid #fff;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.2) 100%);
}
@media screen and (max-width: 991.98px) {
  .header-hero__title {
    font-size: 90px;
  }
}
@media screen and (max-width: 767.98px) {
  .header .container {
    padding-top: 20px;
    padding-bottom: 140px;
  }
  .header-info {
    margin-bottom: 105px;
  }
  .header-hero__title {
    font-size: 72px;
  }
  .header-hero__subtitle {
    font-size: 20px;
    margin-bottom: 35px;
  }
  .header-hero__subtitle br {
    display: none;
  }
  .header-hero__select {
    flex-direction: column;
    gap: 25px;
  }
}
@media screen and (max-width: 575.98px) {
  .header {
    height: 100svh;
    min-height: -webkit-fill-available;
    min-height: 100svh;
  }
  .header .container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding-top: 30px;
    padding-bottom: 50px;
  }
  .header-info {
    position: absolute;
    top: 30px;
    left: 50%;
    transform: translateX(-50%);
  }
  .header-info__contacts {
    gap: 5px;
    font-size: 16px;
  }
  .header-hero__title {
    font-size: 42px;
  }
  .header-hero__subtitle {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .header-hero__subtitle br {
    display: none;
  }
  .header-hero__btn {
    min-width: 215px;
    font-size: 18px;
    min-height: 62px;
  }
}

.about {
  width: 100%;
  display: block;
}
.about .container {
  width: 100%;
  padding-top: 53px;
  padding-bottom: 53px;
}
.about__title {
  font-weight: 400;
  line-height: 102%;
  font-size: 30px;
  margin-bottom: 24px;
}
.about__line {
  width: 100%;
  max-width: 352px;
  height: 1px;
  margin-bottom: 29px;
  background: #355733;
}
.about-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 30px;
}
.about__left .about__text {
  margin-bottom: 64px;
}
.about__right .about__list {
  margin-bottom: 26px;
  padding-left: 20px;
}
.about__right .about__list li {
  list-style-type: disc;
}
.about__right .about__text {
  margin-bottom: 20px;
}
.about__right *:last-child {
  margin-bottom: 0;
}
.about__plan {
  display: flex;
  gap: 30px;
}
.about__border {
  padding: 24px;
  border: 1px solid #355733;
  border-radius: 20px;
  margin-bottom: 32px;
}
.about__border .about__text {
  margin-bottom: 17px;
}
.about__border .about__list {
  margin-bottom: 0;
}
@media screen and (max-width: 1199.98px) {
  .about__plan {
    gap: 15px;
  }
  .about__plan {
    justify-content: center;
    margin-bottom: 40px;
  }
  .about__plan a:nth-child(2) {
    position: relative;
    top: 40px;
  }
}
@media screen and (max-width: 991.98px) {
  .about .container {
    padding-top: 45px;
  }
  .about-content {
    grid-template-columns: 1fr;
  }
  .about__title {
    font-size: 28px;
  }
  .about__line {
    margin-bottom: 25px;
  }
  .about__left .about__text {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 575.98px) {
  .about .container {
    padding-bottom: 30px;
  }
  .about__title {
    font-size: 26px;
    margin-bottom: 16px;
  }
  .about__line {
    margin-bottom: 20px;
  }
}

.our-principles {
  width: 100%;
  display: block;
}
.our-principles .container {
  width: 100%;
  padding-top: 53px;
  padding-bottom: 72px;
}
.our-principles__top {
  display: flex;
  gap: 20px;
  margin-bottom: 16px;
}
.our-principles__title {
  font-weight: 400;
  font-size: 30px;
}
.our-principles__line {
  width: 100%;
  max-width: 520px;
  height: 1px;
  background: #355733;
  align-self: flex-end;
  flex: 1;
}
.our-principles__text {
  margin-bottom: 48px;
}
.our-principles__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 30px;
  counter-reset: item-counter;
}
.our-principles__point {
  display: flex;
  align-items: center;
  min-height: 134px;
  padding: 34px 50px 34px 34px;
  box-shadow: 0 6px 10px 0 rgba(0, 0, 0, 0.3);
  background: linear-gradient(90deg, rgba(53, 87, 51, 0.2) 0%, rgba(53, 87, 51, 0.5) 100%);
  border-radius: 20px;
  position: relative;
  counter-increment: item-counter;
}
.our-principles__point::after {
  content: counter(item-counter, decimal-leading-zero);
  font-size: 30px;
  color: #c9c3b5;
  bottom: 16px;
  right: 16px;
  position: absolute;
}
@media screen and (max-width: 991.98px) {
  .our-principles .container {
    padding-top: 45px;
    padding-bottom: 53px;
  }
  .our-principles__title {
    font-size: 28px;
  }
  .our-principles__point br {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .our-principles__points {
    grid-template-columns: 1fr;
  }
  .our-principles__text {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 575.98px) {
  .our-principles__top {
    flex-direction: column;
  }
  .our-principles__line {
    flex: none;
  }
  .our-principles__text {
    margin-bottom: 35px;
  }
  .our-principles__title {
    font-size: 26px;
  }
}

.how-we-work {
  width: 100%;
  display: block;
  color: #ffffff;
  background: url("/img/bg_4.png") top center/cover no-repeat;
}
.how-we-work .container {
  width: 100%;
  padding-top: 53px;
  padding-bottom: 72px;
}
.how-we-work__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 50px;
}
.how-we-work__title {
  font-weight: 400;
  font-size: 30px;
  align-self: baseline;
}
.how-we-work__line {
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #FFFFFF 0%, #355733 100%);
  flex: 1;
}
.how-we-work__list {
  max-width: 580px;
  padding-left: 53px;
}
.how-we-work__list li {
  position: relative;
  margin-bottom: 30px;
}
.how-we-work__list li::after {
  content: "";
  width: 24px;
  height: 24px;
  position: absolute;
  left: -43px;
  top: 10px;
  border-radius: 6px;
  background: url("/img/accept.svg") center center no-repeat #355733;
}
.how-we-work__list li:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 991.98px) {
  .how-we-work .container {
    padding-bottom: 53px;
  }
  .how-we-work__title {
    font-size: 28px;
    align-self: center;
  }
}
@media screen and (max-width: 767.98px) {
  .how-we-work__top {
    flex-direction: column;
    margin-bottom: 35px;
  }
  .how-we-work__line {
    flex: none;
  }
}
@media screen and (max-width: 575.98px) {
  .how-we-work__title {
    font-size: 26px;
  }
  .how-we-work__list li br {
    display: none;
  }
}

.who-we-work-with {
  width: 100%;
  display: block;
}
.who-we-work-with .container {
  width: 100%;
  padding-top: 53px;
  padding-bottom: 74px;
}
.who-we-work-with__top {
  display: flex;
  gap: 20px;
  margin-bottom: 48px;
}
.who-we-work-with__title {
  font-weight: 400;
  font-size: 30px;
}
.who-we-work-with__line {
  width: 100%;
  max-width: 424px;
  height: 1px;
  background: #355733;
  align-self: flex-end;
  flex: 1;
}
.who-we-work-with__text {
  text-align: center;
}
.who-we-work-with__points {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-gap: 40px;
  margin-bottom: 48px;
}
.who-we-work-with__point {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 272px;
  padding: 40px 15px 35px 15px;
  border: 1px solid #355733;
  border-radius: 20px;
  position: relative;
  counter-increment: item-counter;
}
.who-we-work-with__point::after {
  content: counter(item-counter, decimal-leading-zero);
  font-size: 30px;
  color: #c9c3b5;
  bottom: 16px;
  right: 16px;
  position: absolute;
}
.who-we-work-with__point img {
  margin-bottom: 27px;
}
.who-we-work-with__point p {
  text-align: center;
}
@media screen and (max-width: 991.98px) {
  .who-we-work-with .container {
    padding-bottom: 60px;
  }
  .who-we-work-with__title {
    font-size: 28px;
  }
  .who-we-work-with__top {
    margin-bottom: 40px;
  }
  .who-we-work-with__points {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767.98px) {
  .who-we-work-with__text br {
    display: none;
  }
}
@media screen and (max-width: 575.98px) {
  .who-we-work-with .container {
    padding-bottom: 45px;
  }
  .who-we-work-with__top {
    flex-direction: column;
    margin-bottom: 35px;
  }
  .who-we-work-with__line {
    flex: none;
  }
  .who-we-work-with__title {
    font-size: 26px;
  }
  .who-we-work-with__points {
    grid-template-columns: 1fr;
    gap: 30px;
    margin-bottom: 35px;
  }
  .who-we-work-with__point {
    min-height: auto;
    padding: 35px 15px 35px 15px;
  }
  .who-we-work-with__point img {
    max-width: 70px;
    margin-bottom: 20px;
  }
}

.stages {
  width: 100%;
  display: block;
}
.stages .container {
  width: 100%;
  padding-top: 53px;
  padding-bottom: 53px;
}
.stages__title {
  font-weight: 400;
  line-height: 102%;
  font-size: 30px;
  margin-bottom: 16px;
}
.stages__line {
  width: 100%;
  max-width: 520px;
  height: 1px;
  margin-bottom: 24px;
  background: #355733;
}
.stages__text {
  margin-bottom: 34px;
}
.stages__points {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-gap: 50px;
}
.stages__point {
  display: flex;
  align-items: center;
  position: relative;
  gap: 14px;
}
.stages__point h3 {
  font-size: 22px;
  font-weight: 600;
  margin-bottom: 8px;
}
.stages-point__number {
  text-align: center;
  min-width: 52px;
  font-size: 40px;
  font-weight: 600;
  color: #355733;
}
@media screen and (max-width: 991.98px) {
  .stages .container {
    padding-top: 45px;
  }
  .stages__title {
    font-size: 28px;
  }
  .stages__points {
    gap: 30px;
  }
}
@media screen and (max-width: 767.98px) {
  .stages__points {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 575.98px) {
  .stages .container {
    padding-top: 30px;
  }
  .stages__title {
    font-size: 26px;
  }
  .stages__text {
    margin-bottom: 30px;
  }
  .stages__point h3 {
    font-size: 20px;
  }
  .stages-point__number {
    min-width: 48px;
    font-size: 36px;
  }
}

.footer {
  background: #283323;
}
.footer .container {
  padding-top: 53px;
  padding-bottom: 90px;
}
.footer__title {
  font-weight: 400;
  line-height: 102%;
  font-size: 30px;
  color: #ffffff;
  margin-bottom: 24px;
}
.footer__line {
  width: 100%;
  background: #c9c3b5;
  height: 1px;
  margin-bottom: 33px;
}
.footer__contacts {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  font-weight: 500;
}
.footer__contacts a {
  line-height: 1;
  color: #fff;
}
.footer__contacts a:hover, .footer__contacts a:focus {
  filter: brightness(0.9);
}
@media screen and (max-width: 991.98px) {
  .footer .container {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  .footer__title {
    font-size: 28px;
  }
}
@media screen and (max-width: 575.98px) {
  .footer__title {
    font-size: 26px;
  }
  .footer__contacts {
    gap: 5px;
    font-size: 16px;
  }
  .footer__line {
    margin-bottom: 24px;
  }
}/*# sourceMappingURL=style.css.map */