/* ========== Common: Sub Page Visual ========== */
.sec-sub-visual, .sec-sub-visual2{position: relative; width: 100%; height: 655px; background-position: center; background-repeat: no-repeat; background-size: cover; background-image: url('../img/sub_visual_bg.webp'); overflow: hidden;}
.sec-sub-visual .wrap{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; text-align: center; color: #ffffff;}
.sec-sub-visual .visual-subtit{margin: 0 0 6px; font-family: var(--ff-cormorant); font-size: 26px; font-weight: 500; line-height: 1.4;}
.sec-sub-visual .visual-tit{margin: 0; font-family: var(--ff-notoserif); font-size: 46px; font-weight: 600; line-height: 1.4;}

/* Sub Page Visual Backgrounds */
#sub12 .sec-sub-visual{background-image: url('../img/sub12_visual_bg.webp');}
#sub_eq .sec-sub-visual{background-image: url('../img/sub13_visual_bg.webp');}
#sub51 .sec-sub-visual{background-image: url('../img/sub51_visual_bg.webp');}
#sub52 .sec-sub-visual{background-image: url('../img/sub52_visual_bg.webp');}

/* ========== sub11: About MEDICI Intro Visual ========== */
#sub11{background-color: var(--color-bg-light);}
#sub11 .sec-sub-intro{position: relative; width: 100%; height: 250vh; background-color: var(--color-bg-light);}
#sub11 .sec-sub-intro .intro-sticky{position: sticky; top: 0; left: 0; z-index: 10; display: flex; flex-direction: column; justify-content: space-between; align-items: center; width: 100%; height: 100vh; box-sizing: border-box; overflow: hidden;}
#sub11 .sec-sub-intro .intro-sticky .intro-bg-box{position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); z-index: 1; display: flex; justify-content: center; align-items: center; width: 1440px; max-width: calc(100% - 80px); height: calc(100vh - 430px); min-height: 460px; overflow: hidden; transition: width 0.7s cubic-bezier(0.25, 1, 0.5, 1), height 0.7s cubic-bezier(0.25, 1, 0.5, 1), max-width 0.7s cubic-bezier(0.25, 1, 0.5, 1);}
#sub11 .sec-sub-intro .intro-sticky .intro-bg-box .intro-img{position: absolute; top: 0; left: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center; transition: filter 0.7s cubic-bezier(0.25, 1, 0.5, 1);}
#sub11 .sec-sub-intro .intro-sticky .intro-bg-box .intro-dim{position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); opacity: 0; transition: opacity 0.7s cubic-bezier(0.25, 1, 0.5, 1); pointer-events: none;}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box{position: absolute; top: 0; left: 50%; transform: translateX(-50%); z-index: 2; display: flex; flex-direction: column; justify-content: space-between; width: 100%; max-width: 1440px; height: 100vh; padding: 195px 40px; box-sizing: border-box; pointer-events: none;}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left{display: flex; flex-direction: column; align-items: flex-start; gap: 16px;}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left .intro-subtit{margin: 0; font-size: var(--fz-24); font-weight: 500; color: var(--text); line-height: 1.3; transition: color 0.6s cubic-bezier(0.25, 1, 0.5, 1);}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left .intro-tit{margin: 0; font-family: var(--ff-cormorant); font-size: clamp(52px, 4.16vw, 80px); font-weight: 500; line-height: 0.95; color: var(--point); letter-spacing: -0.01em; transition: color 0.6s cubic-bezier(0.25, 1, 0.5, 1);}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-right{align-self: flex-end; display: flex; justify-content: flex-end; text-align: right; width: 100%; max-width: 700px; opacity: 0; transform: translateY(20px); transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.15s, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1) 0.15s;}
#sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-right .intro-desc{margin: 0; font-size: var(--fz-20); font-weight: 400; line-height: 1.5; color: #ffffff; text-align: right; letter-spacing: -0.02em;}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box{width: 100vw; max-width: 100vw; height: 100vh;}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box .intro-img{filter: brightness(0.65);}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box .intro-dim{opacity: 1;}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-left .intro-subtit{color: #ffffff;}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-left .intro-tit{color: #ffffff;}
#sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-right{opacity: 1; transform: translateY(0);}

/* ========== sub11: 1. MEDICI Philosophy ========== */
#sub11 .sec-about-philosophy{padding: 160px 40px; background-color: var(--color-bg-light);}
#sub11 .sec-about-philosophy .wrap{max-width: 1440px; margin: 0 auto; display: flex; flex-direction: column; align-items: center;}
#sub11 .sec-about-philosophy .philo-grid{display: grid; grid-template-columns: repeat(3, 303px); gap: 30px; justify-content: center; width: 100%;}
#sub11 .sec-about-philosophy .philo-item{width: 100%; aspect-ratio: 1/1; overflow: hidden; background-color: #e8e4dc;}
#sub11 .sec-about-philosophy .philo-item img{width: 100%; height: 100%; object-fit: cover;}
#sub11 .sec-about-philosophy .philo-item.philo-center-text{display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: transparent; text-align: center; font-family: var(--ff-cormorant); font-size: 30px; font-weight: 700; color: var(--text); line-height: normal;}
#sub11 .sec-about-philosophy .philo-center-text .philo-tit{font-family: var(--ff-cormorant); font-size: 58px; font-weight: 700;}
#sub11 .sec-about-philosophy .philo-text-box{margin-top: 100px; text-align: center; max-width: 960px;}
#sub11 .sec-about-philosophy .philo-text-box .philo-heading{margin: 0; font-family: var(--ff-notoserif); font-size: var(--fz-32); font-weight: 500; color: var(--text); line-height: 1.4;}
#sub11 .sec-about-philosophy .philo-text-box .philo-desc{margin: 62px 0 0; font-size: var(--fz-18); font-weight: 400; line-height: 1.44; color: var(--text);}

/* ========== sub11: 2. 대표원장 1:1 맞춤 상담 ========== */
#sub11 .sec-about-consult{padding: 0 40px 140px; background-color: var(--color-bg-light);}
#sub11 .sec-about-consult .wrap{max-width: 1680px; margin: 0 auto; width: 100%;}
#sub11 .sec-about-consult .consult-box{position: relative; width: 100%; height: 702px; overflow: hidden; display: flex; align-items: stretch; background: url('../img/sub11_consult_bg_260918.webp') no-repeat right center / cover;}
#sub11 .sec-about-consult .consult-glass{position: relative; z-index: 2; width: 50%; max-width: 840px; height: 100%; padding: 0 30px 0 115px; box-sizing: border-box; background: rgba(58, 38, 16, 0.32); backdrop-filter: blur(27px); -webkit-backdrop-filter: blur(27px); display: flex; flex-direction: column; justify-content: center; gap: 62px; color: #ffffff;}
#sub11 .sec-about-consult .consult-glass .consult-head{display: flex; flex-direction: column; gap: 30px;}
#sub11 .sec-about-consult .consult-glass .consult-tit{margin: 0; font-family: var(--ff-notoserif); font-size: var(--fz-32); font-weight: 500; line-height: 1; color: #ffffff;}
#sub11 .sec-about-consult .consult-glass .consult-subtit{margin: 0; font-size: var(--fz-22); font-weight: 600; line-height: 1.4; color: #ffffff;}
#sub11 .sec-about-consult .consult-glass .consult-desc{margin: 0; font-size: var(--fz-18); font-weight: 400; line-height: 1.44; color: #ffffff;}

/* ========== sub11: 3. The MEDICI Way ========== */
#sub11 .sec-about-way{position: relative; padding: 200px 0px; background: #2A1D13 url('../img/sub11_way_bg.webp') no-repeat center center / cover; overflow: hidden;}
#sub11 .sec-about-way .wrap{position: relative; z-index: 2; max-width: 1460px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: 80px;}
#sub11 .sec-about-way .way-header{display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: #ffffff;}
#sub11 .sec-about-way .way-header .way-subtit{margin: 0; font-size: var(--fz-22); font-weight: 500; color: #ffffff; line-height: 2;}
#sub11 .sec-about-way .way-header .way-tit{margin: 0; font-family: var(--ff-cormorant); font-size: 58px; font-weight: 600; color: #ffffff; line-height: normal;}
#sub11 .sec-about-way .way-card-list{display: flex; gap: 20px; width: 100%; justify-content: center;}
#sub11 .sec-about-way .way-card{flex: 1; max-width: 720px; min-height: 320px; padding: 0 50px; box-sizing: border-box; background: rgba(255, 255, 255, 0.14); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); border-radius: 20px; display: flex; flex-direction: column; justify-content: center; gap: 56px; color: #ffffff;}
#sub11 .sec-about-way .way-card .card-tit{margin: 0; font-family: var(--ff-notoserif); font-size: var(--fz-32); font-weight: 500; color: #ffffff; line-height: 1;}
#sub11 .sec-about-way .way-card .card-desc{margin: 0; font-size: var(--fz-20); font-weight: 400; line-height: 1.5; color: #ffffff;}

/* ========== sub11: 4. MEDICI Space ========== */
#sub11 .sec-about-space{--space-card-w: clamp(160px, 17.135vw, 329px); --space-gap: clamp(16px, 2.083vw, 40px); --space-overlap: clamp(-59px, -3.073vw, -24px); background: linear-gradient(to right, #1C130C calc(50% - 248px), #F7F4EF calc(50% - 248px)); position: relative; width: 100%; overflow: hidden;}
#sub11 .sec-about-space .space-layout{position: relative; display: flex; width: 100%; min-height: 920px; max-width: 1920px; margin: 0 auto;}
#sub11 .sec-about-space .space-left{position: relative; flex: 0 0 clamp(280px, 37.08vw, 712px); min-width: 0; max-width: 712px; background: #1C130C url('../img/sub11_space_left_bg.webp') no-repeat center center / cover; display: flex; align-items: center; justify-content: center; overflow: hidden; z-index: 1;}
#sub11 .sec-about-space .space-left .space-left-cont{position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; color: #ffffff; padding: 40px;}
#sub11 .sec-about-space .space-left .space-left-subtit{margin: 0; font-size: clamp(16px, 1.15vw, 22px); font-weight: 500; color: #ffffff; line-height: 2;}
#sub11 .sec-about-space .space-left .space-left-tit{margin: 0; font-family: var(--ff-cormorant); font-size: clamp(38px, 3.02vw, 58px); font-weight: 600; color: #ffffff; line-height: normal;}
#sub11 .sec-about-space .space-right{position: relative; flex: 1; background: var(--color-bg-light) url('../img/sub11_space_right_bg.webp') no-repeat center center; display: flex; align-items: center; justify-content: flex-start; padding: 158px 40px 158px 0; z-index: 2; overflow: visible;}
#sub11 .sec-about-space .space-grid{position: relative; z-index: 3; display: flex; flex-direction: column; gap: clamp(24px, 2.9vw, 56px); width: calc(var(--space-card-w) * 3 + var(--space-gap) * 2); margin-left: var(--space-overlap);}
#sub11 .sec-about-space .space-row{display: flex; gap: var(--space-gap); width: calc(var(--space-card-w) * 2 + var(--space-gap));}
#sub11 .sec-about-space .space-row.row-1{margin-left: 0;}
#sub11 .sec-about-space .space-row.row-2{margin-left: calc(var(--space-card-w) + var(--space-gap));}
#sub11 .sec-about-space .space-item{display: flex; flex-direction: column; gap: 16px; width: var(--space-card-w);}
#sub11 .sec-about-space .space-thumb{width: 100%; aspect-ratio: 329/226; overflow: hidden; background-color: #e2ded5;}
#sub11 .sec-about-space .space-thumb img{width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);}
#sub11 .sec-about-space .space-item:hover .space-thumb img{transform: scale(1.05);}
#sub11 .sec-about-space .space-caption{margin: 0; font-size: clamp(13px, 1.05vw, 20px); font-weight: 500; color: #484848; text-align: right; line-height: 1.6; white-space: nowrap;}


/* ========== sub12: Doctor Intro ========== */
#sub12{background-color: var(--color-bg-light);}
#sub12 .sec-doctor-intro{position: relative; width: 100%; min-height: 1100px; padding: 200px 0 168px; box-sizing: border-box; background: #f7f4ef url('../img/sub12_doctor_bg.png') no-repeat center center / cover; overflow: hidden; display: flex; align-items: center;}
#sub12 .sec-doctor-intro .wrap{max-width: 1390px; margin: 0 auto; width: 100%; padding: 0 40px; box-sizing: border-box;}
#sub12 .sec-doctor-intro .doctor-layout{display: flex; align-items: center; justify-content: space-between; gap: clamp(40px, 7.3vw, 140px); width: 100%;}
#sub12 .sec-doctor-intro .doctor-visual-wrap{position: relative; flex: 0 1 574px; width: 100%; max-width: 574px; min-width: 0;}
#sub12 .sec-doctor-intro .doctor-bg-deco{position: absolute; left: 8.19%; top: 8.08%; width: 91.81%; height: 95.74%; background-color: #c9bbb1; z-index: 1;}
#sub12 .sec-doctor-intro .doctor-photo{position: relative; z-index: 2; width: 93.73%; max-width: 538px;}
#sub12 .sec-doctor-intro .doctor-photo img{width: 100%; height: auto; display: block;}
#sub12 .sec-doctor-intro .doctor-info-wrap{position: relative; z-index: 2; flex: 0 1 596px; width: 100%; max-width: 596px; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: clamp(40px, 4.16vw, 80px);}
#sub12 .sec-doctor-intro .doctor-header{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; width: 100%;}
#sub12 .sec-doctor-intro .doctor-header.mo{display: none;}
#sub12 .sec-doctor-intro .doctor-subtit{margin: 0; font-family: var(--ff-pretendard); font-size: 18px; font-weight: 500; color: #2a2a2a; line-height: normal; letter-spacing: 0; text-align: center;}
#sub12 .sec-doctor-intro .doctor-tit{margin: 0; font-family: var(--ff-cormorant); font-size: clamp(42px, 3.02vw, 58px); font-weight: 600; color: #51331C; line-height: 1; letter-spacing: 0; text-align: center;}
#sub12 .sec-doctor-intro .doctor-quote-box{width: 100%; text-align: center; margin: 0 auto;}
#sub12 .sec-doctor-intro .quote-text{position: relative; z-index: 2; display: inline-block; margin: 0 auto; font-family: var(--ff-notoserif); font-size: clamp(22px, 1.56vw, 30px); font-weight: 500; line-height: 1.66; color: #2a2a2a; word-break: keep-all; text-align: center;}
#sub12 .sec-doctor-intro .quote-text::before, #sub12 .sec-doctor-intro .quote-text::after{position: absolute; font-family: var(--ff-notoserif); font-size: clamp(90px, 7.8vw, 150px); font-weight: 500; color: #e2ddd4; line-height: 1; pointer-events: none; user-select: none; z-index: 1;}
#sub12 .sec-doctor-intro .quote-text::before{content: '“'; top: -35px; left: -58px;}
#sub12 .sec-doctor-intro .quote-text::after{content: '”'; top: 52px; right: -80px;}
#sub12 .sec-doctor-intro .doctor-profile-box{display: flex; flex-direction: column; gap: 34px; width: 100%; max-width: 511px; margin: 0 auto;}
#sub12 .sec-doctor-intro .doctor-name{margin: 0; font-size: 18px; font-weight: 400; color: #2a2a2a; display: flex; align-items: baseline; gap: 6px; text-align: left;}
#sub12 .sec-doctor-intro .doctor-name strong{font-family: var(--ff-pretendard); font-size: clamp(28px, 1.77vw, 34px); font-weight: 600; color: #2a2a2a; line-height: normal;}
#sub12 .sec-doctor-intro .doctor-name span{font-size: 18px; font-weight: 400;}
#sub12 .sec-doctor-intro .doctor-career-grid{display: grid; grid-template-columns: minmax(0, 230px) minmax(0, 247px); gap: clamp(16px, 1.77vw, 34px); width: 100%;}
#sub12 .sec-doctor-intro .career-col{display: flex; flex-direction: column;}
#sub12 .sec-doctor-intro .career-list{list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0;}
#sub12 .sec-doctor-intro .career-list li{font-family: var(--ff-pretendard); font-size: 18px; font-weight: 400; color: #2a2a2a; line-height: 1.44; white-space: nowrap;}
#sub12 .sec-doctor-intro .career-list li:not(.career-spacer)::before{content: '·'; margin-right: 6px;}
#sub12 .sec-doctor-intro .career-list .career-spacer{height: 26px;}

/* Treatment Subpages (sub2~sub4) Visual with Watermark */
.sec-sub-visual2 .wrap{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; text-align: center; pointer-events: none;}
.sec-sub-visual2 .visual-subtit{color: #FFF; font-family: var(--ff-pinyon); font-size: 120px; opacity: 0.16; white-space: nowrap; user-select: none;}
.sec-sub-visual2 .visual-subtit.active{animation-name: subVisualSubtitFade;}
.sec-sub-visual2 .visual-tit{margin-top: -33px; font-family: var(--ff-notoserif); font-size: 46px; font-weight: 600; color: #FFF;}
@keyframes subVisualSubtitFade{from{opacity: 0; transform: translateY(40px);} to{opacity: 0.16; transform: translateY(0);}}

/* ========== Common: Treatment Subpages (sub2 ~ sub4) ========== */

/* 1. 서브페이지 공통 */
.sec-header{text-align: center; margin-bottom: 80px;}
.sec-header .sec-subtit{margin-bottom: 8px; font-family: var(--ff-cormorant); font-size: 24px; font-weight: 600; color: var(--color-primary, #50321C);}
.sec-header .sec-tit{font-family: var(--ff-notoserif); font-size: 32px; font-weight: 500; line-height: 1.56;}


/* 2. 개요 및 철학 섹션 (Intro) */
.sec-treatment-intro{padding: 190px 0 175px; background-color: #FFFDF9;}
.sec-treatment-intro .wrap{max-width: 1280px; margin: 0 auto; width: 92%; display: flex; align-items: center; justify-content: flex-start; gap: clamp(40px, 13.542vw, 260px);}
.sec-treatment-intro .intro-visual{position: relative; width: 494px; max-width: 50%;}
.sec-treatment-intro .intro-visual .img-sub{position: absolute; right: -113px; bottom: -26px; width: 227px;}
.sec-treatment-intro .intro-content{flex: 0 1 528px; max-width: 528px; width: 100%; display: flex; flex-direction: column; gap: 62px; align-items: flex-start;}
.sec-treatment-intro .intro-tit{font-family: var(--ff-notoserif); font-size: 32px; font-weight: 500; line-height: 1.56; letter-spacing: -0.02em;}
.sec-treatment-intro .intro-desc{font-size: 18px; line-height: 1.44;}
.sec-treatment-intro.type-reverse .wrap{justify-content: space-between; gap: 60px;}
.sec-treatment-intro.type-reverse .intro-visual{width: 595px; max-width: 50%;}
.sec-treatment-intro.type-reverse .intro-visual .img-main{width: 100%; height: auto; display: block;}
.sec-treatment-intro.type-reverse .intro-visual .img-sub{display: none;}


/* 3. 맞춤 접근법 섹션 (Approach) */
.sec-treatment-approach{padding: 0px 0 150px 0; background-color: #FFFDF9;}
.sec-treatment-approach .wrap{max-width: 1280px; margin: 0 auto; width: 92%;}
.sec-treatment-approach .treatment-feature-row{display: flex; align-items: center; justify-content: space-between; gap: 60px; max-width: 1280px; margin: 0 auto;}
.sec-treatment-approach .treatment-feature-row .row-content{flex: 0 1 419px; max-width: 419px; width: 100%; display: flex; flex-direction: column; gap: 18px;}
.sec-treatment-approach .treatment-feature-row .row-tit{font-size: 24px; font-family: var(--ff-pretendard); font-weight: 600; line-height: 1.58;}
.sec-treatment-approach .treatment-feature-row .row-desc{font-size: 18px; line-height: 1.44;}
.sec-treatment-approach .treatment-feature-row .row-thumb{flex: 0 0 599px; max-width: 599px; width: 100%; overflow: hidden;}
.sec-treatment-approach .treatment-feature-row .row-thumb img{width: 100%; height: auto; display: block; object-fit: cover;}
.sec-treatment-approach .treatment-card-grid, .treatment-card-grid{display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;}
.sec-treatment-approach .treatment-card, .treatment-card{display: flex; flex-direction: column; background: #ffffff; border-radius: 8px; overflow: hidden;}
.sec-treatment-approach .treatment-card .card-thumb, .treatment-card .card-thumb{width: 100%; aspect-ratio: 599/382; overflow: hidden;}
.sec-treatment-approach .treatment-card .card-thumb img, .treatment-card .card-thumb img{width: 100%; height: 100%; display: block; object-fit: cover; transition: transform 0.4s ease;}
.sec-treatment-approach .treatment-card:hover .card-thumb img, .treatment-card:hover .card-thumb img{transform: scale(1.04);}
.sec-treatment-approach .treatment-card .card-body, .treatment-card .card-body{padding: 30px 20px 0; text-align: center;}
.sec-treatment-approach .treatment-card .card-tit, .treatment-card .card-tit{margin-bottom: 12px; font-size: 24px; font-weight: 600;}
.sec-treatment-approach .treatment-card .card-desc, .treatment-card .card-desc{font-size: 18px; color: #666666; line-height: 1.6;}
.sec-treatment-approach .treatment-type-grid, .treatment-type-grid{display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; max-width: 1280px; margin: 0 auto;}
.sec-treatment-approach .treatment-type-card, .treatment-type-card{background: #FAF8F5; border-radius: 12px; padding: 36px 20px; text-align: center; display: flex; flex-direction: column; gap: 14px;}
.sec-treatment-approach .treatment-type-card .card-tit, .treatment-type-card .card-tit{font-size: 20px; font-weight: 600;}
.sec-treatment-approach .treatment-type-card .card-desc, .treatment-type-card .card-desc{font-size: 16px; color: #666666; line-height: 1.6;}
.sec-treatment-approach .treatment-step-grid, .treatment-step-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; max-width: 1280px; margin: 0 auto;}
.sec-treatment-approach .treatment-step-card, .treatment-step-card{background: #FAF8F5; border-radius: 12px; padding: 40px 30px; display: flex; flex-direction: column; gap: 16px;}
.sec-treatment-approach .treatment-step-card .step-badge, .treatment-step-card .step-badge{font-family: var(--ff-cormorant); font-size: 22px; font-weight: 600; color: var(--color-primary, #50321C);}
.sec-treatment-approach .treatment-step-card .step-desc, .treatment-step-card .step-desc{font-size: 18px; color: #444444; line-height: 1.7;}

/* 4. 추천 대상 섹션 (Recommended For) */
.sec-treatment-recommend{padding: 150px 0; background: #D7D2CA url('../img/sub_recommend_bg.webp') no-repeat center / cover;}
.sec-treatment-recommend .wrap{max-width: 1280px; margin: 0 auto; width: 92%;}
.recommend-list{max-width: 600px; margin: 0 auto; width: 100%; display: flex; flex-direction: column;}
.recommend-item{display: flex; justify-content: center; align-items: center; gap: 16px; padding: 18px 0; border-bottom: 1px solid #c0b5ad; font-size: 20px; line-height: 1.6; text-align: center;}
.recommend-item .check-icon{flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: var(--color-primary, #50321C); display: flex; align-items: center; justify-content: center; color: #ffffff;}
.recommend-item .check-icon svg{width: 14px; height: 14px;}

/* 5. 철학 배너 섹션 (Philosophy Banner) */
.sec-sub-banner{position: relative; min-height: 620px; height: 620px; padding: 142px 0 0; background-position: center; background-repeat: no-repeat; background-size: cover; display: flex; align-items: flex-start; color: #ffffff;}
.sec-sub-banner .wrap{position: relative; z-index: 1; max-width: 1440px; margin: 0 auto; width: 92%; display: flex; flex-direction: column; gap: 62px; align-items: flex-start;}
.sec-sub-banner .banner-tit{font-family: var(--ff-notoserif); font-size: 32px; font-weight: 500; line-height: 1.56;}
.sec-sub-banner .banner-desc{font-size: 18px; line-height: 1.44;}

/* 6. 라인업 섹션 (Line-up) */
.sec-sub-lineup{padding: 150px 0; background-color: #ffffff; overflow: hidden;}
.sec-sub-lineup .wrap{max-width: 1440px; margin: 0 auto; width: 92%;}
.sub-lineup-layout{display: flex; gap: clamp(60px, 8.33vw, 160px); align-items: flex-start; margin-right: calc(50% - 50vw);}
.sub-lineup-side{flex: 0 0 357px; max-width: 357px; display: flex; flex-direction: column; gap: 34px;}
.sub-lineup-side .side-header{display: flex; flex-direction: column; gap: 8px;}
.sub-lineup-side .side-subtit{font-family: var(--ff-cormorant); font-size: 24px; font-weight: 600; line-height: 1.2; color: var(--point, #51331C); }
.sub-lineup-side .side-tit{font-family: var(--ff-notoserif); font-size: 32px; font-weight: 500; line-height: 1.56; letter-spacing: -0.02em;}
.sub-lineup-side .side-desc{font-size: 18px; line-height: 1.44;}
.sub-lineup-track-wrap{flex: 1; min-width: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 20px; scrollbar-width: none; -ms-overflow-style: none;}
.sub-lineup-track-wrap::-webkit-scrollbar{display: none;}
.sub-lineup-track{display: flex; gap: 38px; width: max-content;}
.lineup-card{width: 300px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 30px;}
.lineup-card .card-thumb{width: 300px; height: 300px; background: #F7F4EF; display: flex; align-items: center; justify-content: center; overflow: hidden; margin: 0; flex-shrink: 0;}
.lineup-card .card-thumb img{width: 100%; height: 100%; object-fit: contain; transition: transform 0.4s;}
.lineup-card:hover .card-thumb img{transform: scale(1.05);}
.lineup-card .card-info{display: flex; flex-direction: column; gap: 18px; margin-top: 30px; align-items: center; text-align: center; width: 100%;}
.lineup-card .card-name{margin: 0; font-family: var(--ff-pretendard); font-size: 24px; font-weight: 600; line-height: 26px; color: #2A2A2A;}
.lineup-card .card-desc{margin: 0; font-family: var(--ff-pretendard); font-size: 18px; font-weight: 400; line-height: 26px; color: #2A2A2A; word-break: keep-all;}
.sub-lineup-header{display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 50px;}
.sub-lineup-header .sec-header{text-align: left; margin-bottom: 0;}
.sub-lineup-header .sec-header .header-desc{margin-top: 12px; font-size: 18px; color: #666666; line-height: 1.6;}
.lineup-nav{display: flex; gap: 12px; display: none;}
.lineup-nav-btn{width: 48px; height: 48px; border-radius: 50%; border: 1px solid #d4cdc5; background: #ffffff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.3s;}
.lineup-nav-btn:hover{background: var(--color-primary, #50321C); border-color: var(--color-primary, #50321C); color: #ffffff;}
.lineup-nav-btn.slick-disabled, .lineup-nav-btn.swiper-button-disabled{opacity: 0.35; cursor: default; pointer-events: none;}
.sub-lineup-layout .sub-lineup-slider{flex: 1; min-width: 0; overflow: hidden; position: relative; width: 100%;}
.sub-lineup-slider .swiper-wrapper{display: flex; width: 100%; height: 100%; box-sizing: content-box; transition-property: transform;}
.sub-lineup-slider .swiper-slide{flex-shrink: 0; width: 300px; box-sizing: border-box;}
.sub-lineup-slider .lineup-card{width: 300px;}

/* 7. 주의사항 섹션 (Precautions) */
.sec-sub-precautions{padding: 190px 0; background-color: #F7F4EF;}
.sec-sub-precautions .wrap{max-width: 1440px; margin: 0 auto; width: 92%;}
.sec-sub-precautions .sec-subtit{color: var(--point, #51331C);}
.precautions-wrap{display: flex; justify-content: space-between; align-items: stretch; gap: clamp(24px, 3.5vw, 58px);}
.precautions-thumb{flex: 0 1 582px; max-width: 582px; width: 100%; overflow: hidden; position: relative;}
.precautions-thumb img{position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; display: block;}
.precautions-list{flex: 0 1 800px; max-width: 800px; width: 100%; display: flex; flex-direction: column; gap: 30px;}
.precaution-item{display: flex; align-items: center; gap: 30px; padding: 30px; background-color: #F0EBE1; border-radius: 10px; min-height: 140px; box-sizing: border-box;}
.precaution-item .item-num{width: 80px; height: 80px; min-width: 80px; border-radius: 50%; background: #F7F4EF; display: flex; align-items: center; justify-content: center; font-size: 28px; font-weight: 600; color: #51331C; line-height: 1;}
.precaution-item .item-text{font-size: 20px; line-height: 1.6;}

/* ========== Page-specific Backgrounds ========== */
#sub22 .sec-sub-banner{background: url('../img/sub22_banner_bg.webp') no-repeat center center / cover;}
#sub23 .sec-sub-banner{background: url('../img/sub23_banner_bg.webp') no-repeat center center / cover;}

/* ========== sub51: Care Guide (시술 전후 주의사항) ========== */
#sub51 .sec-careguide{padding: 120px 0; background-color: var(--color-bg-light, #F7F4EF);}
#sub51 .sec-careguide .wrap{max-width: 1280px; margin: 0 auto; width: 92%;}
#sub51 .careguide-acc-list{display: flex; flex-direction: column; gap: 20px; max-width: 1280px; margin: 0 auto;}
#sub51 .careguide-acc-item{background: #ffffff; border-radius: 12px; overflow: hidden; transition: all 0.3s ease;}
#sub51 .careguide-acc-header{display: flex; align-items: center; justify-content: space-between; padding: 36px 40px; cursor: pointer; user-select: none;}
#sub51 .careguide-acc-header .header-info{display: flex; flex-direction: column; gap: 8px;}
#sub51 .careguide-acc-header .guide-subtit{margin: 0; font-family: var(--ff-cormorant); font-size: 20px; font-weight: 600; color: var(--color-primary, #50321C);}
#sub51 .careguide-acc-header .guide-tit{margin: 0; font-size: 26px; font-weight: 600; color: #292929;}
#sub51 .careguide-acc-header .guide-arrow{width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; transition: transform 0.3s ease;}
#sub51 .careguide-acc-item.is-active .guide-arrow{transform: rotate(180deg);}
#sub51 .careguide-acc-body{display: none; padding: 0 40px 40px; border-top: 1px solid #f0ece5;}
#sub51 .careguide-acc-body .guide-desc{margin: 24px 0 0; font-size: 18px; font-weight: 400; color: #555555; line-height: 1.8; word-break: keep-all;}

/* ========== sub52: Location (오시는 길 및 예약 문의) ========== */
#sub52{background-color: #FFFDF9;}
#sub52 .sec-location{padding: 200px 0; background-color: #FFFDF9;}
#sub52 .sec-location .wrap{max-width: 1280px; margin: 0 auto; width: 92%; display: flex; flex-direction: column; gap: 100px;}
#sub52 .location-top-section{display: flex; justify-content: space-between; align-items: flex-start; gap: clamp(40px, 12vw, 300px); width: 100%;}
#sub52 .location-col{flex: 0 1 482px; width: 100%; max-width: 482px; display: flex; flex-direction: column; gap: 40px;}
#sub52 .location-block-tit{margin: 0; font-family: var(--ff-notoserif); font-size: 26px; font-weight: 500; color: #2A2A2A; line-height: 1.46; letter-spacing: -0.01em;}
#sub52 .reservation-content{display: flex; flex-direction: column; gap: 30px; width: 100%;}
#sub52 .phone-number{margin: 0; font-family: var(--ff-pretendard); font-size: 26px; font-weight: 600; color: #2A2A2A; line-height: 1; text-decoration: none; display: inline-block;}
#sub52 .location-btn-group{display: flex; gap: 15px; align-items: center;}
#sub52 .btn-location-link{display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 14px 20px; border: 1px solid #2A2A2A; background-color: transparent; text-decoration: none; color: #2A2A2A; font-family: var(--ff-pretendard); font-size: 16px; font-weight: 500; line-height: 1; transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease; box-sizing: border-box;}
#sub52 .btn-location-link:hover{background-color: var(--color-primary); color: #FFFFFF;}
#sub52 .btn-location-link .btn-icon{width: 26px; height: 26px; object-fit: contain; flex-shrink: 0; display: block;}
#sub52 .reservation-notice{margin: 0; font-family: var(--ff-pretendard); font-size: 16px; font-weight: 400; color: #484848; line-height: 1.5; word-break: keep-all;}
#sub52 .hours-content{display: flex; flex-direction: column; gap: 6px; width: 100%;}
#sub52 .hours-row{display: flex; gap: 22px; align-items: center; font-family: var(--ff-pretendard); font-size: 18px; font-weight: 400; color: #2A2A2A; line-height: 1.44;}
#sub52 .hours-row .day{display: inline-flex; justify-content: space-between; align-items: center; width: 68px; flex-shrink: 0; letter-spacing: normal;}
#sub52 .hours-row .time{white-space: nowrap; font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; display: inline-block;}
#sub52 .hours-closed{margin: 0; padding-top: 4px; font-family: var(--ff-pretendard); font-size: 16px; font-weight: 400; color: #484848; line-height: 1.5;}
#sub52 .location-map-section{display: flex; flex-direction: column; gap: 62px; width: 100%;}
#sub52 .location-map-box{width: 100%; height: 480px; overflow: hidden; background-color: #F7F4EF; border: 1px solid #EFEAE3; position: relative;}
#sub52 .location-map-box #map, #sub52 .location-map-box .map-area{width: 100%; height: 100%;}
#sub52 .medici-map-pin{width: 140px; height: 88px; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; cursor: pointer; position: relative;}
#sub52 .medici-map-pin .pin-badge{background: #ffffff; color: #222222; font-size: 13px; font-weight: 700; padding: 6px 14px; border-radius: 20px; border: 1px solid #e0e0e0; box-shadow: 0 4px 14px rgba(0,0,0,0.15); white-space: nowrap; margin-bottom: 6px; letter-spacing: -0.01em; display: inline-flex; align-items: center; justify-content: center; transition: all 0.25s ease; font-family: var(--ff-pretendard);}
#sub52 .medici-map-pin:hover .pin-badge{transform: translateY(-3px); border-color: #222222; box-shadow: 0 6px 18px rgba(0,0,0,0.22);}
#sub52 .medici-map-pin .pin-icon-wrap{position: relative; width: 44px; height: 54px; display: flex; justify-content: center;}
#sub52 .medici-map-pin .pin-pulse{position: absolute; bottom: 0; left: 50%; width: 24px; height: 8px; background: rgba(211, 47, 47, 0.45); border-radius: 50%; transform: translateX(-50%); animation: mediciPinPulse 2s infinite ease-out; pointer-events: none;}
#sub52 .medici-map-pin svg{filter: drop-shadow(0 4px 10px rgba(0,0,0,0.3)); transition: transform 0.25s ease;}
#sub52 .medici-map-pin:hover svg{transform: scale(1.1);}
#sub52 .location-detail-block{display: flex; flex-direction: column; gap: 40px; width: 100%;}
#sub52 .location-detail-row{display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; width: 100%;}
#sub52 .detail-info-box{display: flex; flex-direction: column; gap: 12px; flex: 1; min-width: 0;}
#sub52 .addr-heading{margin: 0; font-family: var(--ff-pretendard); font-size: 26px; font-weight: 600; color: #2A2A2A; line-height: 34px; letter-spacing: -0.01em;}
#sub52 .subway-route-wrap{display: flex; gap: 10px; align-items: center; flex-wrap: wrap;margin-top: 18px;}
#sub52 .subway-badges{display: flex; gap: 5px; align-items: center; flex-shrink: 0;}
#sub52 .badge-subway{display: inline-flex; align-items: center; justify-content: center; font-family: var(--ff-pretendard); font-size: 15px; font-weight: 400; color: #FFFFFF; border-radius: 99px; line-height: 1; box-sizing: border-box;}
#sub52 .badge-line3{width: 27px; height: 27px; background-color: #FF8000; border: 1px solid #FF8000;}
#sub52 .badge-sinbundang{height: 27px; padding: 0 12px; background-color: #CD2314; border: 1px solid #CD2314;}
#sub52 .subway-text{font-family: var(--ff-pretendard); font-size: 18px; font-weight: 400; color: #2A2A2A; line-height: 1.44;}
#sub52 .parking-info{margin: 0; font-family: var(--ff-pretendard); font-size: 16px; font-weight: 400; color: #484848; line-height: 1.5;}
#sub52 .location-detail-row .location-btn-group{flex-shrink: 0; padding-top: 4px;}

@media(max-width: 1024px){
    /* Common: Sub Page Visual (Mobile) */
    .sec-sub-visual, .sec-sub-visual2{height: 480px;}
    .sec-sub-visual .wrap, .sec-sub-visual2 .wrap{width: 100%; padding: 0 20px; box-sizing: border-box;}
    .sec-sub-visual .visual-subtit{font-size: 20px; margin-bottom: 8px;}
    .sec-sub-visual .visual-tit{font-size: 32px; line-height: 1.25;}
    .sec-sub-visual2 .wrap{top: 50%; transform: translate(-50%, -50%);}
    .sec-sub-visual2 .visual-subtit{font-size: 52px;}
    .sec-sub-visual2 .visual-tit{font-size: 32px; margin-top: -20px;}

    #sub11 .sec-sub-intro{height: 200vh;}
    #sub11 .sec-sub-intro .intro-sticky .intro-bg-box{width: calc(100vw - 32px); max-width: calc(100vw - 32px); height: calc(100vh - 290px); min-height: 260px;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box{top: 0; height: 100vh; padding: 140px 20px; flex-direction: column; justify-content: space-between; gap: 20px;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left{gap: 10px;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left .intro-subtit{font-size: 16px;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-left .intro-tit{font-size: 38px; line-height: 1.05;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-right{align-self: flex-start; justify-content: flex-start; max-width: 100%; margin-top: 0; text-align: left;}
    #sub11 .sec-sub-intro .intro-sticky .intro-cont-box .intro-right .intro-desc{font-size: 15px; line-height: 1.6; text-align: left;}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box{width: 100vw; max-width: 100vw; height: 100vh;}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box .intro-img{filter: brightness(0.65);}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-bg-box .intro-dim{opacity: 1;}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-left .intro-subtit{color: #ffffff;}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-left .intro-tit{color: #ffffff;}
    #sub11 .sec-sub-intro .intro-sticky.is-expand .intro-cont-box .intro-right{opacity: 1; transform: translateY(0);}
    #sub11 .sec-about-philosophy{padding: 100px 20px;}
    #sub11 .sec-about-philosophy .philo-grid{grid-template-columns: repeat(3, 1fr); gap: 10px; max-width: 480px;}
    #sub11 .sec-about-philosophy .philo-center-text .philo-subtit{font-size: 16px;}
    #sub11 .sec-about-philosophy .philo-center-text .philo-tit{font-size: 20px; margin-top: 4px;}
    #sub11 .sec-about-philosophy .philo-text-box{margin-top: 80px;}
    #sub11 .sec-about-philosophy .philo-text-box .philo-heading{font-size: 22px; line-height: 1.4;}
    #sub11 .sec-about-philosophy .philo-text-box .philo-desc{font-size: 16px; line-height: 1.7; margin-top: 40px;}
    #sub11 .sec-about-consult{padding: 0;}
    #sub11 .sec-about-consult .consult-box{height: auto; min-height: 640px; background: #362b18 url('../img/sub11_consult_bg_m_260918.webp') no-repeat center bottom / cover; display: flex; align-items: center; justify-content: center; overflow: hidden; text-align: center;}
    #sub11 .sec-about-consult .consult-glass{width: 100%; max-width: 100%; height: auto; min-height: 640px; padding: 100px 20px 300px; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 40px; backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px);}
    #sub11 .sec-about-consult .consult-glass .consult-head{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; width: 100%;}
    #sub11 .sec-about-consult .consult-glass .consult-tit{font-size: 22px; font-weight: 600; line-height: 1.35; text-align: center;}
    #sub11 .sec-about-consult .consult-glass .consult-subtit{font-size: 18px;}
    #sub11 .sec-about-consult .consult-glass .consult-desc{font-size: 16px; line-height: 1.65;}
    #sub11 .sec-about-way{padding: 100px 20px;}
    #sub11 .sec-about-way .wrap{gap: 40px;}
    #sub11 .sec-about-way .way-header .way-subtit{font-size: 16px;}
    #sub11 .sec-about-way .way-header .way-tit{font-size: 34px;}
    #sub11 .sec-about-way .way-card-list{flex-direction: column; gap: 20px;}
    #sub11 .sec-about-way .way-card{max-width: 100%; min-height: auto; padding: 36px 24px; border-radius: 16px; gap: 24px;}
    #sub11 .sec-about-way .way-card .card-tit{font-size: 22px;}
    #sub11 .sec-about-way .way-card .card-desc{font-size: 16px; line-height: 1.7;}
    #sub11 .sec-about-space .space-layout{flex-direction: column; min-height: auto; width: 100%; box-sizing: border-box;}
    #sub11 .sec-about-space .space-left{width: 100%; min-width: 100%; max-width: 100%; padding: 80px 20px; box-sizing: border-box;}
    #sub11 .sec-about-space .space-left .space-left-subtit{font-size: 16px;}
    #sub11 .sec-about-space .space-left .space-left-tit{font-size: 34px;}
    #sub11 .sec-about-space .space-right{width: 100%; max-width: 100%; padding: 100px 20px; background-size: cover; box-sizing: border-box; overflow: hidden;}
    #sub11 .sec-about-space .space-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; width: 100%; max-width: 100%; margin-left: 0; box-sizing: border-box;}
    #sub11 .sec-about-space .space-row{display: contents; width: 100%; margin-left: 0;}
    #sub11 .sec-about-space .space-row.row-1, #sub11 .sec-about-space .space-row.row-2{margin-left: 0; transform: none;}
    #sub11 .sec-about-space .space-item{width: 100%; min-width: 0; gap: 10px; box-sizing: border-box;}
    #sub11 .sec-about-space .space-thumb{width: 100%; max-width: 100%; aspect-ratio: 329/226; overflow: hidden;}
    #sub11 .sec-about-space .space-caption{font-size: 14px; line-height: 1.4; text-align: center; white-space: normal; word-break: keep-all; width: 100%;}


    #sub12 .sec-doctor-intro{padding: 100px 20px; min-height: auto;}
    #sub12 .sec-doctor-intro .wrap{padding: 0; max-width: 100%;}
    #sub12 .sec-doctor-intro .doctor-layout{flex-direction: column; gap: 60px; align-items: center;}
    #sub12 .sec-doctor-intro .doctor-visual-wrap{flex: none; width: 84%; max-width: 300px; margin: 0 auto;}
    #sub12 .sec-doctor-intro .doctor-bg-deco{left: 8.64%; top: 8.08%; width: 97.95%; height: 95.74%;}
    #sub12 .sec-doctor-intro .doctor-photo{width: 100%; max-width: 100%;}
    #sub12 .sec-doctor-intro .doctor-info-wrap{flex: none; width: 100%; max-width: 100%; gap: 40px;}
    #sub12 .sec-doctor-intro .doctor-header.pc{display: none;}
    #sub12 .sec-doctor-intro .doctor-header.mo{display: flex;}
    #sub12 .sec-doctor-intro .doctor-header{align-items: center; text-align: center; gap: 8px;}
    #sub12 .sec-doctor-intro .doctor-subtit{font-size: 16px;}
    #sub12 .sec-doctor-intro .doctor-tit{font-size: 32px; line-height: 1.1;}
    #sub12 .sec-doctor-intro .doctor-quote-box{max-width: 100%; text-align: center; padding: 15px 0;}
    #sub12 .sec-doctor-intro .quote-text{font-size: 18px; line-height: 1.6;}
    #sub12 .sec-doctor-intro .quote-text::before, #sub12 .sec-doctor-intro .quote-text::after{font-size: 60px;}
    #sub12 .sec-doctor-intro .quote-text::before{top: -20px; left: -15px;}
    #sub12 .sec-doctor-intro .quote-text::after{top: auto; bottom: -40px; right: -15px;}
    #sub12 .sec-doctor-intro .doctor-profile-box{max-width: 100%; gap: 24px; align-items: center;}
    #sub12 .sec-doctor-intro .doctor-name{justify-content: center;}
    #sub12 .sec-doctor-intro .doctor-name strong{font-size: 32px; line-height: 1.2;}
    #sub12 .sec-doctor-intro .doctor-name span{font-size: 20px; line-height: 1.2;}
    #sub12 .sec-doctor-intro .doctor-career-grid{grid-template-columns: 1fr; gap: 12px; width: fit-content; max-width: 100%; margin: 0 auto;}
    #sub12 .sec-doctor-intro .career-list li{font-size: 16px; line-height: 1.6; white-space: normal; text-align: left;}
    #sub12 .sec-doctor-intro .career-list li:not(.career-spacer){display: flex; align-items: baseline;}
    #sub12 .sec-doctor-intro .career-list li:not(.career-spacer)::before{flex-shrink: 0;}
    #sub12 .sec-doctor-intro .career-list .career-spacer{height: 12px;}

    /* 1. 서브페이지 공통 */
    .sec-header{margin-bottom: 40px;}
    .sec-header .sec-subtit{font-size: 18px; margin-bottom: 6px;}
    .sec-header .sec-tit{font-size: 24px; line-height: 1.35;}

    /* 2. 개요 및 철학 섹션 (Intro) */
    .sec-treatment-intro{padding: 100px 0;}
    .sec-treatment-intro .wrap{flex-direction: column; gap: 40px; text-align: center;}
    .sec-treatment-intro .intro-visual{width: 100%; max-width: 300px; margin: 0 auto 30px;}
    .sec-treatment-intro .intro-visual .img-main{border-radius: 0;}
    .sec-treatment-intro .intro-visual .img-sub{border-radius: 0; box-shadow: none; right: -20px; bottom: -20px; width: 150px;}
    .sec-treatment-intro .intro-content{max-width: 100%; gap: 20px; flex: unset; align-items: center; text-align: center;}
    .sec-treatment-intro .intro-tit{font-size: 24px; line-height: 1.35; text-align: center; margin: 0;}
    .sec-treatment-intro .intro-desc{font-size: 16px; line-height: 1.65; text-align: center; margin: 0;}
    .sec-treatment-intro.type-reverse .wrap{gap: 36px;}
    .sec-treatment-intro.type-reverse .intro-visual{order: -1; width: 100%; max-width: min(420px, 100%); margin: 0 auto;}


    /* 3. 맞춤 접근법 섹션 (Approach) */
    .sec-treatment-approach{padding: 0 0 100px 0;}
    .sec-treatment-approach .treatment-card-grid, .treatment-card-grid{grid-template-columns: 1fr; gap: 30px;}
    .sec-treatment-approach .treatment-card .card-body, .treatment-card .card-body{padding: 24px 15px 0;}
    .sec-treatment-approach .treatment-card .card-tit, .treatment-card .card-tit{font-size: 20px;}
    .sec-treatment-approach .treatment-card .card-desc, .treatment-card .card-desc{font-size: 15px;}
    .sec-treatment-approach .treatment-feature-row, .treatment-feature-row{flex-direction: column-reverse; gap: 40px; text-align: center;}
    .sec-treatment-approach .treatment-feature-row .row-content, .treatment-feature-row .row-content{flex: unset; width: 100%; max-width: 100%; gap: 20px; align-items: center; text-align: center;}
    .sec-treatment-approach .treatment-feature-row .row-thumb, .treatment-feature-row .row-thumb{flex: unset; width: 100%; max-width: 100%;}
    .sec-treatment-approach .treatment-feature-row .row-thumb img, .treatment-feature-row .row-thumb img{width: 100%; height: auto; display: block;}
    .sec-treatment-approach .treatment-feature-row .row-tit, .treatment-feature-row .row-tit{font-size: 20px; line-height: 1.4; margin: 0;}
    .sec-treatment-approach .treatment-feature-row .row-desc, .treatment-feature-row .row-desc{font-size: 16px; line-height: 1.6; margin: 0;}
    .sec-treatment-approach .treatment-type-grid, .treatment-type-grid{grid-template-columns: 1fr; gap: 16px;}
    .sec-treatment-approach .treatment-type-card, .treatment-type-card{padding: 24px 20px;}
    .sec-treatment-approach .treatment-type-card .card-tit, .treatment-type-card .card-tit{font-size: 18px;}
    .sec-treatment-approach .treatment-type-card .card-desc, .treatment-type-card .card-desc{font-size: 14px;}
    .sec-treatment-approach .treatment-step-grid, .treatment-step-grid{grid-template-columns: 1fr; gap: 16px;}
    .sec-treatment-approach .treatment-step-card, .treatment-step-card{padding: 24px 20px;}
    .sec-treatment-approach .treatment-step-card .step-badge, .treatment-step-card .step-badge{font-size: 18px;}
    .sec-treatment-approach .treatment-step-card .step-desc, .treatment-step-card .step-desc{font-size: 15px;}

    /* 4. 추천 대상 섹션 (Recommended For) */
    .sec-treatment-recommend{padding: 100px 0;}
    .sec-treatment-recommend .wrap {width: 100%;}
    .recommend-list, .sub22-recommend-list{max-width: 100%; padding: 0 20px; box-sizing: border-box; gap: 0;}
    .recommend-item, .sub22-recommend-item{font-size: 16px; padding: 16px 0; background: transparent; border-radius: 0;}

    /* 5. 철학 배너 섹션 (Philosophy Banner) */
    .sec-sub-banner{height: auto; min-height: auto; padding: 100px 20px; display: flex; align-items: center; justify-content: center; text-align: center;}
    .sec-sub-banner .wrap{width: 100%; max-width: 520px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px;}
    .sec-sub-banner .banner-tit{font-size: clamp(20px, 5.5vw, 24px); line-height: 1.45; letter-spacing: -0.02em; color: #ffffff; text-align: center; margin: 0;}
    .sec-sub-banner .banner-tit::after{content: ''; display: block; width: 32px; height: 1.5px; background: rgba(255, 255, 255, 0.45); margin: 18px auto 0; border-radius: 1px;}
    .sec-sub-banner .banner-desc{font-size: clamp(14px, 3.8vw, 15px); font-weight: 350; line-height: 1.8; letter-spacing: -0.01em; color: rgba(255, 255, 255, 0.88); text-align: center; margin: 0;}

    /* 6. 라인업 섹션 (Line-up) */
    .sec-sub-lineup{padding: 80px 0;}
    .sub-lineup-header{flex-direction: column; align-items: flex-start; gap: 20px;}
    .sub-lineup-header .sec-header{text-align: left;}
    .sub-lineup-header .sec-header .sec-tit{font-size: 26px;}
    .sub-lineup-header .sec-header .header-desc{font-size: 15px;}
    .lineup-nav{display: none;}
    .sub-lineup-layout{flex-direction: column; gap: 40px; margin-right: 0;}
    .sub-lineup-side{flex: none; max-width: 100%; position: static; gap: 16px; text-align: left;}
    .sub-lineup-side .side-tit{font-size: 26px; line-height: 1.35;}
    .sub-lineup-side .side-desc{font-size: 16px; line-height: 1.6;}
    .sub-lineup-track-wrap{margin: 0 -20px; padding: 0 20px 20px;}
    .sub-lineup-track{gap: 20px;}
    .lineup-card{width: 220px; gap: 20px;}
    .lineup-card .card-thumb{width: 220px; height: 220px; margin: 0;}
    .lineup-card .card-thumb img{width: 100%; height: 100%; object-fit: contain;}
    .lineup-card .card-info{gap: 12px;}
    .lineup-card .card-name{margin: 0; font-size: 20px; line-height: 1.2;}
    .lineup-card .card-desc{margin: 0; font-size: 15px; line-height: 1.5;}
    .sub-lineup-layout .sub-lineup-slider{width: 100%; min-width: 0; overflow: visible;}
    .sub-lineup-slider .swiper-slide{width: 220px;}
    .sub-lineup-slider .lineup-card{width: 220px;}

    /* 7. 주의사항 섹션 (Precautions) */
    .sec-sub-precautions{padding: 80px 0;}
    .precautions-wrap{flex-direction: column; gap: 30px;}
    .precautions-thumb{flex: none; width: 100%; max-width: 100%; height: 320px;}
    .precautions-list{max-width: 100%; gap: 16px; flex: unset;}
    .precaution-item{height: auto; min-height: auto; padding: 20px; gap: 18px;}
    .precaution-item .item-num{width: 52px; height: 52px; min-width: 52px; font-size: 20px;}
    .precaution-item .item-text{font-size: 16px; line-height: 1.6;}
    .precautions-grid{grid-template-columns: 1fr; gap: 16px;}
    .precaution-card{padding: 24px 20px; gap: 12px;}
    .precaution-card .card-num{font-size: 24px;}
    .precaution-card .card-text{font-size: 15px;}

    /* sub51 Careguide Mobile */
    #sub51 .sec-careguide{padding: 80px 0;}
    #sub51 .careguide-acc-header{padding: 24px 20px;}
    #sub51 .careguide-acc-header .guide-subtit{font-size: 16px;}
    #sub51 .careguide-acc-header .guide-tit{font-size: 18px;}
    #sub51 .careguide-acc-body{padding: 0 20px 24px;}
    #sub51 .careguide-acc-body .guide-desc{font-size: 14px; line-height: 1.7;}

    /* sub52 Location Mobile */
    #sub52 .sec-location{padding: 100px 0;}
    #sub52 .sec-location .wrap{width: 100%; padding: 0 20px; box-sizing: border-box; gap: 60px;}
    #sub52 .location-top-section{flex-direction: column; gap: 48px;}
    #sub52 .location-col{flex: none; width: 100%; max-width: 100%; gap: 24px;}
    #sub52 .location-block-tit{font-size: 22px; line-height: 1.46;}
    #sub52 .reservation-content{gap: 20px;}
    #sub52 .phone-number{font-size: 32px;}
    #sub52 .location-btn-group{width: 100%; gap: 10px;}
    #sub52 .btn-location-link{flex: 1; padding: 12px 10px; font-size: 16px; gap: 8px; justify-content: center;}
    #sub52 .btn-location-link .btn-icon{width: 22px; height: 22px;}
    #sub52 .reservation-notice{font-size: 16px; line-height: 1.5;}
    #sub52 .hours-content{gap: 6px;}
    #sub52 .hours-row{font-size: 18px; line-height: 1.44; gap: 16px;}
    #sub52 .hours-row .day{width: 80px;}
    #sub52 .hours-closed{padding-top: 4px; font-size: 16px; line-height: 1.5;}
    #sub52 .location-map-section{gap: 40px;}
    #sub52 .location-map-box{height: 320px;}
    #sub52 .medici-map-pin{transform: scale(0.88); transform-origin: bottom center;}
    #sub52 .location-detail-block{gap: 24px;}
    #sub52 .location-detail-row{flex-direction: column; gap: 24px;}
    #sub52 .location-detail-row .location-btn-group{width: 100%; padding-top: 0;}
    #sub52 .detail-info-box{gap: 12px;}
    #sub52 .addr-heading{font-size: 18px; line-height: 1.4; word-break: keep-all;}
    #sub52 .subway-route-wrap{margin-top: 8px; gap: 8px;}
    #sub52 .subway-badges{gap: 4px;}
    #sub52 .badge-subway{font-size: 14px;}
    #sub52 .badge-line3{width: 24px; height: 24px;}
    #sub52 .badge-sinbundang{height: 24px; padding: 0 10px;}
    #sub52 .subway-text{font-size: 16px; line-height: 1.44;}
    #sub52 .parking-info{font-size: 16px; line-height: 1.5;}
}

/* ========== sub21: Botox & Filler ========== */
#sub21 .treatment-card-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(30px, 4.271vw, 82px); max-width: 1280px; margin: 0 auto;}
#sub21 .treatment-card{display: flex; flex-direction: column; gap: 28px; min-width: 0; text-align: center; background: transparent; border-radius: 0; box-shadow: none; overflow: visible;}
#sub21 .treatment-card .card-thumb{width: 100%; height: auto; overflow: hidden; border-radius: 0; aspect-ratio: auto;}
#sub21 .treatment-card .card-thumb img{width: 100%; height: auto; display: block; object-fit: cover; transition: transform 0.4s ease;}
#sub21 .treatment-card:hover .card-thumb img{transform: scale(1.03);}
#sub21 .treatment-card .card-body{padding: 0; display: flex; flex-direction: column; gap: 18px; text-align: center;}
#sub21 .treatment-card .card-tit{line-height: 1.58; margin: 0;}
#sub21 .treatment-card .card-desc{word-break: keep-all; color: var(--color-text);}
#sub21 .sec-sub-banner{background: url('../img/sub21_banner_bg.webp') no-repeat center / cover;}
#sub21 .sec-sub-lineup{background-color: #FFFDF9;}
#sub21 .sub-lineup-side{flex: 0 0 auto; max-width: none; position: static;}
#sub21 .sub-lineup-track-wrap{scroll-snap-type: x mandatory;}
#sub21 .sub-lineup-track-wrap:focus-visible{outline: 2px solid var(--point); outline-offset: 4px;}
#sub21 .lineup-card{flex-shrink: 0; scroll-snap-align: start;}
#sub21 .lineup-card .card-thumb{width: 100%; height: auto; border-radius: 0;}
#sub21 .lineup-card .card-thumb img{width: 100%; height: auto; max-width: none; max-height: none;}
#sub21 .lineup-card .card-name{font-family: var(--ff-pretendard);}

@media(max-width: 1024px){
    #sub21 .sec-treatment-approach{padding: 0 0 80px 0;}
    #sub21 .sec-treatment-approach .sec-header{margin-bottom: 40px;}
    #sub21 .treatment-card-grid{grid-template-columns: 1fr; gap: 40px;}
    #sub21 .treatment-card{gap: 20px;}
    #sub21 .treatment-card .card-body{gap: 12px;}
    #sub21 .sec-treatment-intro .intro-visual{max-width: min(300px, calc(100% - 40px));}
    #sub21 .sub-lineup-track-wrap{width: 100%; margin: 0; padding: 0 0 20px;}
    #sub21 .sub-lineup-track{gap: 20px;}
    #sub21 .sec-sub-banner{background-size: cover;}
    #sub21 .precautions-list{flex: none;}
}

/* ========== sub31: Pigment & Flushing ========== */
#sub31 .sec-sub-banner{background: url('../img/sub31_banner_bg.webp') no-repeat center / cover;}
#sub31 .sec-sub31-type{padding: 0 0 150px 0;}
#sub31 .sec-sub31-type .sec-header{margin-bottom: 70px; text-align: center;}
#sub31 .sec-sub31-type .sec-subtit{color: var(--color-primary, #50321C);}
#sub31 .pigment-type-wrap{display: flex; flex-direction: column; align-items: center; gap: 50px; max-width: 1280px; margin: 0 auto; width: 100%;}
#sub31 .pigment-type-row{display: flex; justify-content: center; gap: 50px; width: 100%;}
#sub31 .pigment-type-card{width: 336px; height: 336px; border-radius: 50%; background: #F1EAE0; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 30px; box-sizing: border-box;}
#sub31 .pigment-type-card .card-tit{margin: 0 0 18px; font-size: 24px; font-weight: 600; color: #2a2a2a; line-height: 1.58;}
#sub31 .pigment-type-card .card-desc{margin: 0; font-size: 18px; font-weight: 400; color: #2a2a2a; line-height: 1.44; word-break: keep-all;}
#sub31 .side-header .side-desc{margin-top: 24px; font-size: 18px; font-weight: 400; color: #2a2a2a; line-height: 1.6; word-break: keep-all;}

@media(max-width: 1024px){
    #sub31 .sec-sub31-type{padding: 0 0 80px 0;}
    #sub31 .sec-sub31-type .sec-header{margin-bottom: 40px;}
    #sub31 .pigment-type-wrap{max-width: 520px; width: 100%; margin: 0 auto; gap: 14px;}
    #sub31 .pigment-type-row{flex-direction: column; width: 100%; gap: 14px;}
    #sub31 .pigment-type-card{width: 100%; height: auto; min-height: auto; border-radius: 16px; padding: 26px 20px;}
    #sub31 .pigment-type-card .card-tit{font-size: 19px; margin-bottom: 8px; line-height: 1.35;}
    #sub31 .pigment-type-card .card-desc{font-size: 15px; line-height: 1.5; word-break: keep-all;}
    #sub31 .side-header .side-desc{margin-top: 14px; font-size: 15px;}
}

/* ========== sub32: Pores & Acne & Scars ========== */
#sub32 .sec-sub-banner{background: url('../img/sub32_banner_bg.webp') no-repeat center / cover;}
#sub32 .sec-sub32-step{padding: 150px 0; background-color: #F7F4EF;}
#sub32 .sec-sub32-step .sec-header{margin-bottom: 70px; text-align: center;}
#sub32 .sec-sub32-step .sec-subtit{color: var(--color-primary, #50321C);}
#sub32 .poreacne-step-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px; max-width: 1000px; margin: 0 auto; width: 100%;}
#sub32 .poreacne-step-card{display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px;}
#sub32 .poreacne-step-card .step-icon-circle{width: 240px; height: 240px; border-radius: 50%; background: #F1EBE0; display: flex; align-items: center; justify-content: center;}
#sub32 .poreacne-step-card .step-icon-circle img{width: auto; height: auto; max-width: 84px; max-height: 84px; object-fit: contain; display: block;}
#sub32 .poreacne-step-card .step-card-info{display: flex; flex-direction: column; align-items: center; gap: 20px; width: 100%;}
#sub32 .poreacne-step-card .step-badge{display: inline-flex; align-items: center; justify-content: center; min-width: 108px; padding: 6px 16px; line-height: 1.9; border-radius: 99px; color: #ffffff; font-family: var(--ff-pretendard); font-size: 20px; font-weight: 600; letter-spacing: 0.02em;}
#sub32 .poreacne-step-card:nth-child(1) .step-badge, #sub32 .step-badge.step-1{background-color: #C9A777;}
#sub32 .poreacne-step-card:nth-child(2) .step-badge, #sub32 .step-badge.step-2{background-color: #A67F63;}
#sub32 .poreacne-step-card:nth-child(3) .step-badge, #sub32 .step-badge.step-3{background-color: #51331C;}
#sub32 .poreacne-step-card .step-desc{margin: 0; font-size: 18px; font-weight: 400; color: #2a2a2a; line-height: 1.44; word-break: keep-all;}

@media(max-width: 1024px){
    #sub32 .sec-sub32-step{padding: 80px 0;}
    #sub32 .sec-sub32-step .sec-header{margin-bottom: 40px;}
    #sub32 .poreacne-step-grid{grid-template-columns: 1fr; gap: 40px; max-width: 320px;}
    #sub32 .poreacne-step-card{gap: 20px;}
    #sub32 .poreacne-step-card .step-icon-circle{width: 180px; height: 180px;}
    #sub32 .poreacne-step-card .step-icon-circle img{max-width: 64px; max-height: 64px;}
    #sub32 .poreacne-step-card .step-card-info{gap: 12px;}
    #sub32 .poreacne-step-card .step-badge{font-size: 17px; padding: 4px 14px; min-width: 96px;}
    #sub32 .poreacne-step-card .step-desc{font-size: 15px; line-height: 1.5;}
}

/* ========== sub41: Medical Care (Aesthetic & IV Clinic) ========== */
#sub41 .visual-desc-tag{margin-top: 43px; font-size: 18px; font-weight: 500; color: #ffffff; text-align: center; line-height: normal;}
#sub41 .sec-sub-banner{background: url('../img/sub41_banner_bg.webp') no-repeat center / cover;}
#sub41 .sec-sub41-iv{padding: 150px 0; background-color: #FAF8F5;}
#sub41 .iv-intro-layout{display: grid; grid-template-columns: minmax(0, 595px) 1fr; gap: clamp(40px, 7.81vw, 150px); align-items: center; max-width: 1280px; margin: 0 auto; width: 100%;}
#sub41 .iv-intro-thumb{width: 100%; overflow: hidden; border-radius: 0;}
#sub41 .iv-intro-thumb img{width: 100%; height: auto; display: block; object-fit: cover;}
#sub41 .iv-intro-content{display: flex; flex-direction: column; gap: 30px;}
#sub41 .iv-intro-tit{margin: 0 0 30px 0; font-family: var(--ff-notoserif); font-size: 32px; font-weight: 500; color: #2a2a2a; line-height: 1.38;}
#sub41 .iv-intro-desc{margin: 0; font-size: 18px; font-weight: 400; color: #2a2a2a; line-height: 1.44; word-break: keep-all;}
#sub41 .iv-check-list{display: flex; flex-direction: column; gap: 8px; margin-top: 6px;}
#sub41 .iv-check-item{display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid #F1EBE0;}
#sub41 .iv-check-item .check-icon{flex-shrink: 0; display: inline-block; width: 20px; height: 18px; background-color: #51331C; -webkit-mask: url('../img/sub41_iv_icon.svg') no-repeat center / contain; mask: url('../img/sub41_iv_icon.svg') no-repeat center / contain;}
#sub41 .iv-check-item .check-text{margin: 0; font-size: 16px; font-weight: 400; color: #484848; line-height: 1.5; word-break: keep-all;}

@media(max-width: 1024px){
    #sub41 .visual-desc-tag{font-size: 15px; margin-top: 12px;}
    #sub41 .sec-sub41-iv{padding: 80px 0;}
    #sub41 .iv-intro-layout{grid-template-columns: 1fr; gap: 36px;}
    #sub41 .iv-intro-thumb{max-width: min(420px, 100%); margin: 0 auto;}
    #sub41 .iv-intro-content{gap: 20px;}
    #sub41 .iv-intro-tit{font-size: 24px; margin-bottom: 16px;}
    #sub41 .iv-intro-desc{font-size: 15px;}
    #sub41 .iv-check-item{padding: 8px 0; gap: 10px; align-items: flex-start;}
    #sub41 .iv-check-item .check-icon{margin-top: 2px;}
    #sub41 .iv-check-item .check-text{font-size: 14px;}
}

