.hero-sec {
  width: 100%;
  height: fit-content;
  padding: 10px 40px;

  .scroll-arrow-markers-hero {
    display: none;
  }

  .curossel {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 1em;
    position: relative;
    overflow-x: scroll;
    anchor-name: --image-curossel;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scroll-marker-group: after;

    &::-webkit-scrollbar {
      display: none;
    }

    &::scroll-button(right), &::scroll-button(left) {
      content: "➡";
      padding: 15px 20px;
      font-size: 1.5rem;
      font-weight: 700;
      border-radius: 50%;
      border: none;
      background-color: var(--accent-color);
      cursor: pointer;
      color: white;
      translate: -15%;
      position: fixed;
      position-anchor: --image-curossel;
      position-area: right center;
      z-index: 10;
    }

    &::scroll-button(left) {
      content: "⬅";
      position-area: left center; 
      translate: 15%;
    }

    &::scroll-button(right):disabled, &::scroll-button(left):disabled {
      opacity: .5;
      cursor: auto;
    }

    &::scroll-marker-group {
      display: flex;
      justify-content: center;
      gap: .5em;
      margin-top: 30px;
    }

    .card {
      scroll-snap-align: start;
      flex: 0 0 50em;
      background-position: center;
      background-size: cover;
      background-repeat: no-repeat;
      aspect-ratio: 5 / 3;
      border-radius: 40px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      gap: 1em;
      position: relative;
      transition: all .3s ease;
      text-decoration: none;

      &:hover {
        transform: scale(0.95);
      }

      &::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 40px;
        opacity: .5;
        background-color: var(--text-color);
      }

      @media screen and (min-width: 768px) and (max-width: 1440px) {
        flex: 0 0 39em;
      } 

      p{
        text-align: center;
        color: white;
        text-decoration: none;
        font-size: 3.5rem;
        white-space: wrap;
        font-weight: bold;
        z-index: 2;
      }

      button {
        padding: 10px 20px;
        background-color: var(--accent-color);
        cursor: pointer;
        border-radius: 40px;
        border: none;
        cursor: pointer;
        transition: all .3s ease;
        z-index: 2;

        &:hover {
          transform: scale(1.05);
        }

        &:active {
          transform: scale(.95);
        }

        a {
          text-decoration: none;
          color: white;
        }
      }

      &::scroll-marker {
        content: "";
        width: 2em;
        height: .7em;
        background-color: var(--text-color-light);
        border-radius: 40px;
      }

       &::scroll-marker:target-current {
          background-color: var(--accent-color);
        }
    }
  }
}

.about-us {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 0px 20px;
  padding-top: 50px;

  .about-photo {
    width: 30%;
    object-fit: cover;
    border-radius: 40px;
  }

  .about-info {
    display: flex;
    flex-direction: column;
    gap: 20px;

    p {
      font-size: 1.2rem;
      color: var(--text-color-light);
    }

    h2 {
      font-size: 1.1rem;
      color: var(--text-color-light);
    }

    a {
      background-color: var(--accent-color);
      color: var(--primary-color);
      padding: 10px 20px;
      border-radius: 20px;
      text-decoration: none;
      font-weight: 500;
      width: fit-content;
      cursor: pointer;
      transition: all 0.3s ease;

      &:hover {
        background-color: var(--accent-color-light);
        transform: scale(1.05);
      }

      &:active {
        transform: scale(0.95);
      }
    }
  }
}

.reviews {
  display: flex;
  padding: 0px 20px;
  flex-direction: column;
  gap: 30px;

  h1 {
    font-size: 2em;
    color: var(--accent-color);
    text-align: center;
    margin-top: 40px;
  }

  .scroll-arrow-markers{
    display: none;
  }

  .review-box {
    display: flex;
    overflow-x: auto;

    &::-webkit-scrollbar {
      display: none;
    }

    &:hover {
      .group {
        animation-play-state: paused;
      }
      
    }
    .group {
      display: flex;
      gap: 1em;
      padding-right: 1em;
      animation: spin 10s linear infinite;

      .review-card {
        flex: 0 0 450px;
        width: 450px;
        height: 300px;
        position: relative;
        background-color: transparent;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 20px;
        padding: 20px;
        border-radius: 40px;
        z-index: 2;
        overflow: visible;

          &::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: var(--primary-color);
          clip-path: path("M 0,20 L 20,0 L 430,0 A 20,20 0,0,1 450,20 L 450,280 A 20,20 0,0,1 430,300 L 200,300 A 20,20 0,0,1 180,280 L 180,260 A 20,20 0,0,0 160,240 L 20,240 A 20,20 0,0,1 0,220 Z");
          box-shadow: 0 4px 6px rgba(0, 0, 0, 0.034);
          z-index: -1;
          border-radius: 40px;
        }

        .quote-icon {
          position: absolute;
          top: 10px;
          left: 10px;
        }
        
        .review-person {
          display: flex;
          gap: 20px;
          position: absolute;
          bottom: 10px;
          left: 10px;
          z-index: 10;
          align-items: center;

          .person-photo {
            width: 30px;
            height: 30px;
          }

          .person-info {
            h1 {
              font-size: 1.2em;
              color: var(--accent-color);
              text-align: left;
              margin-top: 0;
            }

            p {
              font-size: 0.8em;
              color: var(--text-color-light);
            }
          }
        }
      }
    }
  }
}

@keyframes spin {
  from {transform: translateX(0)}
  to {transform: translateX(-100%)}
}

.gallery-sec {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 0px 20px;
  margin-top: 20px;
  margin-bottom: 20px;

  h1 {
    font-size: 2em;
    color: var(--accent-color);
    text-align: center;
    margin-top: 40px;
  }

  .scroll-arrow-markers {
    display: none;
  }

  .images {
    display: flex;
    gap: 20px;

    .image-box {
      width: fit-content;
      position: relative;

      div {
        position: absolute;
        padding: 10px 20px;
        background-color: var(--primary-color);
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
        white-space: nowrap;
        border-radius: 40px;
        bottom: 20px;
        left: 20px;
      }

      img {
        height: 25rem;
        width: 38rem;
        object-fit: cover;
        border-radius: 40px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.034);

        @media screen and (min-width: 768px) and (max-width: 1440px) {
          height: 20rem;
          width: 26.5rem;
        }

         @media screen and (min-width: 0px) and (max-width: 768px) {
          height: 17rem;
          width: 17rem;
        }
      }
    }
  }
}

@media screen and (max-width: 768px) {

  .hero-sec {
    width: 100%;
    padding: 0px 20px;
    position: relative;

    @supports not selector(::scroll-button(left)) {
      .scroll-arrow-markers-hero {
        display: flex;
        justify-content: space-between;
        position: absolute;
        bottom: -30px;
        right: 20px;
      }
    }

    .curossel {
        width: 100%;

      .card {
        flex: 0 0 100%;

        p {
          font-size: 1.5rem;
          width: 90%;
        }
      }

      &::scroll-button(left) {
        padding: 3px 7px;
        translate: 50%;
      }

      &::scroll-button(right) {
        padding: 3px 7px;
        translate: -50%;
      }
    }
  }

  .about-us {

    .about-photo {
      display: none;
    }

    .about-info {
      width: 90vw;

      p {
        font-size: 2rem;
        font-weight: bold;
        color: var(--accent-color);
        text-align: center;
      }

      h1 {
        white-space: wrap;
        font-size: 1.7rem;
      }


      h2 {
        font-size: .9rem;
        white-space: wrap;
        width: 80vw;
      }
    }
  }

  .reviews {
    position: relative;

    .scroll-arrow-markers {
      display: flex;
      justify-content: space-between;
      position: absolute;
      bottom: -30px;
      right: 20px;
    }

    .review-box {

      .group {
        animation: none;
        scroll-snap-type: x mandatory;

        .review-card {
          flex: 0 0 auto;
          width: 350px;
          height: 200px;
          justify-content: start;

          .review-text {
            font-size: .8rem;
            margin-top: 30px;
          }

          .review-person {
            left: 30px;
          }
        }

        .quote-icon {
          display: none;
        }
      }

      .group-2 {
        display: none;
      }
    }
  }

  .gallery-sec {
    position: relative;
    
    .scroll-arrow-markers {
      display: flex;
      justify-content: space-between;
      position: absolute;
      bottom: -30px;
      right: 20px;
    }
    .images {
      overflow-x: scroll;

      &::-webkit-scrollbar {
        display: none;
      }
    }
  }
}