@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-1Thin.woff') format('woff'); font-weight: 100; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-2ExtraLight.woff') format('woff'); font-weight: 200; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-3Light.woff') format('woff'); font-weight: 300; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-4Regular.woff') format('woff'); font-weight: 400; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-5Medium.woff') format('woff'); font-weight: 500; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-6Bold.woff') format('woff'); font-weight: 600; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-7ExtraBold.woff') format('woff'); font-weight: 700; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-8Heavy.woff') format('woff'); font-weight: 800; }

@font-face { font-family: 'SCDream'; src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_six@1.2/S-CoreDream-9Black.woff') format('woff'); font-weight: 900; }

/* 공통 초기화 */
.kh_section_container *, .kh_section_container *:before, .kh_section_container *:after { box-sizing: border-box; }
.kh_section_container h2, .kh_section_container h3, .kh_section_container p { margin: 0; padding: 0; }

:root {
    --kh-main: #2a5194; /* 메인 컬러 */
    --kh-accent: #00b4d8; /* 포인트 보조 컬러 */
    --kh-text-base: #333;
    --kh-text-sub: #666;
    --kh-bg-sub: #f4f8ff;
}

.kh_section_container {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
    color: var(--kh-text-base);
    line-height: 1.6;
    background-color: #fff; 
}
.kh_page_desc_wrap {
    width: 100%;
    text-align: center;
    margin-bottom: 60px;
    padding-top: 15px; /* 테마의 page_title(메인 타이틀)과의 간격 */
    font-family: 'Noto Sans KR', sans-serif;
}
.kh_page_desc_wrap .kh_page_subtitle {
    font-size: 26px;
    font-weight: 700;
    color: #222;
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}
.kh_page_desc_wrap .kh_page_desc {
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    word-break: keep-all;
}

@media (max-width: 767px) {
    .kh_page_desc_wrap .kh_page_subtitle { font-size: 20px; margin-bottom: 15px; line-height: 1.4; }
    .kh_page_desc_wrap .kh_page_desc { font-size: 15px; }
}
/* =========================================
   1. 인트로 섹션
========================================= */
.kh_intro_wrap { width: 100%; }

.kh_intro_vision {
    width: 100%;
    text-align: center;
    margin-bottom: 60px;
}
.kh_intro_vision .kh_vision_title {
    font-size: 46px;
    font-weight: 700;
    color: var(--kh-main);
    letter-spacing: -1.5px;
    margin-bottom: 25px;
    word-break: keep-all;
}
.kh_intro_vision .kh_vision_desc {
    font-size: 20px;
    font-weight: 400;
    color: var(--kh-text-sub);
    line-height: 1.6;
    word-break: keep-all;
}

.kh_intro_philosophy {
    width: 100%;
    background-color: var(--kh-bg-sub);
    border-top: 4px solid var(--kh-main);
    border-radius: 12px;
    padding: 50px 60px;
    box-shadow: 0 10px 30px rgba(42, 81, 148, 0.05);
}
.kh_philosophy_head {
    border-bottom: 1px solid #d3e1f5;
    padding-bottom: 25px;
    margin-bottom: 25px;
}
.kh_philosophy_head .kh_ph_title_main {
    font-size: 32px;
    font-weight: 700;
    color: var(--kh-main);
    letter-spacing: -1px;
    margin-bottom: 10px;
    word-break: keep-all;
}
.kh_philosophy_head .kh_ph_title_sub {
    font-size: 22px;
    font-weight: 600;
    color: var(--kh-accent);
    letter-spacing: -0.5px;
    word-break: keep-all;
}
.kh_philosophy_body p {
    font-size: 17px;
    color: var(--kh-text-sub);
    line-height: 1.8;
    word-break: keep-all;
}
.kh_text_point {
    color: var(--kh-main);
    font-weight: 600;
}

/* =========================================
   2. 섹션 연결 요소 (세련된 라인 뱃지 형태)
========================================= */
.kh_divider_area {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 70px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 그라데이션 가로선 */
.kh_divider_area::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(90deg, rgba(42,81,148,0), rgba(42,81,148,0.3), rgba(0,180,216,0.5), rgba(42,81,148,0.3), rgba(42,81,148,0));
    z-index: 1;
}
/* 텍스트 뱃지 (선택적으로 아이콘도 추가) */
.kh_divider_badge {
    position: relative;
    z-index: 2;
    background-color: #fff; /* 선을 가리기 위한 뱃지 배경 */
    padding: 0 20px; 
}
.kh_divider_badge span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--kh-bg-sub);
    color: var(--kh-main);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.5px;
    padding: 8px 24px;
    border-radius: 30px;
    border: 1px solid #d3e1f5;
    box-shadow: 0 4px 10px rgba(42, 81, 148, 0.05);
}
.kh_divider_badge span i {
    margin-right: 8px;
    color: var(--kh-accent);
    font-size: 12px;
}

/* =========================================
   3. 콘텐츠 섹션 (비주얼 카드)
========================================= */
.kh_visual_wrap {
    width: 100%;
    position: relative;
}

/* PC: 50% 좌우 나열 레이아웃 구조 */
.kh_content_area {
    width: 100%;
    position: relative;
    margin: 0 auto 60px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.kh_half_box {
    width: 48%;
    display: flex;
    flex-direction: column;
    gap: 40px; 
    position: relative;
    z-index: 2;
}

/* 중앙 원형 하이라이트 */
.kh_center_circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.kh_circle_box {
    width: 260px;
    height: 260px;
    background-color: #fff;
    border: 4px solid var(--kh-main);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    box-shadow: 0 15px 35px rgba(42, 81, 148, 0.15), inset 0 0 20px rgba(0, 180, 216, 0.05);
    position: relative;
}
.kh_circle_box::before {
    content: "";
    position: absolute;
    top: -12px; left: -12px; right: -12px; bottom: -12px;
    border: 1px dashed var(--kh-accent);
    border-radius: 50%;
}
.kh_circle_box i {
    font-size: 55px;
    color: var(--kh-main);
    margin-bottom: 15px;
    background: -webkit-linear-gradient(45deg, var(--kh-main), var(--kh-accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.kh_center_text p {
    font-size: 24px;
    font-weight: 700;
    color: var(--kh-main);
    margin-bottom: 5px;
    letter-spacing: -0.5px;
}
.kh_center_text .kh_sub_desc {
    font-size: 15px;
    color: var(--kh-text-sub);
    background-color: var(--kh-bg-sub);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
}

/* 개별 카드 디자인 */
.kh_card {
    background-color: #fff;
    border: 1px solid #e0e5f0;
    border-top: 4px solid var(--kh-main);
    border-radius: 12px;
    padding: 35px 30px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.04);
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden;
}
.kh_card::before {
    content: "";
    position: absolute;
    top: -30px;
    right: -30px;
    width: 100px;
    height: 100px;
    background-color: var(--kh-bg-sub);
    border-radius: 50%;
    z-index: 0;
    opacity: 0.6;
}
.kh_card > * { position: relative; z-index: 1; }

.kh_half_box.right_side .kh_card { align-items: flex-end; text-align: right; }
.kh_half_box.right_side .kh_card::before { right: auto; left: -30px; }
.kh_card_head { display: flex; align-items: center; margin-bottom: 18px; }
.kh_half_box.right_side .kh_card_head { flex-direction: row-reverse; }
.kh_card_desc{width: 80%;}

.kh_card_icon_wrap {
    width: 56px;
    height: 56px;
    background: linear-gradient(135deg, var(--kh-bg-sub) 0%, #ffffff 100%);
    border: 1px solid #d3e1f5;
    border-radius: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 2px 4px 10px rgba(42, 81, 148, 0.08);
}
.kh_card_icon_wrap i { font-size: 24px; color: var(--kh-main); }
.kh_half_box.left_side .kh_card_icon_wrap { margin-right: 18px; }
.kh_half_box.right_side .kh_card_icon_wrap { margin-left: 18px; }

.kh_card_title {
    font-size: 22px;
    font-weight: 700;
    color: var(--kh-main);
    letter-spacing: -0.5px;
}
.kh_card_desc {
    font-size: 16px;
    color: var(--kh-text-sub);
    word-break: keep-all;
    line-height: 1.6;
}

/* 하단 마무리 바 */
.kh_footer_bar {
    width: 100%;
    background: linear-gradient(90deg, #f4f8ff, #ffffff, #f4f8ff);
    border: 1px solid #c9d8ef;
    border-radius: 50px;
    padding: 25px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 8px 20px rgba(0,0,0,0.02);
}
.kh_footer_bar i { font-size: 28px; color: var(--kh-accent); margin-right: 15px; }
.kh_footer_bar p { font-size: 19px; font-weight: 500; color: var(--kh-text-base); }
.kh_footer_bar .kh_highlight { 
    font-weight: 700; 
    color: var(--kh-main);
    border-bottom: 2px solid var(--kh-accent);
}

/* =========================================
   반응형 처리 (모바일 스택 배열)
========================================= */
@media (max-width: 1024px) {
    .kh_intro_vision .kh_vision_title { font-size: 34px; }
    .kh_intro_vision .kh_vision_desc { font-size: 17px; }
    .kh_intro_philosophy { padding: 40px 30px; }
    .kh_philosophy_head .kh_ph_title_main { font-size: 26px; }
    .kh_philosophy_head .kh_ph_title_sub { font-size: 19px; }
    .kh_philosophy_body p { font-size: 15px; }

    .kh_divider_area { margin: 50px auto; } /* 모바일에서는 여백 축소 */

    .kh_content_area { display: block; margin-bottom: 40px; }
    .kh_center_circle {
        position: relative;
        top: auto; left: auto;
        transform: none;
        margin: 0 auto 50px; 
    }
    .kh_half_box { width: 100%; gap: 20px; margin-bottom: 20px; }
    .kh_half_box.right_side .kh_card { align-items: flex-start; text-align: left; }
    .kh_half_box.right_side .kh_card::before { left: auto; right: -30px; }
    .kh_half_box.right_side .kh_card_head { flex-direction: row; }
    .kh_half_box.right_side .kh_card_icon_wrap { margin-left: 0; margin-right: 18px; }
  .kh_card_desc{width: 100%;}
    .kh_footer_bar { border-radius: 15px; flex-direction: column; padding: 25px 20px; }
    .kh_footer_bar i { margin-right: 0; margin-bottom: 15px; }
}

@media (max-width: 767px) {
    .kh_intro_vision .kh_vision_title { font-size: 28px; }
    .kh_intro_vision .kh_vision_desc { font-size: 16px; }
    .kh_intro_philosophy { padding: 30px 20px; }
    .kh_philosophy_head .kh_ph_title_main { font-size: 22px; }
    .kh_philosophy_head .kh_ph_title_sub { font-size: 17px; margin-top: 5px; }
    .kh_philosophy_body p { font-size: 14px; line-height: 1.7; }
    .kh_card_desc{width: 100%;}
    .kh_divider_badge span { padding: 6px 18px; font-size: 12px; }
}

/* =========================================
   4. 조직도 섹션 (KOREA HIT 조직 구성) - 단일 선 연결 방식(끊김 완벽 해결)
========================================= */
.kh_org_section {
    width: 100%;
    padding: 80px 0;
    font-family: 'Noto Sans KR', sans-serif;
    color: var(--kh-text-base);
}

/* 조직도 헤더 */
.kh_org_header {
    text-align: center;
    margin-bottom: 50px;
}
.kh_org_header .kh_org_title {
    font-size: 42px;
    font-weight: 800;
    color: var(--kh-main);
    letter-spacing: -1px;
    margin-bottom: 15px;
}
.kh_org_header .kh_org_title .kh_text_red {
    color: #d92027;
    padding: 0 4px;
}
.kh_org_header .kh_org_title .kh_text_black {
    color: #343434;
    padding: 0 4px;
}
.kh_org_header .kh_org_desc {
    font-size: 18px;
    color: var(--kh-text-sub);
    line-height: 1.6;
    word-break: keep-all;
}

/* 조직도 상단 트리 (회장 - 대표이사 - 전무이사) */
.kh_org_top_tree {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 0;
}
.kh_org_node {
    background-color: var(--kh-main);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    width: 300px;
    padding: 16px 20px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 15px rgba(42, 81, 148, 0.15);
    position: relative;
    z-index: 2;
}
.kh_org_node i {
    margin-right: 12px;
    font-size: 20px;
}
/* 노드 사이의 수직 연결선 */
.kh_org_line_v {
    width: 2px;
    height: 25px;
    background-color: #aebfd6;
}

/* 
  조직도 하단 부서 래퍼 (단일 가로선 처리) 
*/
.kh_org_departments {
    display: flex;
    flex-wrap: nowrap;
    max-width: 1400px;
    margin: 40px auto 0; /* 중앙 수직선을 위한 상단 여백 */
    position: relative;
}

/* 상단 트리에서 내려오는 중앙 메인 수직선 */
.kh_org_departments::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 40px;
    background-color: #aebfd6;
}

/* ★ 4개 부서를 하나로 관통하는 단일 가로선 (첫번째 50% ~ 네번째 50% 지점 연결) ★ */
.kh_org_departments::after {
    content: "";
    position: absolute;
    top: 0;
    left: 12.5%;  /* 첫 번째 박스의 정확한 중앙 */
    right: 12.5%; /* 마지막 박스의 정확한 중앙 */
    height: 2px;
    background-color: #aebfd6;
}

/* 개별 부서 컬럼 */
.kh_dept_col {
    width: 25%;
    padding: 40px 15px 0; /* 가로선에서 카드로 내려오는 세로선을 위한 상단 여백 40px 확보 */
    position: relative;
}

/* 가로선에서 각 카드로 내려가는 세로선 */
.kh_dept_col::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 2px;
    height: 40px;
    background-color: #aebfd6;
}

/* 부서 카드 디자인 */
.kh_dept_card {
    background-color: #fff;
    border: 1px solid #e0e5f0;
    border-radius: 10px;
    padding: 35px 25px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    z-index: 2;
}

/* 부서별 고유 색상 변수 */
.kh_dept_card.c_teal { --dept-color: #008f89; }
.kh_dept_card.c_blue { --dept-color: #1d62a8; }
.kh_dept_card.c_green { --dept-color: #4b9b3e; }
.kh_dept_card.c_purple { --dept-color: #5f4b8b; }

/* 부서 카드 상단 포인트 라인 */
.kh_dept_card::after {
    content: "";
    position: absolute;
    top: -1px; left: -1px; right: -1px;
    height: 5px;
    background-color: var(--dept-color);
    border-radius: 10px 10px 0 0;
}

.kh_dept_head {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.kh_dept_head i { font-size: 32px; color: var(--dept-color); margin-right: 12px; }
.kh_dept_head h3 { font-size: 22px; font-weight: 700; color: var(--dept-color); letter-spacing: -0.5px; }

.kh_dept_desc {
    font-size: 15px;
    color: var(--kh-text-sub);
    line-height: 1.5;
    text-align: center;
    word-break: keep-all;
    margin-bottom: 25px;
    min-height: 70px;
}

.kh_dept_tasks {
    border-top: 1px solid #eee;
    padding-top: 25px;
    flex-grow: 1;
}
.kh_task_badge {
    display: inline-block;
    background-color: var(--dept-color);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 4px 14px;
    border-radius: 20px;
    margin-bottom: 15px;
}
.kh_dept_tasks ul { list-style: none; padding: 0; margin: 0; }
.kh_dept_tasks li {
    position: relative;
    padding-left: 12px;
    font-size: 15px;
    color: var(--kh-text-base);
    margin-bottom: 8px;
    line-height: 1.4;
    word-break: keep-all;
    letter-spacing: -0.5px;
}
.kh_dept_tasks li::before {
    content: "";
    position: absolute;
    top: 8px; left: 0;
    width: 4px; height: 4px;
    border-radius: 50%;
    background-color: var(--dept-color);
}

/* =========================================
   반응형 처리 (화면이 좁아질 때 연결선 숨김)
========================================= */
@media (max-width: 1024px) {
    .kh_org_header .kh_org_title { font-size: 34px; }
    .kh_org_header .kh_org_desc { font-size: 16px; }
    
    .kh_org_departments {
        flex-wrap: wrap;
        margin-top: 40px;
    }
    /* 복잡한 구조의 실선은 태블릿 이하에서 깔끔하게 숨김 처리 */
    .kh_org_departments::before,
    .kh_org_departments::after,
    .kh_dept_col::before {
        display: none;
    }
    .kh_dept_col {
        width: 50%;
        padding: 0 15px; 
        margin-bottom: 30px;
    }
    .kh_dept_desc { min-height: auto; }
}

@media (max-width: 767px) {
    .kh_org_header .kh_org_title { font-size: 28px; }
    .kh_org_header .kh_org_desc { font-size: 15px; }
    .kh_org_node { width: 100%; max-width: 280px; font-size: 18px; padding: 14px 20px; }
    
    /* 모바일에서는 위아래로 100% 스택 */
    .kh_dept_col {
        width: 100%;
        padding: 0;
        margin-bottom: 20px;
    }
    .kh_dept_card { padding: 30px 20px; }
}

.kh_vision_page_wrap {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
}

/* 히어로 배너 컨테이너 */
.kh_vision_hero {
    position: relative;
    width: 100%;
    height: 600px; /* 배너 높이 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    
    /* 
      배경 이미지 및 그라데이션 오버레이 
      (Unsplash 무료 네트워크/지구 이미지 활용, 상단은 어둡게 하단은 은은한 시안 블루로)
    */
    background-image: 
        linear-gradient(to bottom, rgba(4, 14, 39, 1) 0%, rgba(4, 14, 39, 0.6) 50%, rgba(0, 180, 216, 0.2) 100%),
        url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1920&auto=format&fit=crop');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-color: #040e27; /* 이미지 로드 전 기본 배경색 */
    
    padding: 0 20px;
    overflow: hidden;
}

/* 텍스트 콘텐츠 래퍼 (z-index로 배경 위로 올림) */
.kh_hero_content {
    position: relative;
    z-index: 10;
    max-width: 1200px;
}

/* 상단 카테고리 텍스트 (VISION) */
.kh_hero_label {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
    color: #00d2ff; /* 시안 블루 */
    letter-spacing: 4px; /* 글자 간격 넓게 */
    margin-bottom: 25px;
    text-transform: uppercase;
}
.kh_hero_label::after {
    content: "";
    display: block;
    width: 30px;
    height: 2px;
    background-color: #00d2ff;
    margin-top: 10px;
}

/* 메인 영문 타이틀 */
.kh_hero_title_en {
    font-size: 54px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -1px;
    margin-bottom: 15px;
    word-break: keep-all;
}

/* 메인 국문 타이틀 */
.kh_hero_title_ko {
    font-size: 32px;
    font-weight: 700;
    color: #00d2ff;
    letter-spacing: -1px;
    margin-bottom: 30px;
    word-break: keep-all;
}

/* 하단 설명 텍스트 */
.kh_hero_desc {
    font-size: 18px;
    font-weight: 300;
    color: #e0e5f0;
    line-height: 1.7;
    word-break: keep-all;
}

/* =========================================
   반응형 처리 (태블릿 & 모바일 텍스트 스케일링)
========================================= */
@media (max-width: 1024px) {
    .kh_vision_hero { height: 500px; }
    .kh_hero_title_en { font-size: 42px; }
    .kh_hero_title_ko { font-size: 26px; }
    .kh_hero_desc { font-size: 16px; }
}

@media (max-width: 767px) {
    .kh_vision_hero { height: 400px; padding: 0 15px; }
    .kh_hero_label { font-size: 14px; letter-spacing: 2px; margin-bottom: 15px; }
    .kh_hero_label::after { width: 20px; margin-top: 8px; }
    .kh_hero_title_en { font-size: 30px; margin-bottom: 10px; line-height: 1.2; }
    .kh_hero_title_ko { font-size: 20px; margin-bottom: 20px; }
    .kh_hero_desc { font-size: 14px; line-height: 1.6; }
}

/* =========================================
   [Vision & Value] CORE VALUES 섹션
========================================= */
.kh_core_values_wrap {
    width: 100%;
    /* 상단 배너와 자연스럽게 연결되도록 동일한 딥 네이비 배경 적용 */
    background-color: #040e27; 
    padding: 100px 5%;
    font-family: 'Noto Sans KR', sans-serif;
    color: #fff;
}

/* 헤더 영역 */
.kh_cv_header {
    text-align: center;
    margin-bottom: 60px;
}
.kh_cv_label {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 18px;
    font-weight: 600;
    color: #00d2ff;
    letter-spacing: 4px;
    text-transform: uppercase;
}
.kh_cv_label::after {
    content: "";
    display: block;
    width: 35px;
    height: 2px;
    background-color: #00d2ff;
    margin-top: 15px;
}

/* 카드 그리드 컨테이너 (PC 4열 나열) */
.kh_cv_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1400px;
    margin: 0 auto;
    gap: 20px;
}

/* 개별 카드 디자인 (시각적 분리 명확화, 호버 배제) */
.kh_cv_card {
    /* PC에서는 4열 (여백 제외 약 23.5%) */
    width: calc(25% - 15px); 
    background-color: rgba(255, 255, 255, 0.03); /* 아주 옅은 반투명 배경 */
    border: 1px solid rgba(0, 210, 255, 0.2); /* 시안 블루 테두리 */
    border-radius: 12px;
    padding: 50px 30px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* 정적인 신뢰감을 위해 호버 효과 제거 */
}

/* 아이콘 링 */
.kh_cv_icon {
    width: 80px;
    height: 80px;
    border: 2px solid #00d2ff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 30px;
}
.kh_cv_icon i {
    font-size: 32px;
    color: #00d2ff;
}

/* 타이틀 및 설명 */
.kh_cv_title {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 5px;
    letter-spacing: -0.5px;
}
.kh_cv_subtitle {
    font-size: 15px;
    font-weight: 400;
    color: #00d2ff;
    margin-bottom: 30px;
}
.kh_cv_desc {
    font-size: 15px;
    color: #aebfd6; /* 가독성을 위한 밝은 회청색 */
    line-height: 1.6;
    word-break: keep-all;
}

/* =========================================
   반응형 처리 (명확한 스택 구조)
========================================= */
@media (max-width: 1200px) {
    /* 태블릿: 2열 나열 */
    .kh_cv_card {
        width: calc(50% - 10px);
        margin-bottom: 20px;
    }
}

@media (max-width: 767px) {
    .kh_core_values_wrap {
        padding: 60px 20px;
    }
    
    /* 모바일: 위아래로 100% 꽉 차게 정렬 (테이블 2개 룰 응용) */
    .kh_cv_card {
        width: 100%;
        margin-bottom: 15px;
        padding: 40px 20px;
    }
    
    .kh_cv_icon { width: 70px; height: 70px; margin-bottom: 25px; }
    .kh_cv_icon i { font-size: 28px; }
    .kh_cv_title { font-size: 22px; }
    .kh_cv_desc { font-size: 14px; }
}

/* =========================================
   [Vision & Value] 글로벌 혁신 기업 섹션 (디자인 고도화)
========================================= */
/* 공통 초기화 */
.kh_global_wrap *, .kh_global_wrap *:before, .kh_global_wrap *:after { box-sizing: border-box; }
.kh_global_wrap h2, .kh_global_wrap h3, .kh_global_wrap p { margin: 0; padding: 0; }

.kh_global_wrap {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
    color: var(--kh-text-base);
    background-color: #fff;
}

/* 1. 상단 다크 헤더 영역 */
.kh_global_header {
    width: 100%;
    padding: 80px 5%;
    text-align: center;
    background-image: 
        linear-gradient(to right, rgba(4, 14, 39, 0.95) 0%, rgba(4, 14, 39, 0.7) 50%, rgba(4, 14, 39, 0.95) 100%),
        url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1920&auto=format&fit=crop');
    background-size: cover;
    background-position: center;
    background-color: #040e27;
}

.kh_global_header .kh_gh_title {
    font-size: 42px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -1.5px;
    line-height: 1.3;
    margin-bottom: 25px;
}
.kh_global_header .kh_gh_title .kh_cyan { color: #00d2ff; }
.kh_global_header .kh_gh_desc {
    font-size: 18px;
    font-weight: 300;
    color: #e0e5f0;
    line-height: 1.6;
    word-break: keep-all;
}

/* 2. 글로벌 기업 카드 영역 */
.kh_global_body {
    width: 100%;
    padding: 80px 0;
}

.kh_gb_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

/* 개별 카드 (디자인 강화) */
.kh_gb_card {
    width: calc(20% - 16px);
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
    border: 1px solid #d3e1f5;
    border-top: 4px solid var(--kh-main); /* 상단 포인트 라인 */
    border-radius: 12px;
    padding: 40px 20px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: 0 10px 25px rgba(42, 81, 148, 0.05);
    position: relative;
    overflow: hidden;
}

/* 카드 배경 장식 요소 */
.kh_gb_card::before {
    content: "";
    position: absolute;
    top: -25px;
    right: -25px;
    width: 80px;
    height: 80px;
    background-color: rgba(0, 180, 216, 0.03);
    border-radius: 50%;
    z-index: 0;
}
.kh_gb_card > * { position: relative; z-index: 1; }

/* 로고 이미지 컨테이너 */
.kh_gb_logo {
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}
.kh_gb_logo img {
    max-width: 80%;
    max-height: 100%;
    object-fit: contain;
}

/* 기업명 및 국가 */
.kh_gb_name {
    font-size: 19px;
    font-weight: 700;
    color: var(--kh-main);
    margin-bottom: 8px;
    letter-spacing: -0.5px;
}
.kh_gb_country {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: var(--kh-text-sub);
    background-color: #fff;
    border: 1px solid #e0e5f0;
    padding: 4px 12px;
    border-radius: 20px;
}
.kh_gb_country img.kh_flag {
    width: 18px;
    height: 13px;
    margin-right: 6px;
    object-fit: cover;
    border-radius: 2px;
}

/* 점선 구분선 */
.kh_gb_divider {
    width: 100%;
    height: 0;
    border-top: 1px dashed #c9d8ef;
    margin: 25px 0;
}

/* 기업 설명 */
.kh_gb_desc {
    font-size: 14px;
    color: var(--kh-text-sub);
    line-height: 1.6;
    word-break: keep-all;
    margin-bottom: 30px;
    min-height: 65px; 
}

/* 대표 분야 뱃지 (입체감 추가) */
.kh_gb_badge {
    margin-top: auto; 
    width: 100%;
    background: linear-gradient(135deg, #ffffff 0%, #f0f4ff 100%);
    border: 1px solid #d3e1f5;
    border-radius: 10px;
    padding: 15px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: inset 0 2px 5px rgba(255,255,255,1);
}
.kh_gb_badge .badge_label {
    font-size: 12px;
    font-weight: 600;
    color: #8898aa;
    margin-bottom: 6px;
}
.kh_gb_badge .badge_value {
    display: flex;
    align-items: center;
    font-size: 15px;
    font-weight: 700;
    color: var(--kh-main);
    letter-spacing: -0.5px;
}
.kh_gb_badge .badge_value i {
    font-size: 16px;
    color: var(--kh-accent);
    margin-right: 6px;
}

/* 3. 하단 강조 인용구(Quote) 박스 디자인 */
.kh_global_quote {
    position: relative;
    max-width: 1000px;
    margin: 70px auto 0;
    background-color: var(--kh-bg-sub);
    border: 1px solid #d3e1f5;
    border-radius: 20px;
    padding: 40px 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-shadow: 0 10px 30px rgba(42, 81, 148, 0.03);
    overflow: hidden;
}

/* 배경에 깔리는 워터마크 따옴표 */
.kh_global_quote::before {
    content: "\f10d";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    top: -10px;
    left: 20px;
    font-size: 80px;
    color: rgba(42, 81, 148, 0.05);
}
.kh_global_quote::after {
    content: "\f10e";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    position: absolute;
    bottom: -10px;
    right: 20px;
    font-size: 80px;
    color: rgba(42, 81, 148, 0.05);
}

.kh_global_quote p {
    position: relative;
    z-index: 2;
    font-size: 20px;
    font-weight: 700;
    color: var(--kh-main);
    line-height: 1.7;
    word-break: keep-all;
}

/* =========================================
   반응형 처리
========================================= */
@media (max-width: 1200px) {
    .kh_gb_card { width: calc(33.333% - 14px); }
}

@media (max-width: 1024px) {
    .kh_global_header { padding: 60px 20px; }
    .kh_global_header .kh_gh_title { font-size: 34px; }
    .kh_global_header .kh_gh_desc { font-size: 16px; }
    
    .kh_gb_card { width: calc(50% - 10px); }
    .kh_gb_desc { min-height: auto; }
}

@media (max-width: 767px) {
    .kh_global_header .kh_gh_title { font-size: 28px; }
    .kh_global_header .kh_gh_desc { font-size: 15px; }
    
    .kh_global_body { padding: 50px 20px; }
    
    /* 모바일: 위아래 스택 정렬 */
    .kh_gb_card { width: 100%; padding: 35px 20px; }
    
    .kh_global_quote {
        margin: 50px auto 0;
        padding: 35px 25px;
        border-radius: 15px;
    }
    .kh_global_quote p { font-size: 16px; line-height: 1.6; }
    .kh_global_quote::before { font-size: 60px; left: 10px; }
    .kh_global_quote::after { font-size: 60px; right: 10px; }
}

/* =========================================
   [Project Journey] 프로젝트 여정 페이지 공통
========================================= */

.kh_journey_page_wrap {
    width: 100%;
    font-family: 'Noto Sans KR', sans-serif;
    background-color: #040e27; /* 기본 페이지 배경 (다크) */
    color: #fff;
    overflow: hidden;
}

/* =========================================
   1. 최상단 히어로 배너 섹션 (다크 배경 유지)
========================================= */
.kh_journey_hero {
    position: relative;
    width: 100%;
    height: 500px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 20px;
    background-image: 
        linear-gradient(to bottom, rgba(4, 14, 39, 1) 0%, rgba(4, 14, 39, 0.4) 100%),
        url('https://images.unsplash.com/photo-1451187580459-43490279c0fa?q=80&w=1920&auto=format&fit=crop');
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}
.kh_hero_title {
    font-size: 48px;
    font-weight: 700;
    color: #e0eaf5;
    letter-spacing: -1.5px;
    margin-bottom: 25px;
    position: relative;
    z-index: 2;
}
.kh_hero_desc {
    font-size: 18px;
    font-weight: 300;
    color: #aebfd6;
    line-height: 1.8;
    position: relative;
    z-index: 2;
}

/* =========================================
   2. 글로벌 협력 기반 구축 섹션 (흰색 배경 반전 및 여백 강화)
========================================= */
.kh_journey_coop_wrap {
    width: 100%;
    background-color: #ffffff; /* 흰색 배경 적용 */
    color: var(--kh-text-base);
}
.kh_journey_coop {
    max-width: 1400px;
    margin: 0 auto;
    padding: 110px 2%; /* 상하 여백을 늘려 숨통을 틔움 */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/* 좌측 텍스트 (50%) */
.kh_coop_left {
    width: 45%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.kh_coop_left::before {
    content: "";
    display: block;
    width: 40px;
    height: 3px;
    background-color: var(--kh-main);
    margin-bottom: 30px;
}
.kh_coop_title {
    font-size: 38px;
    font-weight: 700;
    color: #222; /* 흰 배경에 맞춘 진한 글자 */
    line-height: 1.4;
    letter-spacing: -1px;
    margin-bottom: 40px;
}
.kh_coop_title span { color: var(--kh-main); }
.sub_content .content p.kh_coop_desc {
    font-size: 16px;
    color: var(--kh-text-sub);
    line-height: 1.9; /* 오밀조밀함 해결을 위한 넓은 행간 */
    word-break: keep-all;
    margin-bottom: 30px; /* 문단 간 여백 넓힘 */
}

/* 우측 사진 그리드 (50%) */
.kh_coop_right {
    width: 50%;
}
.kh_photo_grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 15px;
}
.kh_photo_item {
    width: 100%;
    aspect-ratio: 4 / 3; 
    border-radius: 8px;
    overflow: hidden;
    background-color: #f0f4f8; /* 흰 배경에 어울리는 밝은 자리표시자 색상 */
    border: 1px solid #e0e5f0;
}
.kh_photo_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =========================================
   3. 프로젝트 구체화 과정 타임라인 (다크 배경 유지)
========================================= */
.kh_journey_timeline_sec {
    max-width: 1400px;
    margin: 0 auto;
    padding: 100px 5%;
}
.kh_tl_head { margin-bottom: 70px; }
.kh_tl_label {
    font-size: 15px;
    font-weight: 600;
    color: #00d2ff;
    letter-spacing: 2px;
    margin-bottom: 12px;
    display: block;
}
.kh_tl_head h3 {
    font-size: 34px;
    font-weight: 700;
    color: #fff;
    letter-spacing: -1px;
}

/* 타임라인 트랙 및 아이템 */
.kh_tl_track {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-top: 30px;
}
.kh_tl_track::before {
    content: "";
    position: absolute;
    top: 60px;
    left: 10%; right: 10%;
    height: 1px;
    background-color: rgba(0, 210, 255, 0.4);
    z-index: 1;
}
.kh_tl_item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    z-index: 2;
    padding: 0 10px;
}
.kh_tl_icon {
    width: 60px; height: 60px;
    border: 1px solid rgba(0, 210, 255, 0.5);
    border-radius: 50%;
    background-color: #040e27;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}
.kh_tl_icon i { font-size: 24px; color: #aebfd6; }
.kh_tl_item:last-child .kh_tl_icon { border-color: #00d2ff; }
.kh_tl_item:last-child .kh_tl_icon i { color: #00d2ff; }

.kh_tl_year {
    font-size: 20px;
    font-weight: 700;
    color: #00d2ff;
    margin-bottom: 10px;
}
.kh_tl_title {
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    margin-bottom: 15px;
    word-break: keep-all;
}
.kh_tl_desc {
    font-size: 14px;
    color: #8b9fb6;
    line-height: 1.6;
    word-break: keep-all;
}

/* =========================================
   4. 프로젝트 상태 (흰색 배경 반전 및 여백 강화)
========================================= */
.kh_journey_status_wrap {
    width: 100%;
    background-color: #ffffff;
}
.kh_journey_status {
    max-width: 1400px;
    margin: 0 auto;
    padding: 110px 2% 140px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
/* 좌측 텍스트 (40%) */
.kh_status_left {
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.kh_status_label {
    font-size: 15px;
    font-weight: 700;
    color: var(--kh-main);
    letter-spacing: 2px;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
}
.kh_status_label::before {
    content: "";
    display: inline-block;
    width: 30px; height: 2px;
    background-color: var(--kh-main);
    margin-right: 15px;
}
.kh_status_title {
    font-size: 28px;
    font-weight: 500;
    color: #222;
    line-height: 1.4;
    margin-bottom: 45px;
    word-break: keep-all;
}
.kh_status_title .kh_highlight {
    color: var(--kh-main);
    font-weight: 700;
}
.sub_content .content p.kh_status_desc {
    font-size: 16px;
    color: var(--kh-text-sub);
    line-height: 1.9; /* 넓은 행간 적용 */
    word-break: keep-all;
    margin-bottom: 25px;
}

/* 우측 렌더링 이미지 (55%) */
.kh_status_right {
    width: 55%;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e0e5f0;
    background-color: #f4f8ff;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}
.kh_status_right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* =========================================
   반응형 처리
========================================= */
@media (max-width: 1200px) {
    .kh_photo_grid { grid-template-columns: repeat(2, 1fr); }
    .kh_coop_left { width: 48%; }
    .kh_coop_right { width: 48%; }
    .kh_status_left { width: 45%; }
    .kh_status_right { width: 50%; }
}

@media (max-width: 1024px) {
    .kh_journey_coop, .kh_journey_status {
        display: block;
        padding: 70px 20px;
    }
    .kh_coop_left, .kh_coop_right, .kh_status_left, .kh_status_right { width: 100%; }
    .kh_coop_left { margin-bottom: 50px; }
    .kh_status_left { margin-bottom: 50px; }

    .kh_tl_track { flex-direction: column; padding-top: 0; }
    .kh_tl_track::before {
        top: 0; bottom: 0;
        left: 30px; right: auto;
        width: 1px; height: auto;
    }
    .kh_tl_item { flex-direction: row; text-align: left; margin-bottom: 35px; padding: 0; }
    .kh_tl_icon { margin-bottom: 0; margin-right: 25px; flex-shrink: 0; }
    .kh_tl_text_wrap { display: flex; flex-direction: column; justify-content: center; }
    .kh_tl_year { margin-bottom: 5px; }
    .kh_tl_title { margin-bottom: 8px; }
}

@media (max-width: 767px) {
    .kh_journey_hero { height: 350px; }
    .kh_hero_title { font-size: 32px; margin-bottom: 15px; }
    .kh_hero_desc { font-size: 15px; line-height: 1.6; }
    
    .kh_coop_title { font-size: 28px; margin-bottom: 30px; }
    .sub_content .content p.kh_coop_desc { font-size: 15px; line-height: 1.7; }
    
    .kh_status_title { font-size: 22px; margin-bottom: 30px; }
    .sub_content .content p.kh_status_desc { font-size: 15px; line-height: 1.7; }
}
/* =========================================
   [공통] 서브페이지 타이틀 아래 설명 영역
========================================= */
.kh_page_desc_wrap {
    width: 100%;
    text-align: center;
    margin-bottom: 60px;
    padding-top: 15px; 
    font-family: 'Noto Sans KR', sans-serif;
}
.sub_content .content .kh_page_desc_wrap h3.kh_page_subtitle {
    font-size: 26px;
    font-weight: 700;
    color: #222;
    margin-bottom: 25px;
    letter-spacing: -0.5px;
}
/* 테마 CSS(.sub_content .content p)를 완벽하게 이기는 우선순위 적용 */
.sub_content .content .kh_page_desc_wrap p.kh_page_desc {
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    word-break: keep-all;
}

@media (max-width: 767px) {
    .sub_content .content .kh_page_desc_wrap h3.kh_page_subtitle { font-size: 20px; margin-bottom: 15px; line-height: 1.4; }
    .sub_content .content .kh_page_desc_wrap p.kh_page_desc { font-size: 15px; }
}

/* =========================================
   [Why Korea HIT] 4열 카드 콘텐츠 영역
========================================= */
:root {
    --kh-main: #2a5194;
    --kh-accent: #00b4d8;
}

.kh_why_wrap {
    width: 100%;
    padding-bottom: 80px; 
    font-family: 'Noto Sans KR', sans-serif;
}

.kh_why_wrap .kh_why_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
}

.kh_why_wrap .kh_why_card {
    width: calc(25% - 15px);
    background-color: #fff;
    border: 1px solid #e0e5f0;
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    box-shadow: 0 10px 30px rgba(0,0,0,0.03);
}

.kh_why_wrap .kh_why_card_content {
    padding: 40px 25px 0;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    flex-grow: 1; 
}

.kh_why_wrap .kh_why_num {
    position: absolute;
    top: 35px;
    left: 25px;
    font-size: 18px;
    font-weight: 700;
    color: var(--kh-main);
}

.kh_why_wrap .kh_why_icon {
    width: 70px;
    height: 70px;
    border: 1.5px solid var(--kh-main);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 30px;
}
.kh_why_wrap .kh_why_icon i {
    font-size: 32px;
    color: var(--kh-main);
}

.kh_why_wrap .kh_why_en {
    font-size: 13px;
    font-weight: 700;
    color: var(--kh-main);
    margin-bottom: 10px;
    letter-spacing: 0.5px;
}

.sub_content .content .kh_why_wrap h4.kh_why_ko {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin-bottom: 25px;
    letter-spacing: -1px;
}

/* 테마 CSS(.sub_content .content p)를 이기는 우선순위 적용 */
.sub_content .content .kh_why_wrap p.kh_why_card_desc {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    word-break: keep-all;
    margin-bottom: 40px; 
}

.kh_why_wrap .kh_why_card_bg {
    width: 100%;
    height: 200px;
    position: relative;
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
    background-color: #f4f8ff; 
}

.kh_why_wrap .kh_why_card_bg::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 80px;
    background: linear-gradient(to bottom, #ffffff 0%, rgba(255,255,255,0) 100%);
}

@media (max-width: 1024px) {
    .kh_why_wrap .kh_why_card { width: calc(50% - 10px); margin-bottom: 20px; }
}

@media (max-width: 767px) {
    .kh_why_wrap .kh_why_grid { gap: 15px; }
    .kh_why_wrap .kh_why_card { width: 100%; margin-bottom: 15px; }
    .kh_why_wrap .kh_why_card_bg { height: 160px; }
}

/* =========================================
   [중입자치료센터 개발] 프로젝트 개요 도입부
========================================= */
.kh_project_intro_wrap {
    width: 100%;
    margin-bottom: 60px;
    padding-top: 20px;
    font-family: 'Noto Sans KR', sans-serif;
    text-align: left; /* 시안에 맞춘 좌측 정렬 */
}

/* 테마 CSS를 이기기 위한 강력한 우선순위 적용 및 태그 초기화 배제 */
.sub_content .content .kh_project_intro_wrap h2.kh_project_main_title {
    font-size: 38px;
    font-weight: 800;
    color: #111;
    margin-bottom: 15px;
    letter-spacing: -1px;
}

.sub_content .content .kh_project_intro_wrap h3.kh_project_sub_title {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin-bottom: 35px;
    letter-spacing: -0.5px;
}

.sub_content .content .kh_project_intro_wrap p.kh_project_desc {
    font-size: 16px;
    color: #555;
    line-height: 1.8;
    word-break: keep-all;
}

/* 반응형 처리 */
@media (max-width: 767px) {
    .sub_content .content .kh_project_intro_wrap h2.kh_project_main_title { 
        font-size: 28px; 
        margin-bottom: 10px; 
    }
    .sub_content .content .kh_project_intro_wrap h3.kh_project_sub_title { 
        font-size: 20px; 
        margin-bottom: 25px; 
        line-height: 1.4; 
    }
    .sub_content .content .kh_project_intro_wrap p.kh_project_desc { 
        font-size: 15px; 
    }
}

.kh_infra_wrap {
    width: 100%;
    background-color: #060e1d; /* 시안의 다크 네이비 배경 */
    padding: 80px 0;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kh_infra_inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
}

/* 헤더 영역 */
.kh_infra_header {
    text-align: center;
    margin-bottom: 60px;
}
.sub_content .content .kh_infra_wrap h2.kh_infra_maintit {
    font-size: 42px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -1.5px;
    margin-bottom: 25px;
    border: none;
    padding: 0;
}
.sub_content .content .kh_infra_wrap h2.kh_infra_maintit::after { display: none; } /* 테마 밑줄 방어 */
.sub_content .content .kh_infra_wrap p.kh_infra_subtit {
    font-size: 17px;
    color: #aebfd6;
    line-height: 1.8;
    word-break: keep-all;
    margin: 0;
}

/* 4열 카드 그리드 */
.kh_infra_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch !important;
    gap: 20px;
}

/* 2. 카드 본체: 아까 추가한 height: 100% 제거 */
.kh_infra_card {
    width: calc(25% - 15px);
    background-color: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(0, 180, 216, 0.3);
    border-radius: 12px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

/* 카드 헤더 (아이콘 + 제목) */
.kh_infra_card_head {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.kh_infra_head_icon {
    width: 55px;
    height: 55px;
    border: 1.5px solid #00b4d8;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 15px;
    flex-shrink: 0;
}
.kh_infra_head_icon i {
    font-size: 24px;
    color: #00b4d8;
}
.kh_infra_head_txt {
    display: flex;
    flex-direction: column;
}
.kh_infra_head_txt .kh_num {
    font-size: 15px;
    font-weight: 700;
    color: #00b4d8;
    margin-bottom: 3px;
}
.sub_content .content .kh_infra_wrap h3.kh_card_tit {
    font-size: 20px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: -1px;
    margin: 0 0 3px 0;
    padding: 0;
    border: none;
}
.sub_content .content .kh_infra_wrap h3.kh_card_tit::after { display: none; }
.sub_content .content .kh_infra_wrap p.kh_card_en {
    font-size: 12px;
    color: #8b9fb6;
    margin: 0;
    letter-spacing: 0.5px;
}

/* 카드 비주얼 이미지 영역 */
.kh_infra_vis {
    width: 100%;
    height: 160px;
    background-color: #0a1526;
    border-radius: 8px;
    margin-bottom: 25px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* 카드 본문 (서브제목 + 설명) */
.kh_infra_body {
    flex-grow: 1;
    margin-bottom: 30px;
}
.sub_content .content .kh_infra_wrap h4.kh_body_subtit {
    font-size: 16px;
    font-weight: 700;
    color: #00d2ff;
    margin: 0 0 15px 0;
    padding: 0;
    letter-spacing: -0.5px;
    border: none;
}
.sub_content .content .kh_infra_wrap p.kh_body_desc {
    font-size: 14px;
    color: #aebfd6;
    line-height: 1.6;
    word-break: keep-all;
    margin: 0;
}

/* 카드 하단 3가지 아이콘 요소 */
.kh_infra_foot {
  display: flex;
    justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 20px;
    margin-top: auto;
}
.kh_foot_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 33.33%;
}
.kh_foot_item i {
    font-size: 20px;
    color: #8b9fb6;
    margin-bottom: 10px;
}
.sub_content .content .kh_infra_wrap p.kh_foot_txt {
    font-size: 11px;
    color: #aebfd6;
    line-height: 1.3;
    word-break: keep-all;
    margin: 0;
}

/* 반응형 처리 (1024px: 2열 나열, 767px: 1열 세로 스택) */
@media (max-width: 1200px) {
    .kh_infra_card { width: calc(50% - 10px); margin-bottom: 20px; }
}
@media (max-width: 767px) {
    .kh_infra_wrap { padding: 50px 0; }
    .sub_content .content .kh_infra_wrap h2.kh_infra_maintit { font-size: 28px; }
    .sub_content .content .kh_infra_wrap p.kh_infra_subtit { font-size: 15px; }
    
    .kh_infra_grid { gap: 15px; }
    .kh_infra_card { width: 100%; margin-bottom: 0; }
}

/* =========================================
   [프로젝트 개요] 건립 프로젝트 개요 섹션 (화이트 테마)
========================================= */
.kh_overview_wrap {
    width: 100%;
    background-color: #ffffff; /* 화이트 배경 */
    padding: 80px 0;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kh_overview_inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
}

/* 1. 헤더 영역 */
.kh_overview_header {
    text-align: center;
    margin-bottom: 50px;
}
.kh_overview_label {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #00b4d8;
    letter-spacing: 1.5px;
    margin-bottom: 15px;
}
.sub_content .content .kh_overview_wrap h2.kh_overview_tit {
    font-size: 42px;
    font-weight: 800;
    color: #111111;
    letter-spacing: -1.5px;
    margin: 0 0 25px 0;
    padding: 0;
    border: none;
}
.sub_content .content .kh_overview_wrap h2.kh_overview_tit::after { display: none; } /* 테마 밑줄 방어 */
.sub_content .content .kh_overview_wrap p.kh_overview_desc {
    font-size: 17px;
    color: #555555;
    line-height: 1.8;
    word-break: keep-all;
    margin: 0;
}
.kh_overview_highlight {
    color: #2a5194; /* 흰 배경에 잘 보이는 네이비 포인트 */
    font-weight: 700;
}

/* 2. 메인 조감도 이미지 영역 */
.kh_overview_img_wrap {
    width: 100%;
    margin-bottom: 40px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 15px 40px rgba(0,0,0,0.08); /* 흰 배경에 어울리는 부드러운 그림자 */
}
.kh_overview_img_wrap img {
    width: 100%;
    display: block;
    object-fit: cover;
}

/* 3. 5열 카드 그리드 영역 */
.kh_overview_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15px;
    align-items: stretch !important; /* 모든 카드의 높이를 강제로 통일 */
}

/* 개별 카드 디자인 */
.kh_overview_card {
    width: calc(20% - 12px);
    background-color: #ffffff;
    border: 1px solid #e0e5f0;
    border-top: 3px solid #2a5194; /* 상단 네이비 포인트 라인 */
    border-radius: 8px;
    padding: 40px 20px 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    box-shadow: 0 5px 15px rgba(0,0,0,0.02);
    box-sizing: border-box;
}

/* 좌측 상단 넘버링 뱃지 */
.kh_overview_num {
    position: absolute;
    top: 0;
    left: 0;
    background-color: #2a5194;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 0 0 8px 0;
}

/* 카드 아이콘 */
.kh_overview_icon {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.kh_overview_icon i {
    font-size: 45px;
    color: #00b4d8;
}

/* 카드 텍스트 */
.sub_content .content .kh_overview_wrap h3.kh_card_tit {
    font-size: 18px;
    font-weight: 700;
    color: #222222;
    margin: 0 0 15px 0;
    padding: 0;
    border: none;
    letter-spacing: -0.5px;
    word-break: keep-all;
}
.sub_content .content .kh_overview_wrap h3.kh_card_tit::after { display: none; }
.sub_content .content .kh_overview_wrap p.kh_card_desc {
    font-size: 14px;
    color: #666666;
    line-height: 1.6;
    word-break: keep-all;
    margin: 0;
}

/* 반응형 처리 */
@media (max-width: 1200px) {
    .kh_overview_card { width: calc(33.333% - 10px); margin-bottom: 15px; }
}
@media (max-width: 1024px) {
    .sub_content .content .kh_overview_wrap h2.kh_overview_tit { font-size: 34px; }
    .kh_overview_card { width: calc(50% - 7.5px); }
}
@media (max-width: 767px) {
    .kh_overview_wrap { padding: 50px 0; }
    .sub_content .content .kh_overview_wrap h2.kh_overview_tit { font-size: 26px; }
    .sub_content .content .kh_overview_wrap p.kh_overview_desc { font-size: 15px; }
    .kh_overview_card { width: 100%; margin-bottom: 15px; padding: 45px 20px 30px; }
}

/* =========================================
   [프로젝트 개요] 중입자치료센터 분포 섹션
========================================= */
.kh_dist_wrap {
    width: 100%;
    padding: 80px 0;
    background-color: #ffffff;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kh_dist_inner {
    max-width: 1200px; /* 지도가 너무 넓어지지 않도록 최대폭 제한 */
    margin: 0 auto;
    padding: 0 5%;
}

/* 1. 상단 네이비 타이틀 박스 */
.kh_dist_header {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}
.sub_content .content .kh_dist_wrap h3.kh_dist_title {
    background-color: #2a5194; /* 시안의 네이비 색상 */
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
    padding: 15px 50px;
    margin: 0;
    border: none;
    letter-spacing: -0.5px;
    box-shadow: 0 4px 15px rgba(42, 81, 148, 0.15); /* 살짝 띄워주는 입체감 */
}
.sub_content .content .kh_dist_wrap h3.kh_dist_title::after { display: none; } /* 테마 밑줄 방어 */

/* 2. 지도 이미지 영역 */
.kh_dist_map {
    width: 100%;
    margin-bottom: 35px;
    text-align: center;
}
.kh_dist_map img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border: 1px solid #e0e5f0; /* 시안의 얇은 테두리 느낌 */
    box-sizing: border-box;
}

/* 3. 하단 설명 텍스트 */
.kh_dist_footer {
    border-top: 2px solid #2a5194; /* 시안과 어울리도록 텍스트 위 구분선 추가 */
    padding-top: 25px;
}
.sub_content .content .kh_dist_wrap p.kh_dist_desc {
    font-size: 16px;
    color: #444444;
    line-height: 1.8;
    word-break: keep-all;
    margin: 0 0 10px 0;
}
.sub_content .content .kh_dist_wrap p.kh_dist_desc:last-child {
    margin-bottom: 0;
}

/* 반응형 처리 */
@media (max-width: 767px) {
    .kh_dist_wrap { padding: 50px 0; }
    .sub_content .content .kh_dist_wrap h3.kh_dist_title { font-size: 20px; padding: 12px 30px; }
    .kh_dist_map img { border: none; } /* 모바일에서는 테두리 제거 */
    .kh_dist_footer { padding-top: 20px; }
    .sub_content .content .kh_dist_wrap p.kh_dist_desc { font-size: 15px; line-height: 1.6; }
}

/* =========================================
   [개발 협력구조] 섹션 (레이아웃 및 아이콘 수정본)
========================================= */
.kh_struc_wrap {
    width: 100%;
    background-color: #040e27;
    background-image: 
        linear-gradient(135deg, rgba(2, 11, 28, 0.95) 0%, rgba(6, 19, 45, 0.85) 50%, rgba(3, 15, 36, 0.95) 100%),
        url('<?php echo G5_THEME_URL ?>/images/structure_bg.jpg'); 
    background-size: cover;
    background-position: center;
    background-attachment: fixed; 
    padding: 100px 0;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.kh_struc_wrap::before {
    content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0;
    background-image: 
        linear-gradient(rgba(0, 180, 216, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 180, 216, 0.05) 1px, transparent 1px);
    background-size: 50px 50px; z-index: 1;
}

.kh_struc_inner { max-width: 1400px; margin: 0 auto; padding: 0 5%; position: relative; z-index: 2; }

/* 1. 헤더 영역 */
.kh_struc_header { text-align: center; margin-bottom: 70px; }
.sub_content .content .kh_struc_wrap h2.kh_struc_tit { font-size: 46px; font-weight: 800; color: #ffffff; letter-spacing: -1.5px; margin: 0 0 15px 0; padding: 0; border: none; text-shadow: 0 5px 15px rgba(0,0,0,0.5); }
.sub_content .content .kh_struc_wrap h2.kh_struc_tit::after { display: none; }
.kh_struc_subtitle { display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 600; color: #00d2ff; letter-spacing: 3px; margin-bottom: 25px; }
.kh_struc_subtitle::before, .kh_struc_subtitle::after { content: ""; display: inline-block; width: 60px; height: 1px; background-color: #00d2ff; margin: 0 20px; opacity: 0.5; }
.sub_content .content .kh_struc_wrap p.kh_struc_desc { font-size: 19px; color: #aebfd6; line-height: 1.6; word-break: keep-all; margin: 0; }

/* 2. 다이어그램 메인 레이아웃 */
.kh_struc_diagram { display: flex; justify-content: center; align-items: center; gap: 40px; margin-bottom: 70px; }
.kh_struc_col { display: flex; flex-direction: column; align-items: center; gap: 25px; }
.kh_struc_col.left { width: 32%; }
.kh_struc_col.center { width: 36%; gap: 40px; }
.kh_struc_col.right { width: 32%; }

/* 다이어그램 일반 박스 */
.kh_node {
    width: 100%; background: rgba(255, 255, 255, 0.97);
    border: 1px solid rgba(0, 180, 216, 0.3); border-top: 5px solid #2a5194;
    border-radius: 16px; padding: 30px 25px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25), inset 0 -5px 20px rgba(0, 180, 216, 0.05);
    display: flex; flex-direction: column; align-items: center; text-align: center;
    position: relative; box-sizing: border-box;
}

/* ★ 아이콘과 타이틀을 가로로 묶는 헤더 레이아웃 추가 */
.kh_node_head {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    width: 100%;
}

.kh_node_icon { width: 55px; height: 55px; background: #f4f8ff; border: 1px solid #d3e1f5; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin-right: 15px; flex-shrink: 0; }
.kh_node_icon i { font-size: 24px; color: #2a5194; }
.sub_content .content .kh_node h4 { font-size: 22px; font-weight: 800; color: #0d2149; margin: 0; padding: 0; border: none; }
.sub_content .content .kh_node h4::after { display: none; }

.sub_content .content .kh_node ul { list-style: none; padding: 0; margin: 0; text-align: left; display: inline-block; width: 90%; }
.sub_content .content .kh_node ul li { position: relative; padding-left: 15px; font-size: 16px; color: #333; margin-bottom: 10px; font-weight: 500; letter-spacing: -0.5px; line-height: 1.5; }
.sub_content .content .kh_node ul li::before { content: "■"; position: absolute; left: 0; top: 2px; font-size: 9px; color: #00b4d8; }

/* 중앙 메인 노드 (기존 유지) */
.kh_node.center_node {
    background: radial-gradient(circle at center, #062b69 0%, #021a3f 100%);
    border: 2px solid #00d2ff; border-top: 2px solid #00d2ff; border-radius: 20px; padding: 50px 20px;
    box-shadow: 0 0 50px rgba(0, 210, 255, 0.3), inset 0 0 30px rgba(0, 210, 255, 0.2);
}
.kh_node.center_node i { font-size: 50px; color: #00d2ff; margin-bottom: 20px; }
.sub_content .content .kh_node.center_node h3 { font-size: 32px; font-weight: 800; color: #ffffff; margin: 0 0 10px 0; padding: 0; border: none; letter-spacing: -1px; }
.sub_content .content .kh_node.center_node h3::after { display: none; }
.sub_content .content .kh_node.center_node p { font-size: 17px; color: #00d2ff; margin: 0; letter-spacing: 1px; line-height: 1.4; }

/* ★ HTML로 직접 제어할 화살표 스타일 추가 (깨짐 완벽 방지) */
.kh_link_arrow {
    text-align: center;
    color: #00d2ff;
    font-size: 32px;
    margin: -10px 0; /* 위아래 간격 좁히기 */
    text-shadow: 0 0 15px rgba(0, 210, 255, 0.6);
}

/* 글로벌 파트너 네트워크 서브 박스 (가상요소 화살표 제거) */
.kh_sub_box {
    width: 100%; background: rgba(2, 26, 63, 0.85); backdrop-filter: blur(5px);
    border: 1px solid #00b4d8; border-radius: 12px; padding: 25px 20px;
    text-align: left; box-sizing: border-box; position: relative; box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}
.kh_sub_box_tit { font-size: 16px; color: #00d2ff; margin-bottom: 20px; font-weight: 700; text-align: center; }
.kh_sub_logo_list { display: flex; flex-direction: column; gap: 15px; }
.kh_sub_logo_item { display: flex; align-items: center; gap: 12px; }
.kh_sub_logo_item i { width: 25px; text-align: center; font-size: 18px; color: #fff; }
.sub_content .content .kh_sub_logo_item p { font-size: 15px; color: #e0e5f0; margin: 0; line-height: 1.4; }

/* 연결 화살표 (좌, 우, 상하) */
.kh_node.has_arrow_right::after { content: "\f0da"; font-family: "Font Awesome 6 Free", "FontAwesome"; font-weight: 900; position: absolute; right: -30px; top: 50%; transform: translateY(-50%); color: #00b4d8; font-size: 32px; text-shadow: 0 0 10px rgba(0, 180, 216, 0.5); }
.kh_node.has_arrow_left::after { content: "\f0d9"; font-family: "Font Awesome 6 Free", "FontAwesome"; font-weight: 900; position: absolute; left: -30px; top: 50%; transform: translateY(-50%); color: #00b4d8; font-size: 32px; text-shadow: 0 0 10px rgba(0, 180, 216, 0.5); }
.kh_node.has_arrow_down::after { content: "\f0d7"; font-family: "Font Awesome 6 Free", "FontAwesome"; font-weight: 900; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%); color: #00b4d8; font-size: 32px; text-shadow: 0 0 10px rgba(0, 180, 216, 0.5); }
.kh_node.has_arrow_up::after { content: "\f0d8"; font-family: "Font Awesome 6 Free", "FontAwesome"; font-weight: 900; position: absolute; top: -30px; left: 50%; transform: translateX(-50%); color: #00b4d8; font-size: 32px; text-shadow: 0 0 10px rgba(0, 180, 216, 0.5); }

/* 3. 하단 통합 바 */
.kh_struc_bottom_bar { width: 100%; background: rgba(2, 26, 63, 0.85); backdrop-filter: blur(10px); border: 1px solid rgba(0, 180, 216, 0.5); border-radius: 15px; display: flex; align-items: center; justify-content: space-between; padding: 25px 50px; box-sizing: border-box; box-shadow: 0 15px 30px rgba(0,0,0,0.3); }
.kh_bb_left { display: flex; align-items: center; gap: 15px; }
.kh_bb_left i { font-size: 32px; color: #00d2ff; }
.kh_bb_left span { font-size: 26px; font-weight: 800; color: #00d2ff; letter-spacing: -0.5px; }
.kh_bb_divider { width: 1px; height: 50px; background: rgba(0, 180, 216, 0.4); }
.kh_bb_right { display: flex; align-items: center; gap: 50px; }
.kh_bb_item { display: flex; align-items: center; gap: 15px; }
.kh_bb_item i { font-size: 28px; color: #00b4d8; }
.sub_content .content .kh_bb_item p { font-size: 16px; color: #ffffff; margin: 0; line-height: 1.4; font-weight: 500; }

/* 반응형 처리 */
@media (max-width: 1200px) { .kh_struc_diagram { gap: 20px; } .kh_bb_right { gap: 20px; } .kh_struc_bottom_bar { padding: 25px 30px; } }
@media (max-width: 1024px) {
    .kh_struc_diagram { flex-direction: column; gap: 50px; }
    .kh_struc_col.left, .kh_struc_col.center, .kh_struc_col.right { width: 100%; max-width: 500px; }
    .kh_node.has_arrow_right::after, .kh_node.has_arrow_left::after, .kh_node.has_arrow_up::after { content: "\f0d7"; right: auto; left: 50%; top: auto; bottom: -35px; transform: translateX(-50%); }
    .kh_struc_col.center { order: -1; } 
    .kh_struc_bottom_bar { flex-direction: column; gap: 25px; padding: 35px 20px; }
    .kh_bb_divider { width: 100%; height: 1px; }
    .kh_bb_right { flex-direction: column; gap: 20px; width: 100%; align-items: flex-start; }
}
@media (max-width: 767px) {
    .kh_struc_wrap { padding: 60px 0; }
    .sub_content .content .kh_struc_wrap h2.kh_struc_tit { font-size: 32px; }
    .kh_struc_subtitle { font-size: 14px; }
    .sub_content .content .kh_struc_wrap p.kh_struc_desc { font-size: 16px; }
}

.kh_committee_wrap {
    width: 100%;
    background-color: #030b1c; /* 다크 네이비 배경 */
    /* 우측 지구본/네트워크 배경 이미지 (경로 수정 필요) */
    background-image: url('<?php echo G5_THEME_URL ?>/images/committee_bg_globe.jpg'); 
    background-position: right top;
    background-repeat: no-repeat;
    background-size: auto 100%;
    padding: 100px 0;
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.kh_committee_inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 5%;
    position: relative;
    z-index: 2;
}

/* 1. 헤더 영역 (타이틀 및 설명) */
.kh_committee_header {
    text-align: center;
    margin-bottom: 60px;
}

.kh_committee_header_tit {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}

.kh_committee_header_tit::before,
.kh_committee_header_tit::after {
    content: "";
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #00d2ff;
    margin: 0 20px;
}

.sub_content .content .kh_committee_wrap h2.kh_committee_tit {
    font-size: 46px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -1.5px;
    margin: 0;
    padding: 0;
    border: none;
}
.sub_content .content .kh_committee_wrap h2.kh_committee_tit::after { display: none; }

.sub_content .content .kh_committee_wrap p.kh_committee_desc {
    font-size: 18px;
    color: #d1d9e6;
    line-height: 1.7;
    word-break: keep-all;
    margin: 0;
    letter-spacing: -0.5px;
}
.kh_committee_wrap .txt_cyan {
    color: #00d2ff;
    font-weight: 700;
}

/* 2. 5열 카드 그리드 영역 */
.kh_committee_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 30px;
    align-items: stretch !important;
}

/* 개별 위원 카드 디자인 (네온 & 투명도 효과) */
.kh_committee_card {
    width: calc(20% - 12px);
    background: rgba(4, 25, 60, 0.6); /* 반투명 다크 블루 */
    border: 1px solid rgba(0, 210, 255, 0.25);
    border-radius: 12px;
    padding: 40px 15px 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    box-shadow: inset 0 0 30px rgba(0, 210, 255, 0.05), 0 10px 20px rgba(0,0,0,0.3);
    box-sizing: border-box;
    transition: all 0.3s ease;
}
.kh_committee_card:hover {
    border-color: rgba(0, 210, 255, 0.6);
    box-shadow: inset 0 0 30px rgba(0, 210, 255, 0.15), 0 10px 20px rgba(0,0,0,0.4);
}

.kh_card_icon {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.kh_card_icon i {
    font-size: 45px;
    color: #00d2ff;
    text-shadow: 0 0 15px rgba(0, 210, 255, 0.6); /* 네온 발광 효과 */
}

.sub_content .content .kh_committee_wrap p.kh_card_cate {
    font-size: 14px;
    font-weight: 600;
    color: #00d2ff;
    margin: 0 0 10px 0;
    letter-spacing: -0.5px;
}

.sub_content .content .kh_committee_wrap h3.kh_card_name {
    font-size: 22px;
    font-weight: 700;
    color: #ffffff;
    margin: 0 0 5px 0;
    padding: 0;
    border: none;
    letter-spacing: -0.5px;
}
.sub_content .content .kh_committee_wrap h3.kh_card_name::after { display: none; }

.sub_content .content .kh_committee_wrap p.kh_card_name_jp {
    font-size: 13px;
    color: #8b9fb6;
    margin: 0 0 25px 0;
}

.sub_content .content .kh_committee_wrap p.kh_card_title {
    font-size: 15px;
    color: #e0e5f0;
    line-height: 1.5;
    word-break: keep-all;
    margin: auto 0 0 0; /* 항상 하단으로 밀어냄 */
}

/* 3. 하단 인용구 박스 */
.kh_committee_quote {
    width: 100%;
    background: rgba(4, 25, 60, 0.6);
    border: 1px solid rgba(0, 210, 255, 0.3);
    border-radius: 12px;
    padding: 30px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    box-shadow: inset 0 0 30px rgba(0, 210, 255, 0.05), 0 10px 20px rgba(0,0,0,0.3);
}

.kh_committee_quote i {
    font-size: 35px;
    color: #00d2ff;
    text-shadow: 0 0 15px rgba(0, 210, 255, 0.4);
}

.sub_content .content .kh_committee_wrap p.kh_quote_txt {
    flex-grow: 1;
    text-align: center;
    font-size: 18px;
    color: #d1d9e6;
    line-height: 1.6;
    margin: 0;
    word-break: keep-all;
    letter-spacing: -0.5px;
}

/* 반응형 처리 */
@media (max-width: 1200px) {
    .kh_committee_card { width: calc(33.333% - 10px); margin-bottom: 15px; }
}
@media (max-width: 1024px) {
    .kh_committee_card { width: calc(50% - 7.5px); }
    .kh_committee_quote { flex-direction: column; text-align: center; gap: 20px; padding: 30px 20px; }
    .kh_committee_quote i:last-child { display: none; } /* 모바일에서는 우측 따옴표 숨김 */
}
@media (max-width: 767px) {
    .kh_committee_wrap { padding: 60px 0; background-size: cover; background-position: center; }
    .sub_content .content .kh_committee_wrap h2.kh_committee_tit { font-size: 28px; }
    .kh_committee_header_tit::before, .kh_committee_header_tit::after { width: 30px; margin: 0 10px; }
    .sub_content .content .kh_committee_wrap p.kh_committee_desc { font-size: 15px; }
    .kh_committee_card { width: 100%; margin-bottom: 15px; }
    .sub_content .content .kh_committee_wrap p.kh_quote_txt { font-size: 16px; }
}

/* =========================================
   [핵심기능별 사업구조] 섹션 최종본
========================================= */
.kh_core_wrap {
    width: 100%;
    background-color: #ffffff; /* 바깥 배경은 화이트 */
    font-family: 'Noto Sans KR', sans-serif;
    box-sizing: border-box;
}

.kh_core_inner {
    margin: 0 auto;
}

/* 1. 다크 블루 메인 컨테이너 (타이틀과 카드를 모두 감싸는 통합 박스) */
.kh_core_box {
    width: 100%;
    background-color: #030d22;
    background-image: 
        linear-gradient(135deg, rgba(3, 13, 34, 0.95) 0%, rgba(5, 18, 43, 0.8) 50%, rgba(3, 13, 34, 0.95) 100%),
        url('<?php echo G5_THEME_URL ?>/images/core_tech_bg.jpg'); /* 배경 이미지 경로 설정 */
    background-size: cover;
    background-position: center;
    padding: 60px 30px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

/* 2. 통합 박스 내부 헤더 영역 */
.kh_core_header {
    text-align: center;
    margin-bottom: 50px;
}
.kh_core_header_tit {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 25px;
}
.kh_core_header_tit::before,
.kh_core_header_tit::after {
    content: "";
    display: inline-block;
    width: 60px;
    height: 1px;
    background-color: #00d2ff;
    margin: 0 20px;
}
.sub_content .content .kh_core_wrap h2.kh_core_tit {
    font-size: 46px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -1.5px;
    margin: 0;
    padding: 0;
    border: none;
}
.sub_content .content .kh_core_wrap h2.kh_core_tit::after { display: none; }
.sub_content .content .kh_core_wrap p.kh_core_desc {
    font-size: 18px;
    color: #d1d9e6;
    line-height: 1.7;
    word-break: keep-all;
    margin: 0;
    letter-spacing: -0.5px;
}

/* 3. 4열 카드 그리드 (높이 강제 통일) */
.kh_core_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    align-items: stretch !important;
}

/* 개별 카드 디자인 (Hover 애니메이션 배제) */
.kh_core_card {
    width: calc(25% - 15px);
    background: linear-gradient(180deg, rgba(12, 35, 75, 0.6) 0%, rgba(6, 20, 45, 0.4) 100%);
    border: 1px solid rgba(0, 180, 216, 0.3);
    border-radius: 10px;
    padding: 35px 20px 25px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    box-shadow: inset 0 0 20px rgba(0, 180, 216, 0.05);
}

/* 카드 헤더 (아이콘 + 넘버링/타이틀) */
.kh_core_card_head {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.kh_core_icon {
    width: 60px;
    height: 60px;
    border: 2px solid #00b4d8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 15px;
    box-shadow: 0 0 15px rgba(0, 180, 216, 0.4), inset 0 0 10px rgba(0, 180, 216, 0.2);
    flex-shrink: 0;
}
.kh_core_icon i { font-size: 26px; color: #ffffff; }
.kh_core_head_txt { display: flex; flex-direction: column; }
.kh_core_head_txt .kh_num { font-size: 18px; font-weight: 800; color: #00b4d8; margin-bottom: 2px; letter-spacing: 1px; }
.sub_content .content .kh_core_wrap h3.kh_card_tit { font-size: 22px; font-weight: 700; color: #ffffff; margin: 0; padding: 0; border: none; letter-spacing: -1px; }
.sub_content .content .kh_core_wrap h3.kh_card_tit::after { display: none; }

/* 빛나는 가로 라인 */
.kh_core_divider {
    width: 100%; height: 2px;
    background: linear-gradient(90deg, #00b4d8 0%, #00b4d8 70%, transparent 100%);
    margin-bottom: 25px; position: relative;
}
.kh_core_divider::after {
    content: ""; position: absolute; right: 30%; top: -2px;
    width: 6px; height: 6px; background-color: #ffffff;
    border-radius: 50%; box-shadow: 0 0 10px #00b4d8, 0 0 20px #00b4d8;
}

/* 카드 본문 리스트 */
.sub_content .content .kh_core_wrap ul.kh_core_list { list-style: none; padding: 0; margin: 0 0 30px 0; }
.sub_content .content .kh_core_wrap ul.kh_core_list li {
    position: relative; padding-left: 15px; font-size: 15px; color: #d1d9e6;
    margin-bottom: 12px; line-height: 1.5; letter-spacing: -0.5px; word-break: keep-all;
}
.sub_content .content .kh_core_wrap ul.kh_core_list li::before {
    content: "·"; position: absolute; left: 0; top: -2px;
    font-size: 20px; font-weight: 900; color: #00b4d8;
}

/* 카드 하단 3개 아이콘 (내용 길이에 상관없이 항상 바닥 고정) */
.kh_core_foot {
    margin-top: auto;
    display: flex; justify-content: space-between;
    border-top: 1px solid rgba(255, 255, 255, 0.1); padding-top: 20px;
}
.kh_core_foot_item { display: flex; flex-direction: column; align-items: center; text-align: center; width: 33.33%; gap: 8px; }
.kh_core_foot_item i { font-size: 22px; color: #00b4d8; }
.sub_content .content .kh_core_wrap p.kh_foot_txt { font-size: 13px; color: #aebfd6; margin: 0; line-height: 1.3; letter-spacing: -0.5px; word-break: keep-all; }

/* 반응형 처리 */
@media (max-width: 1200px) {
    .kh_core_card { width: calc(50% - 10px); margin-bottom: 20px; }
}
@media (max-width: 767px) {
    .kh_core_wrap { padding: 50px 0; }
    .kh_core_box { padding: 40px 20px; }
    .kh_core_header { margin-bottom: 30px; }
    .sub_content .content .kh_core_wrap h2.kh_core_tit { font-size: 28px; }
    .kh_core_header_tit::before, .kh_core_header_tit::after { width: 30px; margin: 0 10px; }
    .sub_content .content .kh_core_wrap p.kh_core_desc { font-size: 15px; }
    .kh_core_grid { gap: 15px; }
    .kh_core_card { width: 100%; margin-bottom: 0; }
}

/* =========================================
   [수정본] 1. 상단 헤더 영역 (테마 간섭 완벽 차단)
========================================= */
.kh_hi_header {
    text-align: center;
    margin-bottom: 70px;
}
/* 테마 h2 속성 강제 초기화 */
.sub_content .content .kh_hi_wrap h2.kh_hi_tit {
    font-size: 48px !important;
    font-weight: 900 !important;
    color: #0d2149 !important;
    letter-spacing: -2px !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    border: none !important;
    text-decoration: none !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-block;
}
.sub_content .content .kh_hi_wrap h2.kh_hi_tit::before,
.sub_content .content .kh_hi_wrap h2.kh_hi_tit::after { display: none !important; } 

/* 타이틀 하단 라인 및 포인트 도트 (시안과 동일하게) */
.kh_hi_tit_deco {
    position: relative;
    width: 140px;
    height: 2px;
    background-color: #0d2149;
    margin: 0 auto 30px;
}
.kh_hi_tit_deco::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px;
    background-color: #00b4d8;
    border-radius: 50%;
}

.sub_content .content .kh_hi_wrap p.kh_hi_desc {
    font-size: 18px;
    color: #555555;
    line-height: 1.6;
    word-break: keep-all;
    margin: 0;
    font-weight: 500;
}

/* =========================================
   [수정본] 2. HISTORY 타임라인 영역 (디자인 고도화)
========================================= */
.kh_hi_history {
    margin-bottom: 70px;
    padding-bottom: 60px;
    border-bottom: 1px solid #e0e5f0;
}
.kh_history_head {
    text-align: center;
    margin-bottom: 50px;
}
.kh_history_label {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 800;
    color: #0d2149;
    letter-spacing: 2px;
    margin-bottom: 15px;
}
.kh_history_label::before,
.kh_history_label::after {
    content: ""; display: inline-block; width: 60px; height: 1px;
    background-color: #c9d8ef; margin: 0 15px;
}
.sub_content .content .kh_hi_wrap p.kh_history_tit {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin: 0;
}

/* 타임라인 연결 선 */
.kh_history_track {
    display: flex;
    justify-content: space-between;
    position: relative;
    max-width: 1050px;
    margin: 0 auto;
}
/* 백그라운드 가로줄 */
.kh_history_track::before {
    content: ""; position: absolute;
    top: 42px; left: 40px; right: 40px;
    height: 2px; background-color: #d3e1f5; z-index: 1;
}

.kh_history_item {
    flex: 1; display: flex; flex-direction: row; align-items: flex-start;
    gap: 15px; position: relative; z-index: 2;
}
/* 항목 사이의 작은 연결 노드(도트) */
.kh_history_item:not(:last-child)::after {
    content: ""; position: absolute;
    top: 43px; right: 0px;
    width: 12px; height: 12px;
    background-color: #fff;
    border: 2px solid #00b4d8;
    border-radius: 50%; z-index: 3;
    transform: translateY(-50%);
}

/* 아이콘 컨테이너 (흰색 두꺼운 테두리로 가로줄 끊어짐 효과) */
.kh_history_icon {
    width: 76px; height: 76px; border-radius: 50%;
    background-color: #0d2149;
    border: 5px solid #fff; 
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0; box-sizing: content-box;
}
.kh_history_icon.blue { background-color: #00b4d8; }
.kh_history_icon i { font-size: 32px; color: #fff; }

.kh_history_txt {
    padding-top: 15px; text-align: left;
    background-color: #fff; /* 글자 뒤로 선이 보이지 않게 가림 */
    padding-right: 15px;
}
.kh_history_txt .year {
    font-size: 26px; font-weight: 900; color: #0d2149; margin-bottom: 5px; line-height: 1;
}
.kh_history_item:nth-child(2) .kh_history_txt .year { color: #00b4d8; }
.sub_content .content .kh_hi_wrap p.kh_history_desc {
    font-size: 15px; color: #555; line-height: 1.5; word-break: keep-all; margin: 0;
}

/* 반응형 처리 (히스토리 모바일 세로 배치) */
@media (max-width: 1024px) {
    .kh_history_track { flex-direction: column; gap: 40px; padding-left: 10%; }
    .kh_history_track::before { top: 0; bottom: 0; left: 10%; margin-left: 42px; right: auto; width: 2px; height: 100%; }
    .kh_history_item:not(:last-child)::after { display: none; }
}
@media (max-width: 767px) {
    .sub_content .content .kh_hi_wrap h2.kh_hi_tit { font-size: 32px !important; }
}

.kh_dhealth_header {
    text-align: center !important;
    margin-bottom: 45px;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100%;
}
.kh_dhealth_eng_badge {
    font-size: 14px;
    font-weight: 700;
    color: #0080ff;
    letter-spacing: 2px;
    margin-bottom: 8px;
    display: inline-block;
}
.kh_dhealth_tit {
    font-size: 38px;
    font-weight: 800;
    color: #0b3474;
    letter-spacing: -0.5px;
    margin: 0 0 16px 0 !important;
    line-height: 1.2;
}
.kh_dhealth_tit_deco {
    width: 44px;
    height: 3px;
    background: #0080ff;
    margin: 0 auto 20px !important;
    position: relative;
    border-radius: 2px;
}
.kh_dhealth_tit_deco span {
    position: absolute;
    width: 7px;
    height: 7px;
    background: #0080ff;
    border: 2px solid #fff;
    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 4px rgba(0, 128, 255, 0.4);
}
.kh_dhealth_sub_tit {
    font-size: 20px;
    font-weight: 700;
    color: #1a202c;
    margin: 0;
    margin-bottom: 10px;
    letter-spacing: -0.3px;
    line-height: 1.4;
    word-break: keep-all;
}

.kh_env_desc {
    font-size: 16px;
    color: #555555;
    line-height: 1.75;
    font-weight: 400;
    word-break: keep-all;
    margin: 0 auto !important;
    text-align: center !important;
    max-width: 960px;
}


@media (max-width: 640px) {

    .kh_dhealth_tit {
        font-size: 28px;
    }
    .kh_dhealth_sub_tit {
        font-size: 16px;
    }
    .kh_env_desc {
        font-size: 14px;
    }
}