@charset "utf-8";
/* CSS Document */

/*****************
	STYLE-memberslide
*****************/
/* --------------------------------------------------
         * 구성원 소개 섹션 프리미엄 CSS 스타일 (겹침 버그 수정)
         * -------------------------------------------------- */
        .member-section {
            background-color: #f8fafc;
            /* 고급스러운 아주 연한 그레이 바탕 */
            padding: 90px 0;
        }

        /* 좌측 블록이 우측 슬라이드를 덮어주도록 배경색과 레이어 순위 부여 */
        .member-left-content {
            position: relative;
            z-index: 10;
            /* 우측 슬라이드(z-index: 1)보다 위에 오도록 설정 */
            background-color: #f8fafc;
            /* 섹션 배경색과 일치시켜 뒤로 지나가는 카드를 가려줌 */
            padding-right: 30px;
            /* 슬라이드와의 간격 확보 */
        }

        .sub-title-primary {
            color: var(--primary-color);
            font-size: 13px;
            font-weight: 700;
            letter-spacing: 2px;
        }

        .member-left-content .section-title {
            font-family: 'Noto Serif KR', serif;
            font-weight: 700;
            color: var(--text-main);
            line-height: 1.4;
            font-size: 2rem;
        }

        .member-left-content .section-desc {
            color: #64748b;
            font-size: 15px;
            line-height: 1.6;
        }

        /* 컨트롤러 패널 조형 및 진행바 레이아웃 */
        .member-control-box {
            width: 100%;
        }

        /* 진행바(Progressbar) 컨테이너 커스텀 */
        .member-progress-container {
            flex-grow: 1;
            height: 2px;
            background-color: #cbd5e1;
            position: relative;
            border-radius: 2px;
            overflow: hidden;
            max-width: 300px;
        }

        .member-progress-container .member-progressbar.swiper-pagination-progressbar {
            background: none;
            position: absolute;
            width: 100%;
            height: 100%;
        }

        .member-progress-container .member-progressbar .swiper-pagination-progressbar-fill {
            background-color: var(--text-main) !important;
            transition-duration: 400ms !important;
        }

        /* --------------------------------------------------
         * 구성원 슬라이드 카드 컴포넌트 모션
         * -------------------------------------------------- */
        .member-swiper {
            overflow: visible;
            /* 우측은 뚫려 보이되, 좌측은 고정 블록 뒤로 숨음 */
            z-index: 1;
            /* 좌측 블록보다 아래 레이어로 배치 */
        }

        .member-card {
            background: #ffffff;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .member-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 35px rgba(11, 37, 69, 0.1);
        }

        /* 이미지 액션 박스 */
        .member-img-wrap {
            position: relative;
            width: 100%;
            padding-top: 130%;
            overflow: hidden;
            background-color: #e2e8f0;
        }

        .member-img-wrap img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
        }

        .member-card:hover .member-img-wrap img {
            transform: scale(1.08);
        }

        /* 마우스 오버 시 사진 위를 덮는 고급 오버레이 효과 */
        .card-overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(11, 37, 69, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s ease;
            z-index: 2;
        }

        .card-overlay span {
            color: #ffffff;
            font-size: 12px;
            font-weight: 600;
            letter-spacing: 1px;
            border: 1px solid rgba(255, 255, 255, 0.6);
            padding: 6px 14px;
            border-radius: 20px;
        }

        .member-card:hover .card-overlay {
            opacity: 1;
        }

        /* 하단 정보 텍스트 */
        .member-info-wrap {
            padding: 22px 20px;
        }

        .member-position {
            font-size: 12px;
            color: var(--brand-gold);
            font-weight: 600;
            display: block;
            margin-bottom: 4px;
        }

        .member-name {
            font-size: 18px;
            font-weight: 700;
            color: var(--text-main);
            margin-bottom: 8px;
        }

        .member-specialty {
            font-size: 13px;
            color: #64748b;
            margin-bottom: 0;
            white-space: nowrap;
            overflow: hidden;
            text-shadow: none;
            text-overflow: ellipsis;
        }

        /* 태블릿 및 모바일 반응형 보정 */
        @media (max-width: 991.98px) {
            .member-section {
                padding: 60px 0;
            }

            .member-left-content {
                padding-right: 0;
                margin-bottom: 30px;
            }

            .member-swiper {
                overflow: hidden;
            }

            /* 모바일에서는 화면 밖으로 안 나가게 단정히 커팅 */
            .member-control-box {
                margin-top: 25px !important;
            }

            .member-left-content .section-title {
                font-size: 1.6rem;
            }
        }