@charset "utf-8";

/* 서브페이지 공통 */
#sub_page{position:relative;min-width:var(--main-size);width:100%;line-height:1.5;font-family:var(--k-font), var(--e-font)}
#sub_page .section_tit{text-align:center}
#sub_page .section_eyebrow{margin:0 0 18px;font-size:18px;font-weight:700;font-family:var(--e-font);letter-spacing:.22em;color:#0699bf}
#sub_page .section_h2{margin:0;font-size:54px;font-weight:700;font-family:var(--k-font);line-height:1.16;letter-spacing:-.03em;color:var(--black)}
#sub_page .section_h2 span{color:var(--primary)}
#sub_page .section_rule{display:block;width:42px;height:3px;margin:26px auto 24px;background-color:var(--primary)}
#sub_page .section_p{margin:0;font-size:19px;font-weight:400;line-height:1.55;letter-spacing:-.025em;color:#555b60}
@media (max-width:1980px){
#sub_page .section_eyebrow{font-size:17px}
#sub_page .section_p{font-size:18px}
}
#sub_page .sub_wrap, #sub_page .dr_career_wrap, #sub_page .rv_wrap,
#sub_page .sub_hero_inner, #sub_page .sub_cta_inner{margin:0 auto;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2)}

/* 페이지 히어로 */
#sub_page .sub_hero{padding:var(--sec-pad) 0 calc(var(--sec-pad) - 30px);text-align:center;background-color:#ebf7f9}
#sub_page .sub_label{display:block;font-size:18px;font-weight:700;font-family:var(--e-font);letter-spacing:0.22em;color:#0699bf}
#sub_page .sub_h2{margin-top:18px;font-size:54px;font-weight:700;line-height:1.16;letter-spacing:-0.03em;color:var(--black)}
#sub_page .sub_h2 span{font-weight:700;color:var(--primary)}
#sub_page .sub_p{margin-top:16px;font-size:19px;font-weight:400;color:#666}

/* 공통 CTA 밴드 */
#sub_page .sub_cta{padding:var(--sec-pad) 0;text-align:center;background-color:#111}
#sub_page .sub_cta h3{font-size:40px;font-weight:700;letter-spacing:-0.02em;color:#fff}
#sub_page .sub_cta p{margin-top:18px;font-size:18px;font-weight:400;color:rgb(255, 255, 255, 0.6)}
#sub_page .sub_cta_btns{display:flex;justify-content:center;gap:14px;margin-top:44px}
#sub_page .sub_cta_btns a{display:flex;justify-content:center;align-items:center;height:60px;padding:0 36px;border:2px solid var(--primary);border-radius:30px;font-size:17px;font-weight:600;transition:all .3s}
#sub_page .sub_cta_btns .btn_line{color:var(--primary);background-color:transparent}
#sub_page .sub_cta_btns .btn_line:hover{color:#fff;background-color:var(--primary)}
#sub_page .sub_cta_btns .btn_fill{color:#fff;background-color:var(--primary)}
#sub_page .sub_cta_btns .btn_fill:hover{color:var(--primary);background-color:transparent}

/* ---------------- 대표원장 소개 ---------------- */

#dr_intro{position:relative;overflow:hidden;padding:var(--sec-pad) 0 40px;background-color:#f7fbfc}
/* 배경 장식 — 좌상단 링과 좌측 도트 그리드 */
#dr_intro::before{content:'';position:absolute;top:-210px;left:-200px;width:540px;height:540px;border:1px solid #d7eff4;border-radius:50%}
#dr_intro::after{content:'';position:absolute;top:340px;left:24px;width:104px;height:104px;background-image:radial-gradient(#d7eff4 2px, transparent 2px);background-size:21px 21px}
/* 좌측 여백이 좁아지면 도트가 본문 위로 파고든다 */
@media (max-width:1780px){#dr_intro::after{display:none}}
#dr_intro .dr_intro_wrap{position:relative;z-index:1;display:flex;align-items:center;gap:80px;margin:0 auto;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2)}
#dr_intro .dr_intro_txt{flex:1 1 auto;min-width:0}
#dr_intro .dr_intro_label{display:block;font-size:14px;font-weight:600;font-family:var(--e-font);letter-spacing:0.18em;color:var(--primary)}
#dr_intro h3{margin-top:24px;font-size:48px;font-weight:700;line-height:1.28;letter-spacing:-0.03em;color:var(--black)}
#dr_intro h3 span{color:var(--primary)}
#dr_intro .dr_intro_bar{position:relative;display:block;margin:40px 0;width:230px;height:1px;background-color:var(--primary)}
#dr_intro .dr_intro_bar::after{content:'';position:absolute;top:-3px;right:-2px;width:7px;height:7px;border-radius:50%;background-color:var(--primary)}
#dr_intro p{font-size:19px;font-weight:400;line-height:2;color:#888}
/* 좁은 화면에서는 수동 줄바꿈이 자연 줄바꿈과 겹쳐 외톨이 단어가 생긴다 */
@media (max-width:1860px){#dr_intro p br{display:none}}

/* 인용 카드 — 인물컷은 카드 우하단에 붙여 아래에서 잘리게 한다 */
#dr_intro .dr_quote{position:relative;overflow:hidden;flex:0 0 780px;min-height:500px;padding:60px 56px;border-radius:16px;background-image:linear-gradient(135deg, #e8f7fa 0%, #f7fbfc 100%)}
#dr_intro .dr_quote_ring{position:absolute;top:60px;right:80px;width:350px;height:350px;border:1px solid #d7eff4;border-radius:50%}
#dr_intro .dr_quote_ring::before{content:'';position:absolute;top:50%;left:-6px;width:12px;height:12px;margin-top:-6px;border-radius:50%;background-color:#d7eff4}
#dr_intro .dr_quote_txt{position:relative;z-index:2;font-size:23px;font-weight:500;line-height:1.62;letter-spacing:-0.02em;color:#333}
#dr_intro .dr_quote_txt .mark{display:block;margin-bottom:6px;font-size:64px;font-family:Georgia, var(--e-font), serif;line-height:0.6;opacity:0.42;color:var(--primary)}
#dr_intro .dr_quote_txt em{font-style:normal;font-weight:600;color:var(--primary)}
#dr_intro .dr_quote_name{position:relative;z-index:2;margin-top:44px;padding-left:16px;border-left:2px solid var(--primary)}
#dr_intro .dr_quote_name strong{display:block;font-size:24px;font-weight:700;letter-spacing:-0.02em;color:var(--black)}
#dr_intro .dr_quote_name span{display:block;margin-top:6px;font-size:14px;font-weight:400;color:#888}
#dr_intro .dr_quote_sign{position:relative;z-index:2;display:block;margin-top:18px;width:168px;height:auto;opacity:0.55}
#dr_intro .dr_quote_photo{position:absolute;z-index:1;right:34px;bottom:0;width:auto;height:455px;object-fit:contain;object-position:bottom}

#dr_points_page{padding:var(--sec-pad) 0;background-color:#ebf7f9}
/* default.css 리셋이 ul 만 처리해 ol 기본 마커가 카드 밖으로 노출된다 */
#dr_points_page .dr_point_list{display:grid;grid-template-columns:repeat(4, 1fr);gap:30px;margin:70px auto 0;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2);list-style:none}
#dr_points_page .dr_point_list > li{padding:46px 38px 42px;border-radius:10px;background-color:#fff}
#dr_points_page .num{display:block;font-size:15px;font-weight:600;font-family:var(--e-font);letter-spacing:0.08em;color:var(--primary)}
#dr_points_page h3{margin:16px 0 12px;font-size:24px;font-weight:700;line-height:1.35;letter-spacing:-0.02em;color:var(--black)}
#dr_points_page p{font-size:17px;font-weight:400;line-height:1.7;color:#777}

#dr_career{padding:0 0 var(--sec-pad);background-color:#f7fbfc}
/* 화이트 카드 안에 아이콘 헤더 + 3열 약력 */
#dr_career .dr_career_wrap{display:flex;align-items:center;gap:80px;padding:52px 60px;border-radius:16px;background-color:#fff;box-shadow:0 10px 40px rgb(17, 17, 17, 0.05)}
#dr_career .dr_career_head{display:flex;align-items:center;gap:26px;flex:0 0 300px}
#dr_career .dr_career_icon{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:96px;height:96px;border-radius:50%;color:var(--primary);background-color:#ebf7f9}
#dr_career .dr_career_icon svg{width:38px;height:38px}
#dr_career .dr_intro_label{display:block;font-size:13px;font-weight:600;font-family:var(--e-font);letter-spacing:0.18em;color:var(--primary)}
#dr_career h3{margin-top:8px;padding-bottom:16px;font-size:34px;font-weight:700;letter-spacing:-0.03em;color:var(--black)}
#dr_career .dr_career_ttl h3{border-bottom:1px solid #d7eff4}
/* 10건을 4 / 3 / 3 으로 나눠 열 높이를 맞춘다 */
#dr_career .dr_career_list{flex:1 1 auto;min-width:0;display:grid;grid-template-columns:repeat(3, 1fr);grid-auto-flow:row dense;column-gap:54px}
#dr_career .dr_career_list > li:nth-child(-n+4){grid-column:1}
#dr_career .dr_career_list > li:nth-child(n+5):nth-child(-n+7){grid-column:2}
#dr_career .dr_career_list > li:nth-child(n+8){grid-column:3}
#dr_career .dr_career_list > li{display:flex;align-items:baseline;gap:18px;padding:13px 0;border-bottom:1px solid #f0f0f0}
#dr_career .dr_career_list > li:nth-child(4), #dr_career .dr_career_list > li:nth-child(7),
#dr_career .dr_career_list > li:nth-child(10){border-bottom:0}
#dr_career .cate{flex-shrink:0;width:34px;font-size:13px;font-weight:600;color:var(--primary)}
#dr_career .dr_career_list p{flex:1 1 auto;min-width:0;font-size:15px;font-weight:400;line-height:1.5;color:#555}

#dr_team{padding:var(--sec-pad) 0;background-color:#fff;border-top:1px solid #eee}
/* 섹션 타이틀을 페이지 히어로가 대신하는 경우 */
#dr_team.no_tit{border-top:0}
#dr_team.no_tit .dr_team_list{margin-top:0}
#dr_team .dr_team_list{display:grid;grid-template-columns:repeat(3, 1fr);gap:30px;margin:70px auto 0;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2)}

/* 의료진 카드 — 상단은 인물컷 + 카피, 하단은 전문/특화 목록 */
#dr_team .staff_card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e8e8e8;border-radius:10px;background-color:#fff;transition:all .3s}
#dr_team .staff_card:hover{border-color:var(--primary);box-shadow:0 14px 34px rgb(17, 17, 17, 0.08)}

#dr_team .staff_top{position:relative;overflow:hidden;padding:34px 34px 0;height:432px;border-top:3px solid var(--primary);background-color:#f8f9fa}
#dr_team .staff_name{position:relative;z-index:2;display:flex;align-items:baseline;gap:8px;font-size:17px;font-weight:400;color:#555}
#dr_team .staff_name strong{font-size:21px;font-weight:700;color:var(--black)}
#dr_team .staff_name .sep{color:#ccc}
#dr_team .staff_catch{position:relative;z-index:2;margin-top:30px;font-size:26px;font-weight:400;line-height:1.42;letter-spacing:-0.02em;color:var(--primary)}
#dr_team .staff_tags{position:relative;z-index:2;margin-top:26px;font-size:14px;font-weight:400;line-height:1.72;color:#999}

/* 인물컷은 카드 우측 하단에 붙여 상단 영역 경계에서 잘리게 한다 */
#dr_team .staff_photo{position:absolute;z-index:1;right:0;bottom:0;width:auto;height:392px;object-fit:contain;object-position:bottom}

#dr_team .staff_bottom{flex:1 1 auto;padding:30px 34px 34px}
#dr_team .staff_row{display:flex;gap:20px}
#dr_team .staff_row+.staff_row{margin-top:22px;padding-top:22px;border-top:1px solid #eee}
#dr_team .staff_label{flex-shrink:0;width:52px;height:26px;border-radius:13px;font-size:13px;font-weight:600;text-align:center;line-height:26px;color:var(--primary);background-color:#ebf7f9}
#dr_team .staff_list{flex:1 1 auto;min-width:0;list-style:none}
#dr_team .staff_list > li{position:relative;padding-left:12px;font-size:15px;font-weight:400;line-height:1.7;color:#777}
#dr_team .staff_list > li::before{content:'';position:absolute;top:11px;left:0;width:4px;height:1px;background-color:#bbb}

#dr_team .dr_team_note{margin:26px auto 0;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2);font-size:14px;font-weight:400;text-align:right;color:#999}

/* ---------------- 고객 후기 ---------------- */

#rv_summary{padding:var(--sec-pad) 0 0;background-color:#fff}
#rv_summary .rv_score_box{display:flex;align-items:center;justify-content:center;gap:70px;margin:0 auto;padding:52px 60px;width:var(--wrap-narrow);max-width:calc(100% - var(--wrap-gap) * 2);border:1px solid #eee;border-radius:10px}
#rv_summary .rv_score{text-align:center}
#rv_summary .rv_score strong{display:block;font-size:62px;font-weight:700;line-height:1;color:var(--primary)}
#rv_summary .rv_score span{display:block;margin-top:12px;font-size:16px;color:#888}
#rv_summary .rv_score_bars{flex:1 1 auto;min-width:0}
#rv_summary .rv_bar_row{display:flex;align-items:center;gap:16px}
#rv_summary .rv_bar_row+.rv_bar_row{margin-top:12px}
#rv_summary .rv_bar_row .label{flex-shrink:0;width:142px;font-size:15px;white-space:nowrap;color:#666}
#rv_summary .rv_bar{flex:1 1 auto;height:8px;border-radius:4px;background-color:#eee}
#rv_summary .rv_bar i{display:block;height:100%;border-radius:4px;background-color:var(--primary)}
#rv_summary .rv_bar_row .pct{flex-shrink:0;width:48px;font-size:15px;font-weight:600;text-align:right;color:var(--primary)}

#rv_list{padding:70px 0 var(--sec-pad);background-color:#fff}
#rv_list .rv_page_grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;margin:0 auto;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2)}
#rv_list .rv_page_card{display:flex;flex-direction:column;padding:34px 34px 28px;border:1px solid #eee;border-radius:10px;transition:all .3s}
#rv_list .rv_page_card:hover{border-color:var(--primary);box-shadow:0 10px 30px rgb(17, 17, 17, 0.06)}
#rv_list .rv_page_top{display:flex;align-items:center;gap:12px}
#rv_list .rv_page_avatar{display:flex;justify-content:center;align-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;font-size:16px;font-weight:700;color:#fff;background-color:var(--primary)}
#rv_list .rv_page_who{flex:1 1 auto;min-width:0}
#rv_list .rv_page_who strong{display:block;font-size:16px;font-weight:700;color:var(--black)}
#rv_list .rv_page_badge{display:inline-block;margin-top:5px;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600;color:var(--primary);background-color:#ebf7f9}
#rv_list .rv_page_text{margin-top:20px;flex:1 1 auto;font-size:16px;font-weight:400;line-height:1.75;color:#555}
#rv_list .rv_imgs{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
#rv_list .rv_page_img{width:88px;height:88px;border-radius:8px;object-fit:cover;background-color:#f5f5f5}
#rv_list .rv_page_foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:18px;border-top:1px solid #eee}
#rv_list .rv_page_type{font-size:14px;font-weight:600;color:var(--primary)}
#rv_list .rv_page_date{font-size:14px;font-weight:400;color:#999}
#rv_list .rv_source_note{margin:36px auto 0;width:var(--wrap);max-width:calc(100% - var(--wrap-gap) * 2);font-size:15px;line-height:1.6;text-align:center;color:#888}
#rv_list .rv_source_note a{color:var(--primary);text-decoration:underline;text-underline-offset:3px}

#sub_page .rv_page_stars{display:block;font-size:19px;letter-spacing:0.06em;line-height:1;color:var(--primary)}
#rv_summary .rv_score .rv_page_stars{margin:14px 0 0;color:var(--primary)}
#rv_list .rv_page_top .rv_page_stars{flex-shrink:0;font-size:15px}
