/*---all css (Main Page Optimized & Sub Pages Updated)---*/

/* color */
:root{
    --color-primary: #0ab2dc;
    --color-pantone-blue: #0050a0;
    --color-pantone-red: #d40000;
    --color-tech-bg: #f5f7fb;
}

body.mobile_menu_open{overflow: hidden;}

/*---common---*/
.k_container{width: 92%;max-width: 1520px;margin: 0 auto;}
.k_container2{width: 92%;max-width: 1380px;margin: 0 auto;}
.k_container3{width: 92%;max-width: 1320px;margin: 0 auto;}
.k_container4{width: 92%;max-width: 960px;margin: 0 auto;}
._1280 {width: 92%;max-width: 1280px;margin: 0 auto;}

.k_w100{display: block;width: 100%;}
.k_section{padding: 120px 0;}
.k_sub_section{padding: 120px 0;}

.pc_img{display: block;}
.mo_img{display: none;}

.k_title{line-height: 100%;text-align: center; letter-spacing:-1px;}

.list_link{display: flex;flex-direction: row;flex-wrap: nowrap;align-items: center;justify-content: flex-start;}
.list_link img{margin-left: 10px;margin-top: 3px;}

.link_a{display: inline-block;width: 115px;height: 46px;border: 1px solid #1d1d1f;text-align: center;line-height: 44px; }
.link_a2{width: 131px;height: 52px;line-height: 50px;}
.link_a_w{border: 1px solid #fff;color: #FFF;}

/*font-size*/
.fs_15{font-size: 0.94rem;}
.fs_17{font-size: 1.065rem;}
.fs_18{font-size: 1.13rem;}
.fs_20{font-size: 1.25rem;}
.fs_24{font-size: 1.5rem;}
.fs_35{font-size: 2.2rem;}
.fs_40{font-size: 2.5rem;}
.fs_50{font-size: 3.15rem;}
.fs_58{font-size: 3.65rem;}
.fs_60{font-size: 3.8rem;}
.fs_65{font-size: 4rem;}

/*font-weight*/
.font_r{font-weight: 400;}
.font_m{font-weight: 500;}
.font_b{font-weight: bold;}
.font_bl{font-weight: 900;}

/*letter-spacing*/
.lt_p35{letter-spacing: 0.035em;}

/*motion*/
.t_motion_01 span, .t_motion_02 span{display: block;overflow: hidden;}
.t_motion_01 span i, .t_motion_02 span i{display: inline-block;transform: translateY(100%);transition: all .6s ease-out;}

.t_motion_03, .t_motion_04{transform: translateY(25px);opacity: 0;transition: all .6s ease-out;}

.t_motion_01.on span i{transform: translateY(0);line-height: 1.5;}
.t_motion_02_h:hover .t_motion_02 span i{transform: translateY(0);}
.t_motion_03_h:hover .t_motion_03{transform: translateY(0);opacity: 1;}
.t_motion_04.on{transform: translateY(0);opacity: 1;}

.je_motion .motion-item{opacity: 0;transform: translateY(40px);transition: opacity .6s ease-out, transform .6s ease-out;}
.je_motion.on .motion-item{opacity: 1;transform: translateY(0);}
.je_motion.on .motion-item.motion-order-1{transition-delay: .05s;}
.je_motion.on .motion-item.motion-order-2{transition-delay: .15s;}
.je_motion.on .motion-item.motion-order-3{transition-delay: .25s;}
.je_motion.on .motion-item.motion-order-4{transition-delay: .35s;}
.je_motion.on .motion-item.motion-order-5{transition-delay: .45s;}
.je_motion.on .motion-item.motion-order-6{transition-delay: .55s;}
.je_motion.on .motion-item.motion-order-7{transition-delay: .65s;}
.je_motion.on .motion-item.motion-order-8{transition-delay: .75s;}
.je_motion.on .motion-item.motion-order-9{transition-delay: .85s;}
.je_motion.on .motion-item.motion-order-10{transition-delay: .95s;}

/*pointer*/
#cursor{position: fixed;top: 0;left: 0;z-index: 9999;transform-origin: center;}
#cursor .blob{position: absolute;top: 50%;left: 50%;margin: -7.5px 0 0 -7.5px;width: 15px;height: 15px;border-radius: 100%;background: transparent;pointer-events: none;transition: width 0.3s, height 0.3s, margin 0.3s, background-color 0.3s, color 0.3s;}
#cursor .blob span{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);color: transparent;width: 100%;transition: color 0.3s;text-align: center;font-size: 1.06rem;font-weight: 500;white-space: nowrap;background-repeat: no-repeat;background-position: center center;}

#cursor.active .blob{width: 140px;height: 140px;margin: -70px 0 0 -70px;background: rgba(10,178,220,0.8);}
#cursor.active .blob span{color: #fff; font-weight:300;}

/*---header---*/
#k_header{position: fixed;top: 0;left: 0;width: 100%;height: 110px;z-index: 1000;transition: all .3s ease-out;}
#k_header .hd_con{height: inherit;display: flex;align-items: center;justify-content: space-between;padding: 0;box-sizing: border-box;align-content: center;}

.hd_logo{align-items: center;margin-right: auto;}
.hd_logo img{padding-top: 0;transition: all .3s ease-out;}

#hd_gnb{display: flex;align-items: center;margin-left: auto;}
#hd_gnb>ul{display: flex;align-items: center;gap: 0;}
#hd_gnb>ul>li{position: relative;}

/* 1차 메뉴 스타일 */
#hd_gnb>ul>li>a{display: flex;align-items: center;height: 110px;color: #FFF;font-size: 1.13rem;font-weight: 500;letter-spacing: 0.035em;padding: 0 63px;transition: all .3s ease;}

/* [수정됨] 2차 서브메뉴 박스 스타일 (배경색, 정렬, 줄바꿈 방지) */
#hd_gnb>ul>li>ul{
    background-color: #a07e54; /* 갈색/금색 배경 */
    text-align: center; /* 텍스트 가운데 정렬 */
    
    position: absolute;
    top: calc( 100% + 15px );
    left: 50%;
    transform: translateX(-50%);
    
    padding: 15px 0;
    width: auto; /* 텍스트 길이에 맞춰 자동 조절 */
    min-width: 220px; /* 최소 너비 */
    
    z-index: 1;
    display: none;
    transition: top .3s ease-in-out;
    border-radius: 0 0 18px 18px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.16);
    white-space: nowrap; /* [중요] 줄바꿈 방지 */
}

/* 서브메뉴 상단 장식 선 */
#hd_gnb>ul>li>ul::after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80%; /* 박스 너비의 80%만 선 긋기 */
    height: 1px;
    background-color: rgba(255,255,255,0.35);
}

#hd_gnb>ul>li>ul.on{top: 100%;}

/* [수정됨] 2차 서브메뉴 링크 스타일 */
#hd_gnb>ul>li>ul>li>a{
    display: block;
    width: 100%;
    text-align: center; /* 가운데 정렬 */
    font-size: 1.05rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    padding: 10px 20px;
    color: #fff;
    transition: all .3s ease;
}

/* 서브메뉴 호버 효과 (밑줄) */
#hd_gnb>ul>li>ul>li>a:hover{
    color: #fff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-position: under;
    background-color: rgba(0,0,0,0.1);
}

/* 기존 CSS 위치 조정 유지 */
#hd_gnb>ul>li.k_menu_4>ul{left: calc( 50% + 5px );}
#hd_gnb>ul>li.k_menu_5>ul{left: calc( 50% + 23px );}

/*motion*/
.pc_img_b{display: none;}
.mo_img_b {display: none;}

/* 스크롤 시 헤더 변경 스타일 */
#k_header.on, #k_header.scroll_on{
    background-color: #FFF;
    box-shadow: 0 0 5px #cdcdcd;
    -webkit-box-shadow: 0 0 5px #cdcdcd;
    -moz-box-shadow: 0 0 5px #cdcdcd;
    -o-box-shadow: 0 0 5px #cdcdcd;
    -ms-box-shadow: 0 0 5px #cdcdcd;
}

#k_header.on #hd_gnb>ul>li>a,
#k_header.scroll_on #hd_gnb>ul>li>a{height: 110px;}
#k_header.on #hd_gnb>ul>li>a, #k_header.scroll_on #hd_gnb>ul>li>a{color: #1d1d1f;font-weight: 500;}
#k_header.on .pc_img_w, #k_header.on .mo_img_w, #k_header.scroll_on .pc_img_w, #k_header.scroll_on .mo_img_w{display: none !important;}
#k_header.on .mo_img_b, #k_header.scroll_on .mo_img_b{display: block;}

#hd_gnb:hover>ul>li>a{opacity: 0.5;}
#hd_gnb>ul>li:hover>a{opacity: 1;}

#hd_gnb>ul>li>ul.on{top: 100%;}

/*mobile button*/
#hd_mo_btn{display: none;}

/* =================================================================
   [Mobile] 모바일 전체 메뉴 - Clean & Full Screen ver.
   ================================================================= */

@media screen and (max-width: 768px) {

    /* 1. 배경 및 컨테이너 설정 */
    #mobile_wrap {
        background-color: rgba(0, 0, 0, 0.5) !important;
        overflow: hidden !important; /* 스크롤바 원천 차단 */
    }

    .mobile_inner {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        background-color: #fff !important; /* 전체 흰색 배경 */
        transform: translateX(100%);
        transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        padding: 0 !important;
        display: flex;
        flex-direction: column;
        overflow-y: auto !important; /* 세로 스크롤만 허용 */
        overflow-x: hidden !important; /* 가로 스크롤바 제거 (핵심) */
        box-sizing: border-box;
    }

    #mobile_wrap.open .mobile_inner {
        transform: translateX(0);
    }

    /* 2. 닫기 버튼 (우측 상단) */
    #mo_close {
        position: absolute;
        top: 25px;
        right: 25px;
        width: 44px;
        height: 44px;
        z-index: 100;
        cursor: pointer;
    }
    #mo_close span {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 24px;
        height: 2px;
        background-color: #111 !important;
        transition: all 0.3s;
    }
    #mo_close span:nth-child(1) { margin-left: -12px; transform: rotate(45deg); }
    #mo_close span:nth-child(2) { margin-left: -12px; transform: rotate(-45deg); }

    /* 3. 메뉴 리스트 영역 */
    #mo_gnb {
        position: relative;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        height: auto;
        padding: 90px 0 50px !important; /* 상단 여백 확보 */
        box-sizing: border-box;
    }

    /* 4. 1차 메뉴 (Main Menu) */
    #mo_gnb > ul > li {
        width: 100%;
        margin-bottom: 0 !important;
        border-bottom: 1px solid #eee; /* 아주 연한 구분선 */
    }

    #mo_gnb > ul > li > a {
        position: relative;
        display: flex;
        justify-content: space-between; /* 텍스트 좌측, 화살표 우측 */
        align-items: center;
        width: 100%;
        padding: 25px 30px !important; /* 넉넉한 터치 영역 */
        font-size: 1.35rem !important; /* 시원한 폰트 크기 */
        font-weight: 700 !important;
        color: #222 !important;
        background: #fff !important;
        box-sizing: border-box;
        text-decoration: none;
        transition: color 0.3s, background 0.3s;
    }

    /* 1차 메뉴 화살표 (심플한 Chevron) */
    #mo_gnb > ul > li > a::after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        border-top: 2px solid #aaa;
        border-right: 2px solid #aaa;
        transform: rotate(135deg); /* 아래 방향 */
        transition: all 0.3s ease;
        background-image: none !important;
        margin-right: 5px;
        margin-top: -5px;
    }

    /* 활성화(Active) 시 스타일 */
    #mo_gnb > ul > li.active > a {
        color: #cd9207 !important; /* 텍스트 골드색 */
        background-color: #fff !important;
    }
    #mo_gnb > ul > li.active > a::after {
        border-color: #cd9207; /* 화살표 골드색 */
        transform: rotate(-45deg) translate(2px, 2px); /* 위 방향 */
    }

    /* 5. 2차 서브메뉴 (Sub Menu) - [Clean Style] */
    #mo_gnb > ul > li > ul {
        display: none;
        width: 100%;
        background-color: #f9f9f9 !important; /* 배경을 연한 회색으로 변경 (깔끔함) */
        padding: 10px 0 !important;
        border-top: 1px solid #f0f0f0;
        box-shadow: inset 0 3px 6px rgba(0,0,0,0.02); /* 살짝 안쪽 그림자 */
    }
    
    /* 서브메뉴가 열렸을 때 */
    #mo_gnb > ul > li.active > ul {
        display: block;
    }

    #mo_gnb > ul > li > ul > li > a {
        display: block;
        width: 100%;
        font-size: 1.1rem !important;
        font-weight: 500 !important;
        color: #666 !important; /* 부드러운 회색 텍스트 */
        padding: 14px 0 14px 40px !important; /* 왼쪽 들여쓰기로 계층 구분 */
        text-align: left !important; /* 왼쪽 정렬 */
        box-sizing: border-box;
        transition: all 0.2s;
        border-bottom: none !important;
    }

    /* 서브메뉴 호버/터치 시 */
    #mo_gnb > ul > li > ul > li > a:hover,
    #mo_gnb > ul > li > ul > li > a:active {
        color: #cd9207 !important; /* 골드색 포인트 */
        font-weight: 700 !important;
        background-color: transparent !important;
    }
}
/* --- Language Switcher Styles --- */

/* 1. 기본 스타일 (상단에 있을 때 흰색 계열) */
#hd_gnb > ul > li.lang_select_wrap {
    margin-left: 20px; /* 마지막 메뉴와 버튼 사이 간격 */
}

.lang_buttons a {
    color: rgba(255, 255, 255, 0.6); /* 비활성 상태: 투명도 있는 흰색 */
    font-size: 1rem;
    transition: all 0.3s ease;
    text-decoration: none;
    position: relative;
}

/* 현재 선택된 언어 (active) */
.lang_buttons a.active {
    color: #fff !important;
    font-weight: 700;
}

/* 호버 효과 */
.lang_buttons a:hover {
    color: #fff;
    opacity: 1;
}

/* 2. 스크롤 시 또는 헤더에 .on이 붙었을 때 (검정색 계열) */
#k_header.on .lang_buttons a,
#k_header.scroll_on .lang_buttons a {
    color: rgba(29, 29, 31, 0.4); /* 비활성 상태: 연한 검정/회색 */
}

#k_header.on .lang_buttons a.active,
#k_header.scroll_on .lang_buttons a.active {
    color: #1d1d1f !important; /* 활성 상태: 진한 검정 */
}

#k_header.on .lang_buttons a:hover,
#k_header.scroll_on .lang_buttons a:hover {
    color: #cd9207; /* 호버 시 포인트 컬러(골드) 적용 가능 */
}

/* 구분선 (/) 스타일 */
.lang_buttons span {
    opacity: 0.3;
    pointer-events: none;
    padding: 0 2px;
}

/* 3. 모바일 환경에서의 버튼 숨김 (필요 시) */
@media screen and (max-width: 768px) {
    #hd_gnb > ul > li.lang_select_wrap {
        display: none; /* 모바일 전용 GNB가 따로 있다면 PC용은 숨김 */
    }
}
/*---main visual---*/
#main_visual{height: 100vh;background-color: #000;position: relative;}

.mv_slide{position: relative;overflow: hidden;width: 100%;height: 100%;}
.mv_slide figure {
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.mv_slide_01 figure {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/theme/winners/img/main_visual/b_bg-01.jpg');
}

.mv_slide_02 figure {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/theme/winners/img/main_visual/b_bg-02.jpg');
}

.mv_slide_03 figure {
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('/theme/winners/img/main_visual/b_bg-03.jpg');
}
@keyframes slowZoom {
    0% { transform: scale(1.0); }
    100% { transform: scale(1.1); }
}

.mv_slide figure {
    animation: slowZoom 20s linear infinite alternate;
}
.mv_box{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);z-index: 1;color: #FFF;text-align: left;}
.mv_box h2{line-height: 130%;margin-bottom: 40px;font-family: "Noto Sans KR";font-size: 4rem;font-weight: bold;}
.mv_box h2 span{display: block;text-align: center;max-width: 768px;margin: 0 auto;}
.mv_box p{line-height: 125%;font-weight: 600;font-size: 1.5rem;text-align: center;max-width: 768px;margin: 0 auto;}
.mv_box b{color: #cd9207;}
#main_visual .mv_dot{position: absolute;bottom: 105px;left: 50%;transform: translateX(-50%);z-index: 1;text-align: center;}
#main_visual .mv_dot span{width: 81px;height: 3px;border-radius: 0;opacity: 1;background-color: rgba(255,255,255,.3);position: relative;overflow: hidden;margin: 0 15px;}
.mv_dot span::after{content: "";position: absolute;top: 0;left: 0;width: 0;height: 100%;background-color: #ffb300;transition: width 1s ease-in-out;}
.mv_dot span.swiper-pagination-bullet-active::after{width: 101%;transition: width 10s linear;}
/*mobile*/
.mv_box_mo{display: none;}

@media screen and (max-width: 1680px){
    .mv_box h2{font-size: 3.8rem;}
    .mv_box p{font-size: 1.6rem;}
}

@media screen and (max-width: 1440px){
    #main_visual{height: 90vh;background-color: #000;position: relative;}
    .mv_slide figure {height: 90vh;}
    .mv_box h2{font-size: 3.5rem;}
    .mv_box p{font-size: 1.5rem;}
}

@media screen and (max-width: 1280px){
    #main_visual{height: 80vh;background-color: #000;position: relative;}
    .mv_slide figure {height: 80vh;}
    .mv_box h2{margin-bottom: 30px;font-size: 3.2rem;}
    .mv_box p{font-size: 1.4rem;}
    .mv_slide figure{background-position: 33% center;}
}

@media screen and (max-width: 1024px){
    .mv_box h2{font-size: 2.8rem;}
    .mv_box p{font-size: 1.3rem;}
}

@media screen and (max-width: 900px){
    .mv_box h2{font-size: 2.5rem;}
    .mv_box p{font-size: 1.2rem;}
}

@media screen and (max-width: 768px){
    #main_visual{height: 60vh;background-color: #000;position: relative;}
    .mv_slide figure {height: 65vh;}
    .mv_box_mo{display: block;top: 48%;}
    .mv_box{text-align: center;}
    .mv_box h2{font-size: 2rem;font-weight: bold;margin-bottom: 20px;line-height: 130%;}
    .mv_box p{font-size: 1.1rem;line-height: 155%;font-weight: 500;}

    .mv_box_pc{display: none;}
}

@media screen and (max-width: 480px){
    .mv_box h2{font-size: 2.25rem;margin-bottom: 15px;}
    .mv_box p{font-size: 1.1rem;}
}

/*---section 01---*/
.k_subtitle{color: #cd9207;font-weight: 600;margin-bottom: 20px;text-align: center;}

.list_box_01{display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;margin-top: 80px;opacity: 0;transform: translateY(60px);transition: opacity 0.8s ease, transform 0.8s ease;}
.list_box_01.on{opacity: 1;transform: translateY(0);}
.list_box_01 li{position: relative;overflow: hidden;border-radius: 16px;transition: transform 0.4s ease, box-shadow 0.4s ease;}
.list_box_01 li:hover{transform: translateY(-12px);box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);}
.list_box_01 li figure{margin: 0;overflow: hidden;border-radius: 16px;height: 100%;}
.list_box_01 li figure img{display: block;width: 100%;height: 100%;object-fit: cover;}

.list_link_wrap{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 1;background: linear-gradient(270deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.9));transform: translateX(-100%);opacity: 0;transition: transform .5s ease, opacity .5s ease;display: flex;flex-direction: column;align-items: center;justify-content: flex-end;padding: 50px;box-sizing: border-box;}
.list_link_wrap div{position: relative;bottom: auto;left: auto;transform: none;width: 100%;color: #FFF;}
.list_link_wrap h3{margin-bottom: 24px;text-transform: capitalize;letter-spacing: -0.02em;}
.list_link_wrap p{letter-spacing: -0.1px;line-height: 28px;font-weight: 500;}
.list_link_wrap p span{line-height: 28px;word-break:keep-all;display: block;}

#main_section_01 .list_link{margin-top: 24px;display: inline-flex;align-items: center;justify-content: center;gap: 4px;padding: 12px 24px;border: 1px solid #FFF;border-radius: 100px;font-size: 15px;letter-spacing: -0.02em;line-height: 20px;transition: background-color .3s ease;}
#main_section_01 .list_link:hover{background-color: rgba(255,255,255,0.1);}

.list_box_01 li:hover .list_link_wrap{transform: translateX(0);opacity: 1;}

/*---section 02 (Company)---*/
#main_section_02{background-color: #f7f8f9;padding: 0;width: 100%;max-width: 1920px;margin: 0 auto;}

#main_section_02 .container{
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    align-items: stretch;
    opacity: 0;
    transform: translateY(60px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

#main_section_02 .container.on{
    opacity: 1;
    transform: translateY(0);
}

#main_section_02 .b_box{width: 50%;}

#main_section_02 .b_left-box{
    width: 50%; 
    text-align: left;
}

#main_section_02 .b_left-box img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_section_02 .b_right-box {
    width: 50%;
    padding-left: 10%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    text-align: left;
    position: relative;
    z-index: 1;
}

#main_section_02 .b_right-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/theme/winners/img/main/pattern_bg.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    opacity: 0.15;
    z-index: -1;
}

#main_section_02 .b_company-label{
    font-size: 18px;
    line-height: 100%;
    font-weight: 600;
    color: #cd9207;
    margin-bottom: 20px;
}

#main_section_02 .b_main-title{
    font-size: 56px; 
    line-height: 120%; 
    letter-spacing: -1px; 
    font-weight: bold; 
    margin-bottom: 32px;
}
#main_section_02 .b_main-title > span{display: block;}
#main_section_02 .b_main-title .b_title-accent{color: #cd9207;}
#main_section_02 .b_main-title i{line-height: 1.2em;}

#main_section_02 .b_description{
    margin-bottom: 64px;
}
#main_section_02 .b_description > span{display: block;}
#main_section_02 .b_description p{
    font-size: 20px; 
    line-height: 150%; 
    margin: 0; 
    color: #1d1d1f; 
    display: inline;
}

#main_section_02 .b_detail-btn{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 160px;
    height: 56px;
    border-radius: 999px;
    border: 1px solid #fff;
    background-color: #cd9207;
    color: #fff;
    font-size: 16px;
    line-height: 125%;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.3s ease, border-color 0.3s ease;
    padding: 10px;
}
#main_section_02 .b_detail-btn:hover{
    background-color: #000000;
    border-color: #fff;
}
#main_section_02 .b_detail-btn span{display: block;}

/*---section 03 (보유기술)---*/
.ms3_container{display: flex;flex-direction: row;gap: 30px;margin-top: 80px;height: 420px;opacity: 0;transform: translateY(60px);transition: opacity 0.8s ease, transform 0.8s ease;}
.ms3_container.on{opacity: 1;transform: translateY(0);}

.ms3_tech_item{position: relative;border-radius: 16px;overflow: hidden;cursor: pointer;flex: 0 0 140px;box-shadow: 0 4px 12px rgba(0,0,0,0.1);transition: flex-basis 0.3s ease-out, box-shadow 0.3s ease-out;}
.ms3_tech_item.active{flex: 0 0 840px;box-shadow: 0 10px 30px rgba(0,0,0,0.15);}
.ms3_tech_item.inactive{flex: 0 0 140px;}

.ms3_tech_item figure{width: 100%;height: 100%;border-radius: 16px;overflow: hidden;}
.ms3_tech_item figure img{display: block;width: 100%;height: 100%;object-fit: cover;transition: transform 0.5s ease;}
.ms3_tech_item:hover figure img{transform: scale(1.05);}

.ms3_overlay{position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: linear-gradient(180deg, rgba(0, 78, 168, 0) 30%, rgb(0 0 0 / 65%));z-index: 2;padding: 40px;display: flex;flex-direction: column;align-items: flex-start;justify-content: flex-end;gap: 24px;transform: translateY(100%);opacity: 0;transition: transform 0.5s ease, opacity 0.5s ease;box-sizing: border-box;}

.ms3_tech_item.active .ms3_overlay{transform: translateY(0);opacity: 1;}
.ms3_tech_item.inactive .ms3_overlay{transform: translateY(100%);opacity: 0;transition: transform 0.5s ease, opacity 0.5s ease;}
.ms3_tech_item.inactive .ms3_overlay_badge,
.ms3_tech_item.inactive .ms3_overlay_text,
.ms3_tech_item.inactive .ms3_overlay_link{opacity: 0;transform: translateX(-30px);}

.ms3_overlay_badge{display: inline-flex;align-items: center;justify-content: center;border-radius: 999px;background-color: #ffffff82;padding: 10px 32px;font-size: 24px;font-weight: 600;color: #FFF;text-transform: uppercase;opacity: 0;transform: translateX(-30px);transition: opacity 0.5s ease 0.3s, transform 0.5s ease 0.3s;}
.ms3_tech_item.active .ms3_overlay_badge{opacity: 1;transform: translateX(0);}

.ms3_overlay_text{width: 100%;max-width: 720px;color: #FFF;font-size: 20px;line-height: 1.5;letter-spacing: -0.1px;font-weight: 500;word-break: keep-all;margin: 0;opacity: 0;transform: translateX(-30px);transition: opacity 0.5s ease 0.4s, transform 0.5s ease 0.4s;}
.ms3_tech_item.active .ms3_overlay_text{opacity: 1;transform: translateX(0);}

.ms3_overlay_link{display: flex;align-items: center;justify-content: center;gap: 2px;padding: 0 10px;color: #FFF;font-size: 13px;letter-spacing: -0.02em;opacity: 0;transform: translateX(-30px);transition: opacity 0.5s ease 0.5s, transform 0.5s ease 0.5s, gap 0.3s ease;}
.ms3_tech_item.active .ms3_overlay_link{opacity: 1;transform: translateX(0);}
.ms3_overlay_link:hover{gap: 6px;}

/*---section 04 (문의하기)---*/
#main_section_04 {
    position: relative;
    width: 100%;
    height: 860px;
    text-align: center;
    font-size: 40px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}

#main_section_04::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(rgb(255 247 243 / 75%), rgb(57 39 30 / 60%)), url(/theme/winners/img/main/b_main_17.jpg);
    background-size: cover;
    background-position: center;
    object-fit: cover;
    z-index: 0;
}

#main_section_04 .k_container {
    position: relative;
    width: 100%;
    z-index: 1;
    padding: 0 20px;
}

#main_section_04 .k_title {
    position: relative;
    color: #FFF;
    line-height: 125%;
    font-weight: 800;
    margin-bottom: 0;
    margin-top: 0;
}

#main_section_04 .k_title span {
    display: block;
}

#main_section_04 p {
    position: relative;
    color: #FFF;
    font-size: 20px;
    line-height: 140%;
    font-weight: 500;
    text-align: center;
    margin-top: 35px;
    margin-bottom: 0;
}

#main_section_04 .link_a_w {
    position: relative;
    border-radius: 999px;
    background-color: #cd9207;
    border: 1px solid #fff;
    width: 160px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    font-size: 16px;
    margin-top: 40px;
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

#main_section_04 .link_a_w:hover {
    background-color: #5d4037; 
    border-color: #fff;
}

#main_section_04 .link_a_w span {
    line-height: 125%;
    font-weight: 600;
}

/*---footer---*/
.k_footer{height: 210px;border-top: 1px solid #ddd;background-color: #1d1d1f;display: flex;align-items: center;}
.k_footer .k_container{position: relative;height: 100%;}
.k_footer .admin_btn{margin-bottom: 10px; display: inline-block; background: #f7f7f7; border-radius: 50px; padding:5px 20px;}
.ft_inner{display: flex;flex-direction: row;flex-wrap: nowrap;align-items: flex-start;justify-content: flex-start;position: absolute;top: 40px;left: 0;}
.ft_logo{margin-right: 120px;}
.ft_logo_text{display: block;font-size: 32px;font-weight: 800;color: #1d1d1f;font-family: 'Pretendard', sans-serif;text-transform: capitalize;line-height: 1;}
.ft_info_wrap{width: 50%;/* height: 98px; */position: relative;}
.ft_info{line-height: 170%;margin-bottom: 10px;color: #1d1d1f;font-size: 14px;}
.ft_info i{margin-right: 8px;display: inline-block;color: #fff;}
.ft_copy{line-height: 170%;color: #999;font-size: 14px;}
.ft_top_btn{position: absolute;top: 68px;right: 0;width: 44px;height: 44px;border: 0.5px solid #111;background-color: #FFF;z-index: 1;background-image: url(/theme/winners/img/icon/top_arrow.png);background-repeat: no-repeat;background-position: center center;box-shadow: 0 4px 4px rgba(0,0,0,0.1);cursor: pointer;transition: all 0.3s ease;}
.ft_top_btn:hover{box-shadow: 0 6px 8px rgba(0,0,0,0.15);transform: translateY(-2px);}

.ft_logo a.k_w100{
    display: inline-block;
    width: auto;
}

.pc_blind, .tablet_blind{
    display:none;
}

/*---mobile gnb---*/
#mobile_wrap{position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color: rgba(0,0,0,.5);z-index: 1100;display: none;}
.mobile_inner{position: absolute;top: 0;right: 0;width: 100%;height: 100%;max-width: 300px;background-color: #1e2329;transform: translateX(101%);transition: transform .5s;}

#mobile_wrap.open .mobile_inner{transform: translateX(0);}

#mo_close{position: absolute;top: 0;right: 0;width: 50px;height: 50px;}
#mo_close span{position: absolute;top: 24px;left: 13.5px;width: 23px;height: 2px;background-color: #fff;}
#mo_close span:nth-child(1){transform: rotate(-45deg);}
#mo_close span:nth-child(2){transform: rotate(45deg);}

#mo_gnb{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 100%;z-index: 1;padding-left: 40px;padding-right: 40px;}
#mo_gnb>ul>li{margin-bottom: 29px;}
#mo_gnb>ul>li:last-child{margin-bottom: 0;}
#mo_gnb>ul>li>a{display: block;width: 100%;height: 100%;font-size: 17px;font-weight: 600;padding: 14px 0;position: relative;color: #fff;}
#mo_gnb>ul>li>a::after{content: "";position: absolute;top: 45%;right: 4.5%;z-index: 1;background-image: url(/img/icon/mo_down.png);background-repeat: no-repeat;background-position: center center;background-size: 16px;}

#mo_gnb>ul>li>ul{display: none;}
#mo_gnb>ul>li>ul>li>a{display: block;width: 100%;height: 100%;font-size: 15px;font-weight: 400;padding: 2px 0;line-height: 150%;color: #fff;}

#mo_gnb>ul>li.active>a{color: var(--color-primary);}
#mo_gnb>ul>li.active>a::after{background-image: url(/img/icon/mo_up.png);}

/*---관리자 버튼---*/
.hd_admin{position:fixed;bottom:10px;left:10px;z-index:999;}
.hd_admin a{padding:0 20px;display:inline-block;line-height:40px;background:#d12323;color:#fff}
.hd_admin a:hover{background:#ff0000}

/*popup privacy_policy */
.k_pop_wrap{position: fixed;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0,0,0,0.7);z-index: 2000;display: none;}
.k_pop_inner{position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);width: 80%;max-width: 600px;background: #FFF;box-shadow: 5px 5px 13px rgba(0,0,0,0.3);padding: 40px; border-radius:20px; }
.pop_content{position: relative;}
.pop_content h4{font-size: 1.3rem;font-weight: bold;letter-spacing: -0.045em;margin-bottom: 15px;padding-bottom: 15px;border-bottom: 1px solid #ddd;}
.pop_content p{max-height: 350px;overflow-y: scroll;font-size: 14px;}
.pop_content p i{display: block;}
.pop_content p i b{font-weight: 500;}
.pop_close{position: absolute;top: 0;right: 0;width: 30px;height: 30px;z-index: 3;}
.pop_close span{position: absolute;top: 14px;left: 0;width: 100%;height: 2px;background: #1d1d1f;transition: transform 0.3s;}
.pop_close span:nth-child(1){transform: rotate(45deg);}
.pop_close span:nth-child(2){transform: rotate(-45deg);}
.pop_close:hover span{transform: rotate(0);}


/*============================================
 RESPONSIVE - 반응형 미디어쿼리
============================================*/

/*--- 태블릿 (769px ~ 1280px) ---*/
@media screen and (max-width: 1280px){

    .k_section{padding: 100px 0;}
    .k_title{font-size: 2.5rem;}
    .k_subtitle{font-size: 1rem;}
    .list_link{font-size: 0.95rem;}
    .pc_blind{display: inline;}

    /* Header */
    #hd_gnb>ul>li>a{padding: 0 32px;font-size: 1rem;}

    /* Section 01 */
    .list_box_01{margin-top: 60px;gap: 15px;}
    .list_box_01 li{min-height: 280px;}
    .list_link_wrap{padding: 45px;}
    .list_link_wrap h3{margin-bottom: 16px;font-size: 1.9rem;}
    .list_link_wrap p{font-size: 0.95rem;line-height: 24px;}
    .list_link_wrap p span{font-size: 0.95rem;line-height: 24px;}
    #main_section_01 .list_link{margin-top: 18px;padding: 10px 20px;font-size: 14px;}

    /* Section 02 (Company) */
    #main_section_02 .b_company-label{font-size: 16px;}
    #main_section_02 .b_main-title{font-size: 40px;}
    #main_section_02 .b_description p{font-size: 16px; word-break:keep-all;}
    #main_section_02 .b_detail-btn{font-size: 15px;width: 150px;height: 42px;}

    /* Section 03 */
    .ms3_container{margin-top: 60px;gap: 20px;}
    .ms3_tech_item{flex: 0 0 10%;}
    .ms3_tech_item.active{flex: 0 0 50%;}
    .ms3_tech_item.inactive{flex: 0 0 10%;}
    .ms3_overlay{padding: 30px;gap: 20px;}
    .ms3_overlay_badge{font-size: 18px;padding: 8px 20px;}
    .ms3_overlay_text{font-size: 16px;line-height: 26px;max-width: 500px;}
    .ms3_overlay_link{font-size: 12px;}

    /* Section 04 */
    #main_section_04{height: 500px;}
    #main_section_04 .k_title{font-size: 2.2rem;}
    #main_section_04 p{font-size: 18px;margin-top: 30px;}
    #main_section_04 .link_a_w{margin-top: 35px;font-size: 15px;}

    /* Footer */
    .k_footer{/* height: 160px; */padding: 0;}
    .ft_inner{top: 40px;}
    .ft_logo{margin-right: 80px;}
    .ft_logo_text{font-size: 26px;}
    .ft_info_wrap{width: 400px;}
    .ft_info{font-size: 12px;}
    .ft_copy{font-size: 12px;}
    .ft_top_btn{width: 40px;height: 40px;top: 60px;}
}

/*--- 작은 태블릿 (769px ~ 1024px) ---*/
@media screen and (max-width: 1024px){

    .k_title{font-size: 2.2rem;}
    .k_subtitle{font-size: 0.95rem;}

    /* Section 01 */
    .list_link_wrap h3{font-size: 1.7rem;}
    .list_link_wrap p{font-size: 0.9rem;}
    .list_link_wrap p span{font-size: 0.9rem;}

    /* Section 02 (Company) */
    #main_section_02 .container{min-height: 500px;}
    #main_section_02 .b_left-box img{height: 500px;}
    #main_section_02 .b_company-label{font-size: 15px;}
    #main_section_02 .b_main-title{font-size: 36px;}
    #main_section_02 .b_description{margin-bottom: 24px;}
    #main_section_02 .b_description p{font-size: 15px;}

    /* Section 04 */
    #main_section_04 .k_title{font-size: 2rem;}
    #main_section_04 p{font-size: 16px;}
    
    /* --- CEO, Company Overview, Vision Style --- */
    .overview_wrap, .ceo_wrap {
        flex-direction: column;
        gap: 50px;
        /* margin: 60px 0; */
        display: block; /* [수정] 1024px 이하에서 block 처리하여 쌓임 */
    }
    
    /* [추가/수정] 1024px 이하에서 Sticky(패럴랙스) 해제 */
    .ceo_visual {
        position: relative; /* Sticky 해제 */
        top: auto;
        width: 100%;
        flex: none;
        margin-bottom: 40px;
    }
    .ceo_visual figure {
        height: auto;
        max-height: 500px; /* 너무 커지지 않게 제한 */
    }
    .ceo_content {
        padding-top: 0;
    }

    .ov_visual figure, .ceo_visual figure {
        height: 400px;
    }
    .ov_text_group, .ceo_content {
        padding-right: 0;
        padding-top: 0;
    }
    .ov_title, .ceo_header .main_title {
        font-size: 2.5rem;
    }
    .circle_list {
        flex-direction: column;
        gap: 30px;
    }
    .circle_item {
        width: 300px; height: 300px; margin-left: 0 !important;
    }
}

/*--- 1680px 이하 ---*/
@media screen and (max-width: 1680px){

    /* Section 01 */
    .list_box_01 li{min-height: 350px;}
    .list_link_wrap{padding: 60px;}
    .list_link_wrap h3{margin-bottom: 20px;font-size: 2rem;}
    .list_link_wrap p{font-size: 1rem;}
    .list_link_wrap p span{font-size: 1rem;line-height: 26px;}

    /* Section 02 */
    #main_section_02 .b_main-title{font-size: 48px;}
    #main_section_02 .b_description p{font-size: 18px;}

    /* Section 03 */
    .ms3_container{height: 380px;}
    .ms3_tech_item{flex: 0 0 10%;}
    .ms3_tech_item.active{flex: 0 0 50%;}
    .ms3_tech_item.inactive{flex: 0 0 10%;}
    .ms3_overlay_badge{font-size: 20px;}
    .ms3_overlay_text{font-size: 18px;}

    /* Section 04 */
    #main_section_04 .k_title{font-size: 2.8rem;}
}

/*--- 모바일 (~768px) ---*/
@media screen and (max-width: 768px){

    .pc_img{display: none;}
    .mo_img{display: block;}
    .mo_img_b {display: none;}
    
    /* 폰트 크기 전체 상향 조정 */
    .k_title{font-size: 2.2rem; font-weight:800;} /* 1.88 -> 2.2 */
    .k_subtitle{font-size: 1.1rem; margin-bottom: 8px;} /* 0.88 -> 1.1 */
    .k_section{padding: 60px 0;}
    .list_link{font-size: 1rem;}
    .list_link img{max-height: 19px;}
    #cursor{display: none !important;}
    .link_a{width: 120px; height: 46px; line-height: 44px;}
    .link_a span{font-size: 1rem;}
    .mo_none{display: none;}
    .tablet_blind{display: inline;}

    /* Header */
    #k_header{height: 60px;}
    .hd_logo img{max-width: 150px;}
    #hd_mo_btn{display: block;float: right;width: 22px;height: inherit;position: relative;}
    #hd_mo_btn span{position: absolute;top: 29px;left: 0;width: 100%;height: 2px;background-color: #FFF;transition: all .3s ease;}
    #hd_mo_btn span:nth-child(1){transform: translateY(-8px);}
    #hd_mo_btn span:nth-child(3){width: 15px;transform: translateY(8px);}
    #hd_gnb{display: none;}
    #k_header.on #hd_mo_btn span, #k_header.scroll_on #hd_mo_btn span{background-color: #1d1d1f;}
    #k_header.on .mo_img_b,
    #k_header.scroll_on .mo_img_b{display: block;}

    /* Main Visual */
    .mv_box_mo{display: none;}
    .mv_box_pc{display: block;top: 48%;}

    /* Section 01 */
    .list_box_01{margin-top: 40px;gap: 12px;grid-template-columns: 1fr;}
    .list_box_01 li{min-height: 300px;}
    .list_box_01 .list_link_wrap{transform: translateX(0);opacity: 1;padding: 30px;}
    .list_box_01 .list_link_wrap h3{font-size: 1.8rem; margin-bottom: 16px;}
    .list_box_01 .list_link_wrap p{font-size: 1.1rem; line-height: 1.6;}
    .list_box_01 .list_link_wrap p span{font-size: 1.1rem; line-height: 1.6;}
    #main_section_01 .list_link{margin-top: 20px; padding: 10px 20px; font-size: 1rem;}
    .list_box_01 li:hover{transform: translateY(0) !important;box-shadow: none !important;}

    /* Section 02 (Company) - Column 레이아웃 */
    #main_section_02 .container{
        flex-direction: column !important;
        min-height: auto !important;
    }
    #main_section_02 .b_box{width: 100% !important;}
    
    /* 이미지 */
    #main_section_02 .b_left-box{width: 100% !important;}
    #main_section_02 .b_left-box img{height: auto !important;min-height: 300px;max-height: 400px;}
    
    /* 텍스트 - 가운데 정렬 */
    #main_section_02 .b_right-box{
        width: 100% !important;
        height: auto !important;
        padding: 50px 20px !important;
        align-items: center !important;
        text-align: center !important;
        background-size: 80%;
    }
    #main_section_02 .b_company-label{font-size: 1.1rem; margin-bottom: 8px;}
    #main_section_02 .b_main-title{font-size: 2.2rem; margin-bottom: 24px;}
    #main_section_02 .b_description{margin-bottom: 32px;}
    #main_section_02 .b_description p{font-size: 1.15rem; line-height: 1.6;}
    #main_section_02 .b_detail-btn{margin: 0 auto;width: 150px;height: 48px;font-size: 1rem;}

    /* Section 03 */
    .ms3_container{flex-direction: column;height: auto;gap: 12px;margin-top: 40px;}
    .ms3_tech_item{flex: 0 0 280px;}
    .ms3_tech_item.active,
    .ms3_tech_item.inactive{flex: 0 0 280px;}
    .ms3_overlay{
        transform: translateY(0) !important;
        opacity: 1 !important;
        padding: 25px;
        gap: 16px;
            background: linear-gradient(180deg, rgba(0, 78, 168, 0) 20%, rgb(0 0 0)) !important;
    }
    .ms3_tech_item .ms3_overlay_badge,
    .ms3_tech_item .ms3_overlay_text,
    .ms3_tech_item .ms3_overlay_link{
        opacity: 1 !important;
        transform: translateX(0) !important;
    }
    .ms3_overlay_badge{font-size: 1.1rem; padding: 8px 24px;}
    .ms3_overlay_text{font-size: 1.1rem; line-height: 1.5;}
    .ms3_overlay_link{font-size: 0.9rem;}

    /* Section 04 */
    #main_section_04{height: 400px;}
    #main_section_04 .k_container{width: 92%;max-width: none;}
    #main_section_04 .k_title{font-size: 2rem; font-weight: bold; line-height: 1.3;}
    #main_section_04 p{font-size: 1.15rem; line-height: 1.6; margin-top: 25px;}
    #main_section_04 .link_a_w{width: 150px; height: 48px; font-size: 1rem; margin-top: 28px;}

    /* Footer */
    .k_footer{height: auto;padding: 40px 0;}
    .ft_inner{display: block;flex: none;position: relative;top: 0;left: 0;text-align: center;}
    .ft_logo{margin-right: 0;margin-bottom: 20px;}
    .ft_logo_text{font-size: 1.5rem;}
    .ft_info_wrap{width: 100%;height: auto;margin-bottom: 15px;}
    .ft_info{font-size: 0.8rem;line-height: 180%;}
    .ft_info i{display: block;margin-right: 0;margin-bottom: 3px;}
    .ft_copy{font-size: 1rem;word-break: keep-all;}
    .ft_top_btn{position: absolute;top: 0;right: 0;width: 40px;height: 40px;background-size: 14px;}

    /* 모바일 GNB */
    #mo_gnb>ul>li>a{font-size: 2rem;}
    #mo_gnb>ul>li>ul>li>a{font-size: 1.5rem;}
    
    /* Sub Pages Mobile Adjust */
    .history_header, .vision_header, .ceo_wrap, .overview_wrap { flex-direction: column; gap: 40px; }
    .header_img, .ceo_visual figure, .ov_visual figure { width: 100%; height: 300px; }
    
    /* Org Chart Mobile Reset */
    .org_section { padding: 0; margin-bottom: 60px; }
    
    /* [Mobile] History Fonts & Layout Optimization */
    .history_section { 
        margin-bottom: 60px; 
        padding-left: 30px; /* 모바일 좌측 여백 */
    }
    .timeline_list {
        padding-left: 30px; /* 선과 텍스트 사이 간격 */
        margin-left: 0;
    }
    .timeline_item::before {
        left: -38px; /* 점 위치 보정 */
        width: 12px; height: 12px; top: 6px;
    }
    /* 연혁 폰트 크기 확대 */
    .timeline_item .year { font-size: 1.5rem; }
    .timeline_item .content strong { font-size: 1.25rem; }
    .timeline_item .content .desc { font-size: 1.05rem; }
    
    /* 헤더 폰트 확대 */
    .header_txt .sub_title { font-size: 1rem; margin-bottom: 10px; }
    .header_txt .main_title { font-size: 2.4rem; line-height: 1.25; }
    .header_txt .desc { font-size: 1.15rem; line-height: 1.6; }
    .section_title { font-size: 1.8rem; margin-bottom: 30px; }
}

/* --------------------------------------------------------
   [SUB PAGES STYLES] - Added by Request
-------------------------------------------------------- */

/* --- [Company Overview] Gold Theme Style --- */
.overview_wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 80px;
    margin: 80px 0 120px;
}
.ov_visual {
    flex: 1;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 20px 20px 60px rgba(0, 0, 0, 0.08);
}
.ov_visual figure { margin: 0; width: 100%; height: 600px; }
.ov_visual img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.overview_wrap:hover .ov_visual img { transform: scale(1.03); }
.ov_text_group { flex: 1; text-align: left; padding-right: 20px; }
.ov_badge {
    display: inline-block; padding: 8px 16px; background-color: rgba(205, 146, 7, 0.1);
    color: #cd9207; font-size: 0.9rem; font-weight: 700; border-radius: 30px; margin-bottom: 30px; letter-spacing: 0.05em;
}
.ov_title {
    font-size: 3.5rem; font-weight: 800; line-height: 1.15; color: #1d1d1f; margin-bottom: 40px;
    letter-spacing: -0.02em; font-family: 'Times New Roman', serif;
}
.ov_title .text_point { color: #cd9207; }
.ov_message { margin-bottom: 50px; border-left: 3px solid #cd9207; padding-left: 25px; }
.ov_message .main_msg { font-size: 1.5rem; font-weight: 600; color: #1d1d1f; line-height: 1.5; margin-bottom: 20px; }
.ov_message .sub_msg { font-size: 1.05rem; color: #555; line-height: 1.7; word-break: keep-all; }
.ov_sign strong { font-size: 1.15rem; color: #1d1d1f; font-weight: 800; }
/* =================================================================
   [Mobile] Company Overview Optimization
   회사개요 페이지 모바일 레이아웃 재배치 및 폰트 조정
   ================================================================= */
@media screen and (max-width: 768px) {

    /* 1. 전체 래퍼: 세로 배치로 변경 */
    .overview_wrap {
        display: flex !important;
        flex-direction: column !important; /* 위아래로 쌓기 */
        gap: 40px !important; /* 이미지와 텍스트 사이 간격 */
        margin: 40px 0 60px !important; /* 전체 여백 축소 */
        padding: 0 20px !important; /* 좌우 여백 확보 */
    }

    /* 2. 이미지 영역: 높이 조절 및 꽉 채우기 */
    .ov_visual {
        width: 100% !important;
        flex: none !important;
        border-radius: 12px !important;
        margin-bottom: 0 !important;
        box-shadow: 0 10px 20px rgba(0,0,0,0.05) !important; /* 그림자 연하게 */
    }
    
    .ov_visual figure {
        width: 100% !important;
        height: 300px !important; /* 모바일에서 적절한 높이로 고정 */
    }

    /* 3. 텍스트 그룹: 패딩 제거 및 정렬 */
    .ov_text_group {
        width: 100% !important;
        flex: none !important;
        padding-right: 0 !important;
        text-align: left !important;
    }

    /* 4. 타이틀 폰트 크기 최적화 */
    .ov_title {
        font-size: 2.2rem !important; /* 3.5rem -> 2.2rem 축소 */
        line-height: 1.25 !important;
        margin-bottom: 25px !important;
        word-break: keep-all; /* 단어 단위 줄바꿈 */
    }

    /* 5. 강조 메시지 박스 스타일 조정 */
    .ov_message {
        margin-bottom: 30px !important;
        padding-left: 20px !important;
        border-left-width: 3px !important; /* 선 두께 조정 */
    }

    .ov_message .main_msg {
        font-size: 1.3rem !important; /* 본문 강조 텍스트 크기 조절 */
        line-height: 1.45 !important;
        margin-bottom: 12px !important;
    }

    .ov_message .sub_msg {
        font-size: 1rem !important;
        line-height: 1.6 !important;
        color: #555 !important;
    }

    /* 6. 대표 서명 영역 */
    .ov_sign {
        margin-top: 10px !important;
        text-align: right !important; /* 서명은 우측 정렬 유지 */
    }
}

/* --- [CEO Greetings] Gold Theme Style --- */
.ceo_wrap {display: flex;gap: 80px;align-items: flex-start;margin-bottom: 100px;}
.ceo_visual { flex: 0 0 40%; position: sticky; top: 120px; }
.ceo_visual figure {
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 4px;
    box-shadow: 10px 10px 30px rgba(0,0,0,0.1);
    margin-bottom: 25px;
}
.ceo_visual img {
    width: 100%; height: 100%; object-fit: cover; filter: sepia(10%) contrast(1.1); transition: all 0.5s ease;
}
.ceo_visual:hover img { filter: sepia(0%) contrast(1.1); transform: scale(1.02); }
.ceo_name_tag { text-align: right; border-right: 3px solid #cd9207; padding-right: 20px; }
.ceo_name_tag strong { display: block; font-size: 1.6rem; color: #222; font-weight: 700; margin-bottom: 5px; }
.ceo_name_tag span { display: block; color: #886a3e; font-size: 0.95rem; font-weight: 500; }
.ceo_content { flex: 1; padding-top: 10px; }
.ceo_header .sub_txt { display: block; font-weight: 700; color: #cd9207; letter-spacing: 2px; margin-bottom: 15px; text-transform: uppercase; font-size: 0.9rem; }
.ceo_header .main_title { font-size: 3.2rem; line-height: 1.2; color: #1d1d1f; font-weight: 800; margin-bottom: 40px; font-family: 'Times New Roman', serif; }
.ceo_header .text_point { color: #cd9207; }
.ceo_message p { font-size: 1.15rem; line-height: 1.8; color: #444; margin-bottom: 24px; word-break: keep-all; }
.ceo_sign { margin-top: 50px; text-align: right; }
.ceo_sign p { margin-bottom: 8px; color: #666; font-size: 1rem; }
.ceo_sign strong { font-size: 1.6rem; color: #1d1d1f; font-family: 'Times New Roman', serif; font-style: italic; }
.ceo_divider { border: 0; height: 1px; background: #e0d0b0; margin: 60px 0; }
.profile_group { margin-bottom: 45px; }
.profile_group h3 { font-size: 1.25rem; color: #cd9207; border-bottom: 1px solid #cd9207; padding-bottom: 12px; margin-bottom: 20px; font-weight: 700; text-transform: uppercase; }
.profile_group ul { list-style: none; padding: 0; }
.profile_group ul li { position: relative; padding-left: 18px; font-size: 1.05rem; color: #444; margin-bottom: 12px; line-height: 1.5; }
.profile_group ul li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; background-color: #cd9207; border-radius: 50%; }

/* =================================================================
   [Mobile] Greetings (CEO) Page Fix
   모바일에서 CEO 이미지 스티키(패럴랙스) 해제 및 레이아웃 최적화
   ================================================================= */
@media screen and (max-width:1024px){
.ceo_visual {flex: 0 0 40%;position: relative;top: 40px;}
}
@media screen and (max-width: 768px) {

    /* 1. CEO 인사말 이미지 고정(Sticky) 해제 */
    .ceo_visual {
        position: relative !important; /* 스티키 강제 해제 */
        top: 20px;
        left: auto !important;
        width: 100% !important;
        flex: none !important; /* flex 비율 무시 */
        margin-bottom: 30px !important; /* 텍스트와 간격 확보 */
    }

    /* 2. 이미지 높이 조절 (너무 크지 않게) */
    .ceo_visual figure { 
        height: auto !important; /* 비율에 맞게 자동 조절 */
        max-height: 400px; /* 최대 높이 제한 */
        padding-bottom: 0; 
    }

    /* 3. CEO 이름표 위치 조정 */
    .ceo_name_tag {
        text-align: left !important; /* 왼쪽 정렬 */
        border-right: none !important; /* 오른쪽 선 제거 */
        border-left: 3px solid #cd9207; /* 왼쪽 선 추가 */
        padding-right: 0 !important;
        padding-left: 15px !important;
        margin-top: 10px;
        margin-bottom: 30px;
    }

    /* 4. 전체 래퍼 레이아웃 정렬 */
    .ceo_wrap { 
        display: block !important; /* Flex 해제하고 블록으로 변경 */
        padding: 0 20px; /* 좌우 여백 */
    }

    .ceo_content {
        padding-top: 0 !important;
    }

    /* 5. 텍스트 가독성 최적화 */
    .ceo_header .main_title {
        font-size: 2.2rem !important; /* 타이틀 크기 조정 */
        line-height: 1.3 !important;
        word-break: keep-all;
    }
    
    .ceo_message p {
        font-size: 1.05rem !important;
        line-height: 1.7 !important;
        text-align: justify; /* 양쪽 정렬로 깔끔하게 */
    }
}


/* --- [Management Philosophy & Vision] Circle Style --- */
.vision_header { display: flex; justify-content: space-between; align-items: center; gap: 60px; margin-bottom: 80px; }
.header_txt { flex: 1; }
.header_txt .sub_title { display: block; font-weight: 700; color: #cd9207; letter-spacing: 2px; margin-bottom: 15px; text-transform: uppercase; font-size: 0.9rem; }
.header_txt .main_title { font-size: 3.2rem; line-height: 1.2; color: #1d1d1f; font-weight: 800; margin-bottom: 30px; font-family: 'Times New Roman', serif; }
.header_txt .text_point { color: #cd9207; }
.header_txt .desc { font-size: 1.1rem; line-height: 1.7; color: #555; margin-bottom: 20px; word-break: keep-all; }
.header_img { flex: 1; height: 450px; border-radius: 20px; overflow: hidden; box-shadow: 20px 20px 60px rgba(0,0,0,0.08); }
.header_img img { width: 100%; height: 100%; object-fit: cover; }
.vision_values {padding: 60px 0 120px;text-align: center;background: #f7f8f9;}
.value_title { font-size: 2.2rem; color: #cd9207; font-weight: 800; margin-bottom: 50px; letter-spacing: 0.05em; text-transform: uppercase; position: relative; display: inline-block; }
.circle_list { display: flex; justify-content: center; align-items: center; margin-top: 20px; }
.circle_item {width: 360px;height: 360px;border-radius: 50%;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 40px;box-shadow: 10px 10px 30px rgba(0,0,0,0.15);position: relative;transition: transform 0.3s ease;color: #fff;}
.circle_item + .circle_item { margin-left: -40px; }
.circle_item:hover { transform: scale(1.05); z-index: 10 !important; }
.circle_1 { background: #cbb488; z-index: 1; }
.circle_2 {background: #cd9207;z-index: 2;width: 360px;height: 360px;}
.circle_3 { background: #8c6e3d; z-index: 1; }
.inner_content { text-align: center; }
.top_icon { font-size: 3rem; margin-bottom: 20px; color: rgba(255,255,255,0.95); }
.circle_item h4 { font-size: 1.5rem; font-weight: 700; margin-bottom: 15px; line-height: 1.2; color: #fff; text-shadow: 1px 1px 5px rgba(0,0,0,0.1); }
.circle_item p { font-size: 1rem; line-height: 1.5; font-weight: 400; color: #fff; opacity: 0.95; word-break: keep-all; }

@media screen and (max-width: 768px) {
.circle_1 { background: #cbb488; z-index: 1; width: 300px;height: 300px;}
.circle_2 {background: #cd9207;z-index: 2;width: 300px;height: 300px;}
.circle_3 { background: #cbb488; z-index: 1; width: 300px;height: 300px;}
.circle_item {width: 300px;height: 300px;border-radius: 50%;display: flex;flex-direction: column;justify-content: center;align-items: center;padding: 40px;
box-shadow: 10px 10px 30px rgba(0,0,0,0.15);position: relative;transition: transform 0.3s ease;color: #fff;}

}

/* --- [History & Org Chart] Page Style --- */
.history_header { display: flex; justify-content: space-between; align-items: center; gap: 60px; margin-bottom: 100px; }
.section_title { font-size: 2rem; color: #cd9207; font-weight: 800; margin-bottom: 60px; text-align: center; letter-spacing: 0.1em; position: relative; }
.section_title::after { content: ""; display: block; width: 40px; height: 3px; background: #cd9207; margin: 20px auto 0; }



/* 1. 조직도 (Org Chart) : 이미지 100% Fit (스크롤 없음) */
.org_section {
    margin-bottom: 120px;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px; /* 기본 패딩 */
}

/* 이미지 박스: 가로 100% 꽉 채우기 */
.org_img_box {
    width: 100%;
    margin: 0 auto;
    line-height: 0;
}

/* 이미지 반응형 설정: 무조건 컨테이너 안에 맞춤 */
.org_img_box img {
    width: 100% !important;      /* 강제 가로 100% */
    height: auto !important;     /* 비율 유지 */
    max-width: 100% !important;  /* 컨테이너 밖으로 나가지 않음 */
    display: block;
    object-fit: contain;
}

/* 2. 연혁 (History Timeline) */
.history_section { 
    max-width: 800px; 
    margin: 0 auto 120px; /* 중앙 정렬 */
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
}
.timeline_list { 
    position: relative; 
    padding-left: 50px; /* 간격 넓힘 */
    border-left: 2px solid #e0d0b0; 
    margin-left: 10px; /* 전체 리스트 우측으로 이동 */
}
.timeline_item { margin-bottom: 60px; position: relative; }
.timeline_item:last-child { margin-bottom: 0; }
.timeline_item::before { 
    content: ""; position: absolute; left: -58px; top: 5px; 
    width: 14px; height: 14px; background: #cd9207; 
    border-radius: 50%; border: 3px solid #fff; box-shadow: 0 0 0 2px #cd9207; 
}
.timeline_item .year { 
    font-size: 1.6rem; font-weight: 800; color: #cd9207; 
    font-family: 'Times New Roman', serif; margin-bottom: 8px; line-height: 1; 
}
.timeline_item .content strong { display: block; font-size: 1.3rem; color: #1d1d1f; margin-bottom: 6px; }
.timeline_item .content .desc { display: block; font-size: 1rem; color: #888; }
/* --- [Awards & Media PR] Page Style --- */

/* 1. 상단 헤더 (공통 스타일 재사용) */
.awards_header {
    display: flex; justify-content: space-between; align-items: center;
    gap: 60px; margin-bottom: 100px;
}

/* 2. 어워드 그리드 (카드형 리스트) */
.awards_list_section, .media_pr_section, .ceremony_section {
    margin-bottom: 120px;
}

.awards_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2단 배열 */
    gap: 30px;
}

.award_item {
    background: #fff;
    padding: 40px;
    border: 1px solid #eee;
    border-top: 3px solid #cd9207; /* 상단 골드 포인트 */
    box-shadow: 0 5px 15px rgba(0,0,0,0.03);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.award_item:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 30px rgba(0,0,0,0.1);
}

.award_item .date {
    display: block;
    font-family: 'Times New Roman', serif;
    color: #cd9207;
    font-weight: 700;
    font-size: 1.1rem;
    margin-bottom: 10px;
    letter-spacing: 0.05em;
}

.award_item .media {
    font-size: 1.5rem;
    font-weight: 800;
    color: #1d1d1f;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.award_item .summary {
    font-size: 1.05rem;
    color: #555;
    line-height: 1.6;
    word-break: keep-all;
}
.award_item .summary strong {
    display: block;
    color: #333;
    margin-top: 8px;
    font-weight: 600;
}

/* Media PR 스타일 (배경색 구분) */
.award_item.pr_style {
    background: #fcfbf8; /* 연한 베이지색 배경 */
    border-top: 3px solid #333; /* 상단 블랙 라인 */
}
.award_item.pr_style .date {
    color: #333;
}

/* 3. 행사 사진 (Ceremony) 섹션 */
.ceremony_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
.ceremony_item .img_box {
    width: 100%;
    height: 320px;
    overflow: hidden;
    margin-bottom: 15px;
    background: #eee;
    border-radius: 10px;
}
.ceremony_item .img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}
.ceremony_item:hover .img_box img {
    transform: scale(1.05);
}
.ceremony_item p {
    font-size: 1rem;
    color: #444;
    text-align: center;
    line-height: 1.5;
    word-break: keep-all;
    font-weight: 500;
}

/* --- 반응형 (모바일) --- */
@media screen and (max-width: 768px) {
    .awards_header { flex-direction: column; gap: 40px; }
    
    .awards_grid {
        grid-template-columns: 1fr; /* 1단 배열 */
        gap: 20px;
    }
    
    .award_item { padding: 30px; }
    
    .ceremony_grid {
        grid-template-columns: 1fr; /* 사진도 1단 */
        gap: 40px;
    }
    .ceremony_item .img_box { height: 250px; }
}