.elementor-359 .elementor-element.elementor-element-bac5cf8{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:55px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:43px;--padding-bottom:44px;--padding-left:0px;--padding-right:0px;}.elementor-359 .elementor-element.elementor-element-bac5cf8:not(.elementor-motion-effects-element-type-background), .elementor-359 .elementor-element.elementor-element-bac5cf8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#091A2C;}.elementor-359 .elementor-element.elementor-element-7d76c16{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-359 .elementor-element.elementor-element-b59c73f{text-align:center;}.elementor-359 .elementor-element.elementor-element-b59c73f .elementor-heading-title{font-family:"Lato", Sans-serif;font-size:20px;font-weight:800;letter-spacing:-0.5px;color:#F16E00;}.elementor-359 .elementor-element.elementor-element-985e93a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-359 .elementor-element.elementor-element-0cb4608{text-align:start;font-family:"Noto Sans KR", Sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.5px;color:#FFFFFFE0;}.elementor-359 .elementor-element.elementor-element-0cb4608 p{margin-block-end:0px;}.elementor-359 .elementor-element.elementor-element-b40247d{text-align:start;font-family:"Noto Sans KR", Sans-serif;font-size:15px;font-weight:400;line-height:31px;letter-spacing:0px;color:#FFFFFFD4;}.elementor-359 .elementor-element.elementor-element-b40247d p{margin-block-end:0px;}.elementor-359 .elementor-element.elementor-element-c5d5db9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-359 .elementor-element.elementor-element-91c73aa{text-align:start;font-family:"Noto Sans KR", Sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.5px;color:#FFFFFFE0;}.elementor-359 .elementor-element.elementor-element-91c73aa p{margin-block-end:0px;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(4px/2);}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(4px/2);}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(4px/2);}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-4px/2);}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-4px/2);}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-icon i{color:#FFFFFFC9;transition:color 0.3s;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-icon svg{fill:#FFFFFFC9;transition:fill 0.3s;}.elementor-359 .elementor-element.elementor-element-dc28dae{--e-icon-list-icon-size:15px;--e-icon-list-icon-align:center;--e-icon-list-icon-margin:0 calc(var(--e-icon-list-icon-size, 1em) * 0.125);--icon-vertical-offset:0px;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-icon{padding-inline-end:4px;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-item > .elementor-icon-list-text, .elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-item > a{font-family:"Roboto", Sans-serif;font-size:16px;font-weight:500;letter-spacing:0px;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-text{color:#FFFFFFB3;transition:color 0.3s;}.elementor-359 .elementor-element.elementor-element-0da96ad{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-359 .elementor-element.elementor-element-d092710{text-align:start;font-family:"Noto Sans KR", Sans-serif;font-size:18px;font-weight:600;letter-spacing:-0.5px;color:#FFFFFFE0;}.elementor-359 .elementor-element.elementor-element-d092710 p{margin-block-end:0px;}.elementor-359 .elementor-element.elementor-element-94cd21e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:4px;--padding-bottom:4px;--padding-left:0px;--padding-right:0px;}.elementor-359 .elementor-element.elementor-element-94cd21e:not(.elementor-motion-effects-element-type-background), .elementor-359 .elementor-element.elementor-element-94cd21e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-359 .elementor-element.elementor-element-7072b0d{text-align:center;font-family:"Lato", Sans-serif;font-size:12px;font-weight:500;letter-spacing:0px;color:#FFFFFF;}.elementor-359 .elementor-element.elementor-element-7072b0d p{margin-block-end:0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}.elementor-widget .tippy-tooltip .tippy-content{text-align:center;}@media(min-width:768px){.elementor-359 .elementor-element.elementor-element-7d76c16{--width:25%;}.elementor-359 .elementor-element.elementor-element-985e93a{--width:25%;}.elementor-359 .elementor-element.elementor-element-c5d5db9{--width:25%;}.elementor-359 .elementor-element.elementor-element-0da96ad{--width:25%;}}@media(max-width:767px){.elementor-359 .elementor-element.elementor-element-bac5cf8{--margin-top:22px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:18px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-359 .elementor-element.elementor-element-b59c73f .elementor-heading-title{font-size:15px;}.elementor-359 .elementor-element.elementor-element-0cb4608{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;padding:0px 0px 0px 0px;font-size:16px;}.elementor-359 .elementor-element.elementor-element-b40247d{padding:0px 0px 0px 17px;font-size:13px;}.elementor-359 .elementor-element.elementor-element-c5d5db9{--margin-top:12px;--margin-bottom:8px;--margin-left:0px;--margin-right:0px;}.elementor-359 .elementor-element.elementor-element-91c73aa{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;font-size:16px;}.elementor-359 .elementor-element.elementor-element-dc28dae{padding:0px 0px 0px 15px;}.elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-item > .elementor-icon-list-text, .elementor-359 .elementor-element.elementor-element-dc28dae .elementor-icon-list-item > a{font-size:15px;}.elementor-359 .elementor-element.elementor-element-0da96ad{--margin-top:12px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:15px;--padding-left:9px;--padding-right:0px;}.elementor-359 .elementor-element.elementor-element-d092710{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + -10px) 0px;font-size:16px;}.elementor-359 .elementor-element.elementor-element-70baddf{padding:0px 0px 0px 14px;}.elementor-359 .elementor-element.elementor-element-7072b0d{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:7px 0px 7px 0px;font-size:10px;}}/* Start custom CSS for text-editor, class: .elementor-element-0cb4608 *//* .title-bar 클래스를 가진 span 태그에 적용 */
.title-bar {
    position: relative;
    padding-left: 13px;
    display: inline-block;
}

/* 가상 요소로 막대 그리기 */
.title-bar::before {
    content: "";
    position: absolute;
    left: 0;
    
    /* [수정] 기준점을 중앙으로 옮기고 높이를 70%로 설정 */
    top: 50%;                /* 1. 위에서 50% 위치로 내립니다 */
    transform: translateY(-50%); /* 2. 자기 자신의 높이 절반만큼 다시 위로 끌어올려 완벽한 중앙을 맞춥니다 */
    
    width: 4px;
    height: 55%;             /* 높이 70% */
    background-color: #F16E00;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-91c73aa *//* .title-bar 클래스를 가진 span 태그에 적용 */
.title-bar {
    position: relative;
    padding-left: 13px;
    display: inline-block;
}

/* 가상 요소로 막대 그리기 */
.title-bar::before {
    content: "";
    position: absolute;
    left: 0;
    
    /* [수정] 기준점을 중앙으로 옮기고 높이를 70%로 설정 */
    top: 50%;                /* 1. 위에서 50% 위치로 내립니다 */
    transform: translateY(-50%); /* 2. 자기 자신의 높이 절반만큼 다시 위로 끌어올려 완벽한 중앙을 맞춥니다 */
    
    width: 4px;
    height: 55%;             /* 높이 70% */
    background-color: #F16E00;
}/* End custom CSS */
/* Start custom CSS for icon-list, class: .elementor-element-dc28dae */.elementor-359 .elementor-element.elementor-element-dc28dae a {color: rgba(255, 255, 255, 0.7);} /* 50% 투명한 하얀색 */
.connec {color:#fee440;}
@media screen and (min-width:768px)
{ .connec {visibility:hidden; }
}
@media screen and (max-width:767px)
{ .numm {color:#fee440;}
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-d092710 *//* .title-bar 클래스를 가진 span 태그에 적용 */
.title-bar {
    position: relative;
    padding-left: 13px;
    display: inline-block;
}

/* 가상 요소로 막대 그리기 */
.title-bar::before {
    content: "";
    position: absolute;
    left: 0;
    
    /* [수정] 기준점을 중앙으로 옮기고 높이를 70%로 설정 */
    top: 50%;                /* 1. 위에서 50% 위치로 내립니다 */
    transform: translateY(-50%); /* 2. 자기 자신의 높이 절반만큼 다시 위로 끌어올려 완벽한 중앙을 맞춥니다 */
    
    width: 4px;
    height: 55%;             /* 높이 70% */
    background-color: #F16E00;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-70baddf *//* =========================================
   커스텀 수직 메뉴 (Custom Vertical Menu)
   - PC: 호버 시 위로 부드럽게 열림 (JS 없음)
   - 모바일: 클릭 시 위로 열림 (JS 필요)
   - ★ GPU 가속 + 호버 끊김 완벽 해결 버전 ★
========================================= */

/* 메뉴 전체 컨테이너 */
.custom-vertical-menu {
  width: 180px;
  position: relative;
  font-family: "Noto Sans KR", sans-serif;
  z-index: 999;
  box-sizing: border-box;
}

.custom-vertical-menu *,
.custom-vertical-menu *::before,
.custom-vertical-menu *::after {
  box-sizing: inherit;
}

/* 기본 UL, LI 스타일 초기화 */
.custom-vertical-menu ul,
.custom-vertical-menu li {
  margin: 0;
  padding: 0;
  list-style: none;
}


/* =========================================
   [NEW 핵심 해결책] 호버 영역 확장 (투명 날개)
   - 메뉴 전체를 감싸는 li(.menu-item)의 영역을 위쪽으로 확장합니다.
========================================= */
.custom-vertical-menu .menu-item {
    position: relative; /* 가상요소 기준점 */
}

.custom-vertical-menu .menu-item::after {
    content: "";
    position: absolute;
    /* 현재 메뉴 아이템의 맨 위쪽 라인에서 시작 */
    bottom: 100%;
    left: 0;
    width: 100%;
    /* 4px 간격을 충분히 커버하도록 높게 설정 (안전하게 10px) */
    height: 10px;
    /* 눈에 보이지 않게 투명 처리 */
    background: transparent;
    /* 마우스를 확실히 잡도록 우선순위 높임 */
    z-index: 10;
}


/* =========================================
   1. 상위 메뉴 (제품 목록 버튼)
========================================= */
.custom-vertical-menu .menu-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;

  background: #F2F4F8;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;

  padding: 8px 12px;
  font-size: 15px;
  font-weight:600;
  color: #2F3540;
  cursor: pointer;
  text-decoration: none;

  box-shadow: 0 3px 10px rgba(0,0,0,0.08);
  transition: background 0.25s ease, border-color 0.25s ease;
}

@media (min-width: 768px) {
  .custom-vertical-menu .menu-toggle {
    background: rgba(245, 245, 245, 0.9);
  }
}

.custom-vertical-menu .menu-toggle::after {
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid #555;
  border-bottom: 2px solid #555;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}

.custom-vertical-menu .menu-toggle.open::after {
  transform: rotate(-135deg);
}


/* =========================================
   2. 서브메뉴 (드롭바 영역)
========================================= */
.custom-vertical-menu .submenu {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 0;
  width: 180px;
  padding: 0;
  margin: 0;

  /* 초기 상태 */
  max-height: 0;
  opacity: 0;
  overflow: hidden !important;

  transform: translateY(-3px) scale(0.96);
  transform-origin: top;

  background: rgba(242,244,248,0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(0,0,0,0.05);
  border-radius: 12px;
  box-shadow: 0 -4px 14px rgba(0,0,0,0.12);

  /* 트랜지션 설정 */
  transition:
    max-height 0.35s cubic-bezier(0.23, 1, 0.32, 1),
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.23, 1, 0.32, 1);

  /* GPU 강제 가속 */
  will-change: transform, opacity, max-height;
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.custom-vertical-menu .submenu.open {
  max-height: 420px;
  opacity: 1;
  transform: translateY(0) scale(1) translateZ(0);
}


/* =========================================
   3. 메뉴 항목 스타일 (공통)
========================================= */
.custom-vertical-menu .submenu li a {
  display: block;
  padding: 6px 14px;
  font-size: 14px;
  font-weight:500;
  color: #222;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  border-bottom-color: rgba(0,0,0,0.05);
  -webkit-font-smoothing: subpixel-antialiased;

  transition: background 0.25s ease, padding-left 0.25s ease, border-color 0.25s ease;
}

/* 호버 시 주황색 배경 적용 */
.custom-vertical-menu .submenu li a:hover {
  background: #F16E00; /* 쨍한 주황색 */
  color:  white;
  padding-left: 20px;
}

.custom-vertical-menu .submenu li:last-child a {
  border-bottom-color: transparent;
}


/* =========================================
   4. PC 전용 스타일 및 동작 (1025px 이상)
========================================= */
@media (min-width: 1025px) {

  .custom-vertical-menu .submenu {
    bottom: calc(100% + 4px);
    transform: translateY(-2px) scale(0.96) translateZ(0);
  }
  .custom-vertical-menu .submenu.open {
    transform: translateY(-2px) scale(1) translateZ(0);
  }

  .custom-vertical-menu .submenu li a {
    transition: background 0.25s ease, border-color 0.25s ease;
  }
  .custom-vertical-menu .submenu li a:hover {
    padding-left: 14px !important;
  }

  /* PC 호버 동작 구현 (JS 없이 작동) */
  .custom-vertical-menu .menu-item:hover .submenu {
    max-height: 420px;
    opacity: 1;
    transform: translateY(-2px) scale(1) translateZ(0);
    overflow: hidden !important;
  }
  .custom-vertical-menu .menu-item:hover .menu-toggle::after {
    transform: rotate(-135deg);
  }

}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-7072b0d */.elementor-359 .elementor-element.elementor-element-7072b0d .ks {color:#E86358;}/* End custom CSS */