.site-logo-wrapper {
  position: absolute;
  top: 27px;
  left: 51px;
  z-index: 99;
  @media only screen and (max-width: 768px) {
    left: 40px;
  }
  @media only screen and (max-width: 576px) {
    left: 20px;
  }
}
.site-logo {
  width: clamp(100px, 30%, 150px);
}

.header {
  position: relative;
  width: 100%;
  height: 100vh;
  max-height: 905px;
  background-image: url(../images/hero-background.jpeg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: calc(var(--menu-width) * -1);
  @media only screen and (max-width: 991px) {
    background-position: center;
  }

  /* &::after {
    position: absolute;
    content: "";
    left: 0px;
    top: 0px;
    right: 0px;
    bottom: 0px;
    background: linear-gradient(
      180deg,
      rgb(244 244 244 / 75%) 19%,
      rgba(255, 255, 255, 0) 100%
    );
  } */

  .hero-video {
    position: absolute;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;

    video {
      height: 100%;
      width: 100%;
      object-fit: cover;
    }
  }
}

.hero-section {
  position: relative;
  z-index: 2;
  height: 100%;
  max-height: 905px;

  padding: 79px 167px 94px 54px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;

  @media only screen and (max-width: 1440px) {
    max-width: 100%;
  }

  @media only screen and (max-width: 991px) {
    padding-right: 54px;
  }

  @media only screen and (max-width: 576px) {
    padding: 54px 20px;
  }
}

.title {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 600;
  font-size: 64px;
  line-height: 120px;
  color: var(--primary-color);
  margin-bottom: 4px;
  /* text-shadow: 6px 3px 12px rgba(255, 255, 255, 0.6); */

  @media only screen and (max-width: 1140px) {
    font-size: 48px;
  }
}
.subtitle {
  font-family: "Outfit";
  font-style: normal;
  font-weight: 500;
  font-size: 32px;
  line-height: 150%;
  color: #111111;
  margin: 0px;
  /* text-shadow: 6px 3px 12px rgba(255, 255, 255, 0.6); */

  @media only screen and (max-width: 1140px) {
    font-size: 30px;
  }
}

.why-choose-us-post {
  background-color: var(--white_a700);
  display: flex;
  flex-direction: column;
}

.why-choose-us-row {
  display: flex;
  align-items: flex-start;
  @media only screen and (max-width: 991px) {
    flex-direction: column;
    margin-left: 0px;
  }
}

.why-choose-us-column {
  margin-top: 54px;
  gap: var(--space-3xl);
  display: flex;
  width: 44%;
  padding-left: 58px;

  flex-direction: column;
  align-items: flex-start;

  @media only screen and (max-width: 991px) {
    width: 100%;
    margin-top: 0px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.whychooseus__title {
  color: var(--black) !important;
  margin-top: 0px;
  margin-bottom: 0px;
  font-family: Outfit;
  font-size: 64px;
  font-weight: 600;
  line-height: 80.64px;

  @media only screen and (max-width: 1200px) {
    font-size: 56px;
    line-height: 90px;
  }

  @media only screen and (max-width: 991px) {
    font-size: 46px;
    line-height: 78px;
  }
}

.whychooseus__description {
  color: var(--color-light-grey) !important;
  font-weight: 300 !important;
  font-family: Outfit;
  font-size: 32px;
  line-height: 48px;
  width: 100%;

  @media only screen and (max-width: 1200px) {
    font-size: 24px;
    line-height: 38px;
  }

  @media only screen and (max-width: 991px) {
    font-size: 18px;
    line-height: 28px;
  }
}

.why-choose-us-post-wrapper,
.whychooseus__title,
.whychooseus__description {
  transition: all ease-in-out 0.3s;
}

.whychooseus__image-row {
  align-self: center;
  flex: 1;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  @media only screen and (max-width: 991px) {
    width: 100%;
    justify-content: flex-end;
  }
}

.whychooseus__view {
  height: 80%;
  background: linear-gradient(148deg, #535353, #000000);
  width: 100%;
  max-width: 405px;
  position: absolute;
  top: 0px;
  left: -38%;

  @media only screen and (max-width: 991px) {
    left: 0%;
  }
  @media only screen and (max-width: 768px) {
    left: -5%;
  }
}

.whychooseus__image-wrapper {
  width: 64.4%;
  @media only screen and (max-width: 991px) {
    width: 90%;
  }
}

.whychooseus__image {
  /* height: 610px; */
  max-height: 610px;
  /* margin-left: -216px; */
  align-self: center;
  position: relative;
  width: 100%;
  object-fit: contain;
  float: right;
  @media only screen and (max-width: 991px) {
    width: 100%;
    margin-left: 0px;
  }
}

.whychooseus__motto-wrapper {
  margin-top: 28px;
  margin-right: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;

  @media only screen and (max-width: 1050px) {
    flex-direction: column;
    margin-right: 0px;
  }
}

.whychooseus__motto {
  color: var(--gray_900) !important;
  font-weight: 500 !important;
  align-self: flex-end;
  margin: 0px;
  font-family: Outfit;
  font-size: 32px;
  line-height: 80px;
  width: 100%;
  text-align: right;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);

  @media only screen and (max-width: 1050px) {
    padding-left: 20px;
    padding-right: 20px;
  }

  @media only screen and (max-width: 1200px) {
    font-size: 24px;
  }
}

.matti-homes-wrapper-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;

  @media only screen and (max-width: 1050px) {
    flex-direction: column;
    margin-right: 0px;
  }
}

.divider-1 {
  height: 6px;
  width: 34%;
  background: var(--black);
  /* @media only screen and (max-width: 1050px) {
    width: 100%;
  } */
}
.divider-2 {
  height: 6px;

  width: 44%;
  background: var(--black);
  /* @media only screen and (max-width: 1050px) {
    width: 100%;
  } */
}

.divider-3 {
  height: 6px;
  margin-bottom: 42px;
  width: 54%;
  background: var(--black);
}

.matti-homes-row {
  gap: var(--space-7xl);
  row-gap: 0px;
  align-self: center;
  flex: 1;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: 100%;
  transform: translateX(0);
  transition: transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1);

  @media only screen and (max-width: 1050px) {
    align-self: stretch;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.whychooseus__brand-name,
.whychooseus__brand-extension {
  font-family: Outfit;
  font-size: 64px;
  font-weight: 600;
  line-height: 80.64px;
  letter-spacing: 0.26em;
  margin: 0px;

  @media only screen and (max-width: 1200px) {
    font-size: 56px;
  }

  @media only screen and (max-width: 991px) {
    font-size: 46px;
  }
}

.whychooseus__brand-name {
  color: var(--primary-color) !important;
  transition: color 0.5s ease-in-out;
}

.whychooseus__brand-extension {
  color: var(--color-black) !important;
}

.points-section {
  padding: 120px 40px;
  opacity: 0;

  .container {
    max-width: 1175.98px;
    padding: 0px;

    .row {
      flex-wrap: wrap;
    }
  }

  .points-section-row {
    display: flex;
    justify-content: center;
    column-gap: 20px;
    row-gap: 64px;
    max-width: 1175.98px;
    margin-inline: auto;
    flex-wrap: wrap;

    @media only screen and (max-width: 831px) {
      row-gap: 0px;
    }
    @media only screen and (max-width: 576px) {
      flex-direction: column;
      align-items: center;
    }
  }

  .point-card {
    flex: 1;
    width: 378.66px;
    max-width: 378.66px;
    --border-box-size: 32px; /* Size for decorative border box */

    background: #ffffff;
    border: 1px solid #707070;
    padding: 32px 32px 52px 32px;
    position: relative;
    border-collapse: collapse;

    @media only screen and (max-width: 768px) {
      width: 100%;
      --border-box-size: 24px;
    }

    .icon {
      width: 64px;
      height: 64px;
      border-radius: 12px;
      opacity: 0px;
      border: 1px solid #f4c034;
      display: flex;
      align-items: center;
      justify-content: center;
      img {
        width: 42px;
        height: 42px;
      }
    }

    .point-wrapper {
      display: flex;
      flex-direction: row;
      align-items: center;
      padding: 0px;

      width: 320.95px;
      /* height: 162px; */
      margin-inline: -10.66px;
    }

    .point {
      flex-shrink: 0;
      font-family: Nunito;
      font-size: 107.9px;
      font-weight: 600;
      line-height: 161.84px;
      letter-spacing: -0.01em;
      color: #5b5b5b;
      margin-top: 16.68px;
      margin-bottom: -15px;

      @media only screen and (max-width: 1200px) {
        font-size: 84px;
      }

      @media only screen and (max-width: 992px) {
        font-size: 64px;
        line-height: 100.84px;
      }

      @media only screen and (max-width: 768px) {
        font-size: 48px;
        line-height: 80px;
      }

      @media only screen and (max-width: 576px) {
        font-size: 48px;
      }
    }

    .point-description {
      margin: 0px;

      font-family: Outfit;
      font-size: 26px;
      font-weight: 400;
      line-height: 39px;

      color: #4c4c4c;
    }

    /* Card Decorative start here */

    .card-border {
      width: var(--border-box-size);
      height: var(--border-box-size);
      background: transparent;
      position: absolute;
      &::after {
        content: "";
        width: 3px;
        height: 3px;
        background: #4c4c4c;
        box-shadow: 100% 0% 0% #4c4c4c;
      }
    }

    .card-border-top-left {
      top: calc(-1 * var(--border-box-size));
      left: calc(-1 * var(--border-box-size));
      border-right: 1px solid #707070;
      border-bottom: 1px solid #707070;
      &::after {
        position: absolute;
        bottom: -2px;
        right: -2px;
      }
    }

    .card-border-bottom-left {
      bottom: calc(-1 * var(--border-box-size));
      left: calc(-1 * var(--border-box-size));
      border-right: 1px solid #707070;
      border-top: 1px solid #707070;
      &::after {
        position: absolute;
        top: -2px;
        right: -2px;
      }
    }

    .card-border-top-right {
      top: calc(-1 * var(--border-box-size));
      right: calc(-1 * var(--border-box-size));
      border-left: 1px solid #707070;
      border-bottom: 1px solid #707070;
      &::after {
        position: absolute;
        bottom: -2px;
        left: -2px;
      }
    }

    .card-border-bottom-right {
      bottom: calc(-1 * var(--border-box-size));
      right: calc(-1 * var(--border-box-size));
      border-left: 1px solid #707070;
      border-top: 1px solid #707070;
      &::after {
        position: absolute;
        top: -2px;
        left: -2px;
      }
    }
    /* Card Decorative end here */
  }
}

/* What makes Us Stand Out */
.what-makes-us-stand-out {
  background: #202020;
  position: relative;
  &::after {
    content: "";
    position: absolute;

    bottom: 0px;
    left: 0px;

    width: 100%;
    height: 347px;
    background: #393939;
  }
  .featured-img {
    width: 100%;
    height: 587px;
    object-fit: cover;
    object-position: center;
    opacity: 0;
    animation: fadeIn 2s linear forwards;
    animation-timeline: view();
    animation-range: 300px 800px;
    @media only screen and (max-width: 768px) {
      height: 420px;
    }
    @media only screen and (max-width: 576px) {
      height: 320px;
    }
  }

  .details {
    padding: 83.91px 56px 117px 56px;
    position: relative;
    z-index: 2;
    @media only screen and (max-width: 1440px) {
      max-width: 100%;
    }
    @media only screen and (max-width: 768px) {
      padding: 60px 40px;
    }

    .title-wrapper {
      p,
      h2 {
        font-family: Outfit;
      }

      p {
        font-size: 24px;
        font-weight: 400;
        line-height: 36px;
        margin: 0;
        width: 50%;
        max-width: 615px;
        color: var(--color-dim-light);
      }

      h2 {
        font-size: 48px;
        font-weight: 500;
        line-height: 72px;
        color: var(--secondary-color);
        text-align: end;
        margin-bottom: 0px;
      }

      @media only screen and (max-width: 768px) {
        p {
          font-size: 18px;
          line-height: 28px;
        }
        h2 {
          font-size: 40px;
          line-height: 62px;
        }
      }
      @media only screen and (max-width: 576px) {
        flex-direction: column;
        row-gap: 10px;
        p {
          width: 100%;
          font-size: 16px;
          line-height: 24px;
          text-align: center;
        }
        h2 {
          font-size: 32px;
          line-height: 42px;
          order: -1;
          text-align: center;
        }
      }
    }

    .posts {
      margin-top: 83px;
    }

    .post-card {
      width: 100%;
      height: 425px;
      border-radius: 12px;
      overflow: hidden;
      position: relative;

      @media only screen and (max-width: 576px) {
        height: 320px;
      }

      .post-featured-img {
        width: 100%;
        height: 100%;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
        }
      }

      &:hover {
        .post-detail {
          height: 100%;

          h2 {
            color: var(--color-black);
            animation: postSlideUp 1.8s ease-in forwards;
          }

          .description {
            transition: opacity 1.3s ease-in;
            opacity: 1;
          }
        }
      }

      .post-detail {
        position: absolute;

        left: 0px;
        right: 0px;
        bottom: 0px;
        height: 84.67px;
        padding: 16px 29px;
        display: flex;
        align-items: start;
        justify-content: center;
        flex-direction: column;
        row-gap: 32px;

        background: var(--primary-color);
        transition: height 1.3s cubic-bezier(0.175, 0.2, 0.32, 1.2);

        h2 {
          font-family: Outfit;
          font-size: 28px;
          font-weight: 500;
          line-height: 26.28px;
          margin: 0px;
          color: var(--light-color);
          height: 100%;
          position: absolute;
          top: 30px;
          transition: color 1s ease-in-out;
        }

        .description {
          font-family: Outfit;
          font-size: 20px;
          font-weight: 400;
          line-height: 32px;
          color: var(--light-color);
          transition: opacity 0.7s ease-in-out;
          opacity: 0;
          padding-top: 25px;

          overflow: hidden;
          text-overflow: ellipsis;
          /* display: -webkit-box; */
          -webkit-line-clamp: 8; /* number of lines to show */
          line-clamp: 8;
          -webkit-box-orient: vertical;
        }

        @media only screen and (max-width: 768px) {
          h2 {
            font-size: 24px;
          }
          .description {
            font-size: 18px;
            line-height: 28px;
          }
        }
        @media only screen and (max-width: 576px) {
          .description {
            font-size: 16px;
            line-height: 24px;
          }
        }
      }
    }
  }
}
.posts-row {
  --bs-gutter-y: 38px !important;
  --bs-gutter-x: 38px !important;
}

.project-section {
  margin-top: 120px;
  padding: 109px 40px 86px 54px;
  background: var(--light-color);

  @media only screen and (max-width: 1200px) {
    margin-top: 0px;
  }

  @media only screen and (max-width: 768px) {
    padding-top: 60px;
    padding-inline: 40px;
  }

  @media only screen and (max-width: 668px) {
    padding-inline: 20px;
  }
}
.project-section .container {
  @media only screen and (max-width: 1440px) {
    max-width: 100%;
    padding-inline: 12px;
  }
}

.projects-row {
  --bs-gutter-x: 102.65px;
  @media only screen and (max-width: 1200px) {
    --bs-gutter-x: 40px;
    flex-direction: column;

    .first-col,
    .second-col {
      width: 100%;
    }

    .second-col {
      order: -1;
    }
  }
}
.projects-wrapper {
  display: flex;
  column-gap: 38.59px;
  row-gap: 36.87px;
  margin-top: 107px;

  .first-row,
  .second-row {
    display: flex;
    flex-direction: column;
    row-gap: 36.87px;
  }

  .first-row {
    position: relative;
    z-index: 1;

    /* &::after {
      content: "";
      position: absolute;

      bottom: 0px;
      left: 120px;
      height: 296.92px;
      width: 1px;
      background: #d6a663;
      z-index: -1;
    } */
  }

  .second-row {
    margin-top: 214px;
  }

  @media only screen and (max-width: 668px) {
    flex-direction: column;

    .second-row {
      margin-top: 0px;
    }
  }
}

.project-card {
  max-width: 390px;
  width: 100%;
  height: 492px;
  position: relative;
  overflow: hidden;
  transition: clip-path 0.3s ease-in-out, background 0.3s ease-in-out;
  clip-path: polygon(70px 0, 100% 0, 100% 100%, 0 100%, 0 70px);

  /* Hover animations */
  &:hover {
    clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%, 0 40px);
    background: var(--primary-color);

    .featued-img-wrapper {
      width: 90%;
      height: 90%;
    }

    .details {
      top: 0;
      bottom: auto;
      right: 10%;
      background: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.5) 100%);
      --webkit-backdrop-filter: blur(5px);
      backdrop-filter: blur(5px);
      .inner-content {
        display: block;
      }
    }

    .detail-icon {
      background: #212121;
      border: 5px solid var(--primary-color);
      transform: translate(-260px, 10px);

      img {
        content: url("../icons/red-detail-arrow.svg");
      }
    }

    @media only screen and (max-width: 768px) {
      clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%, 0 40px);
    }
  }

  @media only screen and (max-width: 768px) {
    height: 390px;
  }

  .featued-img-wrapper {
    width: 100%;
    height: 100%;
    border-radius: 0px 0px 32px 32px;
    overflow: clip;
    transition: all 0.55s cubic-bezier(0.34, 0.8, 0.64, 1.1);

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
  }

  &:not(:hover) {
    .details {
      padding-right: 90px;
    }
  }

  .details {
    position: absolute;
    top: calc(100% - 130px);
    bottom: 0;
    left: 0px;
    right: 0px;
    padding: 29.17px 21.45px 26.45px 27.67px;
    height: auto;
    background: rgba(0, 0, 0, 0.4);
    -webkit-backdrop-filter: blur(3.73958px);
    backdrop-filter: blur(3.73958px);
    transition: all 0.55s cubic-bezier(0.34, 0.8, 0.64, 1.1);

    .inner-content {
      display: none;
      margin-top: 20px;
    }

    h4 {
      font-family: "Outfit";
      font-style: normal;
      font-weight: 400;
      font-size: 32px;
      line-height: 38px;
      letter-spacing: -0.04em;
      margin-bottom: 0px;
      color: #ffffff;
      display: -webkit-box;
      -webkit-line-clamp: 2;
      -webkit-box-orient: vertical;
      overflow: hidden;
      min-height: 76px; /* 2 lines */
    }

    h6 {
      font-family: "Outfit";
      font-style: normal;
      font-weight: 600;
      font-size: 14.9583px;
      line-height: 120.8%;
      letter-spacing: 0.2em;
      margin-bottom: 11.17px;
      color: #ffffff;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    p {
      font-family: "Outfit";
      font-style: normal;
      font-weight: 600;
      font-size: 13.1173px;
      line-height: 17px;
      margin: 0px;
      color: #ffffff;
      display: -webkit-box;
      -webkit-line-clamp: 1;
      -webkit-box-orient: vertical;
      overflow: hidden;
    }

    @media only screen and (max-width: 768px) {
      padding: 16.17px 10.45px 16.45px 16.67px;
      bottom: --63.8px;

      h4 {
        font-size: 18px;
      }
      .inner-content {
        margin-top: 15px;
      }
    }
  }

  /* Details Icon */
  .detail-icon {
    box-sizing: content-box;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 62.96px;
    height: 62.96px;
    border-radius: 39.3491px;
    right: 21.04px;
    bottom: 28.04px;
    border: 2px solid #ffffff;
    transition: all 0.55s cubic-bezier(0.34, 0.8, 0.64, 1.1);

    transform: translateX(0); /* Initial position */
  }
}

/* Project details start from here */
.project-details {
  position: relative;
  height: 100%;
  .headings {
    margin-left: -374px;

    .title {
      font-family: Outfit;
      font-size: 64px;
      font-weight: 500;
      line-height: 96px;
      color: var(--color-dark-grey);
      margin-bottom: 8px;
      span {
        color: var(--primary-color);
      }
    }

    .subtitle {
      font-family: Outfit;
      font-size: 32px;
      font-weight: 500;
      line-height: 42px;
      color: var(--color-neutral-gray);
      margin: 0px;
    }

    @media only screen and (max-width: 1200px) {
      margin-left: 0px;

      .title {
        font-size: 42px;
        line-height: 71px;
      }

      .subtitle {
        font-size: 28px;
        line-height: 34px;
      }
    }

    @media only screen and (max-width: 768px) {
      margin-left: 0px;

      .title {
        font-size: 32px;
        line-height: 42px;
      }

      .subtitle {
        font-size: 24px;
        line-height: 32px;
      }
    }
  }

  .divider {
    width: 172.02px;
    height: 1px;
    background: #d6a663;
    margin-top: 103.55px;
    margin-bottom: 73.29px;

    @media only screen and (max-width: 1200px) {
      margin-top: 60px;
      margin-bottom: 40px;
    }

    @media only screen and (max-width: 768px) {
      margin-top: 40px;
      margin-bottom: 20px;
    }
  }
  .description {
    font-family: Outfit;
    font-size: 24px;
    font-weight: 400;
    line-height: 36px;
    color: var(--color-dim-gray);

    margin-bottom: 24.95px;

    @media only screen and (max-width: 1200px) {
      font-size: 18px;
      line-height: 28px;
    }

    @media only screen and (max-width: 768px) {
      font-size: 16px;
      line-height: 24px;
    }
  }

  .explore-btn {
    position: absolute;
    width: 223px;
    height: 48px;

    border: 3px solid #ec1e24;
    border-radius: 48px;

    font-family: Nunito;
    font-size: 24px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -0.01em;

    color: var(--primary-color);

    background: var(--light-color);

    transition-property: background border-color;
    transition: ease-in-out 0.3s;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;

    &:hover {
      background: var(--color-black);
      border-color: var(--color-black);
    }
  }
  /* Decorative three lines */
  .three-lines {
    position: absolute;
    bottom: 250px;
    left: 0%;
    width: 100%;
    max-width: 443.45px;

    @media only screen and (max-width: 1200px) {
      bottom: -80%;
      right: 0%;
      left: unset;
      width: 33vw;
      max-width: 300px;
    }

    @media only screen and (max-width: 668px) {
      bottom: -30%;
      width: 33vw;
      max-width: 250px;
    }
    @media only screen and (max-width: 480px) {
      display: none;
    }
  }
}
/* Project details end from here */

/* Partner section start from here */
.partner-section {
  z-index: 3;

  @media only screen and (max-width: 1440px) {
    .container {
      max-width: 100%;
      padding: 0px;
    }
  }

  padding: 94px 54px 110px 54px;
  background: var(--gray_900);
  position: relative;

  &::after {
    content: "";
    position: absolute;
    left: 0px;
    bottom: 0px;
    height: 452px;
    width: 100%;
    background: var(--light-color);
    z-index: 1;
  }

  @media only screen and (max-width: 768px) {
    padding: 60px 40px;
    padding-bottom: 110px;

    &::after {
      height: 350px;
    }
  }
  @media only screen and (max-width: 576px) {
    padding-inline: 20px;

    &::after {
      height: 350px;
    }
  }

  .partner__details {
    width: 70%;
    display: flex;
    flex-direction: column;
    row-gap: 38px;

    position: relative;
    z-index: 2;

    @media only screen and (max-width: 768px) {
      width: 100%;
    }

    .partner__title {
      font-family: Outfit;
      font-size: 48px;
      font-weight: 500;
      line-height: 72px;
      color: var(--secondary-color);
      margin: 0px;
    }

    .partner__subtitle {
      font-family: Outfit;
      font-size: 64px;
      font-weight: 500;
      line-height: 76.8px;
      color: var(--light-color);
      margin: 0px;
    }

    .partner__description {
      font-family: Outfit;
      font-size: 24px;
      font-weight: 500;
      line-height: 36px;
      color: var(--color-dim-light);
      margin: 0px;
    }

    .get-in-touch-btn {
      width: 223px;
      height: 48px;

      border: 3px solid #ec1e24;
      border-radius: 48px;

      font-family: Nunito;
      font-size: 24px;
      font-weight: 700;
      line-height: 24px;
      letter-spacing: -0.01em;

      color: var(--primary-color);

      background: var(--gray_900);

      transition-property: background border-color;
      transition: ease-in-out 0.3s;

      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 9px;
      padding: 0 10px 0 20px;

      &:hover {
        background: var(--light-color);
        border-color: var(--light-color);
      }
    }

    @media only screen and (max-width: 1024px) {
      gap: 25px;
      .partner__title {
        font-size: 42px;
        line-height: normal;
      }
      .partner__subtitle {
        font-size: 52px;
        line-height: normal;
      }
      .partner__description {
        font-size: 18px;
        line-height: 24px;
      }
    }
    @media only screen and (max-width: 576px) {
      gap: 20px;
      .partner__title {
        font-size: 32px;
      }
      .partner__subtitle {
        font-size: 42px;
      }
      .partner__description {
        font-size: 16px;
        line-height: 24px;
      }
    }
  }

  .partner-featured-img-wrapper {
    z-index: 2;
  }

  .partner-featured-img {
    width: 60%;

    position: relative;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      position: relative;
      z-index: 2;
    }

    .three-lines {
      position: absolute;
      z-index: -1;
      bottom: 0px;
      left: -93px;
      width: 53%;
      height: unset;
      transform: translateX(calc(-100%));
    }

    .white-vertical-three-lines {
      position: absolute;
      z-index: -1;
      top: 50px;
      right: 58px;
      width: unset;

      height: 53%;
      transform: translateY(calc(-100%));
      max-height: 403.17px;
    }

    @media only screen and (max-width: 768px) {
      width: 100%;
      margin-top: 80px;

      .white-vertical-three-lines {
        max-height: 100px;
        width: 60px;
      }

      .three-lines {
        width: 38vw;
        height: unset;
        bottom: -66px;
        left: 227px;
      }
    }
  }
}
/* Partner section end from here */

/* Properties Section Start from here  */
.properties-section {
  background: linear-gradient(148.4deg, #545454 -4.16%, var(--black) 100%);
  padding: 91px 49px 69px 59px;
  position: relative;

  .container {
    position: relative;
    z-index: 2;
  }

  &::after {
    content: "";
    position: absolute;

    bottom: 0px;
    left: 0px;
    width: 100%;
    height: 139px;
    background: var(--light-color);
  }

  @media only screen and (max-width: 1440px) {
    .container {
      max-width: 100%;
      padding: 0px;
    }
  }

  @media only screen and (max-width: 768px) {
    padding: 60px 40px;
  }

  @media only screen and (max-width: 576px) {
    padding: 60px 20px;
  }

  .title {
    font-family: Outfit;
    font-size: 64px;
    font-weight: 500;
    line-height: 80.64px;
    color: var(--light-color);
    margin-bottom: 0px;

    @media only screen and (max-width: 991px) {
      font-size: 52px;
    }

    @media only screen and (max-width: 768px) {
      font-size: 42px;
      line-height: 70px;
    }

    @media only screen and (max-width: 576px) {
      font-size: 32px;
      line-height: 42px;
    }
  }
}

.properties-row {
  display: flex;
  gap: 89px;
  margin-top: 75px;

  .first-col {
    width: 40%;
  }

  .second-col {
    width: 64.6%;
  }

  @media only screen and (max-width: 1200px) {
    gap: 40px;
  }
  @media only screen and (max-width: 1140px) {
    flex-direction: column;
    row-gap: 140px;
    margin-top: 40px;

    .first-col,
    .second-col {
      width: 100%;
    }
  }
}

.accordion {
  --bs-accordion-color: var(--color-grey-light-alt) !important;
  --bs-accordion-btn-color: var(--color-light-grey) !important;
  --bs-accordion-bg: transparent !important;
  --bs-accordion-border-width: 0px !important;
  --bs-accordion-btn-padding-x: 0px !important;
  --bs-accordion-btn-padding-y: 0px !important;
  --bs-accordion-btn-icon: url("../icons/plus-icon.svg") !important;
  --bs-accordion-btn-icon-width: 32px !important;
  --bs-accordion-btn-icon-transform: rotate(0px) !important;
  --bs-accordion-btn-active-icon: url("../icons/minus-icon.svg") !important ;
  --bs-accordion-btn-focus-border-color: transparent !important;
  --bs-accordion-btn-focus-box-shadow: none !important;
  --bs-accordion-body-padding-x: 0px !important;
  --bs-accordion-body-padding-y: 0px !important;
  --bs-accordion-active-color: var(--primary-color) !important;
  --bs-accordion-active-bg: transparent !important;

  margin-top: 120px;
  margin-left: 20px;

  @media only screen and (max-width: 1140px) {
    margin-top: 0px;
  }

  @media only screen and (max-width: 576px) {
    margin-left: 10px;
  }

  .accordion-item:not(:last-child) {
    margin-bottom: 80px;
  }

  .accordion-button {
    font-family: Outfit;
    font-size: 28px;
    font-weight: 500;
    line-height: 42px;
  }

  .accordion-button:not(.collapsed)::after {
    background-image: url("../icons/minus-icon.svg");
  }

  .accordion-button::after {
    background-image: url("../icons/plus-icon.svg");
  }

  .accordion-body {
    font-family: Outfit;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;

    padding-top: 20px;
  }

  @media only screen and (max-width: 768px) {
    .accordion-button {
      font-size: 24px;
      line-height: 28px;
    }

    .accordion-item:not(:last-child) {
      margin-bottom: 40px;
    }
  }
}

.properties-container {
  width: 100%;
  height: 760px;
  box-shadow: 0px 5.35px 26.74px 0px #000000;

  position: relative;
  z-index: 2;

  @media only screen and (max-width: 576px) {
    width: 100%;
    height: unset;
    aspect-ratio: 1 /1;
  }

  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: relative;
    z-index: 2;
  }

  .three-lines {
    position: absolute;
    right: 25.3px;

    width: unset;
    height: 508.74px;
    top: -251px;
    z-index: 1;

    @media only screen and (max-width: 1140px) {
      height: unset;
      width: 60px;
      top: -80px;
    }
  }
}
/* Properties Section end from here  */

/* Client testimonials start from here */
.client-testimonials-section {
  background: linear-gradient(148.4deg, #545454 -4.16%, var(--black) 100%);
  padding: 41px 54px 20px 54px;
  position: relative;

  @media only screen and (max-width: 768px) {
    padding: 41px 40px;
    padding-bottom: 20px;
  }
  @media only screen and (max-width: 576px) {
    padding-inline: 20px;
    padding-bottom: 20px;
  }

  .headings {
    display: flex;
    /* align-items: center; */
    justify-content: space-between;

    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-dim-gray);

    p {
      flex: 1;
      font-family: Outfit;
      font-size: 24px;
      font-weight: 400;
      line-height: 36px;
      color: var(--light-color);
      margin: 0px;
    }

    h2 {
      flex: 1;
      font-family: Outfit;
      font-size: 48px;
      font-weight: 500;
      line-height: 72px;
      text-align: end;
      color: var(--secondary-color);
      margin: 0px;
    }

    @media only screen and (max-width: 768px) {
      p {
        font-size: 18px;
        line-height: 28px;
      }
      h2 {
        font-size: 40px;
        line-height: 62px;
      }
    }
    @media only screen and (max-width: 576px) {
      flex-direction: column;
      row-gap: 10px;
      p {
        width: 100%;
        font-size: 16px;
        line-height: 24px;
        text-align: center;
      }
      h2 {
        font-size: 32px;
        line-height: 42px;
        order: -1;
        text-align: center;
      }
    }
  }

  .testimonials-wrapper {
    display: flex;
    align-items: center;
    margin-top: 90.23px;
    position: relative;

    .testimonial-card {
      flex: 1;
      position: relative;
      transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
      user-select: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      z-index: 10; /* High z-index to stay above animated images */

      &.active {
        background: #2e2e2e;
        box-shadow: 0px 4px 4px 0px #00000040;
        padding-bottom: 57px;
        padding-inline: 54px;
        margin-inline: -54px;
        z-index: 11; /* Active card stays on top */
        border-radius: 12px;

        .testimonial-img-wrapper {
          height: 472px !important;
          position: relative;
          z-index: 1; /* Lower z-index for images */
        }

        .testimonial-content {
          margin-top: -46px;
          transition: opacity 0.3s ease-in-out;
        }
      }

      .testimonial-img-wrapper {
        width: 100%;
        border-radius: 12px;
        overflow: clip;
        height: 581px;

        img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          object-position: center;
          transition: opacity 0.3s ease-in-out;
        }
      }

      .testimonial-details {
        padding: 10px 21px 0px 21px;
        display: flex;
        flex-direction: column;
        gap: 17.56px;
        .title {
          font-family: Outfit;
          font-size: 40px;
          font-weight: 600;
          line-height: 50.4px;
          color: var(--primary-color);
          margin: 0px;
          position: relative;
          padding-bottom: 17.56px;

          &::after {
            content: "";

            position: absolute;
            left: 0px;
            bottom: 0px;
            width: 105.3px;
            height: 1px;
            background: var(--secondary-color);
          }
        }

        .quotes {
          width: 26.35px;
          height: 26.35px;
        }

        .description {
          font-family: Outfit;
          font-size: 24px;
          font-weight: 400;
          line-height: 35.13px;
          color: var(--color-off-white);
          margin: 0px;

          /* Add ellipsis after 3 lines */
          display: -webkit-box;
          -webkit-line-clamp: 3;
          -webkit-box-orient: vertical;
          overflow: hidden;
          text-overflow: ellipsis;
          max-height: calc(35.13px * 3); /* Line height * 3 lines */
        }
      }

      /* Testimonial Navigation */

      .slide-navigation-btn {
        width: 64px;
        height: 64px;
        cursor: pointer;
        z-index: 20;
        border-radius: 32px;

        display: flex;
        justify-content: center;
        align-items: center;
        background: var(--light-color);
        border: none;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: all 0.3s ease-in-out;

        &.previous {
          left: -32px;
        }

        &.next {
          right: -32px;
        }

        img {
          width: 20px;
          height: 20px;
        }

        &:hover {
          box-shadow: 0px 6px 4px 0px rgba(0, 0, 0, 0.25);
        }

        &:active {
          scale: 0.8;
        }
      }
    }

    /* @media screen and (max-width: 768px) {
      padding-inline: 60px;
      .testimonial-card:first-child,
      .testimonial-card:last-child {
        display: none;
      }
    }
    @media screen and (max-width: 576px) {
      padding-inline: 54px;

      .testimonial-card.active {
        padding-inline: 32px;
        margin-inline: -32px;

        .slide-navigation-btn {
          width: 48px;
          height: 48px;
        }
      }
    } */
  }
}
/* Client testimonials end here*/
.why-choose-us-post-wrapper {
  margin-top: 120px;
  gap: 90px;
  display: flex;
  flex-direction: column;
  padding-inline: 0px;
  position: relative; /* Add position relative */
  overflow: hidden; /* Add overflow hidden to contain the pseudo-element */

  @media only screen and (max-width: 1440px) {
    max-width: 100%;
  }

  @media only screen and (max-width: 1050px) {
    gap: 67px;
    margin-top: 60px;
  }

  @media only screen and (max-width: 550px) {
    gap: 45px;
  }
}

/* Add new pseudo-element for the sliding background */
.why-choose-us-post-wrapper::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%; /* Start from outside the container on the left */
  width: 100%;
  height: 100%;
  background: var(--primary-color);
  transition: all 0.4s ease-in-out;
  z-index: 0; /* Place it behind the content */
}

/* Update hover state to slide in the background */
.why-choose-us-post-wrapper:hover::before {
  left: 0; /* Slide to cover the full width */
}

/* Ensure content stays above the sliding background */
.why-choose-us-post {
  position: relative;
  z-index: 1;
}

/* Keep the existing color transition effects */
.why-choose-us-post-wrapper:hover .whychooseus__title,
.why-choose-us-post-wrapper:hover .whychooseus__description,
.why-choose-us-post-wrapper:hover .whychooseus__brand-name {
  color: var(--light-color) !important;
  position: relative;
  z-index: 1;
}

.why-choose-us-post-wrapper:hover .whychooseus__motto,
.why-choose-us-post-wrapper:hover .matti-homes-row {
  position: relative;
  z-index: 1;
}

.why-choose-us-post-wrapper:hover .whychooseus__motto {
  transform: translateX(-77%);

  @media only screen and (max-width: 1450px) {
    transform: translateX(-73%);
  }
}

.why-choose-us-post-wrapper:hover .matti-homes-row {
  transform: translateX(-55%);

  @media only screen and (max-width: 1400px) {
    transform: translateX(-53.5%);
  }

  @media only screen and (max-width: 1450px) {
    transform: translateX(-49%);
  }
}

.counter-container {
  padding-top: 35px;
}

.number-wrapper {
  height: 98px;
  width: 378.66px;
  overflow: hidden;
  position: relative;
  line-height: 128px;

  @media only screen and (max-width: 576px) {
    width: 100%;
    height: 76px;
  }
}

.number {
  font-family: Nunito;
  /* font-size: 107.9px; */
  font-size: 82px;
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #5b5b5b;

  position: absolute;
  width: 100%;
  left: 0;
  transform: translateY(0);
  transition: color 0.3s ease;

  @media only screen and (max-width: 576px) {
    font-size: 60px;
  }

  /* @media (max-width: 575px) {
    .number {
      color: blue !important;
      top: 464px !important;
      background-color: blue !important;
    }
  } */

  /* @media only screen and (max-width: 1200px) {
    font-size: 84px;
  }

  @media only screen and (max-width: 992px) {
    font-size: 64px;
    line-height: 100.84px;
  }

  @media only screen and (max-width: 768px) {
    font-size: 48px;
    line-height: 80px;
  }
*/
}

.text {
  font-size: 1.5rem;
  color: #666;
}

.counter-container.animated .number {
  color: red;
}

.counter-container.animating .number {
  animation: smoothCountUp1 0.8s cubic-bezier(0.5, 0.6, 0.7, 0.8) forwards;
}

.counter-container-2.animating .number {
  animation: smoothCountUp2 1.35s cubic-bezier(0.5, 0.6, 0.7, 0.8) forwards;
}

.counter-container-3.animating .number {
  animation: smoothCountUp3 1s cubic-bezier(0.5, 0.6, 0.7, 0.8) forwards;
}

.counter-container.completed .number {
  transform: translateY(-400%);
}

.counter-container-2.completed .number {
  transform: translateY(-1000%);
}

.counter-container-3.completed .number {
  transform: translateY(-600%);
}

.counter-container.completed .number {
  color: red;
}

.image-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: var(--black);
  z-index: 4;
}

#dynamicImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s ease;
}

#dynamicImage.blur-out {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.05);
}

#dynamicImage.blur-in {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

.unblur-effect-animation {
  animation: UnblurEffect 0.5s ease-in-out forwards;
}

.flat-testimonial-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;

  .avatar {
    width: 134.2px;
    height: 129px;
    border-radius: 100%;
    object-fit: cover;
    margin-bottom: 17px;
  }
  .details {
    h2 {
      font-family: Outfit;
      font-size: 40px;
      font-weight: 600;
      line-height: 50.4px;
      color: var(--primary-color);
      padding-bottom: 18px;
      position: relative;
      margin-bottom: 17px;
      &::after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        height: 1px;
        width: 105.38px;
        background: var(--secondary-color);
      }
    }

    .description {
      position: relative;
      padding-inline: 40px;
      font-family: Outfit;
      font-size: 24px;
      font-weight: 400;
      line-height: 35.13px;
      text-align: center;
      color: var(--color-off-white);

      p {
        margin: 0px;
        text-align: center;

      }
    }

    .quotes {
      position: absolute;
      top: 0px;
      left: 5px;
      transform: translateY(-50%);

      &.right {
        left: unset;
        right: 5px;
        transform: translateY(-50%);
      }
    }
  }

  @media screen and (max-width: 768px) {
    .details {
      h2 {
        font-size: 32px;
        line-height: 42px;
      }
      .description {
        font-size: 18px;
        line-height: 28px;
      }
    }
  }
  @media screen and (max-width: 576px) {
    .details {
      h2 {
        font-size: 28px;
        line-height: 32px;
      }
      .description {
        font-size: 16px;
        line-height: 24px;
        padding-inline: 32px;
      }

      .quotes {
        width: 24px;
      }
    }
  }
}

.flat-testimonial-swiper {
  padding-top: 32px;
  padding-bottom: 139px;
  .swiper-button-next,
  .swiper-button-prev {
    width: 64px;
    height: 64px;
    border-radius: 32px;
    background: #ffffff;
    bottom: 15px;
    top: unset;
    left: 50%;

    &::after {
      content: none;
    }
  }
  .swiper-button-next {
    transform: translateX(calc(-50% + 60px));
  }
  .swiper-button-prev {
    transform: translateX(calc(-50% - 60px));
  }

  @media screen and (max-width: 768px) {
    padding-bottom: 80px;
    .swiper-button-next,
    .swiper-button-prev {
      width: 48px;
      height: 48px;
      img {
        width: 18px;
      }
    }
  }
  @media screen and (max-width: 576px) {
    padding-bottom: 60px;

    .swiper-button-next,
    .swiper-button-prev {
      width: 42px;
      height: 42px;

      img {
        width: 16px;
      }
    }
  }
}

.bloginfo-desc {
  top: 242px;
  position: relative;
  display: flex;
  justify-content: center;

  h1 {
    color: #ffffff;
    max-width: 800px;
    font-size: 35px;
    text-align: center;
    text-shadow: 1px 1px 4px black;
  }
}
