.br-mo {
  display: none;
}

.br-pc {
  display: inline;
}

/* section01 */
.main-section01 {
  position: relative;
  width: 100%;
  height: 100vh;
  background: url(/assets/images/bg_section01.webp) no-repeat center/cover;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 10vw;
  color: var(--color-white);
}
.main-visual {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 100vh;
  width: 100%;
  max-width: var(--container-width144);
}
.main-visual .main-title {
  font-weight: var(--fw-extrabold);
  font-size: var(--fs-60);
  line-height: var(--lh-80);
  color: var(--color-white);
  margin-bottom: 8vw;
}

/* section02 */
.main-section02 {
  width: 100%;
  max-width: var(--container-width144);
  margin: 0 auto;
  padding: var(--space-170) 0;
  text-align: center;
}
.main-section2-text h2 {
  font-size: var(--fs-52);
  font-weight: var(--fw-extrabold);
  line-height: var(--lh-70);
  margin-bottom: var(--space-30);
}
.main-section02 .highlight {
  color: var(--color-Keppel400);
}
.main-section2-text p {
  font-size: var(--fs-28);
  line-height: var(--lh-40);
  color: var(--color-neutral600);
}
.main-section2-icons {
  display: flex;
  gap: var(--gap-16);
  justify-content: center;
  margin-top: var(--space-50);
}
.icon-box {
  width: 100%;
  border: 1px solid var(--color-neutral200);
  border-radius: var(--radius-10);
  padding: var(--space-44) 0;
}
.icon-box img {
  margin: 0 auto var(--space-10);
}
.icon-box p {
  font-size: var(--fs-20);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-24);
  color: var(--color-black2);
}

/* section03 */
.reward-service {
  background-color: var(--color-neutral050);
  width: 100%;
}

.reward-service .container {
  width: 100%;
  max-width: var(--container-width121);
  margin: 0 auto;
  padding: var(--space-170) 0;
}

.reward-service .section-title {
  font-size: var(--fs-52);
  font-weight: var(--fw-extrabold);
  line-height: var(--lh-70);
  color: var(--color-black2);
  margin-bottom: var(--space-70);
  text-align: center;
}

.reward-service .reward-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gap-20);
  max-width: calc((594px * 2 + 284px) + var(--gap-20) * 2);
  margin: 0 auto;
}

.reward-service .card {
  position: relative;
  height: 284px;
  flex: 0 0 auto;
  overflow: hidden;
  border-radius: var(--radius-12);
  background-color: var(--color-neutral050);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  cursor: pointer;
}
.reward-service .card1 {
  background: url(/assets/images/bg_sale.webp) no-repeat center/cover;
}
.reward-service .card2 {
  background: url(/assets/images/bg_click.webp) no-repeat 80% center / cover;
}
.reward-service .card3 {
  background: url(/assets/images/bg_lead.webp) no-repeat center/cover;
}
.reward-service .card4 {
  background: url(/assets/images/bg_install.webp) no-repeat center/cover;
}
.reward-service .card5 {
  background: url(/assets/images/bg_action.webp) no-repeat 85% center / cover;
}
.reward-service .card6 {
  background: url(/assets/images/bg_view.webp) no-repeat center/cover;
}

.reward-service .card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 156px;
  background: linear-gradient(
    to top,
    rgba(34, 34, 34, 0.6) 0%,
    rgba(34, 34, 34, 0) 100%
  );
  pointer-events: none;
}

/* 기본 사이즈 */
.reward-service .card {
  transition: all 0.3s ease;
}

/* shrink 되었을 때 */
.reward-service .card.shrink {
  width: 284px !important;
}

/* 1번, 6번 → 기본값 594px (hover X) */
.reward-service .card1,
.reward-service .card6 {
  width: 594px;
  pointer-events: none; /* hover 무효화 */
}

/* 2~5번 → 기본 284px */
.reward-service .card2,
.reward-service .card3,
.reward-service .card4,
.reward-service .card5 {
  width: 284px;
}

/* 2~5번만 hover 시 확장 */
.reward-service .card2:hover,
.reward-service .card3:hover,
.reward-service .card4:hover,
.reward-service .card5:hover {
  width: 594px;
}

.reward-service .card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.reward-service .card-text {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: var(--space-24) var(--space-20);
  color: var(--color-white);
  box-sizing: border-box;
  z-index: 1;
}

.reward-service .card-text .label {
  display: block;
  font-size: var(--fs-18);
  font-weight: var(--fw-medium);
  margin-bottom: var(--space-12);
}

.reward-service .card-text p {
  font-size: var(--fs-24);
  font-weight: var(--fw-bold);
  line-height: var(--lh-32);
  color: var(--color-white);
}

/* section04 */
.section-growth {
  width: 100%;
  background: url("/assets/images/bg_growth.webp") no-repeat center/cover;
  color: var(--color-white);
  padding: var(--space-95) 0;
  text-align: center;
  position: relative;
}

.section-growth .container {
  width: 100%;
  max-width: var(--container-width128);
  margin: 0 auto;
  padding: 0 var(--space-20);
}

.growth-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--gap-70);
}

.growth-title {
  font-size: var(--fs-36);
  font-weight: var(--fw-bold);
  color: var(--color-white);
}

.growth-title strong {
  font-size: var(--fs-40);
  font-weight: var(--fw-extrabold);
  display: block;
  margin-top: var(--space-16);
}

.growth-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--gap-60);
}

.stat-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 12rem;
}

.stat-number {
  display: flex;
  align-items: center;
  gap: var(--gap-10);
  font-size: var(--fs-60);
  font-weight: var(--fw-extrabold);
  margin-bottom: var(--space-20);
}

.stat-number span {
  font-family: "Montserrat", sans-serif;
  font-size: var(--fs-60);
  font-weight: var(--fw-regular);
}

.stat-label-en {
  font-size: var(--fs-16);
  font-weight: var(--fw-medium);
  line-height: var(--lh-24);
  color: var(--color-Keppel300);
  margin-bottom: var(--space-8);
}

.stat-label-ko {
  font-size: var(--fs-22);
  font-weight: var(--fw-medium);
  line-height: var(--lh-28);
  color: var(--color-white);
}

/* section05 */
.section-partners {
  width: 100%;
  background: var(--color-white);
  padding: var(--space-50) 0;
  overflow: hidden;
}

.partner-inner {
  width: 100%;
  max-width: var(--container-width121);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.partner-logo {
  font-size: var(--fs-28);
  font-weight: var(--fw-bold);
  line-height: var(--lh-36);
  color: var(--color-black2);
  white-space: nowrap;
  flex-shrink: 0;
}

.partner-wrapper {
  width: 960px;
  overflow: hidden;
  position: relative;
}

.partner-wrapper::before,
.partner-wrapper::after {
  content: "";
  position: absolute;
  top: 0;
  width: 78px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.partner-wrapper::before {
  left: 0;
  background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.partner-wrapper::after {
  right: 0;
  background: linear-gradient(to left, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
}

.partner-track {
  display: flex;
  align-items: center;
  gap: var(--gap-60);
  width: max-content;
  animation: scroll-left 25s linear infinite;
}

.partner-track img {
  height: 80px;
  flex-shrink: 0;
}

.second-track {
  display: none;
  flex-direction: row-reverse;
}

@keyframes scroll-left {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

@media (min-width: 1025px) {
  .reward-service .reward-row {
    display: contents;
  }
}

@media (max-width: 1440px) {
  .main-section02 {
    padding: var(--space-170) var(--space-40);
  }

  .reward-service .container {
    padding: var(--space-140) 0;
  }
  .reward-service .reward-cards {
    display: block;
    padding: 0;
  }

  .reward-service .reward-row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    padding: 0 20px;
    scroll-padding: 0 20px;

    -ms-overflow-style: none;
    scrollbar-width: none;
    justify-content: center;
  }

  .reward-service .reward-row::-webkit-scrollbar {
    display: none;
  }

  .reward-service .reward-row .card {
    flex: 0 0 300px;
    height: 284px;
    scroll-snap-align: start;
    margin: 0;
  }

  .reward-service .reward-cards .card:nth-child(3n) {
    margin-right: 0;
  }

  .reward-service .reward-cards .card:hover,
  .reward-service .reward-cards .card.shrink,
  .reward-service .reward-cards .card:nth-child(1),
  .reward-service .reward-cards .card:nth-child(6) {
    width: 300px !important;
    pointer-events: auto;
  }
  .reward-row:nth-child(1) {
    margin-bottom: var(--space-20);
  }
  .reward-service .section-title {
    font-size: var(--fs-36);
    line-height: 1.4;
  }
}

/* 반응형 - 1024px */
@media (max-width: 1024px) {
  /* section01 */
  /* .main-section01 {
    max-height: 714px;
  } */
  /* .main-visual {
    height: 714px;
  } */

  .main-visual .main-title {
    font-size: var(--fs-34);
    line-height: var(--lh-48);
    margin-bottom: 17vw;
  }

  /* section02 */
  .main-section02 {
    padding: var(--space-90) var(--space-24);
  }
  .main-section2-text h2 {
    font-size: var(--fs-28);
    line-height: 1.4;
    letter-spacing: -0.3px;
  }
  .main-section2-text p {
    font-size: var(--fs-16);
    line-height: var(--lh-22);
  }
  .icon-box img {
    width: 100%;
    max-width: 10rem;
    margin: 0 auto var(--space-8);
  }
  .icon-box p {
    font-size: var(--fs-18);
    line-height: var(--lh-24);
  }

  /* section03 */
  .reward-service .container {
    padding: var(--space-140) 0;
  }
  .reward-service .reward-cards {
    display: block;
    padding: 0;
  }

  .reward-service .reward-row {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 16px;
    padding: 0 20px;
    scroll-padding: 0 20px;

    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  .reward-service .reward-row::-webkit-scrollbar {
    display: none;
  }

  .reward-service .reward-row .card {
    flex: 0 0 300px;
    height: 284px;
    scroll-snap-align: start;
    margin: 0;
  }

  .reward-service .reward-cards .card:nth-child(3n) {
    margin-right: 0;
  }

  .reward-service .reward-cards .card:hover,
  .reward-service .reward-cards .card.shrink,
  .reward-service .reward-cards .card:nth-child(1),
  .reward-service .reward-cards .card:nth-child(6) {
    width: 300px !important;
    pointer-events: auto;
  }
  .reward-row:nth-child(1) {
    margin-bottom: var(--space-20);
  }

  /* section05 */
  .section-partners {
    padding: var(--space-90) 0;
  }
  .partner-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--gap-40);
    width: 100%;
    overflow: visible;
  }

  .partner-inner {
    flex-direction: column;
    align-items: center;
    gap: var(--gap-30);
  }

  .partner-logo {
    font-size: var(--fs-28);
    line-height: var(--lh-36);
    text-align: center;
    margin-bottom: var(--space-40);
  }

  .partner-track {
    display: flex;
    width: max-content;
    animation: scroll-left 25s linear infinite;
    gap: var(--gap-60);
    align-items: center;
  }

  .second-track {
    animation: scroll-right 25s linear infinite;
  }

  .partner-track img {
    height: 48px;
    flex-shrink: 0;
  }
  @keyframes scroll-left {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }

  @keyframes scroll-right {
    0% {
      transform: translateX(-50%);
    }
    100% {
      transform: translateX(0%);
    }
  }

  /* Section06 */
  .contact-banner .tit {
    line-height: var(--lh-40);
    margin: var(--space-12) 0 var(--space-30);
  }
}
@media (max-width: 980px) {
  .reward-service .reward-row {
    justify-content: flex-start;
  }
}

/* 반응형 - 768px */
@media (max-width: 768px) {
  /* Section01 */
  .main-visual .main-title {
    font-size: var(--fs-34);
    line-height: var(--lh-48);
  }

  .reward-service .section-title {
    font-size: var(--fs-28);
    line-height: 1.4;
  }

  .main-section2-icons {
    flex-wrap: wrap;
  }

  .growth-title {
    font-size: var(--fs-24);
    line-height: 1.4;
  }
  .growth-title strong {
    font-size: var(--fs-28);
    margin-top: var(--space-8);
  }
  .partner-wrapper {
    gap: var(--gap-60);
  }
  .partner-track {
    gap: var(--gap-46);
  }
  .partner-track img {
    height: 3.6rem;
  }
}
@media (max-width: 700px) {
  .section-growth {
    padding: var(--space-80) 0;
  }
  .growth-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 425px) {
  .main-section01 {
    padding-left: 7vw;
  }

  .main-visual .main-title {
    font-size: var(--fs-30);
  }

  /* Sectio02 */
  .main-section2-icons {
    flex-wrap: wrap;
  }

  /* Sectio04 */
  .section-growth {
    padding: var(--space-120) 0;
  }
  .growth-content {
    gap: var(--gap-60);
  }
  .growth-stats {
    gap: var(--gap-30);
  }

  .partner-wrapper {
    gap: var(--gap-46);
  }
  .partner-track {
    gap: var(--gap-40);
  }
  .partner-track img {
    height: 3.2rem;
  }
}
