/* ==========================================================================
 [GLOBAL] 공통 레이아웃 및 유틸리티 (Layout & Common)
 ========================================================================== */
/* Hero 섹션 공통 */
.faculty_hero { display: flex; justify-content: center; align-items: center; height: 500px; position: relative; background: url('/images/sub/comm_topbg/faculty_bg.png') no-repeat center center / cover; text-align: center; color: var(--text-white); } 

.hero_overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--bg-overlay); z-index: 1; } 

.faculty_hero .inner_con { position: relative; z-index: 2; } 

.hero_sub { font-size: 20px; margin-bottom: 32px; text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } 

.hero_title { font-family: var(--sub-section-font-family); font-size: 40px; font-weight: var(--font-weight-bold); line-height: 1.1; margin-bottom: 10px; text-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); } 

.hero_desc { font-family: var(--sub-section-font-family); font-size: var(--font-size-h5); font-weight: var(--font-weight-light); opacity: 0.9; max-width: 700px; margin: 0 auto; } 

/* 컨테이너 유틸리티 */
.sub_container { flex: 1; width: 100%; max-width: 1400px; margin: 80px auto; padding: 20px; } 

.container_narrow { max-width: 800px; margin: 0 auto; } 

.container_medium { max-width: 900px; margin: 0 auto; } 

.section_padding_medium { padding: 60px 0; } 

.flex_display { display: flex; justify-content: center; align-items: center; position: relative; width: 100%; } 

.certification_flex_display { display: flex; justify-content: center; align-items: center; position: relative; width: 100%; gap:20px; } 

/* 제목 및 텍스트 유틸리티 */
.sub_title { font-size: 36px; font-weight: bold; text-align: center; color: #333; margin-top: 20px; } 

.no_border_title { border-bottom: none !important; } 

.bg_deco_circle::before { content: ''; position: absolute; top: -100px; left: -100px; width: 400px; height: 400px; background-color: rgba(0, 68, 148, 0.04); border-radius: 50%; z-index: -1; pointer-events: none; } 

.bg_deco_hexagon { position: relative; overflow: hidden; z-index: 0; background-color: var(--bg-white); } 

.bg_deco_hexagon::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0.4; z-index: -1; pointer-events: none; background: linear-gradient(150deg, rgba(0, 68, 148, 0.1) 1px, transparent 1px), linear-gradient(30deg, rgba(0, 68, 148, 0.1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 68, 148, 0.1) 1px, transparent 1px); background-size: 60px 104px, 60px 104px, 60px 52px; background-position: 0 0, 0 0, 30px 26px; } 

/* ==========================================================================
 [GLOBAL] UI 컴포넌트 (Tabs, Buttons, Popups, Search)
 ========================================================================== */
/* 서브페이지 탭 메뉴 */
.subpage_tab_section { position: -webkit-sticky; position: sticky; top: 50px; z-index: 100; padding: 20px 0; background-color: rgba(255, 255, 255, 0.9); border-bottom: 1px solid #eee; transition: all 0.3s ease; } 

.subpage_tab_list { display: flex; justify-content: center; /* PC: 중앙 정렬 */
 flex-wrap: wrap; /* PC: 줄바꿈 허용 */
 list-style: none; padding: 0; margin: 0; gap: 12px; } 

.tab_item { margin: 0; width: auto; } 

.tab_item a { display: block; padding: 14px 29px; font-size: 16px; color: var(--text-secondary); text-decoration: none; background-color: var(--bg-light-gray); border: 1px solid transparent; border-radius: 30px; transition: all 0.3s ease; white-space: nowrap; /* 텍스트 줄바꿈 방지 */}

.tab_item a:hover { color: #333333; background-color: #fff; border-color: #333333; box-shadow: 0 2px 5px rgba(11, 32, 77, 0.1); } 

.tab_item.active a { color: var(--text-primary); background-color: #ffffff; border-color: #333333; font-weight: 500; box-shadow: 0 4px 10px rgba(11, 32, 77, 0.2); cursor: default; } 

.sub_tab_menu { position: -webkit-sticky; position: sticky; z-index: 1001; background-color: #f8f9fa; width: 100%; transition: top 0.4s cubic-bezier(0.4, 0, 0.2, 1); will-change: top; } 

/* 팝업 (Popup) */
.event_popup { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; } 

.popup_content,
.popup_content1,
.popup_content2 { display: flex; justify-content: center; width: 700px; height: auto; background-color: transparent; margin: 50px auto; position: relative; padding: 0; border-radius: 8px; } 

.popup_content img,
.popup_content1 img,
.popup_content2 img { max-width: 700px; height: auto; } 

.popup_close { position: absolute; top: 0; right: -10px; background: none; border: none; cursor: pointer; color: #ffffff; width: 0px; height: 0px; font-size: 60px; } 
/* 검색 박스 */
.subpage_search_box { text-align: center; margin: 20px 0 0 0; padding: 20px 0 0 20px; } 

.search_input_wrapper { display: flex; justify-content: center; align-items: center; max-width: 400px; margin: 0 auto; position: relative; } 

#doctor_search_input { width: 100%; padding: 12px 45px 12px 15px; font-size: 16px; border: 2px solid #ccc; border-radius: 30px; box-sizing: border-box; transition: border-color 0.3s ease; } 

#doctor_search_input:focus { outline: none; border-color: #007BFF; } 

.xi-search { font-size: 26px; } 

.search_icon_btn { position: absolute; right: 10px; background: none; border: none; font-size: 18px; cursor: pointer; color: #666; } 

.search_icon_btn:hover { color: #007BFF; } 

/* ==========================================================================
 1. ABOUT WAAS
 ========================================================================== */
/* Common Overview Styles */
.overview_content_wrap { display: flex; align-items: center; justify-content: center; position: relative; } 

.certified_doctor_content { width: 60% !important; } 

.overview_content_wrap.about_content_wrap { display: flex; justify-content: space-between; width: 100%; } 

.text_box { width: 60%; background-color: #fff; padding: 60px; z-index: 2; border-top-left-radius: 10px; border-bottom-left-radius: 10px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); position: relative; } 

.text_box.full_width { width: 100%; text-align: left; } 

.text_box::after { position: relative; overflow: hidden; z-index: 0; } 

.overview_content { width: 60%; background-color: #fff; padding: 60px; z-index: 2; border-top-left-radius: 10px; border-bottom-left-radius: 10px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1); position: relative; } 

.overview_bg { width: 80%; margin-top: 0; position: relative; z-index: 1; } 

.overview_bg img,
.overview_bg .outer_img { width: 100%; height: auto; border-radius: var(--border-radius-xlarge); box-shadow: var(--box-shadow-default); object-fit: cover; display: block; } 

.overview_content .main_text { font-size: var(--font-size-h3); font-weight: var(--font-weight-light); margin-bottom: 20px; } 

.overview_content .main_text strong { font-weight: var(--font-weight-bold); color: var(--main_color); display: block; font-size: var(--font-size-h2); margin-top: 8px; line-height: 1.3; } 

.overview_content .sub_text { font-size: var(--font-size-large); color: var(--text-secondary); margin: 0 auto; } 

.about_h4 { font-size: 24px; margin-bottom: 20px; color: var(--main_color); font-weight: 700; border-bottom: 1px solid #cbcbcb; padding-bottom: 20px; } 

.about_desc { font-size: var(--font-size-large); color: var(--text-secondary); line-height: 1.5; margin-bottom: 20px; } 

.about_desc strong { color: var(--main_color); font-size: var(--font-size-large); font-weight: var(--font-weight-bold); } 

.abotut_desc_last { color: var(--main_color); font-weight: var(--font-weight-bold); } 

/* .apply_membership_bg img {
    object-fit: contain;
} */
 
.apply_membership_bg {
    height: 500px;
        overflow: hidden;
        box-shadow: var(--box-shadow-default);
}

 .apply_cert_text_box {
     width:53%;
     margin-left: -5%;
     position: relative;
     z-index: 2;
     background: #fff;
     padding: 60px;
     box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
     border-radius: 4px;
 }


.info_text   { font-size: 14px;
    color: #555;
    line-height: 1.6;
    text-align: left;
    background: #fffee0;
    padding: 10px; }

.about_img { height: 550px; overflow: hidden; box-shadow: var(--box-shadow-default); } 

.about_img img { width: 100%; height: 100%; object-fit: cover; } 

.about_img:hover img { transform: scale(1.05); transition: transform 0.8s ease; } 

.about_btn { text-align: center; margin-top: 40px; border-radius: var(--border-radius-medium); } 

/* Overlap Type Layout (Used in Overview) */
 .type_overlap .about_img { width: 60%; height: 500px; position: relative; z-index: 1; box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1); } 

 .type_overlap .text_box { width: 45%; margin-left: -5%; position: relative; z-index: 2; background: #fff; padding: 60px; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15); border-radius: 4px; } 

 .type_overlap .about_h4 { font-size: 32px; margin-bottom: 24px; color: #111; } 

/* 1.1 WAAS Mission & Vision */
.section_mission { position: relative; background-color: var(--bg-light-gray); overflow: hidden; z-index: 0; } 

.section_mission::after { content: ''; position: absolute; bottom: -100px; left: -100px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(11, 32, 77, 0.05) 0%, rgba(255, 255, 255, 0) 70%); border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; z-index: -1; filter: blur(50px); } 

.mission_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } 

.four_col_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; } 

.mission_card { background: var(--bg-white); padding: 50px 40px; border-radius: var(--border-radius-xlarge); text-align: center; box-shadow: var(--box-shadow-light); border: 1px solid transparent; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; height: 100%; position: relative; overflow: hidden; } 

.mission_card:hover { transform: translateY(-10px); box-shadow: var(--box-shadow-hover); border-color: rgba(0, 86, 179, 0.1); } 

.mission_card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, var(--main_color), var(--sub_color)); opacity: 0; transition: opacity 0.3s ease; } 

.mission_card:hover::before { opacity: 1; } 

.mission_icon { width: 80px; height: 80px; background: linear-gradient(135deg, var(--main_color), var(--sub_color)); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-bottom: 30px; color: var(--text-white); font-size: 32px; box-shadow: 0 10px 20px rgba(0, 86, 179, 0.2); transition: transform 0.3s ease; } 

.mission_card:hover .mission_icon { transform: scale(1.1) rotate(5deg); } 

.mission_card h4 { font-size: 24px; font-weight: 700; margin-bottom: 20px; color: var(--text-primary); } 

.mission_card p { font-size: 16px; color: var(--text-secondary); line-height: 1.4; word-break: keep-all; } 

.mission_card p strong { color: var(--main_color); display: block; margin-bottom: 4px; margin-top: 12px; } 

.mission_card p strong:first-child { margin-top: 0; } 

.mission_card .mission_list { text-align: left; width: 100%; padding-left: 10px; margin-top: 10px; } 

.mission_list li { font-size: 18px; color: var(--text-secondary); margin-bottom: 15px; position: relative; padding-left: 20px; line-height: 1.5; } 

.mission_card .mission_list li::before { content: '\f054'; font-family: 'Font Awesome 5 Free'; font-weight: 900; position: absolute; left: 0; top: 6px; color: var(--sub_color); font-size: 12px; } 

.mission_card .mission_list li strong { font-size: 16px; color: var(--main_color); font-weight: 700; margin-right: 4px; } 

/* Integrity Section (Mission & Vision) */
.section_integrity { padding: 80px 0; } 

.integrity_content_wrap { display: flex; justify-content: space-between; align-items: center; gap: 60px; margin-top: 40px; } 

.integrity_content_wrap .text_box { flex: 1 1 60%; } 

.integrity_highlight_box { background-color: #f2f2f2; padding: 30px; border-radius: 8px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); margin-bottom: 30px; } 

.highlight_text { font-size: 20px; font-weight: 500; color: #333; line-height: 1.5; margin: 0; } 

.highlight_text strong { font-size: 20px; font-weight: bold; color: var(--main_color, #002c5f); } 

.fa-circle-exclamation { color: #f2f2f2; font-size: 18px; } 

.integrity_list li { font-size: 16px; margin-bottom: 20px; color: #555; } 

.integrity_list li strong { font-size: 16px; color: #000; font-weight: 600; } 

.integrity_content_wrap .visual_box { flex: 1 1 35%; display: flex; flex-direction: column; align-items: center; justify-content: center; } 

.integrity_icon_group { position: relative; display: inline-block; margin-bottom: 20px; } 

.integrity_main_icon { font-size: 120px; color: var(--main_color, #002c5f); opacity: 0.1; } 

.integrity_sub_icon { position: absolute; bottom: 0; right: 0; font-size: 60px; color: var(--sub_color, #1a73e8); background-color: #fff; padding: 10px; border-radius: 50%; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } 

.visual_caption { font-size: 18px; font-weight: 600; color: var(--main_color, #002c5f); } 

/* 1.2 Founder & Leadership */
.section_leadership { padding: 100px 0; background-color: #fff; } 

.leadership_spotlight { display: flex; justify-content: space-between; align-items: center; gap: 50px; margin-bottom: 80px; } 

.spotlight_img { flex: 1; max-width: 450px; border-radius: 20px; overflow: hidden; box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1); } 

.spotlight_img img { width: 100%; height: auto; display: block; } 

.spotlight_text { flex: 1.2; } 

.board_section { margin-top: 60px; border-top: 1px solid #eee; padding-top: 60px; } 

.board_title { font-size: 28px; font-weight: 700; color: #333; margin-bottom: 40px; text-align: center; } 

.board_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; } 

.board_item { background: #fff; border: 1px solid #eee; border-radius: 10px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } 

.board_item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); } 

.bd_img { width: 100%; height: 250px; overflow: hidden; background-color: #f5f5f5; } 

.bd_img img { width: 100%; height: 100%; object-fit: cover; } 

.bd_info { padding: 20px; text-align: center; } 

.bd_info h5 { font-size: 18px; font-weight: 600; color: #222; margin-bottom: 5px; } 

.bd_role { display: block; font-size: 14px; color: #007bff; font-weight: 500; margin-bottom: 10px; } 

.bd_desc { font-size: 13px; color: #666; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 

/* President Section (Leadership) */
.section_president { position: relative; background-color: var(--bg-white); overflow: hidden; z-index: 0; } 

.section_president::after { content: ''; position: absolute; bottom: 0; right: 0; width: 300px; height: 300px; background: linear-gradient(135deg, transparent 50%, rgba(0, 68, 148, 0.05) 50%); z-index: -1; } 

.president_wrap { display: flex; align-items: center; gap: 80px; } 

.president_img { flex: 0 0 400px; height: auto; border-radius: var(--border-radius-xlarge); overflow: hidden; box-shadow: var(--box-shadow-default); } 

.president_img img { width: 100%; height: 100%; object-fit: cover; } 

.president_img:hover img { transform: scale(1.05); transition: transform 0.5s ease; } 

.president_text { flex: 1; } 

.pre_label { display: inline-block; font-size: 14px; font-weight: 700; color: var(--main_color); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; } 

.president_text h3 { font-family: var(--sub-section-font-family); font-size: 36px; font-weight: 700; line-height: 1.3; margin-bottom: 30px; color: var(--text-primary); } 

.president_text p { font-size: 18px; color: var(--text-secondary); line-height: 1.5; margin-bottom: 20px; } 

.pre_sign { margin-top: 40px; } 

.pre_sign strong { display: block; font-size: 22px; font-weight: 700; color: var(--text-primary); margin-bottom: 5px; } 

.pre_sign span { font-size: 16px; color: var(--text-secondary); } 

/* 1.3 History & Impact */
.section_stats { padding: 80px 0; background: var(--bg-white); border-bottom: 1px solid var(--border-light); } 

.stats_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; text-align: center; } 

.stat_item i { font-size: 48px; color: var(--main_color); margin-bottom: 15px; } 

.stat_item strong { display: block; font-size: 40px; font-weight: var(--font-weight-bold); color: var(--text-primary); margin-bottom: 5px; } 

.stat_item p { font-size: 18px; color: var(--text-secondary); } 

.impact_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; } 

/* ==========================================================================
 2. CERTIFICATION & MEMBERSHIP
 ========================================================================== */
/* 2.1 WAAS Certified Doctor & Registry */
.overview_card_wrapper { display: flex; align-items: center; justify-content: space-between; gap: 50px; max-width: 1000px; margin: 0 auto; padding: 40px 0; } 

.overview_text { flex: 1; } 

.ov_title { font-size: 1.2rem; color: #555; margin-bottom: 10px; font-weight: 400; } 

.ov_highlight { font-size: 2rem; color: #0b204d; font-weight: 700; line-height: 1.2; margin-bottom: 20px; } 

.ov_desc { font-size: 1rem; color: #666; line-height: 1.6; } 

/* 디지털 카드 스타일 */
.digital_cert_card { flex: 1; max-width:450px; aspect-ratio: 1.6/1; /* 신용카드/상장 비율 */
 background: linear-gradient(135deg, #0b204d 0%, #1a3a7a 100%); border-radius: 15px; padding: 5px; /* 테두리 공간 */
 box-shadow: 0 15px 35px rgba(11, 32, 77, 0.25); position: relative; transition: transform 0.3s ease; } 

.digital_cert_card:hover { transform: translateY(-5px); } 

.card_inner { width: 100%; height: 100%; background: rgba(255, 255, 255, 0.05); /* 투명도 */
 border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 12px; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; box-sizing: border-box; position: relative; overflow: hidden; backdrop-filter: blur(5px); } 

/* 카드 내부 타이포그래피 */
.card_header { display: flex; justify-content: space-between; align-items: center; } 

.waas_logo_text { font-family: "times new roman", serif; letter-spacing: -1px;; font-size: 24px; font-weight: 800; color: #fff; } 

.cert_badge { background: rgba(212, 175, 55, 0.2); color: #d4af37; /* 골드 컬러 */
 padding: 5px 12px; border-radius: 20px; font-size: 12px; border: 1px solid #d4af37; font-weight: 600; } 

.card_body { text-align: center; position: relative; z-index: 2; } 

.card_body h4 { font-family: 'Times New Roman', serif; font-size: 24px; font-weight: 700; /* 두께를 줘서 양각 느낌 강화 */
 letter-spacing: 2px; line-height: 1.3; margin-bottom: 15px;
 /* 금색 그라디언트 입히기 */
 /* background: linear-gradient(to bottom, #cfc09f 22%, #ffecb3 40%, #c49942 70%); */
 background: #ffffff;
 -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent;
 /* 그림자로 튀어나온(양각) 효과 주기 */
 filter: drop-shadow(0px 2px 0px rgba(0, 0, 0, 0.5)); } 

.gold_line { width: 60px; height: 2px; background: linear-gradient(to right, #cfc09f, #d4af37, #cfc09f); /* 선도 금색 톤으로 */
 margin: 0 auto 15px; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); /* 선에도 그림자 */ } 

.card_body p { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: 4px; /* 자간을 넓혀 고급스럽게 */

 /* 은은한 은색/흰색 그라디언트 */
 background: linear-gradient(to bottom, #ffffff 0%, #d1d1d1 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
 /* 텍스트가 솟아오른 듯한 그림자 (상단 하이라이트 X, 하단 그림자 O) */
 filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.8)); opacity: 0.9; } 

.card_footer { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 15px; } 

.signature_box span { border-top: 1px solid rgba(255, 255, 255, 0.3); padding-top: 5px; color: rgba(255, 255, 255, 0.6); font-size: 10px; text-transform: uppercase; } 


.card_logo_img { max-width: 100px; height: auto; filter: brightness(0) invert(1); } 

.digital_cert_card2 { width: 100%; position: absolute; top: 80px; right: 10px; } 

.card_logo_img { max-width: 80px; height: auto; filter: brightness(0) invert(1); } 
.card_serial { /* 1. 폰트: 번호판 느낌이 나는 고정폭 서체 사용 */
 font-family: "Courier New", Courier, monospace; font-size: 18px; font-weight: 700; /* 두껍게 */
 letter-spacing: 1px; /* 자간 확보 */

 /* 2. 금속 질감 그라디언트 (밝은 빛 + 중간 골드 + 어두운 그림자) */
 background: linear-gradient(180deg, #fffbe3 0%, #d4af37 50%, #8f701a 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent;
 /* 3. 양각 그림자 (진한 그림자를 아래에 깔아 튀어나와 보이게 함) */
 filter: drop-shadow(0px 1px 1px rgba(0, 0, 0, 0.8));
 /* 약간의 투명도로 배경과 어우러지게 */
 opacity: 0.9; } 

/* 모바일 대응 */
@media (max-width: 768px){
 .overview_card_wrapper { flex-direction: column; gap: 30px; } 

 .digital_cert_card { width: 100%; } 
/* 1. 레이아웃: 카드를 꽉 차게 변경 */
.overview_card_wrapper { flex-direction: column; /* 세로 배치 */
 gap: 40px; padding: 40px 20px; } 

.cert_stack_container { width: 100%; max-width: 100%; /* 모바일에서는 꽉 차게 */
 min-height: auto; /* 높이 제한 해제 */
 aspect-ratio: 1.6/1; /* 비율 유지 */}

/* 2. 카드 본체: 패딩 축소 */
.digital_cert_card { max-width: 100%; /* 화면 너비에 맞춤 */}

.card_inner { padding: 15px 20px; /* 내부 여백을 줄여서 공간 확보 */}

/* 3. 폰트 크기 최적화 (너무 크면 줄바꿈됨) */
.waas_logo_text { font-size: 18px; /* 24px -> 18px */}

.cert_badge { font-size: 10px; padding: 4px 8px; } 

.card_body h4 { font-size: 18px; /* 24px -> 18px */
 margin-bottom: 10px; letter-spacing: 1px; } 

.gold_line { margin: 0 auto 10px; /* 간격 축소 */
 width: 40px; /* 길이 축소 */}

.card_body p { font-size: 10px; /* 13px -> 10px */
 letter-spacing: 2px; } 

/* 4. 푸터 & 일련번호 조정 */
.card_footer { margin-top: 10px; } 

.signature_box span { font-size: 8px; } 

.card_serial { font-size: 14px; /* 18px -> 14px */
 letter-spacing: 0.5px; } 

/* (선택사항) 겹침 효과가 있다면 모바일에서 위치 조정 */
.cert_backdrop { top: -10px; right: -10px; } 

}



.doctor_list { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 20px 0 50px 0; } 

.subpage_doctor_card { display: flex; flex-direction: row; align-items: flex-start; gap: 20px; width: 49%; padding: 30px; border-radius: 8px; background-color: #f9f9f9; position: relative; max-width: 900px; } 

.subpage_doctor_img img { width: 180px; height: 260px; border-radius: 8px; object-fit: cover; } 

.subpage_doctor_info { width: 100%; flex: 1; } 

.subpage_overlay_text { display: flex; align-items: center; justify-content: start; gap: 5px; } 

.subpage_doctor_name { font-size: 22px; font-weight: bold; color: #0b204d; } 

.subpage_flag_icon { width: 24px; height: 16px; } 

.subpage_divider { height: 1px; background-color: #ccc; margin: 10px 0; } 

.subpage_hospital_name { font-size: 17px; color: #000000; line-height: 24px; margin-bottom: 8px; } 

.subpage_profile_bio { font-size: 16px; color: #444; line-height: 1.3; } 

.subpage_favorite_btn { position: absolute; top: 20px; right: 20px; background: url('/images/icon_heart.svg') no-repeat center; background-size: 24px; width: 30px; height: 30px; border: none; cursor: pointer; } 

/* 2.4 WAAS Global Faculty */
.glorbal_faculty_text_box { padding: 49px; } 

.president_wrap.global_network_wrap { align-items: flex-start; } 

.faculty_definition { margin-top: 30px; margin-bottom: 20px; } 

.definition_title { font-size: 24px; color: var(--main_color); display: block; margin-bottom: 15px; font-weight: 700; } 

.faculty_definition_list li { font-size: 17px; margin-bottom: 10px; color: var(--text-secondary); } 

.faculty_definition_list li strong { font-weight: var(--font-weight-bold); color: var(--main_color); display: block; font-size: 18px; margin-top: 8px; line-height: 1.2; } 

.faculty_map_img { width: 50%; } 

.faculty_map_img img { box-shadow: var(--box-shadow-default); border-radius: var(--border-radius-xlarge); } 

/* ==========================================================================
 3. WAAS MEMBERS
 ========================================================================== */
/* Membership Table */
.membership-table-wrap { margin-top: 30px; border-top: 2px solid #333; border-bottom: 1px solid #333; overflow-x: auto; } 

.membership-table { width: 100%; border-collapse: collapse; table-layout: fixed; min-width: 600px; background-color: #fff; text-align: center; } 

.membership-table thead th { background-color: #f7f8f9; color: #333; font-weight: 700; font-size: 16px; padding: 18px 10px; border-bottom: 1px solid #e0e0e0; } 

.membership-table tbody th,
.membership-table tbody td { padding: 16px 15px; border-bottom: 1px solid #eee; font-size: 15px; color: #666; vertical-align: middle; } 

.membership-table tbody th { text-align: left; color: #222; font-weight: 600; padding-left: 20px; } 

.membership-table tbody tr:last-child th,
.membership-table tbody tr:last-child td { border-bottom: none; } 

.membership-table .highlight-row th,
.membership-table .highlight-row td { background-color: #fffcf5; } 

.membership-table .highlight-row th { color: var(--main_color); } 

/* membership form */
.tab_btn {
}
.fee_box { margin-top: 1rem; margin-bottom: 1rem; display: flex; justify-content: center; align-items: baseline; gap: 8px; } 

.fee_amount { font-size: 48px; color: var(--main_color); font-weight: 700; line-height: 1; } 

.fee_period { font-size: var(--font-size-h2); color: var(--text-secondary); font-weight: 500; } 

.fee-none { color: var(--main_color) !important; font-weight: 700; } 

/* Fee Exemption Banner */
.fee_exemption_banner { margin-top: 100px; display: flex; align-items: center; background-color: var(--main_color); color: var(--text-white); padding: 30px 40px; border-radius: var(--border-radius-large); box-shadow: var(--box-shadow-default); overflow: hidden; position: relative; } 

.fee_exemption_banner::after { content: ''; position: absolute; top: -50%; right: -10%; width: 300px; height: 300px; background-color: rgba(255, 255, 255, 0.1); border-radius: 50%; z-index: 0; } 

.banner_icon { flex-shrink: 0; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.2); border-radius: 50%; margin-right: 30px; font-size: 40px; color: var(--text-white); z-index: 1; } 

.banner_text { z-index: 1; } 

.banner_text h4 { font-size: 22px; font-weight: 700; margin-bottom: 10px; color: var(--text-white); } 

.banner_text p { font-size: 18px; margin: 0; color: rgba(255, 255, 255, 0.9); line-height: 1.5; } 

.banner_text strong { color: #fff4b3; font-weight: 700; font-size: 18px; } 

/* ==========================================================================
 4. WAAS ACADEMY
 ========================================================================== */
/* Academy Features & Lists */
.academy_features { margin-top: 30px; padding-left: 0; list-style: none; } 

.academy_features li { position: relative; padding-left: 30px; margin-bottom: 12px; font-size: 16px; font-weight: 600; color: #333; line-height: 1.5; } 

.academy_features li::before { content: ''; position: absolute; left: 0; top: 3px; width: 6px; height: 12px; border: solid #222; border-width: 0 2px 2px 0; transform: rotate(45deg); } 

.waas_section { display: flex; gap: 20px; color: #2c2c2c; margin: 50px 0; } 

.waas_header { margin-bottom: 30px; } 

.waas_subtitle { font-family: 'Cinzel', Times, serif; font-size: 30px; font-weight: 600; color: #888; margin-bottom: 8px; letter-spacing: -0.5px; } 

.waas_title { font-family: 'Cinzel', Times, serif; font-size: 40px; color: #003366; margin: 0; font-weight: bold; border-bottom: 3px solid #005faa; display: inline-block; padding-bottom: 6px; } 

.waas_content { flex: 1; margin-top: 20px; } 

.waas_paragraph,
.waas_paragraph strong { font-size: 20px; line-height: 1.4; margin-bottom: 20px; } 

.waas_list { padding-left: 20px; margin-bottom: 25px; } 

.waas_list li { font-size: 18px; margin-bottom: 10px; line-height: 1.6; list-style-type: disc; } 

.grid_2_col_list { display: grid; grid-template-columns: 1fr 1fr; gap: 15px 30px; } 

.warning_message { font-weight: 500; color: #a6a6a6; margin-top: 20px; } 

.ethical_box_wrap { max-width: 900px; margin: 0 auto; } 

.ethical_highlight { font-size: 18px; } 

.ethical_desc { margin-top: 15px; font-size: 17px; color: #555; } 

.visual_break_banner { margin-top: 80px; width: 100%; height: auto; overflow: hidden; box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.1); background-image: url(/images/sub/stemcell_banner_bg.jpg); } 

.visual_break_banner img { width: 100%; height: auto; display: block; object-fit: cover; background-color: #000; } 

.banner_content h3 { font-size: 36px; color: #fff; text-align: center; } 

.banner_content p { font-size: 20px; color: #d8d8d8; text-align: center; margin-bottom: 10px; } 

/* Training Swiper */
.training_swiper { width: 100%; height: auto; padding-bottom: 40px; overflow: hidden; } 

.training_swiper .gallery_item { width: 100%; height: auto; overflow: hidden; border-radius: 8px; } 

.training_swiper .gallery_item img { width: 100%; height: 100%; object-fit: cover; display: block; } 

.training_swiper .swiper-pagination-bullet-active { background-color: #000; } 

/* ==========================================================================
 5. GLOBAL CHAPTERS
 ========================================================================== */
.map_wrap { margin-bottom: 50px; } 

.map_img,
.map_img_wrap img { width: 100%; height: auto; display: block; } 

.map_img_wrap { height: auto; max-height: 400px; } 

.presence_wrap { margin-bottom: 60px; } 

.grid_3_col_simple { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 25px; } 

.region_item { font-size: 18px; font-weight: 600; color: #333; padding: 15px; background-color: #f8f9fa; border-radius: 8px; display: flex; align-items: center; justify-content: center; } 

.region_item i { color: var(--main_color, #002c5f); margin-right: 10px; } 

.presence_desc { color: #555; font-size: 17px; margin-top: 25px; line-height: 1.6; } 

.network_img img { width: 100%; height: 100%; border-radius: var(--border-radius-xlarge); overflow: hidden; box-shadow: var(--box-shadow-default); border-bottom-right-radius: var(--border-radius-xlarge) } 

.country_list_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 30px; } 

.country_item { font-size: 18px; font-weight: 600; color: var(--text-primary); display: flex; align-items: center; gap: 10px; } 

.country_item i { color: #526478; font-size: 16px; } 

/* Chapter Directory */
.directory_header { margin-top: 60px; margin-bottom: 30px; } 

.chapter_grid_container { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; } 

.chapter_card { background-color: #fff; border: 1px solid #eee; border-radius: 12px; padding: 30px 25px; display: flex; align-items: center; transition: all 0.3s ease; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03); } 

.chapter_card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); border-color: var(--main_color, #002c5f); } 

.flag_icon { width: 60px; height: 60px; flex-shrink: 0; margin-right: 20px; border-radius: 50%; overflow: hidden; border: 1px solid #eee; background-color: #f9f9f9; display: flex; align-items: center; justify-content: center; position: relative; } 

.flag_icon img { width: 100%; height: 100%; object-fit: cover; } 

.flag_icon .fi { width: 60%; height: 60%; background-size: cover; background-position: center; display: block; border-radius: 100%; } 

.chapter_info h4 { font-size: 18px; font-weight: 700; margin-bottom: 5px; color: #333; } 

.chapter_info p { font-size: 14px; color: #777; margin-bottom: 12px; } 

.btn_text_link { font-size: 14px; font-weight: 600; color: var(--main_color, #002c5f); text-decoration: none; display: inline-flex; align-items: center; } 

.btn_text_link i { margin-left: 5px; font-size: 12px; transition: transform 0.3s ease; } 

.btn_text_link:hover i { transform: translateX(4px); } 

/* Role & Network */
.role_network_section { background-size: 20px 20px; background-position: 0 0, 10px 10px; opacity: 0.9; } 

.connected_grid { position: relative; z-index: 1; } 

.role_item { background: #fff; padding: 40px 30px; border-radius: 15px; border: 1px solid #eee; transition: all 0.4s ease; position: relative; overflow: hidden; } 

.role_item:hover { transform: translateY(-10px); border-color: var(--main_color, #002c5f); } 

.icon_wrap { width: 80px; height: 80px; margin: 0 auto 25px; background-color: #f0f4f8; border-radius: 50%; display: flex; align-items: center; justify-content: center; transition: all 0.4s ease; } 

.icon_wrap i { font-size: 32px; color: var(--main_color, #002c5f); transition: all 0.4s ease; } 

.role_item:hover .icon_wrap { background-color: var(--main_color, #002c5f); transform: rotateY(180deg); } 

.role_item:hover .icon_wrap i { color: #fff; } 

.role_item h4 { font-size: 20px; font-weight: 700; margin-bottom: 15px; color: #333; } 

.role_desc { font-size: 15px; color: #777; line-height: 1.6; margin-bottom: 0; } 

/* ==========================================================================
 6. WAAS SCHEDULE
 ========================================================================== */
#waas_schedule { background-color: #fbfbfb; } 

.schedule_contents { display: grid; grid-template-columns: repeat(4, 1fr) !important; gap: 20px; width: 100%; margin-top: 40px; } 

.schedule_item { position: relative; width: 100%; height: 450px; border-radius: var(--border-radius-xlarge); overflow: hidden; background-size: cover; background-position: center; background-repeat: no-repeat; cursor: pointer; transition: transform 0.3s ease, box-shadow 0.3s ease; box-shadow: var(--box-shadow-default); border: 1px solid #eee; } 

.schedule_item:hover { transform: translateY(-10px); box-shadow: var(--box-shadow-hover); border-color: var(--main_color); } 

.event_card { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 35px 25px; box-sizing: border-box; transition: background 0.3s ease; } 

.event_card:hover { background: linear-gradient(to top, rgba(11, 32, 77, 1) 0%, rgba(11, 32, 77, 0.4) 60%, rgba(0, 0, 0, 0) 100%); } 

.event_info { color: var(--text-white); text-align: left; } 

.event_title { font-size: 20px; font-weight: var(--font-weight-bold); margin-bottom: 12px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 

.event_meta { margin-bottom: 20px; } 

.event_meta p { font-size: 14px; margin: 5px 0; display: flex; align-items: center; gap: 8px; opacity: 0.9; } 

.event_meta i { width: 16px; text-align: center; color: var(--bg-white); } 

.sch_date::before { content: '\f133'; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: #fff; } 

.sch_location::before { content: '\f3c5'; font-family: 'Font Awesome 5 Free'; font-weight: 900; color: #fff; } 

.main_sch_overlay:hover { background: linear-gradient(to top, rgba(11, 32, 77, 1) 0%, rgba(11, 32, 77, 0.4) 60%, rgba(0, 0, 0, 0) 100%); } 

.main_sch_overlay:hover .main_sch_btn { background: #fff; color: var(--main_color); border-color: #fff; } 

/* ==========================================================================
 7. PARTNERS
 ========================================================================== */
.info_grid_section { padding-bottom: 60px; } 

.info_grid_3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } 

.info_card { background: #fff; padding: 40px 30px; border-radius: 15px; border: 1px solid #e5e5e5; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03); transition: transform 0.3s ease; height: 100%; box-sizing: border-box; } 

.info_card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); border-color: var(--main_color); } 

.info_title { font-size: 22px; font-weight: 700; color: #333; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid var(--main_color); display: flex; align-items: center; gap: 10px; } 

.info_title i { color: var(--main_color); } 

/* Clinic Section */
.clinic_section { background-color: #f9f9f9; padding-top: 80px; padding-bottom: 80px; } 

.filter_wrap { display: flex; justify-content: center; gap: 10px; margin-bottom: 50px; flex-wrap: wrap; } 

.filter_btn { padding: 10px 25px; border: 1px solid #e5e5e5; background-color: #fff; color: #666; border-radius: 30px; font-size: 16px; cursor: pointer; transition: all 0.3s ease; font-family: inherit; } 

.filter_btn:hover,
.filter_btn.active { background-color: var(--main_color); color: #fff; border-color: var(--main_color); box-shadow: 0 4px 10px rgba(11, 32, 77, 0.2); } 

.clinic_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; } 

.clinic_card { background: #fff; border: 1px solid #eee; border-radius: 15px; overflow: hidden; transition: all 0.4s ease; display: flex; flex-direction: column; position: relative; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03); } 

.clinic_card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); border-color: var(--main_color); } 

.clinic_thumb { width: 100%; height: 220px; overflow: hidden; position: relative; background-color: #f0f0f0; } 

.clinic_thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } 

.clinic_card:hover .clinic_thumb img { transform: scale(1.1); } 

.clinic_thumb.logo_mode { background-color: #ffffff; display: flex; align-items: center; justify-content: center; padding: 40px; } 

.partner_logo_img { width: 80%; height: auto; object-fit: contain; } 

.clinic_badge { position: absolute; top: 15px; left: 15px; background-color: var(--sub_color); color: #fff; font-size: 12px; font-weight: 700; padding: 5px 12px; border-radius: 20px; z-index: 1; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); } 

.clinic_info { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; } 

.clinic_country { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #888; margin-bottom: 10px; } 

.clinic_country .fi { border-radius: 2px; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } 

.clinic_name { font-size: 20px; font-weight: 700; color: #333; margin-bottom: 10px; line-height: 1.4; } 

.clinic_desc { font-size: 15px; color: #666; line-height: 1.6; margin-bottom: 20px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 

.clinic_footer { margin-top: auto; padding-top: 15px; border-top: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; } 

.director_name { font-size: 14px; font-weight: 600; color: var(--main_color); } 

.btn_detail { text-decoration: none; font-size: 14px; color: #999; transition: color 0.3s; } 

.btn_detail:hover { color: var(--main_color); } 

/* ==========================================================================
 8. APPLY NOW
 ========================================================================== */
.two_col_wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 20px; align-items: stretch; } 

.col_box { background-color: #fff; padding: 40px 35px; border-radius: 15px; border: 1px solid #e5e5e5; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.03); transition: transform 0.3s ease; } 

.col_box:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); } 

.col_box.bg_gray { background-color: #f8f9fa; border-color: transparent; } 

.col_title { font-size: 22px; font-weight: 700; color: #333; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 2px solid var(--main_color, #002c5f); display: flex; align-items: center; } 

.col_title i { color: var(--main_color, #002c5f); margin-right: 10px; } 

.check_list { list-style: none; padding: 0; margin: 0; } 

.check_list li { position: relative; padding-left: 30px; margin-bottom: 12px; font-size: 16px; color: #555; line-height: 1.6; } 

.check_list li::before { content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900; position: absolute; left: 0; top: 0; color: var(--main_color, #002c5f); font-size: 16px; } 

/* Steps */
.step_grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 30px; align-items: stretch; } 

.step_card { background: var(--bg-white); padding: 40px 32px; border-radius: var(--border-radius-xlarge); box-shadow: var(--box-shadow-light); transition: transform 0.3s ease, box-shadow 0.3s ease; border: 1px solid transparent; display: flex; flex-direction: column; } 

.step_card:hover { transform: translateY(-8px); box-shadow: var(--box-shadow-hover); border-color: rgba(0, 86, 179, 0.1); } 

.step_header { margin-bottom: 24px; } 

.step_number { display: block; font-size: 56px; font-weight: var(--font-weight-bold); color: rgba(0, 86, 179, 0.08); line-height: 1; margin-bottom: -20px; position: relative; z-index: 0; } 

.step_header h4 { font-size: var(--font-size-h5); font-weight: var(--font-weight-bold); color: var(--main_color); margin: 0; position: relative; z-index: 1; } 

.step_body { flex-grow: 1; } 

.step_body strong { display: block; font-size: var(--font-size-large); margin-bottom: 12px; color: var(--text-primary); } 

.step_body p,
.bullet_list li { font-size: var(--font-size-body); color: var(--text-secondary); margin: 0; } 

.bullet_list { list-style: none; padding: 0; margin-top: 12px; } 

.bullet_list li { position: relative; padding-left: 16px; margin-bottom: 6px; } 

.bullet_list li::before { content: ''; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; background: var(--main_color); border-radius: 50%; } 

.step_card.final_step { background: linear-gradient(35deg, #032d5a, var(--sub_color)); color: var(--text-white); } 

.step_card.final_step .step_number { color: rgba(255, 255, 255, 0.15); } 

.step_card.final_step h4,
.step_card.final_step strong,
.step_card.final_step p,
.step_card.final_step .step_body strong,
.step_card.final_step .bullet_list li { color: var(--text-white); } 

.step_card.final_step .bullet_list li::before { background-color: var(--text-white); } 

/* Benefits */
.benefit_grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 32px; } 

.benefit_four_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; } 

.benefit_card { display: flex; align-items: flex-start; background: var(--bg-white); padding: 40px; border-radius: var(--border-radius-xlarge); border: 1px solid var(--border-light); transition: all 0.3s ease; } 

.benefit_four_card { gap: 15px; flex-direction: column; } 

.benefit_card:hover { border-color: var(--main_color); box-shadow: var(--box-shadow-hover); transform: translateY(-5px); } 

.icon_wrapper { flex-shrink: 0; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: #f0f6ff; color: var(--main_color); border-radius: var(--border-radius-xlarge); margin-right: 24px; font-size: 28px; transition: all 0.3s ease; } 

.benefit_card:hover .icon_wrapper { background: var(--main_color); color: var(--text-white); } 

.text_wrapper h4 { font-size: var(--font-size-h5); font-weight: var(--font-weight-bold); margin-bottom: 12px; } 

.text_wrapper p { font-size: var(--font-size-body); color: var(--text-secondary); margin: 0; } 

/* Fee Exemption Banner */
.fee_exemption_banner { margin-top: 100px; display: flex; align-items: center; background-color: var(--main_color); color: var(--text-white); padding: 30px 40px; border-radius: var(--border-radius-large); box-shadow: var(--box-shadow-default); overflow: hidden; position: relative; } 

.fee_exemption_banner::after { content: ''; position: absolute; top: -50%; right: -10%; width: 300px; height: 300px; background-color: rgba(255, 255, 255, 0.1); border-radius: 50%; z-index: 0; } 

.banner_icon { flex-shrink: 0; width: 80px; height: 80px; display: flex; align-items: center; justify-content: center; background-color: rgba(255, 255, 255, 0.2); border-radius: 50%; margin-right: 30px; font-size: 40px; color: var(--text-white); z-index: 1; } 

.banner_text { z-index: 1; } 

.banner_text h4 { font-size: 22px; font-weight: 700; margin-bottom: 10px; color: var(--text-white); } 

.banner_text p { font-size: 18px; margin: 0; color: rgba(255, 255, 255, 0.9); line-height: 1.5; } 

.banner_text strong { color: #fff4b3; font-weight: 700; font-size: 18px; } 

/* Certification Details Wrapper (Asymmetric Cards) */
.cert_details_wrapper { display: flex; gap: 30px; align-items: stretch; } 

.cert_card { flex: 1; border-radius: 20px; padding: 50px 40px; position: relative; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; } 

.cert_card:hover { transform: translateY(-5px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1); } 

.apply_card_header {display: flex; align-items: center; gap: 15px; position: relative; z-index: 2; margin-bottom: 10px}

.card_header { display: flex; align-items: center; gap: 15px; position: relative; z-index: 2; margin-bottom: 10px; } 

.card_header h4 { font-size: 24px; font-weight: 700; margin: 0; } 

.icon_circle { width: 50px; height: 50px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; } 

.cert_card.type_doc { background-color: #fff; border: 1px solid #e0e0e0; } 

.type_doc .icon_circle { background-color: #f0f4ff; color: var(--main_color); } 

.type_doc .card_header h4 { color: #333; } 

.doc_list { list-style: none; padding: 0; margin: 0; } 

.doc_list li { display: flex; align-items: center; gap: 20px; padding: 15px 0; border-bottom: 1px solid #f0f0f0; } 

.doc_list li:last-child { border-bottom: none; } 

.doc_list .num { font-family: 'Montserrat', sans-serif; font-size: 14px; font-weight: 700; color: #bbb; } 

.doc_list .text { font-size: 16px; color: #555; font-weight: 500; } 

.doc_list small { color: #999; font-size: 13px; margin-left: 5px; } 

.cert_card.type_benefit { background: linear-gradient(135deg, var(--main_color) 0%, #001a4d 100%); color: #fff; box-shadow: 0 10px 25px rgba(11, 32, 77, 0.2); } 

.type_benefit .bg_pattern { position: absolute; top: -50px; right: -50px; width: 200px; height: 200px; background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0) 70%); border-radius: 50%; z-index: 1; } 

.type_benefit .icon_circle { background-color: rgba(255, 255, 255, 0.15); color: #ffd700; backdrop-filter: blur(5px); } 

.type_benefit .card_header h4 { color: #fff; } 

.benefit_list { list-style: none; padding: 0; margin: 0; position: relative; z-index: 2; } 

.benefit_list li { display: flex; align-items: center; gap: 15px; margin-bottom: 20px; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, 0.9); } 

.benefit_list li i { color: #4cd964; margin-top: 4px; } 


/* Apply fo chatper director lay out */
.responsibilities_wrap .track_list { display: flex; gap:10px; } 
.responsibilities_wrap .track_list li { flex:1; flex-direction: column; text-align: center; gap:20px; } 


/* apply_fellow */
.track_list { list-style: none; padding: 0; margin: 0; } 

.track_list li { display: flex; align-items: center; background-color: #fff; border: 1px solid #eee; padding: 20px; border-radius: 12px; margin-bottom: 15px; transition: all 0.3s ease; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.02); } 

.track_list li:last-child { margin-bottom: 0; } 

.track_list li:hover { transform: translateX(5px); border-color: var(--main_color); box-shadow: 0 5px 15px rgba(11, 32, 77, 0.1); } 

/* 트랙 아이콘 박스 */
.track_icon { flex-shrink: 0; width: 50px; height: 50px; background-color: #f0f6ff; color: var(--main_color); border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 20px; margin-right: 20px; } 

.track_list li:hover .track_icon { background-color: var(--main_color); color: #fff; } 

/* 트랙 텍스트 정보 */
.track_info strong { display: block; font-size: 18px; color: #333; margin-bottom: 4px; } 

.track_info p { font-size: 14px; color: #777; margin: 0; } 

/* 흰색 박스 강조 (Eligibility의 회색 배경과 대비) */
.col_box.white_box { background-color: #fff; border: 1px solid #e0e0e0; } 

/* 반응형 (모바일) */
@media (max-width: 768px){
 .track_list li { flex-direction: column; text-align: center; padding: 25px; } 

 .track_icon { margin-right: 0; margin-bottom: 15px; } 
 }

/* Closing Section */
.section_closing { position: relative; background-color: #ffffff; padding: 100px 0; color: var(--text-primary); overflow: hidden; text-align: center; border-top: 1px solid rgba(0, 0, 0, 0.05); } 

.closing_bg_pattern { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: radial-gradient(circle at 50% 50%, rgba(11, 32, 77, 0.05) 1px, transparent 1px); background-size: 30px 30px; opacity: 0.5; pointer-events: none; } 

.closing_icon { font-size: 40px; color: var(--main_color); opacity: 0.4; margin-bottom: 20px; } 

.closing_title { font-size: 36px; font-weight: 700; letter-spacing: -0.02em; margin-bottom: 25px; line-height: 1.2; text-shadow: none; color: var(--main_color); } 

.closing_desc { font-size: 18px; line-height: 1.6; opacity: 0.8; font-weight: 400; max-width: 800px; margin: 0 auto; color: var(--text-secondary); } 

.closing_deco_line { width: 60px; height: 3px; background-color: var(--main_color); margin: 40px auto 0; border-radius: 2px; } 

/* ==========================================================================
 [Form Style] 신청서 공통 스타일
 ========================================================================== */

/* 폼 섹션 배경 및 레이아웃 */


.section_form { padding: 80px 0; } 

.form_box { background-color: #fff; padding: 50px; border-radius: 20px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); border: 1px solid #eee; } 

.form_header { margin-bottom: 40px; } 

.form_title { font-size: 32px; font-weight: 700; color: var(--main_color); margin-bottom: 10px; } 

.form_desc { font-size: 16px; color: #666; } 

/* 폼 요소 스타일 */
.waas_form fieldset { border: none; padding: 0; margin: 0 0 30px 0; border-bottom: 1px solid #f0f0f0; padding-bottom: 30px; } 

.waas_form fieldset:last-of-type { border-bottom: none; } 

.waas_form legend { font-size: 20px; font-weight: 700; color: #333; margin-bottom: 20px; display: block; width: 100%; } 

.form_row { display: flex; gap: 20px; margin-bottom: 20px; } 

.form_group { margin-bottom: 20px; width: 100%; } 

.form_group.half { flex: 1; } 

.waas_form label { display: block; font-size: 15px; font-weight: 600; color: #444; margin-bottom: 8px; } 

.waas_form label.required::after { content: '*'; color: #e74c3c; margin-left: 4px; } 

/* 입력 필드 디자인 */
.waas_form input[type="text"],
.waas_form input[type="email"],
.waas_form select,
.waas_form textarea { width: 100%; padding: 14px 16px; border: 1px solid #ddd; border-radius: 8px; font-size: 16px; color: #333; background-color: #fff; transition: all 0.3s; box-sizing: border-box; /* 패딩 포함 크기 계산 */ } 

.waas_form input:focus,
.waas_form textarea:focus { border-color: var(--main_color); outline: none; box-shadow: 0 0 0 3px rgba(11, 32, 77, 0.1); } 

.waas_form textarea { resize: vertical; line-height: 1.6; } 

/* 파일 업로드 박스 */
.file_upload_box { background-color: #f9f9f9; border: 1px dashed #ccc; padding: 15px; border-radius: 8px; } 

.file_desc { display: block; font-size: 13px; color: #888; margin-top: 5px; } 

/* 하단 버튼 및 약관 */
.form_footer { text-align: center; margin-top: 40px; } 

.form_footer .btn { text-align: center; margin-top: 40px; } 

.license_tail { font-size: 14px; color: #7c7c7c; margin-top: 5px; } 

.warning_text { margin-top: 12px; padding-top: 12px; border-top: 1px dashed #ddd; /* 상단 구분선 */
 color: #e74c3c; /* 붉은색 경고 컬러 */
 font-size: 14px; line-height: 1.5; font-weight: 500; } 

.warning_text strong { font-weight: 700; text-decoration: underline; /* 강조 밑줄 */ } 

.warning_text i { margin-right: 5px; font-size: 14px; } 


.privacy_check { margin-bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 8px; } 

.outcome_list li { color:var(--text-white) } 


.btn_cta.full_width { width: 100%; justify-content: center; padding: 18px 0; font-size: 18px; cursor: pointer; border: none; } 


.btn_privacy_modal { color: var(--main_color); text-decoration: underline; font-weight: 600; cursor: pointer; } 

.btn_privacy_modal:hover { color: var(--sub_color); } 

/* 모달 오버레이 (배경) */
.modal_overlay { display: none; /* 기본 숨김 */
 position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); /* 반투명 검정 배경 */
 z-index: 9999; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; } 

/* 모달 활성화 시 */
.modal_overlay.active { display: flex; opacity: 1; } 

/* 모달 콘텐츠 박스 */
.modal_content { background-color: #fff; width: 90%; max-width: 600px; /* 최대 너비 */
 max-height: 80vh; /* 화면 높이의 80%까지만 */
 border-radius: 12px; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2); display: flex; flex-direction: column; transform: translateY(20px); transition: transform 0.3s ease; } 

.modal_overlay.active .modal_content { transform: translateY(0); } 

/* 헤더 */
.modal_header { padding: 20px; border-bottom: 1px solid #eee; display: flex; justify-content: space-between; align-items: center; } 

.modal_header h4 { font-size: 20px; font-weight: 700; color: #333; margin: 0; } 

.btn_close_modal { background: none; border: none; font-size: 24px; color: #999; cursor: pointer; transition: color 0.2s; } 

.btn_close_modal:hover { color: #333; } 

/* 본문 (스크롤 가능) */
.modal_body { padding: 20px; overflow-y: auto; /* 내용 길면 스크롤 */
 font-size: 14px; line-height: 1.6; color: #555; } 

.privacy_text h5 { font-size: 16px; font-weight: 700; color: var(--main_color); margin-top: 20px; margin-bottom: 8px; } 

.privacy_text h5:first-child { margin-top: 0; } 

.privacy_text ul { padding-left: 20px; margin-bottom: 10px; } 

.privacy_text li { margin-bottom: 4px; } 
.fa-circle-exclamation { color: #e74c3c; margin-right: 6px; } 
.privacy_agree { margin-bottom: 0 !important; } 

/* 푸터 */
.modal_footer { padding: 15px 20px; border-top: 1px solid #eee; text-align: right; } 

.btn_agree_close { background-color: var(--main_color); color: #fff; border: none; padding: 10px 25px; border-radius: 5px; font-weight: 600; cursor: pointer; transition: background 0.3s; } 

.btn_agree_close:hover { background-color: #003366; } 
