/* ==========================================================================
 1. Tablet & Small Desktop (max-width: 1024px)
 ========================================================================== */
@media screen and (max-width: 1024px) { /* [Base Typography] */
 body,
 p,
 li { font-size: 1rem; line-height: 1.4; } 

 section { padding: 60px 0; } 

 .privacy_check { align-items: start; } 

 /* [Header] PC Hide / Mobile Show */

 /* common */
#sub_container { } 

/* members */
.sub_container { margin: 30px 0 20px 0; } 

 header.pc_ver { display: none !important; } 

 header.mobile_ver { display: block; position: fixed; top: 0; left: 0; width: 100%; height: 80px; background-color: #ffffff; z-index: 1000; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); border-bottom: 1px solid #e5e5e5; } 

 .mobile_top { display: flex; justify-content: space-between; align-items: center; height: 100%; padding-right: 10px; } 

 .mobile_logo a { display: block; height: 70px; } 

 .mobile_logo img { height: 100%; width: auto; object-fit: contain; } 

 /* [Hamburger Menu] */
 .hamburger_menu { width: 30px; height: 24px; position: relative; background: none; border: none; cursor: pointer; padding: 0; z-index: 1002; display: flex; flex-direction: column; justify-content: space-between; } 

 .hamburger_menu .line { display: block; width: 100%; height: 3px; background-color: #0b204d; border-radius: 3px; transition: all 0.3s ease-in-out; } 

 .hamburger_menu.active .line-1 { transform: translateY(10.5px) rotate(45deg); } 

 .hamburger_menu.active .line-2 { opacity: 0; } 

 .hamburger_menu.active .line-3 { transform: translateY(-10.5px) rotate(-45deg); } 

 /* [Mobile Menu Container] */
 .mobile_menu_wrap { position: fixed; top: 80px; left: 0; width: 100%; height: calc(100vh - 80px); background-color: #ffffff; transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1001; overflow-y: auto; visibility: hidden; } 

 .mobile_menu_wrap.active { transform: translateX(0); visibility: visible; } 

 .mobile_bg { padding: 10px; } 

 .mobile_menu { list-style: none; padding: 0; margin: 0; } 

 /* [Menu List Design] */
 .mobile_menu_item { border-bottom: 1px solid #f1f1f1; } 

 .mobile_menu_header { display: flex; justify-content: space-between; align-items: center; padding: 15px 5px; } 

 .mobile_menu_header a { font-size: 1.125rem; font-weight: 600; color: #333; text-decoration: none; flex: 1; } 

 .submenu_toggle { background: none; border: none; padding: 5px; cursor: pointer; color: #666; transition: transform 0.3s ease; display: flex; align-items: center; justify-content: center; } 

 .mobile_menu_item.open .submenu_toggle { transform: rotate(180deg); color: #0b204d; } 

 /* [Sub Menu] */
 .mobile_submenu { display: none; background-color: #f9f9f9; padding: 0px 10px 0px; border-radius: 4px; margin-bottom: 15px; } 

 .mobile_menu_item.open .mobile_submenu { display: block; } 

 .mobile_submenu li { padding: 8px 0; } 

 .mobile_submenu li a { font-size: 0.875rem; color: #666; text-decoration: none; display: block; padding-left: 10px; position: relative; } 

 .mobile_submenu li.active a,
 .mobile_submenu li a:hover { color: #0b204d; font-weight: 600; } 

 .mobile_submenu li a::before { content: '-'; position: absolute; left: 0; color: #999; } 

.visual_break_banner { margin: 0; } 
.banner_content h3 { font-size: 1.4rem; } 
.banner_content p { font-size: 1rem; } 

.filter_wrap { margin-bottom: 20px; gap: 5px; display: grid; grid-template-columns: 1fr 1fr 1fr; } 


.responsibilities_wrap .track_list { flex-direction: column; } 

.filter_btn { padding: 8px 12px; font-size: 0.875rem; } 

 .type_overlap { flex-direction: column; padding: 0; align-items: center; } 

 .type_overlap .about_img { width: 100%; height: 400px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } 

.apply_membership_bg { height: auto; overflow: hidden; box-shadow: var(--box-shadow-default); } 

.apply_cert_text_box { width: 100%; padding: 10px; margin-left: unset; } 

 .type_overlap .text_box { width: 90%; margin-left: 0; margin-top: -50px; padding: 40px; } 

 .hero_title { font-family: 'Libre Baskerville', serif; font-size: 1.6rem; line-height: 1.2; } 

 .hero_desc { font-size: 1rem; max-width: 100%; margin-top: 10px; } 

 .section_title { font-size: 2rem; } 

 .section_subtitle { font-size: 1rem; } 

 .mission_grid { grid-template-columns: repeat(2, 1fr); } 

 .overview_content { width: 100%; padding: 20px; } 

 .overview_content .main_text strong { font-size: 1.2rem; margin-top: 0; line-height: 1.1; margin-bottom: 5px; } 

 .overview_content_wrap.about_content_wrap { flex-direction: column; gap: 10px; } 

 .overview_content .main_text { font-size: 1rem; line-height: 1.4; } 

 .overview_content .sub_text { font-size: 1rem; line-height: 1.4; } 

 .text_box { width: 100%; padding: 10px; } 

 .text_box p { font-size: 1rem; line-height: 1.3; } 

 /* about text */
 .about_h4 { font-size: 1.5rem; margin-bottom: 15px; text-align: center; } 

 .type_overlap .about_h4 { font-size: 1.5rem; margin-bottom: 10px; } 

 .academy_features { margin-top: 5px; } 

 .academy_features li { font-size: 1rem; margin-bottom: 8px; padding-left: 20px; } 

 .section_integrity { padding: 0; } 

 .about_img { height: auto; } 

 .about_desc strong { font-size: 1rem; } 

 .about_desc { font-size: 1rem; } 

 .waas_list li { font-size: 1rem; margin-bottom: 0; padding-left: 0; } 

 /* check list */
 .check_list li { font-size: 1rem; margin-bottom: 10px; padding-left: 20px; } 

.fa-solid,
.fas,
.fa-regular,
.fa-handshake,
.fa-brands,
.far,
.fab { font-family: 'Font Awesome 5 Free' !important; font-weight: 900; font-size: 16px; } 
 .col_title { font-size: 1.25rem; margin-bottom: 10px; } 

 .icon_wrap,
 .academy_icon { width: 60px; height: 60px; font-size: 1.5rem; margin-bottom: 15px; } 

 .connected_grid { grid-template-columns: repeat(1, 1fr); gap: 20px; } 

 .role_item { padding: 20px; } 

 .role_item h4 { font-size: 1.25rem; margin-bottom: 8px; } 

 .role_item p { font-size: 1rem; line-height: 1.4; } 

 /* waas misson & vision */
 .president_text h3 { font-size: 1.5rem; margin-bottom: 15px; } 

 .president_text p { font-size: 1rem; line-height: 1.4; } 

 /* cta css */
 .cta_banner { flex-direction: column; text-align: center; padding: 40px 30px; } 

 .cta_text { margin-bottom: 20px; } 

 .cta_text h3 { font-size: 1.5rem; } 

 .cta_text p { font-size: 1rem; } 

 .cta_btn_wrap,
 .btn_cta { width: 100%; } 


 /* */
 .impact_grid,
 .benefit_grid { grid-template-columns: repeat(1, 1fr); gap: 24px; } 

 /* [Grid] All Grids to 1 Column */

 .flex_display { flex-direction: column; gap: 5px; } 

 .certification_flex_display { flex-direction: column; gap: 15px; } 

 .certified_doctor_content { width: 100% !important; padding: 20px; } 

 .subpage_doctor_img img { width: 100%; height: 250px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; max-height: 100%; } 

 .doctor_list { display: flex; flex-wrap: wrap; gap: 10px; } 

 .subpage_doctor_card { flex-direction: column; padding: 0; width: 48.5%; background: transparent; gap: 10px; box-shadow: none; border: none; } 

 .subpage_doctor_name { font-size: 14px; } 

 .subpage_hospital_name { font-size: 13px; line-height: 1.2; margin-bottom: 4px; } 

 .digital_cert_card2 { display: none; } 

 .schedule_contents { grid-template-columns: repeat(1, 1fr) !important; } 

 .subpage_doctor_img { height: 250px; } 

 .inner_con { padding: 0 10px; } 

 .step_grid,
 .stats_grid,
 .board_grid,
 .clinic_grid,
 .two_col_wrapper,
 .academy_grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } 

 .clinic_section { padding: 40px 0; } 

 .clinic_grid { display: grid; grid-template-columns: 1fr; gap: 20px; padding: 0 5px; } 

 .clinic_card { border-radius: 12px; box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08); overflow: hidden; background: #fff; } 

 .clinic_thumb { height: 200px; position: relative; } 

 .clinic_thumb img { width: 100%; height: 100%; object-fit: cover; } 

 .clinic_badge { font-size: 11px; padding: 4px 10px; top: 10px; left: 10px; } 

 .clinic_info { padding: 20px; } 

 .clinic_country { font-size: 13px; color: #666; margin-bottom: 8px; display: flex; align-items: center; gap: 6px; } 

 .clinic_country .fi { width: 18px; height: 14px; background-size: cover; } 

 .clinic_name { font-size: 18px; font-weight: 700; color: #333; margin-bottom: 6px; line-height: 1.3; } 

 .clinic_desc { font-size: 14px; color: #777; line-height: 1.5; margin-bottom: 15px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } 

 .clinic_footer { display: flex; justify-content: space-between; align-items: center; padding-top: 15px; border-top: 1px solid #eee; } 

 .director_name { font-size: 14px; font-weight: 600; color: #444; } 

 .btn_detail { font-size: 13px; font-weight: 500; color: #0b204d; /* 포인트 컬러 */
 text-decoration: none; display: flex; align-items: center; gap: 4px; } 

 .btn_detail i { font-size: 11px; transition: transform 0.2s; } 

 .doc_list { text-align: left; } 

 .benefit_list li { font-size: 1rem; margin-bottom: 10px; padding-left: 20px; text-align: left; } 

 .step_header h4 { font-size: 1.2rem; } 

 .academy_card h4,
 .text_wrapper h4,
 .mission_card h4 { font-size: 1.2rem; margin-bottom: 5px; } 

 .text_wrapper p { font-size: 1rem; line-height: 1.4; } 

 .step_body p,
 .bullet_list li { font-size: 1rem; line-height: 1.4; } 

 .step_header { margin-bottom: 10px; } 

 .step_body strong,
 .mission_card .mission_list li strong { font-size: 1rem; margin-top: 0; line-height: 1.1; margin-bottom: 5px; } 


 .stats_grid { gap: 30px 15px; } 

 .info_grid_3 { grid-template-columns: 1fr; gap: 24px; } 

 .president_wrap { flex-direction: column; text-align: center; gap: 40px; } 

 .president_img { width: 100%; max-width: 400px; height: auto; margin: 0 auto; } 

 .leadership_spotlight { flex-direction: column; text-align: center; } 

 .spotlight_img { max-width: 80%; margin-bottom: 30px; } 

 .faculty_banner_wrap { flex-direction: column; text-align: center; gap: 30px; padding: 50px 30px; } 

 /* 모바일 서브 메뉴 */
 .subpage_tab_list { flex-wrap: nowrap; /* 줄바꿈 방지 (한 줄로 나열) */
 justify-content: flex-start; /* 왼쪽 정렬 시작 */
 overflow-x: auto; /* 가로 스크롤 허용 */
 /* 스크롤 영역 여백 및 부드러운 스크롤 */
 padding: 10px 0px; -webkit-overflow-scrolling: touch; /* 스크롤바 숨기기 (Firefox, IE, Edge) */
 scrollbar-width: none; -ms-overflow-style: none; } 

 .subpage_tab_list::-webkit-scrollbar { display: none; } 

 .tab_item { flex: 0 0 auto; } 

 .tab_item a { padding: 10px 20px; font-size: 14px; } 

 .subpage_tab_section { top: 80px; padding: 0; } 

 /* 화살표 아이콘 생성 */
 .subpage_tab_section::after { content: '\f054'; /* FontAwesome 오른쪽 화살표 코드 (fa-chevron-right) */
 font-family: "Font Awesome 6 Free"; /* 폰트어썸 사용 시 */
 font-weight: 900; position: absolute; right: 5px; top: 50%; transform: translateY(-50%); width: 24px; height: 24px; line-height: 24px; text-align: center; background: rgba(255, 255, 255, 0.8); /* 반투명 배경 */
 border-radius: 50%; box-shadow: -2px 0 5px rgba(0, 0, 0, 0.1); color: #666; font-size: 12px; pointer-events: none; /* 클릭 방해 금지 */
 animation: bounceRight 1.5s infinite; /* 움직임 효과 */ } 

 /* 화살표가 살짝 까딱거리는 애니메이션 */
 @keyframes bounceRight { 0%,
 100% { transform: translateY(-50%) translateX(0); } 

 50% { transform: translateY(-50%) translateX(3px); } 
 }

 .cert_details_wrapper { flex-direction: column; } 

 .cert_card { padding: 40px 10px; } 

 /* [Footer Tablet Fix] */
 .footer_inner { flex-wrap: wrap; gap: 30px; } 

 .footer_logo { flex-basis: 100%; text-align: center; } 

 .footer_logo img { max-width: 200px; margin: 0 auto; } 

 .footer_info { flex-basis: 100%; text-align: center; } 

 .footer_info p { line-height: 1.3; font-size: 1rem; } 

 .footer_social { flex-basis: 100%; justify-content: center; flex-direction: row; } 
 }


/* ==========================================================================
 2. Mobile (max-width: 768px)
 ========================================================================== */
@media screen and (max-width: 768px) { /* [Popup Fix] */
 .main_fixed_popup { position: fixed; top: 20px; right: 0; width: 100%; height: 100%; display: flex; justify-content: end; align-items: center; z-index: 9999; padding: 20px; } 

 .main_popup_content { flex-direction: column; background: white; padding: 0; border-radius: 3px; box-shadow: rgba(134, 134, 134, 0.4) 3px 4px 5px, rgba(134, 134, 134, 0.25) -2px -1px 4px; position: relative; } 

 .main_popup_content img { display: block; max-width: 100%; height: auto; border-radius: 3px; } 

 .popup_content { max-width: 94%; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1000; } 

 .main_popup_content img { display: block; max-width: 100%; height: auto; border-radius: 3px; } 

 .popup_content1,
 .popup_content2 { max-width: 350px; height: auto; margin: 50px auto; position: relative; padding: 0; border-radius: 8px; } 

 .popup_content img,
 .popup_content1 img,
 .popup_content2 img { width: 100%; height: auto; } 

 .popup_close { top: -40px; right: 0; font-size: 40px; width: 40px; height: 40px; color: #fff; } 

 .section_header { margin-bottom: 40px; } 

 .section_title { font-family: 'Libre Baskerville', serif; font-size: 1.5rem; } 

 .section_subtitle { font-size: 1rem; } 

 /* [Layout] Hero & Visual */
 .faculty_hero { height: 30vh; padding: 0 20px; } 

 .hero_title { font-family: 'Libre Baskerville', serif; font-size: 1.8rem; } 

 .main_visual { height: 40vh; background-position: center; } 

 .main_visual_wrap { top: 50%; left: 5%; width: 90%; transform: translateY(-50%); text-align: center; } 

 .main_visual_title h2 { font-size: 1.75rem; line-height: 1.3; margin-bottom: 20px; text-align: left; } 

 .main_visual_title h3 { font-size: 1.125rem; text-align: left; } 

 .main_visual_title h4 { font-size: 1.125rem; text-align: left; line-height: 0; } 

 .btn_area { display: flex; justify-content: start; } 

 .btn_visual_join { padding: 8px 20px; font-size: 14px; margin-top: 10px; } 

 .definition_title { font-size: 1.2rem; margin-bottom: 10px; } 

 .country_list_grid { gap: 15px; } 

 .country_item { font-size: 1rem; } 

 .info_title { font-size: 1.2rem; margin-bottom: 10px; } 

 .faculty_hero .inner_con { padding: 0 0px; } 

 /* 공통 클로징 */
 .section_closing { padding: 20px 20px; text-align: center; } 

 .closing_title { font-size: 1.5rem; } 

 .closing_desc { font-size: 1rem; line-height: 1.4; margin-top: 10px; } 

 /* [Grid] All Grids to 1 Column */
 .step_grid,
 .benefit_grid,
 .stats_grid,
 .mission_grid,
 .academy_grid,
 .board_grid,
 .two_col_wrapper,
 .four_col_grid,
 .partners_grid { grid-template-columns: 1fr !important; gap: 20px; } 

 .clinic_grid { gap: 20px; } 

 .mission_card { padding: 30px 20px; border-radius: 15px; } 

 .mission_icon { width: 60px; height: 60px; font-size: 24px; margin-bottom: 20px; } 

 .mission_card h4 { /* font-size: 20px; margin-bottom: 15px; */ } 

 .mission_card p { font-size: 15px; line-height: 1.5; } 

 .mission_card .mission_list { margin-top: 15px; } 

 .mission_list li { font-size: 15px; margin-bottom: 10px; padding-left: 15px; } 

 .mission_card .mission_list li::before { top: 5px; font-size: 10px; } 

 .faculty_definition_list li { font-size: 1rem; margin-bottom: 8px; } 

 .faculty_map_img { width: 100%; } 

 /* [Components] Cards & Boxes */
 .col_box,
 .benefit_card,
 .info_card,
 .academy_card { padding: 30px 20px; flex-direction: row; } 

 

 .benefit_four_grid { grid-template-columns: 1fr !important; gap: 20px; } 

 .step_card { flex-direction: column; padding: 25px 20px; } 

 /* [Overview Overlay Reset] */
 .type_overlap .about_img { height: auto; } 

 .type_overlap .text_box { width: 100%; margin-top: 0; padding: 30px 20px; box-shadow: none; border: 1px solid #eee; } 

 /* [Banners & CTA] */
 .cta_banner { flex-direction: column; text-align: center; padding: 40px 25px; } 

 .cta_text { margin-bottom: 25px; } 

 .cta_btn_wrap,
 .btn_cta { width: 100%; } 

 /* 요금제 */
 .fee_exemption_banner { flex-direction: column; text-align: center; padding: 35px 20px; } 

 .fee_amount { font-size: 36px; } 

 .fee_period { font-size: 16px; } 

 .banner_icon { margin-right: 0; margin-bottom: 20px; width: 60px; height: 60px; font-size: 1.75rem; } 

 .banner_text h4 { font-size: 1.125rem; } 

 /* [Faculty Banner] */
 .faculty_banner_wrap { padding: 40px 20px; border-radius: 10px; } 

 .fb_text h3 { font-size: 28px; } 

 .fb_text p { font-size: 16px; } 

 /* [Waas Banner] */
 .waas_banner { height: auto; padding: 0; } 

 .waas_banner_inner { background: transparent; height: auto; } 

 .waas_banner_inner img { width: 100%; height: auto; } 


 .waas_banner_text { width: 100%; padding: 0; margin-bottom: 20px; } 

 .waas_banner_text h1 { font-size: 28px; } 

 /* [Swiper & Schedule] */
 .main_sch_item { height: 400px; } 

 .main_sch_title { font-size: 1.375rem; } 

 .main_sch_overlay { padding: 25px 20px; } 

 /* [Partners Logo] */
 .partner_logo { width: 45%; max-width: none; } 

 .partners_grid { column-gap: 15px; row-gap: 30px; } 
 .grid_3_col_simple { grid-template-columns: repeat(1, 1fr); gap: 20px; } 

 /* [Top Button] */
 #topButton { bottom: 20px; right: 20px; } 

 #topButton button { width: 45px; height: 45px; font-size: 1.125rem; } 

 /* [Table Scroll] */
 .membership-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-top: 1px solid #333; } 

 .membership-table { min-width: 600px; } 

 .membership-table th,
 .membership-table td { padding: 10px; font-size: 0.8125rem; } 
 .form_box { padding: 30px 10px; } 

 .form_row { flex-direction: column; gap: 0; } 

 .form_title { font-size: 1.5rem; } 

 .form_desc { font-size: 1rem; margin-top: 10px; }  


 /* [Footer] */
 #footer { padding: 30px 0; } 

 .footer_inner { flex-direction: column; gap: 10px; } 

 .footer_logo { text-align: center; margin-bottom: 10px; } 

 .footer_info { text-align: center; } 

 .footer_social { justify-content: center; margin-top: 15px; } 

 /* [Utility] */
 .pc_only { display: none !important; } 

 .mo_only { display: block !important; } 
#mobileMembershipBtn { display: block; position: fixed; right: 20px; bottom: 70px; z-index: 999; animation: floatBtn 3s ease-in-out infinite; } 

#mobileMembershipBtn a { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 50px; height: 50px; background: linear-gradient(135deg, #0b204d 0%, #1c3d7a 100%); border: 1px solid rgba(212, 175, 55, 0.5); border-radius: 50%; text-decoration: none; color: #fff; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); /* 넘치는 빛 효과 방지 */
 overflow: hidden; position: relative; } 

/* 아이콘 스타일 */
#mobileMembershipBtn a i { font-size: 20px; margin-bottom: 3px; color: #ffd700; /* 아이콘을 골드 컬러로 포인트 */
 text-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); } 

/* 텍스트 스타일 */
#mobileMembershipBtn a span { font-size: 10px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; color: rgba(255, 255, 255, 0.9); } 

/* 빛이 지나가는 효과 (Shine Effect) */
#mobileMembershipBtn a::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%); transform: rotate(45deg) translateY(-100%); transition: transform 0.6s; } 

/* 터치 시 효과 */
#mobileMembershipBtn a:active { transform: scale(0.95); box-shadow: 0 5px 15px rgba(11, 32, 77, 0.6); } 


/* 둥둥 떠다니는 애니메이션 키프레임 */
@keyframes floatBtn { 
 0% { transform: translateY(0px); } 

 50% { transform: translateY(-6px); } 

 100% { transform: translateY(0px); } 
 } 
 }

 @media screen and (max-width: 371px){
 .doctor_list { gap: 15px; } 
 .subpage_doctor_card { width: 47%; } 
 }