/* ===== Main Page ===== */
.main-page {
    width: 100%;
    height: auto;
    overflow: hidden;
}

/* Video */
.main-page .main-video {
  width: 100%;
  position: relative;
  height: 100vh;
}
.main-page .main-video video {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}
/* What's section */
.main-page .whats-container {
  width: 100%;
  padding: 70px 20px;
  background: #000000;
  text-align: center;
}

.main-page .whats-title {
  width: 100%;
  position: relative;
  font-size: 48px;
  color: #fff;
  font-weight: 700;
  padding-bottom: 30px;
}
.main-page .whats-title:before {
  content: "";
  width: 188px;
  height: 5px;
  overflow: hidden;
  display: block;
  background-image: linear-gradient(to right, #f407ad, #7e6bd5, #07cefd);
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -94px;
}
.main-page .whats-title strong {
  color: #e625e7;
  font-weight: 700;
  font-size: 48px;
}

.main-page .whats-desc {
  width: 100%;
  margin-top: 30px;
  height: auto;
  line-height: 1.5em;
  font-size: 24px;
  color: #fff;
  font-weight: 500;
}

.main-page .whats-etc {
  margin-top: 40px;
  width: 100%;
  font-size: 18px;
  color: #fff;
}

.main-page .whats-image {
  margin-top: 20px;
  width: 100%;
}

.main-page .whats-strategic {
  width: 100%;
  margin-top: 20px;
  min-height: 96px;
  background: url(../image/bg/bg-sign.png) no-repeat center center;
  height: auto;
  line-height: 1.5em;
  font-size: 24px;
  color: #fff;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* etc → image 묶음 */
.main-page .whats-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 40px;
  gap: 60px;
}

.main-page .whats-link a {
  width: 300px;
  height: 54px;
  border-radius: 27px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #2a9dff;
  font-size: 24px;
  color: #fff;
  font-weight: 500;
}

/* Speakers */
.main-page .speakeers-container {
  width: 100%;
  height: auto;
  padding: 70px 0;
  overflow: hidden;
  background-image: linear-gradient(180deg, #5b49dd, #2b177a);
}
.speakeers-title {
  width: 100%;
  font-size: 48px;
  color: #fff;
  font-weight: 700;
  text-align: center;
}

.speakeers-swiper {
  width: 100%;
  overflow: hidden;
  margin-top: 50px;
  position: relative;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 180px,
    #000 calc(100% - 180px),
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0,
    #000 180px,
    #000 calc(100% - 180px),
    transparent 100%
  );
}

.speakeers-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

.speakeers-swiper .swiper-slide {
  width: 282px;
  flex-shrink: 0;
}

.speakers-item {
  width: 100%;
  height: auto;
  overflow: hidden;
  border: 2px solid #282828;
  border-radius: 30px;
  box-sizing: border-box;
  position: relative;
  display: block;
}
.main-page .swiper-slide-active .speakers-item:before,
a.speakers-item:hover:before{
  content: "";
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  display: block;
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  border: 10px solid #e625e7;
  border-radius: 30px;
}

.speakers-item .image {
  width: 100%;
  height: 376px;
  overflow: hidden;
}
.speakers-item .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.speakers-item .content {
  width: 100%;
  height: 200px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background: #000;
  padding: 0 20px;
  text-align: center;
}

.speakers-item .name {
  width: 100%;
  line-height: 1.5em;
  font-size: 24px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 20px;
}

.speakers-item .desc {
  width: 100%;
  line-height: 1.5em;
  font-size: 18px;
  color: #fff;
  font-weight: 500;
}

@media (max-width: 1024px) {
  .main-page .main-video {
    height: 70vh;
    min-height: 420px;
  }

  .main-page .whats-container {
    padding: 50px 20px;
  }

  .main-page .whats-title {
    font-size: 32px;
    padding-bottom: 20px;
  }

  .main-page .whats-title strong {
    font-size: 32px;
  }

  .main-page .whats-title:before {
    width: 120px;
    height: 4px;
    margin-left: -60px;
  }

  .main-page .whats-desc {
    margin-top: 24px;
    font-size: 18px;
    line-height: 1.6;
  }

  .main-page .whats-etc {
    margin-top: 28px;
    font-size: 15px;
  }

  .main-page .whats-image {
    margin-top: 16px;
  }

  .main-page .whats-image img {
    max-width: 100%;
    height: auto;
  }

  .main-page .whats-strategic {
    margin-top: 16px;
    min-height: 100px;
    padding: 16px 20px;
  }

  .main-page .whats-link {
    margin-top: 32px;
    gap: 16px;
    flex-wrap: wrap;
  }

  .main-page .whats-link a {
    width: 220px;
    height: 48px;
    border-radius: 24px;
    font-size: 18px;
  }

  .main-page .speakeers-container {
    padding: 50px 0;
  }

  .speakeers-title {
    font-size: 32px;
  }

  .speakeers-swiper {
    margin-top: 32px;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 60px,
      #000 calc(100% - 60px),
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 60px,
      #000 calc(100% - 60px),
      transparent 100%
    );
  }

  .speakeers-swiper .swiper-slide {
    width: 240px;
  }

  .speakers-item {
    border-radius: 24px;
  }

  .main-page .swiper-slide-active .speakers-item:before {
    width: calc(100% - 12px);
    height: calc(100% - 12px);
    border-width: 6px;
    border-radius: 24px;
  }

  .speakers-item .image {
    height: 300px;
  }

  .speakers-item .content {
    height: auto;
    min-height: 140px;
    padding: 20px 16px;
  }

  .speakers-item .name {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .speakers-item .desc {
    font-size: 15px;
  }
}

@media (max-width: 768px) {
  .main-page .main-video {
    height: 56vh;
    min-height: 320px;
  }

  .main-page .whats-container {
    padding: 40px 16px;
  }

  .main-page .whats-title {
    font-size: 26px;
    padding-bottom: 16px;
  }

  .main-page .whats-title strong {
    font-size: 26px;
  }

  .main-page .whats-title:before {
    width: 90px;
    height: 3px;
    margin-left: -45px;
  }

  .main-page .whats-desc {
    margin-top: 20px;
    font-size: 15px;
  }

  .main-page .whats-etc {
    margin-top: 24px;
    font-size: 13px;
  }

  .main-page .whats-strategic {
    min-height: 48px;
    padding: 0 16px 60px 16px;
    background-position: center bottom;
    background-size: 80px 48px;
    margin-top: 0;
  }
  .main-page .whats-strategic br,
  .main-page .whats-desc br{
    display: none;
  }

  .main-page .whats-link {
    margin-top: 28px;
    flex-direction: column;
    gap: 12px;
  }

  .main-page .whats-link a {
    width: 100%;
    max-width: 280px;
    height: 46px;
    font-size: 16px;
  }

  .main-page .speakeers-container {
    padding: 40px 0;
  }

  .speakeers-title {
    font-size: 26px;
  }

  .speakeers-swiper {
    margin-top: 24px;
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 40px,
      #000 calc(100% - 40px),
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 40px,
      #000 calc(100% - 40px),
      transparent 100%
    );
  }

  .speakeers-swiper .swiper-slide {
    width: 200px;
  }

  .speakers-item {
    border-radius: 20px;
  }

  .main-page .swiper-slide-active .speakers-item:before {
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    border-width: 4px;
    border-radius: 20px;
  }

  .speakers-item .image {
    height: 70vw;
  }

  .speakers-item .content {
    min-height: 120px;
    padding: 16px 12px;
  }

  .speakers-item .name {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .speakers-item .desc {
    font-size: 13px;
  }
}
