
.swiper-pagination-bullet {
	position: relative; /* 부모 요소에 상대 위치 설정 */
	background: #6f6d7d;
}

.swiper-pagination-bullet-active {
	background: #EBD7FB;
	box-shadow: 0 0 15px 1px #59FFC5;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet
	{
	margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 30px);
}

.swiper-pagination-bullet {
	width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size
		, 10px));
	height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size
		, 10px));
}

.swiper-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-bullets.swiper-pagination-horizontal,
	.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: unset;
	top: 30%;
	left: 12%;
	width: unset;
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:nth-child(2),
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:nth-child(2),
	.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet:nth-child(4),
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:nth-child(4)
	{
	position: relative; 
	top: 15px !important; 
}

.swiper-pagination-bullet.swiper-pagination-bullet-active::after {
	background: #6f6d7d30;
}

.swiper-pagination-bullet::after {
	content: '';
	position: absolute;
	top: 120%;
	left: 0; 
	width: 75px;
	height: 1px;
	background: #6f6d7d;
	z-index: -999;
	transform: translateY(-50%);
	opacity: 1;
}

.swiper-pagination-bullet:first-child::after {
	transform: translateY(-50%) rotate(13deg);
}

.swiper-pagination-bullet:nth-child(2)::after {
	transform: translateY(-50%) rotate(-13deg); 
	top: -2px;
}

.swiper-pagination-bullet:nth-child(3)::after {
	transform: translateY(-50%) rotate(13deg);
}

.swiper-pagination-bullet:last-child::after {
	display: none; /* 마지막 bullet의 선은 숨김 */
}



.star-overlay {
  pointer-events: none;
  position: absolute;
  z-index: 10;
  top: 0; left: 0; width: 100%; height: 100%;
  overflow: hidden;
}

.orbit-container {
  position: absolute;
  border-radius: 50%;
  border: 1px solid transparent;
}

.orbit-1 {
  width: 200px; height: 120px;
  top: 20%; left: 60%;
  animation: orbit-rotate 12s linear infinite;
}

.orbit-2 {
  width: 150px; height: 80px;
  top: 60%; left: 15%;
  animation: orbit-rotate 18s linear infinite reverse;
}

.orbit-3 {
  width: 180px; height: 100px;
  top: 70%; left: 70%;
  animation: orbit-rotate 15s linear infinite;
}

.orbiting-star {
  position: absolute;
  width: 3px; height: 3px;
  background: white;
  border-radius: 50%;
  top: -1.5px; left: 50%;
  transform: translateX(-50%);
  box-shadow: 
    0 0 8px 2px #fff,
    0 0 15px 3px #a8edea55;
  animation: star-glow 2s ease-in-out infinite alternate;
}

@keyframes orbit-rotate {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes star-glow {
  0% { opacity: 0.7; transform: translateX(-50%) scale(1); }
  100% { opacity: 1; transform: translateX(-50%) scale(1.3); }
}

.meteor {
  position: absolute;
  width: 4px; height: 4px;
  background: white;
  border-radius: 50%;
  opacity: 0;
  box-shadow: 
    0 0 6px 2px #fff,
    0 0 12px 4px #fbc2eb;
}

.meteor::before {
  content: '';
  position: absolute;
  width: 80px; height: 2px;
  background: linear-gradient(90deg, transparent 0%, #fff 30%, transparent 100%);
  top: 1px; left: -76px;
  border-radius: 2px;
  filter: blur(1px);
}

.meteor-1 {
  top: 5%; right: 10%;
  animation: meteor-fall-unified 5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  animation-delay: 0.5s;
}

.meteor-2 {
  top: 15%; right: 25%;
  animation: meteor-fall-unified 6s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  animation-delay: 2s;
}

.meteor-3 {
  top: 8%; right: 40%;
  animation: meteor-fall-unified 5.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  animation-delay: 3.5s;
}

.meteor-4 {
  top: 12%; right: 5%;
  animation: meteor-fall-unified 6.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  animation-delay: 1.2s;
}

.meteor-5 {
  top: 3%; right: 35%;
  animation: meteor-fall-unified 5.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) infinite;
  animation-delay: 4s;
}
@keyframes meteor-fall-unified {
  0% { 
    opacity: 0; 
    transform: translate(0, 0) rotate(-45deg); 
  }
  10% { 
    opacity: 1; 
  }
  90% { 
    opacity: 1; 
  }
  100% { 
    opacity: 0; 
    transform: translate(-400px, 350px) rotate(-45deg); 
  }
}

.pulse-wave {
  position: absolute;
  border: 0.5px solid rgba(204, 153, 255, 0.8);
  border-radius: 50%;
  opacity: 0;
  box-sizing: border-box;
}

.pulse-1 {
  top: 40%; left: 30%;
  animation: pulse-size-only 4s ease-out infinite;
  animation-delay: 0s;
}

.pulse-2 {
  top: 70%; left: 80%;
  animation: pulse-size-only 5s ease-out infinite;
  animation-delay: 2s;
}

.pulse-3 {
  top: 25%; left: 70%;
  animation: pulse-size-only 6s ease-out infinite;
  animation-delay: 4s;
}

@keyframes pulse-size-only {
  0% {
    opacity: 0.8;
    width: 20px;
    height: 20px;
    margin-left: -10px;
    margin-top: -10px;
  }
  50% {
    opacity: 0.4;
    width: 80px;
    height: 80px;
    margin-left: -40px;
    margin-top: -40px;
  }
  100% {
    opacity: 0;
    width: 160px;
    height: 160px;
    margin-left: -80px;
    margin-top: -80px;
  }
}


.floating-star {
  position: absolute;
  width: 2px; height: 2px;
  background: white;
  border-radius: 50%;
  box-shadow: 
    0 0 4px 1px #fff,
    0 0 8px 2px #a8edea44;
  animation: float-figure-8 20s ease-in-out infinite;
}

.floating-star:nth-child(9) { 
  top: 25%; left: 20%; 
  animation-delay: 0s; 
  animation-duration: 16s;
}
.floating-star:nth-child(10) { 
  top: 55%; left: 45%; 
  animation-delay: 3s; 
  animation-duration: 22s;
}
.floating-star:nth-child(11) { 
  top: 80%; left: 25%; 
  animation-delay: 6s; 
  animation-duration: 18s;
}
.floating-star:nth-child(12) { 
  top: 15%; left: 85%; 
  animation-delay: 9s; 
  animation-duration: 24s;
}
.floating-star:nth-child(13) { 
  top: 45%; left: 75%; 
  animation-delay: 12s; 
  animation-duration: 20s;
}

@keyframes float-figure-8 {
  0% { transform: translate(0, 0) scale(1); }
  12.5% { transform: translate(15px, -8px) scale(1.1); }
  25% { transform: translate(20px, 0) scale(1); }
  37.5% { transform: translate(15px, 8px) scale(0.9); }
  50% { transform: translate(0, 0) scale(1); }
  62.5% { transform: translate(-15px, 8px) scale(1.1); }
  75% { transform: translate(-20px, 0) scale(1); }
  87.5% { transform: translate(-15px, -8px) scale(0.9); }
  100% { transform: translate(0, 0) scale(1); }
}


.main-cont .left h2 {
    text-shadow: 
        0 0 10px rgba(89, 255, 197, 0.15),     /* 0.6 → 0.15로 대폭 감소 */
        0 0 20px rgba(89, 255, 197, 0.1),      /* 0.4 → 0.1로 감소 */
        0 0 30px rgba(89, 255, 197, 0.05);     /* 0.2 → 0.05로 감소 */
    animation: textGlow 3s ease-in-out infinite alternate;
}

.main-cont .left h3 {
    text-shadow: 
        0 0 8px rgba(79, 209, 197, 0.1),       /* 0.4 → 0.1로 감소 */
        0 0 16px rgba(79, 209, 197, 0.05);     /* 0.2 → 0.05로 감소 */
    animation: textGlow 4s ease-in-out infinite alternate;
    animation-delay: -1s;
}

@keyframes textGlow {
    0% { 
        text-shadow: 
            0 0 10px rgba(89, 255, 197, 0.15),
            0 0 20px rgba(89, 255, 197, 0.1),
            0 0 30px rgba(89, 255, 197, 0.05);
    }
    100% { 
        text-shadow: 
            0 0 15px rgba(89, 255, 197, 0.25),  /* 0.8 → 0.25로 감소 */
            0 0 25px rgba(89, 255, 197, 0.15),  /* 0.6 → 0.15로 감소 */
            0 0 35px rgba(89, 255, 197, 0.1),   /* 0.4 → 0.1로 감소 */
            0 0 45px rgba(89, 255, 197, 0.05);  /* 0.2 → 0.05로 감소 */
    }
}

.swiper-pagination {
    z-index: 10;
}

.swiper-pagination-bullet-active {
    animation: bulletGlow 2s ease-in-out infinite alternate;
}

@keyframes bulletGlow {
    0% { 
        box-shadow: 0 0 15px 1px #59FFC5;
    }
    100% { 
        box-shadow: 
            0 0 20px 2px #59FFC5,
            0 0 30px 3px rgba(89, 255, 197, 0.5);
    }
}

/* Responsive for Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	.swiper-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-bullets.swiper-pagination-horizontal,
	.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: unset;
	top: 30%;
	left: 3%;
	width: unset;
}
}
/* Responsive for Tablet */
@media (max-width: 767px) {
	.swiper-horizontal>.swiper-pagination-bullets,
	.swiper-pagination-bullets.swiper-pagination-horizontal,
	.swiper-pagination-custom, .swiper-pagination-fraction {
	bottom: unset;
	top: 25%;
    left: 0%;
	width: unset;
}
}