.swiper {
  width: 100%;
  height: calc(100vh - var(--header_height));
  height: calc(var(--fixed-viewport-height, 100vh) - var(--header_height)); /* 🔥 고정 뷰포트 높이 사용 */
  position: relative;
}
.swiper-slide {
  position: relative;
  overflow: hidden;
  background: #fff;
}
.slide-media {
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important; /* 좌우 꽉 차게 */
  object-fit: cover !important; /* 인라인 스타일 무시하고 강제 적용 */
  object-position: center !important; /* 중앙 정렬 */
  display: block;
}

/* PC/모바일 영상 분기 */
.slide-media--mobile {
  display: none;
}

@media (max-width: 768px) {
  /* 모바일용 영상이 있는 경우에만 PC 영상 숨김 */
  .swiper-slide:has(.slide-media--mobile) .slide-media--pc {
    display: none;
  }
  .slide-media--mobile {
    display: block;
  }
}

/* 커스텀 태그/클래스 모두 케이스 대비 */
vsc-controller,
.vsc-controller {
  display: none !important;
  visibility: hidden !important;
}

/* 페이지네이션 */
.ns_hero_pagination {
  all: unset !important;  /* 💥 기본 속성 전부 리셋 */
  position: absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  bottom: 14px !important;
  display: flex !important;
  gap: 10px !important;
/*   height:24px !important; */
  z-index:2 !important;
  align-items:center !important;
  justify-content:center !important;
}
.ns_hero_pagination .swiper-pagination-bullet {
  all: unset !important; /* 💥 기본 속성 전부 리셋 */
  width: 80px !important;
/*   height:100% !important; */
  padding:12px 0 !important;
  cursor: pointer !important;
  display:flex !important;
  align-items:center !important;
}

.ns_hero_pagination .swiper-pagination-bullet i{
  all: unset !important;  /* 💥 기본 속성 전부 리셋 */
  width:100% !important;
  height: 2px !important;
  /* background: #E0E0E0 !important; */
  background: #616161 !important;
}

.ns_hero_pagination .swiper-pagination-bullet-active i{
  /* background: #616161 !important; */
  background: #2870ff !important;
}

/* 모바일 전용 위치 보정 (768px 이하) */
@media (max-width: 768px) {
  .ns_hero_pagination {
    bottom: 100px !important; 
  }

  .ns_hero_pagination .swiper-pagination-bullet {
    width: 60px !important; 
    padding: 10px 0 !important;
  }
}


/* Content Box */
.hero-content-box {
  position: absolute; 
  top: 0;
  left: 0; 
  width: 100%;
  z-index: 10 !important; /* 🔥 추가: 오버레이(z-index: 1)보다 높게 */  
  height: 100% !important;
  min-height: -webkit-fill-available; 
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important; 
  align-items: center !important; 
  padding-right: 20px;
  padding-left: 20px;
  padding-bottom: 80px;
  /* pointer-events: none; */
}




/* 텍스트 내용 정렬 */
.hero-content-box__inner {
  text-align: center;                
  width: 100% !important;        
  display: flex;
  flex-direction: column;
  gap: 2rem;
}  
}  

/* 슬라이드 내 레이어 배치 */
.swiper-slide {
  position: relative;
  overflow: hidden;
}


.hero-content-box .cta-group {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
}

.hero-content-box .cta-group a{
    color: inherit;
}

.hero-content-box .cta-group .btn-wrapper {
    display: inline-block;
}

.hero-content-box .btn-wrapper .cta-button {
    background-color: #111111; 
    border-color: #111111;
    border: 1.5px solid #111111;
    border-radius: 6px;
    font-size: 16px !important;
    font-style: normal;
    font-weight: 500;
    line-height: 1.4 !important;
    padding: 10px 20px;
    text-decoration: none;
    color: #ffffff; /*  Customized by jinseok(2024.09.25) */
}

.hero-content-box .btn-wrapper .cta-button:hover,
.hero-content-box .btn-wrapper .cta-button:focus,
.hero-content-box .btn-wrapper .cta-button:active{
  background-color: #0065db;
  border: 1.5px solid #0065db;
  color: #ffffff;
  fill: #0065db;
}

/*
.hero-content-box .inquiry {
  position: absolute;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
*/
.hero-content-box .inquiry a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: '6semi';
  font-size: 2rem;
  padding: 10px 24px 10px 28px;
  background: #eee;
}

/* link-fill-sync 스타일 적용 (색상 유지) */
.link-fill.purple.btn-svg {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: hidden;
  background: #212121;
}
.link-fill.purple.btn-svg .btn-layer {
  display: inline-flex;
  align-items: center;
  gap: 1.2rem;
  white-space: nowrap;
  font-weight: 600;
}
.link-fill.purple.btn-svg .btn-layer.default {
  position: relative;
  z-index: 1;
  color: #fff;
}
.link-fill.purple.btn-svg .btn-layer.hover {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: inherit;
  gap: 1.2rem;
  z-index: 2;
  clip-path: inset(0 100% 0 0);
  transition: clip-path 0.5s ease;
  font-weight: 600;
  background: #6F36FF;
  color: #fff;
}
.link-fill.purple.btn-svg .btn-layer.default svg path {
  fill: #fff;
}
.link-fill.purple.btn-svg .btn-layer.hover svg path {
  fill: #fff;
}
.link-fill.purple.btn-svg:hover .btn-layer.hover {
  clip-path: inset(0 0 0 0);
}

/*
.link-fill.purple {
  background: #212121;
  color: #fff;
}
*/
@media (max-width: 1024px) {
  .hero-content-box .inquiry a {
    font-size: max(16px, 1.8rem);
    padding: 5px 18px 5px 18px;
  }

  .hero-content-box .inquiry a img {
    width: 12px;
  }
  
  /* 모바일에서 s1 inquiry 버튼 숨김 */
  /*
  .hero-content-box .inquiry {
    display: none !important;
  }
  */
}

/* 모바일 대응: 화면 높이가 작을 때 버튼이 잘리지 않도록 조정 */
@media (max-width: 768px) {
  .hero-content-box {
    /* 모바일 브라우저 하단 UI 공간을 고려하여 넉넉하게 배치 */    
    /* padding-bottom: 100px !important; */
    padding-bottom: 60px !important;
  }
  
  .hero-content-box .heading {
    font-size: 3rem;
  }  
}