:root { --bg-color: #040426; --point-gold: #c89c56; --text-white: #ffffff; --text-gray: #a3a4b0; }
body, html { margin: 0; padding: 0; background-color: var(--bg-color); font-family: 'Pretendard', sans-serif; color: var(--text-white); overflow-x: hidden; }

/* 인트로 섹션 레이아웃 */
.intro-section { display: flex; flex-direction: column; align-items: center; padding: 100px 20px; text-align: center; }

/* 텍스트 컨텐츠 영역 */
.intro-header { margin-bottom: 50px; }
.logo-box { margin-bottom: 25px; }
.logo-box img { width: 190px; height: auto; }
.badge { display: inline-block; background-color: var(--point-gold); color: #000000; padding: 8px 20px; border-radius: 50px; font-size: 20px; font-weight: 500; letter-spacing: -0.5px; margin-bottom: 20px; }
.main-title { font-size: 2.5rem; font-weight: 700; color:#ffffff; margin: 0 0 16px 0; letter-spacing: -1px; }
.sub-desc { font-size: 21px; font-weight:400;  line-height: 1.6; color: #c9c9c9; margin: 0; font-weight: 400; }

/* 슬라이더 영역 */
.slider-wrapper { width: 100%; max-width: 1554px; position: relative; }
.swiper { width: 100%; border-radius: 16px; overflow: hidden; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4); }
.swiper-slide img { width: 100%; }

/* 하단 페이지네이션 및 캡션 레이아웃 */
.bottom-controls { display: flex; justify-content: center; align-items: center; gap: 15px; margin-top: 24px; }
.swiper-pagination22 { position: static !important; width: auto !important; display: flex; gap: 8px; }
.swiper-pagination22 .swiper-pagination-bullet { width: 16px; height: 16px; background: #7f7f7f; opacity: 1; margin: 0 !important; transition: background-color 0.4s ease; }
.swiper-pagination22 .swiper-pagination-bullet-active { background: #aa7e38; }

/* 전체 등장 애니메이션 (Premium Fade Up) */
.fade-up { opacity: 0; transform: translateY(90px); animation: fadeUpAnim 3.6s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.delay-1 { animation-delay: 0.5s; }
.delay-2 { animation-delay: 0.9s; }

@keyframes fadeUpAnim { to { opacity: 1; transform: translateY(0); } }

/* --- 의료진 소개 섹션 --- */
.doctor-section { display: flex; justify-content: center; padding: 120px 0px 100px 0px; background-color: var(--bg-color); }
.doctor-container { display: flex; flex-direction: row; align-items: flex-start; max-width: 1280px; width: 100%; gap: 80px; }

/* 이미지 영역 */
.doctor-image-col { flex: 1; max-width: 594px; transform:translateX(-90px); opacity:0; filter: blur(4px); transition:all 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
.doctor-image-col img { width: 100%; height: auto; display: block; background-color: #e5e5e5; }
.doctor-section.active .doctor-image-col { transform:translateX(0px); opacity:1; filter: blur(0px); transition:all 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.1s; }

/* 텍스트 영역 */
.doctor-info-col { flex: 1; padding-top: 10px; transform:translateY(90px); opacity:0; filter: blur(4px); transition:all 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0s; }
.doctor-section.active .doctor-info-col { transform:translateY(0px); opacity:1; filter: blur(0px); transition:all 1.6s cubic-bezier(0.25, 1, 0.5, 1) 0.5s; }

.doctor-name { font-family: 'NotoSerifKR-SemiBold'; font-size: 2.4rem; font-weight: 700; color:#e3e3e3; margin: 0 0 44px 0; letter-spacing: -1px; }
.divider { border: none; border-top: 1px solid rgba(255, 255, 255, 0.15); margin: 0 0 45px 0; }

/* 이력 리스트 */
.doctor-history { list-style: none; padding: 0; margin: 0; }
.doctor-history > li { position: relative; padding-left: 48px; margin-bottom: 28px; font-size: 1.45rem; color:#d2d2d2; font-weight: 600; line-height: 1.5; letter-spacing: -0.5px; }
.doctor-history > li::before { content: ''; position: absolute; left: 0; top: 12px; width: 28px; height: 4px; background-color: #c09a5a; }

/* 서브 리스트 */
.sub-history { list-style: none; padding: 0; margin: 18px 0 0 0; }
.sub-history li { font-size: 1.25rem; color: #c09a5a; margin-bottom: 10px; font-weight: 500; }

/* --- 푸터 (Contact Us) 섹션 --- */
.footer-section { position:relative; width:100%; padding-top:90px; padding-bottom:90px; overflow:hidden; border-top: 1px solid rgba(255,255,255,0.1); }
.footer-inner { width: 100%; max-width: 1280px; margin:0 auto; padding: 0 20px; }
.footer-title { text-align: center; font-family: 'Orpheus Pro', serif; font-size: 2.2rem; color: #fff; margin-bottom: 50px; font-weight: normal; letter-spacing: 1px; }
.footer-content { width:100%; display: flex; justify-content: space-between; }

/* 지도 영역 (좌측) */
.map-area { position:relative; width: 48%; }
.address-box { width:100%; height:65px; color: #fff; font-size: 19px; font-weight: 500; background: url('/images/intro/icon_pin.jpg') no-repeat 0 0; padding-left:50px; padding-top:6px; box-sizing:border-box; }
.btn-copy { background: #fff; color: #000; border: none; width:47px; height:21px; line-height:21px; margin-left: 8px; font-size: 0.85rem; font-weight: 500; cursor: pointer; border-radius: 4px; }
.map-frame { width:100%; max-width:594px; height:264px; overflow: hidden; }
.footer-section .maptxt2 { position:relative; width:100%; height:44px; margin-top:10px; display:flex; }
.footer-section .maptxt2 li { width:33.3333%; }
.footer-section .maptxt2 li a { display:block; width:100%; height:44px; font-size:13px; font-weight:500; color:#423d2f; background:#ffffff; line-height:44px; text-align:center; box-sizing:border-box; }
.footer-section .maptxt2 li:nth-child(1) a { border-right:1px solid #969494; background:#ffffff; }
.footer-section .maptxt2 li:nth-child(2) a { border-right:1px solid #969494; background:#ffffff; }
.footer-section .maptxt2 li:nth-child(3) a { background:#ffffff; }
.footer-section .maptxt2 li a img { display:inline-block; vertical-align:middle; margin-right:6px; }

/* 폼 영역 (우측) */
.form-area { position:relative; width: 48%; display: flex; gap: 60px; margin-top:62px; }
.form-label { color: #ffffff; font-size: 20px; font-weight: 600; }
.form-wrapper { flex: 1; width: 100%; }
.form-list { list-style: none; padding: 0; margin: 0 0 20px 0; }
.form-list li { margin-bottom: 12px; }
.form-list input[type="text"], .form-list input[type="tel"] { width: 100%; height: 43px; padding: 0 14px; border: none; border-radius: 4px; font-size: 15px; box-sizing: border-box; outline: none; }
.form-list input::placeholder { color: #040426; }
.btn-submit { width: 100%; height: 46px; background-color: #aa7e38; color: #fff; border: none; border-radius: 4px; font-size: 20px; font-weight: 700; cursor: pointer; transition: background 0.3s; }
.btn-submit:hover { background-color: #8c662a; }
.agree-wrap { display: flex; justify-content: flex-end; align-items: center; gap: 6px; color: #d2d2d2; font-size: 0.95rem; margin-top: 8px; }
.agree-wrap label { cursor: pointer; display: flex; align-items: center; gap: 8px; }

/* 예약 및 상담 버튼 */
.action-buttons { display: flex; gap: 12px;  }
.btn-action { flex: 1;margin-top:12px; display: flex; align-items: center; justify-content: center; gap: 6px; height: 44px; border-radius: 4px; font-weight: 500; color: #2d2b2b; text-decoration: none; font-size: 13px; transition: opacity 0.3s; }
.btn-action:hover { opacity: 0.85; }
.btn-action img { display:inline-block; vertical-align:middle; margin-right:6px; }
.btn-action.naver { background-color: #3eef0b; }
.btn-action.kakao { background-color: #fae100; }


/* =========================================
   반응형 추가 (태블릿 & 모바일 해상도 최적화)
   ========================================= */

/* 태블릿 (1024px 이하) */
@media (max-width: 1024px) {
    .intro-section { padding: 80px 20px; }
    .logo-box img { width: 120px; }
    .badge { font-size: 16px; padding: 6px 16px; margin-bottom: 15px; }
    .main-title { font-size: 2rem; margin-bottom: 12px; }
    .sub-desc { font-size: 17px; }

    .doctor-section { padding: 50px 5%; }
    .doctor-container { flex-direction: column; align-items: center; gap: 20px; }
    .doctor-image-col, .doctor-info-col { max-width: 100%; width: 100%; }
    .doctor-name { font-size: 2rem; margin-bottom: 30px; }
    .divider { margin-bottom: 30px; }
    .doctor-history > li { font-size: 1.25rem; padding-left: 40px; margin-bottom: 20px; }
    .doctor-history > li::before { width: 22px; top: 10px; }
    .sub-history li { font-size: 1.15rem; }

    .footer-section { padding: 60px 20px; }
    .footer-content { flex-direction: column; gap: 50px; }
    .map-area, .form-area { width: 100%; }
    .form-area { margin-top: 0; flex-direction: column; gap: 20px; }
    .address-box { font-size: 16px; height: auto; padding-top: 5px; padding-bottom: 10px; background-size: 16px; padding-left: 35px; }
    .map-frame { max-width: 100%; }
    .btn-submit { font-size: 18px; }
}

/* 모바일 (768px 이하) */
@media (max-width: 768px) {
    .intro-section { padding: 60px 15px; }
    .main-title { font-size: 1.6rem; }
    .sub-desc { font-size: 13px; }
    
    .doctor-name { font-size: 1.4rem; }
    .doctor-history > li { font-size: 1.0rem; }
    .sub-history li { font-size: 0.8rem; }

    .footer-title { font-size: 1.8rem; margin-bottom: 30px; }
    .address-box { font-size: 14px; padding-left: 28px; background-size: 14px; }
    .footer-section .maptxt2 li a { font-size: 12px; padding: 0 5px; }
    .footer-section .maptxt2 li a img { margin-right: 3px; width: 14px; }
    
    .form-list input[type="text"], .form-list input[type="tel"] { font-size: 14px; }
    .btn-action { font-size: 12px; }
	
	
.footer-inner {
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 0px;
}
	
	/* 지도 영역 (좌측) */
.map-frame { width:100%; max-width:594px; height:134px; overflow: hidden; }
.footer-section .maptxt2 { position:relative; width:100%; height:34px; margin-top:10px; display:flex; }
.footer-section .maptxt2 li { width:33.3333%; }
.footer-section .maptxt2 li a { display:block; width:100%; height:34px; font-size:12px; font-weight:500; color:#423d2f; background:#ffffff; line-height:34px; text-align:center; box-sizing:border-box; }
.footer-section .maptxt2 li:nth-child(1) a { border-right:1px solid #969494; background:#ffffff; }
.footer-section .maptxt2 li:nth-child(2) a { border-right:1px solid #969494; background:#ffffff; }
.footer-section .maptxt2 li:nth-child(3) a { background:#ffffff; }
.footer-section .maptxt2 li a img { display:inline-block; vertical-align:middle; margin-right:6px; }

/* 폼 영역 (우측) */

.form-list li { margin-bottom: 6px; }
.form-list input[type="text"], .form-list input[type="tel"] { width: 100%; height: 36px; padding: 0 14px; border: none; border-radius: 4px; font-size: 15px; box-sizing: border-box; outline: none; }
.form-list input::placeholder { color: #040426; }
.btn-submit { width: 100%; height: 36px; background-color: #aa7e38; color: #fff; border: none; border-radius: 4px; font-size: 18px; font-weight: 600; cursor: pointer; transition: background 0.3s; }
.btn-submit:hover { background-color: #8c662a; }
.agree-wrap { display: flex; justify-content: flex-end; align-items: center; gap: 6px; color: #d2d2d2; font-size: 0.95rem; margin-top: 8px; }
.agree-wrap label { cursor: pointer; display: flex; align-items: center; gap: 8px; }
	
/* 예약 및 상담 버튼 */
.action-buttons { display: flex; gap: 12px;  }
.btn-action { flex: 1;margin-top:12px; display: flex; align-items: center; justify-content: center; gap: 6px; height: 34px; border-radius: 4px; font-weight: 600; color: #2d2b2b; text-decoration: none; font-size: 12px; transition: opacity 0.3s; }
.btn-action:hover { opacity: 0.85; }
.btn-action img { display:inline-block; vertical-align:middle; margin-right:6px; }
.btn-action.naver { background-color: #3eef0b; }
.btn-action.kakao { background-color: #fae100; }
	
	
}