.works-body {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin-top: 80px;

  .content {
    padding-bottom: 240px;
    display: flex;
    flex-direction: column;

    .swiper {
      padding: 60px 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 60px;
      background-color: var(--bg-main);
      width: 100%;

      .title-wrapper {
        width: 100%;
        display: flex;
        max-width: 1000px;
        margin: 0 auto;
        justify-content: center;
        align-items: center;

        .title {
          font-size: 52px;
          font-weight: bold;
          display: inline-block;
          justify-content: center;
          text-align: center;
          color: var(--main-blue);
        }

        .typed-cursor {
          font-size: 52px;
          display: inline-block;
          line-height: 1;
          color: var(--main-blue);
        }
      }

      .tab-wrapper {
        width: 100%;
        max-width: 1000px;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        justify-content: center;

        .item {
          width: fit-content;
          padding: 8px 24px;
          border: 1px solid var(--gray-500);
          border-radius: 1000px;
          cursor: pointer;
          user-select: none;
          white-space: nowrap;

          &.active {
            background-color: var(--gray-500);
            color: var(--white);

            &:hover {
              cursor: unset;
              background-color: var(--gray-500);
            }
          }

          &:hover {
            background-color: var(--gray-100);
          }
        }
      }
    }

    .list {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 16px;
      row-gap: 40px;

      .item {
        display: flex;
        flex-direction: column;
        gap: 16px;
        cursor: pointer;

        .thumb {
          width: 100%;
          height: 224px;
          border-radius: 4px;
          overflow: hidden;
          position: relative;
          user-select: none;

          img {
            width: 100%;
            height: 100%;
            transition: transform 0.3s ease;
          }
        }

        .title-wrapper {
          display: flex;
          flex-direction: column;
          gap: 16px;

          .title {
            font-size: 24px;
            font-weight: 700;
            color: var(--black);
          }

          .tag-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
          }
          .tag {
            width: fit-content;
            padding: 4px 12px;
            font-size: 12px;
            color: var(--gray-300);
            line-height: 150%;
            border: 1px solid var(--gray-100);
            border-radius: 1000px;
          }
        }

        &:hover {
          .thumb img {
            transform: scale(1.2);
          }
        }
      }
    }
  }
}

@media screen and (max-width: 480px) {
  .works-body {
    .content {
      padding-top: initial;
      padding-bottom: 64px;

      .swiper {
        padding: 48px 24px;
        gap: 24px;
        background-color: var(--bg-main);
        box-sizing: border-box;

        .title-wrapper {
          .title {
            font-size: 24px;
          }
          .typed-cursor {
            font-size: 24px;
            height: initial;
          }
        }
        .tab-wrapper {
          width: fit-content;

          .item {
            height: fit-content;
            padding: 8px 16px;
            font-size: 14px;
          }
        }
      }

      .list {
        display: flex;
        flex-direction: column;

        .item {
          .thumb {
            height: 240px;
            border-radius: 0;
          }

          .title-wrapper {
            padding: 0 24px;
          }
        }
      }
    }
  }
}
