.elementor-2004 .elementor-element.elementor-element-711a01e{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}/* Start custom CSS for html, class: .elementor-element-c09f793 *//* --- [1] 좌측 유령 글자 및 모든 중복 메뉴 완전 박멸 --- */
.hfe-nav-menu, .hfe-nav-menu__toggle, .hfe-nav-menu__toggle-container, 
.hfe-nav-menu__toggle-text, .uae-nav-menu__toggle-text, .uae-menu-toggle-subtext,
.screen-reader-text, .skip-link, .mobile-nav, #mobile-menu, 
.menu-mobile-container, .mobile-menu-wrapper, .elementor-menu-toggle,
.elementor-widget-hfe-nav-menu, .elementor-widget-uae-nav-menu,
[class*="hfe-nav-menu"], [class*="uae-nav-menu"], [class*="elementor-nav-menu"] { 
    display: none !important; visibility: hidden !important; opacity: 0 !important; 
    position: fixed !important; left: -9999px !important; width: 0 !important; height: 0 !important;
}

/* --- [2] 기본 초기화 --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
li { list-style: none; }
a { text-decoration: none; transition: 0.3s ease; font-family: 'Noto Sans KR', sans-serif; }
body.admin-bar .main-header { top: 2rem !important; }

/* --- [3] 헤더 배경 및 구분선 설정 --- */
.main-header {
    width: 100% !important; height: 4.1875rem !important; position: fixed !important; 
    top: 0 !important; left: 0 !important; z-index: 9999 !important;
    background: transparent !important; transition: all 0.4s ease;
}

.header-bg-panel {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    background: #ffffff !important; z-index: -1; 
    opacity: 0; border-bottom: 1px solid #eeeeee; transition: opacity 0.3s ease;
}

/* 스크롤 또는 호버 시 배경 노출 */
.main-header.scrolled .header-bg-panel,
.main-header:hover .header-bg-panel { opacity: 1 !important; }

/* [수정] 상단 구분선: 초기에는 투명하며, 오직 스크롤 시에만 나타남 */
.main-header::before {
    content: ""; position: absolute; top: 4.0625rem; left: 0; width: 100%; height: 1px;
    background-color: transparent; /* 초기 상태 투명 */
    z-index: 10; transition: background-color 0.3s ease;
}

/* 핵심 변경: :hover를 제거하고 .scrolled일 때만 색상 부여 */
.main-header.scrolled::before { 
    background-color: #eeeeee; 
}

/* PC에서만 호버 시 높이 확장 및 하단 마감선 */
@media screen and (min-width: 1025px) {
    .main-header:hover { height: 350px !important; }
    .main-header::after {
        content: ""; position: absolute; top: 350px; left: 0; width: 100%; height: 1px;
        background-color: #eeeeee; opacity: 0; transition: 0.3s; z-index: 10;
    }
    .main-header:hover::after { opacity: 1; }
}

/* --- [4] 로고 설정 (화이트 <-> 컬러 스위칭) --- */
.header-container {
    width: 100%; max-width: 112.5rem; margin: 0 auto; height: 6.25rem;
    display: flex; justify-content: space-between; align-items: center;
    padding: 0 3.75rem; position: relative; z-index: 100;
}
.logo-area { position: relative; width: 15.625rem; flex-shrink: 0; }
.logo-area img { height: 9.375rem !important; width: auto; margin-top: -2.5rem; transition: 0.3s; }

.logo-white { opacity: 1; visibility: visible; position: relative; display: block !important; }
.logo-color { opacity: 0; visibility: hidden; position: absolute; top: 0; left: 0; display: block !important; }

.main-header.scrolled .logo-white, .main-header:hover .logo-white { opacity: 0 !important; visibility: hidden !important; }
.main-header.scrolled .logo-color, .main-header:hover .logo-color { opacity: 1 !important; visibility: visible !important; }

/* --- [5] PC 메뉴 및 서브메뉴 정렬 (헤더 호버 트리거) --- */
.nav-area { position: absolute; left: 50%; top: 44%; transform: translate(-50%, -50%); display: flex; }
.gnb { display: flex !important; flex-direction: row !important; }
.menu-item { padding: 0 2.1875rem; position: relative; }

.menu-item > a { font-size: 1.25rem; font-weight: 800; line-height: 110px; color: #ffffff !important; transition: 0.3s; }
.main-header.scrolled .menu-item > a, .main-header:hover .menu-item > a { color: #222222 !important; }

.sub-menu {
    position: absolute; top: 55px; left: 50%; transform: translateX(-50%);
    width: 10rem; opacity: 0; visibility: hidden; background: transparent !important;
    padding: 1.25rem 0; z-index: 1000; transition: 0.3s;
}

/* 헤더 영역(.main-header) 호버 시 모든 서브메뉴 노출 */
.main-header:hover .sub-menu { 
    opacity: 1 !important; 
    visibility: visible !important; 
    display: block !important;
}

.sub-menu li a { display: block; padding: 0.625rem 0; color: #666 !important; font-size: 1rem; text-align: center; font-weight: 600; }
.sub-menu li a:hover { color: #000 !important; }

/* --- [6] 모바일 대응 --- */
@media screen and (max-width: 1024px) {
    .main-header, .main-header:hover { height: 4.0625rem !important; background: #ffffff !important; } 
    .header-bg-panel { opacity: 1 !important; }
    .header-container { height: 4.0625rem !important; padding: 0 1.25rem; }
    
    .logo-area { width: 11.25rem; }
    .logo-area img { height: 5rem !important; margin-top: 0 !important; }
    .logo-white { display: none !important; }
    .logo-color { opacity: 1 !important; visibility: visible !important; position: static !important; }

    .mobile-toggle { display: flex !important; flex-direction: column; justify-content: space-between; width: 1.875rem; height: 1.25rem; cursor: pointer; z-index: 10001; }
    .mobile-toggle span { display: block; width: 100%; height: 0.1875rem; background: #222222 !important; }

    .nav-area {
        position: fixed; top: 0; right: -100%; width: 17.5rem; height: 100vh;
        background: #ffffff !important; padding: 4.375rem 0 0 0; transition: 0.4s;
        box-shadow: -0.3125rem 0 0.9375rem rgba(0,0,0,0.1); left: auto; transform: none;
    }
    .main-header.active .nav-area { right: 0 !important; }
    .gnb { flex-direction: column !important; width: 100% !important; padding: 0 !important; }
    .menu-item { width: 100% !important; border-bottom: 1px solid #eeeeee !important; padding: 0 !important; }
    .menu-item > a { color: #222222 !important; line-height: 3.4375rem; padding: 0 1.875rem; font-size: 1.125rem; }

    .sub-menu { position: static !important; display: block !important; opacity: 1 !important; visibility: visible !important; width: 100% !important; transform: none !important; background: #fafafa !important; padding: 0.3125rem 0 0.9375rem 0 !important; }
    .sub-menu li a { text-align: left !important; padding: 0.625rem 2.8125rem !important; font-size: 0.9375rem !important; border: none !important; }
}/* End custom CSS */