/**
 * 인제대학교 GOU 오픈캠퍼스 메인 페이지 커스텀 CSS
 * 브랜드 색상: 메인 #006463, 포인트 #94795D
 */

/* 0. 기존 요소 숨기기 */
#content #visual {
    display: none !important;
  }
  
  /* 1. 폰트 선언 */
  /*base-font*/
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-ExtraLight.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-ExtraLight.woff") format("woff");
    font-weight: 300;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-Regular.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-Medium.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-SemiBold.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-SemiBold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-Bold.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-ExtraBold.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-ExtraBold.woff") format("woff");
    font-weight: 800;
    font-style: normal;
  }
  
  @font-face {
    font-family: "Pretendard";
    src:
      url("/fonts/Pretendard/Pretendard-Black.woff2") format("woff2"),
      url("/fonts/Pretendard/Pretendard-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
  }
  
  /* 2. 레이아웃 기본 */
  body {
    font-family:
      "Pretendard",
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif !important;
    overflow-x: hidden;
    color: #333;
    line-height: 1.5;
  }

  /* ============================
     웹 접근성 (KWCAG 2.1 정렬): 본문 바로가기, 키보드 포커스 표시
     ============================ */
  .xn-a11y-skip {
    position: absolute;
    left: -9999px;
    top: 0;
    z-index: 100000;
    padding: 12px 20px;
    background: #006463;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 0 0 8px 0;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  }

  .xn-a11y-skip:focus {
    left: 0;
    outline: 3px solid #fff;
    outline-offset: 2px;
  }

  /* 폼 레이블 제공(KWCAG 3.3.2): 시각적으로 숨기되 스크린 리더·검사기가 인식 */
  .xn-a11y-visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }

  #main-content:focus {
    outline: none;
  }

  #main-content:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 4px;
  }

  #header.xnmain.xninje-gou-oc a:focus-visible,
  #header.xnmain.xninje-gou-oc button:focus-visible,
  .xnmain_cnt_wrap.xninje-gou-oc a:focus-visible,
  .xnmain_cnt_wrap.xninje-gou-oc button:focus-visible,
  #footer.xnmain_footer.xninje-gou-oc a:focus-visible,
  #footer.xnmain_footer.xninje-gou-oc button:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 2px;
  }

  #header.xnmain.xninje-gou-oc .xnmain_hamburger_btn:focus-visible {
    outline-color: #5bbeab;
  }

  #header.xnmain.xninje-gou-oc.header_on .xnmain_hamburger_btn:focus-visible,
  #header.xnmain.xninje-gou-oc.h_line .xnmain_hamburger_btn:focus-visible {
    outline-color: #006463;
  }

  #xn-go-to-lms-modal .xn-go-to-lms-modal-close {
    padding: 0;
    margin: 0;
    border: none;
    background: transparent;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
  }

  #xn-go-to-lms-modal .xn-go-to-lms-modal-close:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
  }

  .xnmain_search_input:focus,
  #header-search.xnmain_search_input:focus {
    outline: none;
  }

  .xnmain_search_input:focus-visible,
  #header-search.xnmain_search_input:focus-visible {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.95);
    border-radius: 4px;
  }

  .xnmain_search_btn:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 2px;
  }

  .xnmain_scroll_top:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
  }

  /* role=button 인 맨 위로 링크: Enter/Space 키보드 조작 */
  a.xnmain_scroll_top[role='button'] {
    cursor: pointer;
  }

  /* 퀵메뉴: 키보드 포커스 시에도 서브메뉴 표시(호버와 동일) */
  .xnmain_quick_item_wrap.has-submenu:focus-within .xnmain_quick_submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  /* 헤더·메인·푸터에 Pretendard 명시 적용 */
  #header.xnmain.xninje-gou-oc,
  #header.xnmain.xninje-gou-oc .xnmain_header_inner,
  #header.xnmain.xninje-gou-oc .xn-header-menu a,
  .xnmain_cnt_wrap.xninje-gou-oc,
  .xnmain_cnt_wrap .xnmain_hero_overlay,
  .xnmain_cnt_wrap .xnmain_feature_section,
  .xnmain_cnt_wrap .xnmain_courses_section,
  #footer.xnmain_footer.xninje-gou-oc,
  #footer.xnmain_footer .xnmain_footer_top,
  #footer.xnmain_footer .xnmain_footer_mid,
  #footer.xnmain_footer .xnmain_footer_bottom {
    font-family:
      "Pretendard",
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
  }
  
  #content {
    padding-top: 0 !important;
    min-width: unset !important;
  }
  
  .xnmain_inner {
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 24px;
    width: 100%;
  }
  
  /* ============================
     3. 헤더
     ============================ */
  #header.xnmain.xninje-gou-oc {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 130px !important;
    min-width: unset !important;
    background: transparent !important;
    z-index: 9999 !important;
    padding: 0 50px !important;
    transition:
      background 0.3s ease,
      color 0.3s ease,
      box-shadow 0.3s ease;
  }
  
  /* 경로가 '/' (메인)일 때만 헤더 fixed */
  #header.xnmain.xninje-gou-oc.header-fixed {
    position: fixed !important;
  }
  
  /* 호버 또는 스크롤 시: 흰 배경, 검정 글씨 */
  #header.xnmain.xninje-gou-oc.header_on,
  #header.xnmain.xninje-gou-oc.h_line {
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header_inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    max-width: 1720px;
    margin: 0 auto;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header_logo {
    margin: 0;
    flex-shrink: 0;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header_logo a {
    display: block;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header_logo img {
    width: auto;
    height: 88px;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header_nav {
    margin: 0;
    flex: 1;
    display: flex;
    justify-content: center;
    padding: 0 24px;
  }
  
  /* 햄버거 버튼: 기본 숨김, 1600px 이하에서만 표시 */
  #header.xnmain.xninje-gou-oc .xnmain_hamburger_btn {
    display: none;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    margin: 0 16px 0 0;
    border: none;
    background: transparent;
    cursor: pointer;
    flex-direction: column;
    gap: 6px;
    flex-shrink: 0;
  }
  #header.xnmain.xninje-gou-oc .xnmain_hamburger_btn .xnmain_hamburger_bar {
    display: block;
    width: 24px;
    height: 2px;
    background: currentColor;
    color: #fff;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  #header.xnmain.xninje-gou-oc.header_on .xnmain_hamburger_btn .xnmain_hamburger_bar,
  #header.xnmain.xninje-gou-oc.h_line .xnmain_hamburger_btn .xnmain_hamburger_bar {
    color: #333;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item {
    position: relative;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a {
    display: inline-block;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 500;
    transition: color 0.2s ease;
    position: relative;
    padding: 8px 0;
    height: unset;
    line-height: unset;
  }
  
  #header.xnmain.xninje-gou-oc.h_line .xn-header-menu > .menu-item > a,
  #header.xnmain.xninje-gou-oc.header_on .xn-header-menu > .menu-item > a {
    color: #333;
    font-weight: 500;
  }
  
  #header .xn-header-menu li:hover,
  #header .xn-header-menu li:hover a,
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item:hover,
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a:hover {
    background-color: transparent !important;
    background: none !important;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a:hover {
    color: rgba(255, 255, 255, 0.85);
  }
  
  #header.xnmain.xninje-gou-oc.h_line .xn-header-menu > .menu-item > a:hover,
  #header.xnmain.xninje-gou-oc.header_on .xn-header-menu > .menu-item > a:hover {
    color: #006463;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #5bbeab;
    transition: width 0.2s ease;
  }
  
  #header.xnmain.xninje-gou-oc.h_line .xn-header-menu > .menu-item > a::after,
  #header.xnmain.xninje-gou-oc.header_on .xn-header-menu > .menu-item > a::after {
    background: #006463;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a:hover::after {
    width: 100%;
  }
  
  /* 헤더 투명(어두운 배경)일 때 언어 선택 이미지·아이콘 보이게 — 반전 */
  #header.xnmain.xninje-gou-oc:not(.header_on):not(.h_line)
    .xn-translate_language-select_box
    .xn-translate_language-image {
    filter: invert(1);
  }
  #header.xnmain.xninje-gou-oc:not(.header_on):not(.h_line)
    .xn-translate_language-narrow-screen.xn-translate_language-icon {
    filter: invert(1);
  }
  
  /* 서브메뉴 드롭다운 - 헤더 전체 너비 */
  #header.xnmain.xninje-gou-oc .xnmain_header-menu-dep2 {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    margin-top: 8px;
    background-color: #006463;
    border-radius: 0 0 8px 8px;
    list-style: none;
    margin: 0;
    padding: 12px 0;
    display: none;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    box-sizing: border-box;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header-menu-dep2 .submenu-item,
  #header.xnmain.xninje-gou-oc .xnmain_header-menu-dep2 .submenu-item a {
    height: unset;
    line-height: unset;
    width: 100%;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header-menu-dep2 .submenu-item a {
    display: block;
    padding: 10px 24px;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s ease;
    white-space: nowrap;
  }
  
  #header.xnmain.xninje-gou-oc .xnmain_header-menu-dep2 .submenu-item:hover a {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1) !important;
  }
  
  /* 헤더 우측 버튼 */
  #header.xnmain.xninje-gou-oc .xnmain_header_right {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
  }
  
  /* 구글 번역 버튼: 기본 테두리·배경 없음, 텍스트 흰색 / header_on 시 흰 배경 검정 텍스트 */
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-container {
    position: relative;
  }
  
  /* #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-common-white-gray-btn.xn-translate_language-narrow-screen, */
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px;
    min-height: 36px;
    width: auto;
    min-width: 0;
    border: none !important;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
  }
  
  /* 버튼 내 언어 이미지(플래그) 숨기고 텍스트로 표시 */
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image {
    display: inline-block;
    width: auto;
    height: auto;
    min-width: 0;
    background: none !important;
    background-size: unset !important;
    padding: 0;
    margin: 0;
    font-weight: 400;
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ko::after {
    content: "한국어";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.en::after {
    content: "English";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ja::after {
    content: "日本語";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.zh-CN::after {
    content: "简体中文";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.zh-TW::after {
    content: "繁體中文";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.es::after {
    content: "Español";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.fr::after {
    content: "Français";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.vi::after {
    content: "Tiếng Việt";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ru::after {
    content: "Русский";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.de::after {
    content: "Deutsch";
  }
  /* 구글 번역 적용 시 클래스 (예: en-translated) */
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ko-translated::after {
    content: "한국어";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.en-translated::after {
    content: "English";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ja-translated::after {
    content: "日本語";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.zh-CN-translated::after {
    content: "简体中文";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.zh-TW-translated::after {
    content: "繁體中文";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.es-translated::after {
    content: "Español";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.fr-translated::after {
    content: "Français";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.vi-translated::after {
    content: "Tiếng Việt";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.ru-translated::after {
    content: "Русский";
  }
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-image.de-translated::after {
    content: "Deutsch";
  }
  
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-text {
    color: #fff;
    font-weight: 400;
  }
  
  /* chevron-down 아이콘 */
  #header.xnmain.xninje-gou-oc
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    > i {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 4px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid currentColor;
    vertical-align: middle;
    font-size: 0;
    line-height: 0;
  }
  
  /* header_on 시: 흰 배경, 검정 텍스트, 테두리 없음 (narrow-screen은 background-color만 해서 아이콘 배경이 보이게) */
  #header.xnmain.xninje-gou-oc.header_on
    .xnmain_header_translate_wrap
    .xn-common-white-gray-btn.xn-translate_language-narrow-screen,
  #header.xnmain.xninje-gou-oc.h_line
    .xnmain_header_translate_wrap
    .xn-common-white-gray-btn.xn-translate_language-narrow-screen {
    background-color: #fff;
    color: #333;
    border: none;
  }
  #header.xnmain.xninje-gou-oc.header_on
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box,
  #header.xnmain.xninje-gou-oc.h_line
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box {
    background: #fff;
    color: #333;
    border: none;
  }
  #header.xnmain.xninje-gou-oc.header_on
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-text,
  #header.xnmain.xninje-gou-oc.h_line
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    .xn-translate_language-text {
    color: #333;
  }
  #header.xnmain.xninje-gou-oc.header_on
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    > i,
  #header.xnmain.xninje-gou-oc.h_line
    .xnmain_header_translate_wrap
    .xn-translate_language-select_box
    > i {
    border-top-color: currentColor;
  }

  .xn-translate_language-select_dropdown {
    left: unset !important;
    top: 100% !important;
    transform: unset !important;
    right: 0 !important;
    margin-top: unset !important;
  }

  /* 헤더 로그인 / 회원가입 버튼 */
  #header.xnmain.xninje-gou-oc .header-btn-login,
  #header.xnmain.xninje-gou-oc .header-btn-join {
    display: flex;
    padding: 8px 15px;
    justify-content: center;
    align-items: center;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
  }
  
  #header.xnmain.xninje-gou-oc .header-btn-login {
    background: #fff;
    color: #333;
  }
  
  #header.xnmain.xninje-gou-oc .header-btn-login:hover {
    background: #f5f5f5;
    color: #333;
  }
  
  /* 회원가입: 배경 #94795D + 흰 글자는 대비 약 4.2:1 → WCAG AA 4.5:1 충족용 진브라운 */
  #header.xnmain.xninje-gou-oc .header-btn-join {
    background: #5c4836;
    color: #fff;
  }
  
  #header.xnmain.xninje-gou-oc .header-btn-join:hover {
    background: #6e5a47;
    color: #fff;
  }
  
  #header.xnmain.xninje-gou-oc.header_on .header-btn-login,
  #header.xnmain.xninje-gou-oc.h_line .header-btn-login {
    background: #006463;
    color: #fff;
  }
  
  #header.xnmain.xninje-gou-oc.header_on .header-btn-login:hover,
  #header.xnmain.xninje-gou-oc.h_line .header-btn-login:hover {
    background: #007a78;
    color: #fff;
  }
  
  /* 계정 메뉴 v2 스타일 */
  #header.xnmain.xninje-gou-oc .btn-dropdown-user-menu {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 40px;
    background: transparent;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
  }
  
  #header.xnmain.xninje-gou-oc.h_line .btn-dropdown-user-menu,
  #header.xnmain.xninje-gou-oc.header_on .btn-dropdown-user-menu {
    border-color: #333;
    background: #fff;
    color: #333;
  }
  
  #header.xnmain.xninje-gou-oc
    .btn-dropdown-user-menu
    .xn-header-member-btn-text {
    max-width: 100px;
    vertical-align: top;
  }
  
  #header.xnmain.xninje-gou-oc .xn-header-member-btn-group {
    position: relative;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-dropdown {
    position: absolute;
    top: calc(100% + 0.5rem);
    right: 0;
    left: auto;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    min-width: 240px;
    max-width: 300px;
    opacity: 0;
    visibility: hidden;
    transition:
      opacity 0.3s ease,
      visibility 0.3s ease;
    z-index: 1000;
    padding: 0;
    overflow: hidden;
    display: block;
  }
  
  #header.xnmain.xninje-gou-oc
    .xn-header-member-btn-group.show
    .xn-v2-user-dropdown,
  #header.xnmain.xninje-gou-oc
    .xn-header-member-btn-group.active
    .xn-v2-user-dropdown,
  #header.xnmain.xninje-gou-oc .xn-v2-user-dropdown.show {
    opacity: 1;
    visibility: visible;
    display: block !important;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-info {
    padding: 1rem;
    background: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-name {
    font-size: 1.2rem;
    font-weight: 600;
    color: #212529;
    margin-bottom: 0.5rem;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-id {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 0.75rem;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-login-info {
    padding-top: 0.75rem;
    border-top: 1px solid #e9ecef;
    margin-top: 0.75rem;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-user-login-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.875rem;
    margin-bottom: 0.5rem;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-dropdown-group {
    padding: 0.25rem 0;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-dropdown-group:not(:last-child) {
    border-bottom: 1px solid #e9ecef;
    margin-bottom: 0.125rem;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-dropdown-group-title {
    padding: 0.125rem 0.75rem;
    padding-left: 1rem;
    font-size: 12px;
    font-weight: bold;
    color: #6c757d;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-dropdown-item {
    display: flex;
    align-items: center;
    padding: 0.5rem 0.75rem;
    margin: 0 0.375rem;
    text-decoration: none;
    color: #212529;
    transition: all 0.2s ease;
    border: none;
    background: none;
    width: calc(100% - 0.75rem);
    text-align: left;
    cursor: pointer;
    font-size: 14px;
    line-height: 1.5;
    border-radius: 8px;
    font-family: inherit;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
  }

  #header.xnmain.xninje-gou-oc button.xn-v2-dropdown-item:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 1px;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-dropdown-item-icon {
    width: 20px;
    height: 20px;
    margin-right: 0.75rem;
    flex-shrink: 0;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-icon-admin-page {
    background-image: url("/customs/main/xn-v2-icon-admin-page.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-course-dashboard {
    background-image: url("/customs/main/xn-v2-icon-course-dashboard.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-mypage {
    background-image: url("/customs/main/xn-v2-icon-mypage.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-go-to-lms {
    background-image: url("/customs/main/xn-v2-icon-go-to-lms.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-mypage-dashboard {
    background-image: url("/customs/main/xn-v2-icon-mypage-dashboard.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-myinformation {
    background-image: url("/customs/main/xn-v2-icon-myinformation.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-re-authentication {
    background-image: url("/customs/main/xn-v2-dropdown-item-icon.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-edit-password {
    background-image: url("/customs/main/xn-v2-icon-edit-password.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-mac-address {
    background-image: url("/customs/main/xn-v2-dropdown-item-icon.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-language {
    background-image: url("/customs/main/xn-v2-icon-canvas-language-settings.svg");
  }
  #header.xnmain.xninje-gou-oc .xn-v2-icon-logout {
    background-image: url("/customs/main/xn-v2-icon-logout.svg");
  }
  
  #header.xnmain.xninje-gou-oc
    .xn-v2-dropdown-item:hover:not(.xn-v2-logout-item) {
    background-color: #f8f9fa;
  }
  
  #header.xnmain.xninje-gou-oc
    .xn-v2-dropdown-item:hover:not(.xn-v2-logout-item)
    .xn-v2-dropdown-item-text {
    color: #006463;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-logout-group {
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-logout-item {
    padding: 0;
    margin: 0 0.375rem;
    margin-bottom: 0;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-logout-button {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.5rem 0.75rem;
    border: none;
    background: none;
    color: #212529;
    cursor: pointer;
    font-size: 14px;
    transition: all 0.2s ease;
    font-family: inherit;
    margin: 0;
    border-radius: 8px;
  }
  
  #header.xnmain.xninje-gou-oc .xn-v2-logout-item:hover .xn-v2-logout-button,
  #header.xnmain.xninje-gou-oc .xn-v2-logout-button:hover {
    background-color: #fff5f5;
    color: #dc3545;
  }
  
  /* ============================
     4. 메인 콘텐츠
     ============================ */
  .xnmain_cnt_wrap.xninje-gou-oc {
    position: relative;
  }
  
  /* 히어로 섹션 */
  .xnmain_hero_section {
    position: relative;
    min-height: 100vh;
    background: #1a1d29;
  }
  
  /* 슬라이더 */
  .xnmain_slider_wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 0;
  }
  
  .xnmain_slider_wrap .widget.xnmain_main_slider {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
  }
  
  .xnmain_slider_wrap .xnmain_main_slider .xn-widget-container,
  .xnmain_main_slider .xn-widget-container {
    padding: 0 !important;
    background: transparent !important;
    margin: 0 !important;
  }
  
  .xnmain_main_slider .xn-widget-slider-container {
    width: 100% !important;
    height: 100vh;
    overflow: hidden !important;
  }
  
  .xnmain_cnt_wrap.xninje-gou-oc .xnmain_hero_section .xnmain_main_slider .xn-widget-slider-container .xnws-img {
    background-position: center center;
  }
  
  .xnmain_main_slider .carousel-item,
  .xnmain_main_slider .carousel-item img {
    width: 100% !important;
    height: 100vh !important;
    object-fit: cover !important;
    object-position: center center;
  }
  
  /* slide-wrap: 슬라이더 왼쪽 영역, 상단에서 약 35~40%, 좌측 10% */
  .xnmain_main_slider .carousel-caption,
  .xnmain_main_slider .xnws-caption {
    left: 10%;
    right: auto;
    bottom: auto;
    top: 38%;
    transform: translateY(-50%);
    width: auto;
    max-width: 48%;
    padding: 0;
    text-align: left;
  }
  
  .xnmain_main_slider .slide-wrap {
    text-align: left;
  }
  
  .xnmain_main_slider .slide-wrap h1 {
    font-size: 64px;
    font-style: normal;
    font-weight: 300;
    line-height: 120%;
    color: #fff;
    margin-bottom: 0.5em;
  }
  
  .xnmain_main_slider .slide-wrap p {
    color: #fff;
    font-size: 20px;
    margin-bottom: 0;
    line-height: 1.6;
  }
  
  .xnmain_main_slider .slide-wrap span {
    font-weight: bold;
  }
  
  .cyan-mark {
    color: #5fd9d8;
  }
  
  .yellow {
    color: #ffe4ca;
  }
  
  /* carousel-indicators: slide-wrap 아래, 같은 좌측 정렬, 부제목 아래 1.5~2em 간격 */
  .xnmain_main_slider .carousel-indicators {
    z-index: 15;
    pointer-events: auto;
    left: 10%;
    right: auto;
    bottom: 44%;
    width: auto;
    margin: 0;
    padding: 0;
    justify-content: flex-start;
    gap: 30px;
  }
  
  .xnmain_main_slider .carousel-indicators li {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none;
    background-color: rgba(255, 255, 255, 0.6);
    margin: 0;
    box-sizing: border-box;
  }
  
  .xnmain_main_slider .carousel-indicators li.active {
    border: 3px solid #f4e6d9;
    background-color: transparent;
  }
  
  /* 슬라이드 컨트롤 */
  .xnmain_main_slider .carousel-control-prev,
  .xnmain_main_slider .carousel-control-next {
    z-index: 15;
    pointer-events: auto;
    width: 10%;
  }
  
  /* 스크롤 인디케이터: SCROLL DOWN · 점 · 세로선(겹쳐진 흰 선) */
  .xnmain_scroll_indicator {
    position: absolute;
    bottom: 0;
    right: 50px;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  
  .xnmain_scroll_indicator_text {
    display: block;
    color: #6d6d6d;
    font-size: 12px;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -0.24px;
    text-transform: uppercase;
    transform: rotate(90deg);
    transform-origin: center center;
    /* 회전 시 글씨가 점/선과 겹치지 않도록 여백 확보 */
    margin-bottom: 40px;
  }
  
  .xnmain_scroll_indicator_dot {
    display: block;
    width: 5px;
    height: 5px;
    aspect-ratio: 1 / 1;
    background-color: #6d6d6d;
    border-radius: 5px;
  }
  
  .xnmain_scroll_indicator_line {
    position: relative;
    width: 1px;
    height: 72px;
    background-color: #5d5d5d;
    overflow: hidden;
  }
  
  .xnmain_scroll_indicator_line_thumb {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 24px;
    background-color: #fff;
    animation: xnmain_scroll_thumb 2s ease-in-out infinite;
  }
  
  @keyframes xnmain_scroll_thumb {
    0%,
    100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(48px);
    }
  }
  
  /* 히어로 오버레이 */
  .xnmain_hero_overlay {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5;
    width: 100%;
    height: 100vh;
    pointer-events: none;
  }
  
  .xnmain_hero_overlay > * {
    pointer-events: auto;
  }
  
  /* 로그인 박스 */
  .xnmain_login_box {
    background: #006463;
    border-radius: 12px;
    padding: 0;
    width: 280px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    position: absolute;
    right: 12%;
    top: calc(50% - 100px);
    transform: translateY(-50%);
  }
  
  .xnmain_login_title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    padding: 16px 20px;
    margin: 0;
    border-bottom: none;
    cursor: pointer;
  }
  
  .xnmain_login_title::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
    margin-top: -4px;
  }
  
  .xnmain_login_items {
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #004847;
    padding: 16px;
  }
  
  a.xnmain_login_item,
  button.xnmain_login_item {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 12px 16px;
    background: transparent;
    border-radius: 8px;
    text-decoration: none;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.2s ease;
  }

  button.xnmain_login_item {
    width: 100%;
    text-align: left;
    font-family: inherit;
    line-height: inherit;
    cursor: pointer;
    border: none;
    appearance: none;
    -webkit-appearance: none;
  }

  .xnmain_login_item:hover,
  .xnmain_login_item:focus-visible {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-decoration: none;
  }
  
  .xnmain_login_item img {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
    background: #fff;
    border-radius: 50%;
    padding: 6px;
    object-fit: contain;
  }
  
  /* 쿡메뉴 + 검색 박스 (이미지 디자인) */
  .xnmain_quick_search_box {
    width: 100%;
    max-width: 1440px;
    bottom: 5%;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    border-radius: 16px;
    overflow: visible; /* 서브메뉴가 위로 펼쳐질 수 있도록 */
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
  }
  
  /* 쿡메뉴: 흰색 영역, 플렉스(메뉴 갯수 가변) */
  .xnmain_quick_menu {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    padding: 0;
    background: transparent;
  }
  
  .xnmain_quick_menu .xnmain_quick_item_wrap {
    flex: 1 1 0;
    min-width: 140px;
    background: #fff;
  }
  
  .xnmain_quick_menu .xnmain_quick_item_wrap:first-child {
    border-top-left-radius: 20px;
  }
  
  .xnmain_quick_menu .xnmain_quick_item_wrap:last-child {
    border-top-right-radius: 20px;
  }
  
  .xnmain_quick_item {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 20px;
    text-decoration: none;
    color: #333;
    font-size: 20px;
    font-weight: 700;
    transition: color 0.2s ease;
  }
  
  .xnmain_quick_item:first-child {
    padding-left: 40px;
  }
  
  /* 흰 배경 위 링크/포커스 색: #00796b 대비 약 3.9:1 → 브랜드 진청록 #006463 (4.5:1 이상, KWCAG 1.4.3) */
  .xnmain_quick_item:hover,
  .xnmain_quick_item:focus-visible {
    color: #006463;
    text-decoration: none;
  }
  
  /* 아이콘: 연한 청록 둥근 사각형 + 진한 청록 아이콘 */
  .xnmain_quick_item_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    padding: 12px;
    flex-shrink: 0;
    background: #e0f7f4;
    border-radius: 10px;
    box-sizing: border-box;
  }
  
  .xnmain_quick_item_icon img {
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: none;
  }
  
  .xnmain_quick_item_text {
    flex: 1;
    min-width: 0;
  }
  
  .xnmain_quick_item_chevron {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  
  .xnmain_quick_item_chevron img {
    width: 20px;
    height: 20px;
    object-fit: contain;
    transform: rotate(-90deg);
    filter: brightness(0.5);
  }
  
  /* 퀵 메뉴 1뎁스 호버 시 서브메뉴: 위로 펼쳐지면서 표시 */
  .xnmain_quick_item_wrap {
    position: relative;
  }
  
  .xnmain_quick_submenu {
    position: absolute;
    bottom: 100%;
    left: 0;
    margin-bottom: 6px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0;
    padding: 12px 16px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.12);
    min-width: 180px;
    z-index: 10;
    /* 위로 펼쳐지는 애니메이션: 아래에서 위로 올라오며 나타남 */
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition:
      opacity 0.25s ease,
      visibility 0.25s ease,
      transform 0.25s ease;
  }
  
  .xnmain_quick_item_wrap.has-submenu:hover .xnmain_quick_submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  
  .xnmain_quick_submenu a {
    color: #333;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
  }
  
  .xnmain_quick_submenu a:not(:last-child)::after {
    content: "·";
    margin-left: 8px;
    margin-right: 8px;
    color: #bbb;
    font-weight: 400;
  }
  
  .xnmain_quick_submenu a:hover,
  .xnmain_quick_submenu a:focus-visible {
    color: #006463;
    text-decoration: none;
  }
  
  /* 검색: 히어로 하단 스트립 — 배경을 진하게 해 흰 입력/placeholder 대비 AA 충족 */
  .xnmain_search_wrap {
    padding: 14px 20px 18px;
    background: #5c4836;
    border-radius: 0 0 16px 16px;
  }
  
  .xnmain_search_form {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin-bottom: 0;
  }
  
  .xnmain_search_input_wrap {
    flex: 1;
    display: flex;
    align-items: center;
    background: transparent;
    padding: 0 12px 0 0;
    height: 50px;
    min-width: 0;
  }
  
  .xnmain_search_icon {
    width: 30px;
    height: 30px;
    margin-right: 12px;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
  }
  
  /* outline 제거 시 :focus-visible로 링 제공(2.1.2) — 상단 .xnmain_search_input:focus-visible 참고 */
  .xnmain_search_input,
  #header-search.xnmain_search_input {
    flex: 1;
    border: none;
    font-size: 22px;
    outline: none;
    background: transparent;
    color: #fff;
    min-width: 0;
  }
  
  .xnmain_search_input::placeholder,
  #header-search.xnmain_search_input::placeholder {
    color: #f0f0f0;
    opacity: 1;
  }
  
  .xnmain_search_btn {
    width: 124px;
    height: 50px;
    background: #fff;
    color: #333;
    font-size: 20px;
    font-weight: 700;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition:
      background 0.2s ease,
      color 0.2s ease;
    flex-shrink: 0;
  }
  
  .xnmain_search_btn:hover,
  .xnmain_search_btn:focus-visible {
    background: #f5f5f5;
    color: #006463;
  }
  
  /* ============================
     5. Feature 섹션 (All-City campus) - Figma SVG 스펙 적용
     viewBox 1440x774, 색상/아이콘 크기 추출
     ============================ */
  .xnmain_feature_section {
    padding: 80px 0 100px;
    background: #fff;
  }
  
  .xnmain_feature_title {
    text-align: center;
    margin-bottom: 48px;
  }
  
  /* 서브타이틀: 도시와 대학이 함께 만드는 초연결 교육·연구 플랫폼 */
  .xnmain_feature_subtitle {
    color: #0e172a;
    text-align: center;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1px;
    margin: 0 0 12px;
  }
  
  /* 메인 타이틀: All-City campus */
  .xnmain_feature_accent {
    color: #006463;
    text-align: center;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 50px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1px;
    margin: 0 0 20px;
  }
  
  /* accent_allcity는 .xnmain_feature_accent(#006463) 상속 */
  .xnmain_feature_accent_campus {
    color: #0e172a;
  }
  
  /* 세로선 + 중앙 점 — SVG fill #C2C2C2 */
  .xnmain_feature_connector {
    position: relative;
    display: flex;
    justify-content: center;
    margin-top: 16px;
    width: 1px;
    height: 78px; /* 72px 선 + 6px 점 */
    margin-left: auto;
    margin-right: auto;
  }
  
  .xnmain_feature_connector_line {
    position: absolute;
    left: 0;
    top: 0;
    width: 1px;
    height: 72px;
    background: #c2c2c2;
    border-radius: 1px;
  }
  
  /* 선(72px) 바로 아래에 점 */
  .xnmain_feature_connector_dot {
    position: absolute;
    left: 50%;
    top: 72px; /* 선 끝에 맞춤 */
    transform: translate(-50%, 0);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #c2c2c2;
    z-index: 1;
  }
  
  .xnmain_feature_cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0;
  }
  
  .xnmain_feature_card {
    background: #fff;
    border-radius: 12px;
    padding: 30px 24px;
    text-align: center;
    transition:
      transform 0.2s ease,
      box-shadow 0.2s ease;
  }
  
  .xnmain_feature_card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06);
  }
  
  /* 아이콘 원 80x80, rx=35 — SVG rect 스펙 */
  .xnmain_feature_icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 20px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .xnmain_feature_icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
  }
  
  /* Figma SVG 아이콘 배경색 (rect fill) */
  .xnmain_feature_icon--blue {
    background: #dce6ff;
  }
  .xnmain_feature_icon--orange {
    background: #fae7dc;
  }
  .xnmain_feature_icon--green {
    background: #dcf5ef;
  }
  .xnmain_feature_icon--yellow {
    background: #f6e4d2;
  }
  
  /* 카드 제목 */
  .xnmain_feature_card h3 {
    color: #0e172a;
    text-align: center;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -1px;
    margin-bottom: 12px;
  }
  
  /* 카드 본문 */
  .xnmain_feature_card p {
    color: #657080;
    text-align: center;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: -1.5px;
    word-break: keep-all;
    margin: 0;
  }
  
  /* ============================
     6. 강좌 섹션
     ============================ */
  .xnmain_courses_section {
    padding: 60px 0 80px;
    background: #fff;
  }
  
  .xnmain_courses_section.xnmain_courses_alt {
    background: #f5f6f8;
  }
  
  /* 슬라이드 아래 섹션 중 2n번째만 배경 #F9F9F9 */
  .xnmain_cnt_wrap.xninje-gou-oc section.xnmain_courses_section:nth-of-type(2n) {
    background: #f9f9f9 !important;
  }
  
  .xnmain_courses_section .xn-widget-container {
    padding: 0 !important;
    background: transparent !important;
  }
  
  /* ============================
     강좌 위젯 오버라이드 (구체적 선택자)
     ============================ */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container {
    width: 100% !important;
    max-width: 1440px !important;
  }
  /* 1. 타이틀 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-title-wrap,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-title-wrap {
    margin-bottom: 35px;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-title-wrap
    .xncw-title,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnlw-title-wrap
    .xnlw-title,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-title-wrap
    .xnbw-title {
    text-align: left !important;
    font-size: 36px !important;
    line-height: 140% !important;
    font-weight: 700 !important;
  }
  
  /* 2. 서브 타이틀 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-title-wrap
    .xncw-sub-title,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnlw-title-wrap
    .xnlw-sub-title,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-title-wrap
    .xnbw-sub-title {
    text-align: left !important;
    font-size: 16px !important;
    line-height: 140% !important;
    font-weight: 500 !important;
  }
  
  /* 3. 더보기 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more
    i {
    display: none !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:hover
    i {
    color: #fff !important;
  }
  /* 더보기 버튼 :after (강좌·공지 공통) */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:after,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:after {
    content: "" !important;
    width: 38px !important;
    height: 38px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 38px !important;
    background-color: #e7e7e7 !important;
    background-image: url("/customs/main/xninje-gou-oc_open_icon.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;
  }
  
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more
    .xncw-more-text {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #464646 !important;
  }
  
  /* 더보기 버튼 hover (강좌) */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:hover
    .xncw-more-text {
    color: #006463 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:hover:after,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:focus-visible:after {
    background-color: #006463 !important;
    background-image: url("/customs/main/xninje-gou-oc_open_icon_white.svg") !important;
    background-size: 20px 20px !important;
  }

  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:focus-visible
    .xncw-more-text {
    color: #006463 !important;
  }

  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xncw-top-container
    .xncw-more:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 4px;
    border-radius: 4px;
  }
  
  /* 3-2. 공지사항 위젯 더보기 (강좌 위젯과 동일 스타일) */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #464646 !important;
    cursor: pointer !important;
  }
  
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab
    .xnbw-more-tab-plus-icon {
    display: none !important;
  }
  
  /* 더보기 버튼 hover (공지사항) */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:hover,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:focus-visible {
    color: #006463 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:hover:after,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:focus-visible:after {
    background-color: #006463 !important;
    background-image: url("/customs/main/xninje-gou-oc_open_icon_white.svg") !important;
    background-size: 20px 20px !important;
  }

  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xnbw-top-container
    .xnbw-more-tab:focus-visible {
    outline: 3px solid #006463;
    outline-offset: 4px;
    border-radius: 4px;
  }
  
  /* 3-3. 공지사항 위젯 (board_v2) – 2번 이미지 스타일, 탭 유지·카드 호버 강조 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2 {
    padding: 0 !important;
    max-width: 1440px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-wrap {
    margin: 0 0 28px 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-tab-wrap {
    height: auto !important;
    border-bottom: 1px solid #e0e0e0 !important;
    display: flex !important;
    align-items: center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    gap: 0 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-all-tab,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-tab {
    display: inline-block !important;
    padding: 12px 20px !important;
    font-size: 15px !important;
    line-height: 140% !important;
    color: #757575 !important;
    cursor: pointer !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -1px !important;
    border-radius: 0 !important;
    background: none !important;
    transition:
      color 0.2s,
      border-color 0.2s,
      background 0.2s !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-all-tab:hover,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-tab:hover,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-all-tab:focus-visible,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-tab:focus-visible {
    color: #006463 !important;
    background: rgba(0, 100, 99, 0.04) !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-all-tab.selected,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-category-tab.selected {
    border-bottom-color: #006463 !important;
    font-weight: 700 !important;
    color: #006463 !important;
    background: transparent !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-items-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-items-container
    .xnbw-item-container {
    width: calc((100% - 60px) / 4) !important;
    min-width: 0 !important;
    margin: 0 !important;
    height: auto !important;
  }
  /* 카드 기본: 밝고 단정한 스타일 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-board-post-list {
    display: flex !important;
    padding: 20px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 15px !important;
    flex: 1 0 0 !important;
    border-radius: 12px !important;
    background: #fff !important;
    border: 1px solid #fff !important;
    text-decoration: none !important;
    color: inherit !important;
    transition:
      border-color 0.2s,
      box-shadow 0.2s,
      background-color 0.2s !important;
  }
  /* 카드 호버: 2번 카드 스타일 – 틸 강조·그림자 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-board-post-list:hover {
    border-radius: 12px !important;
    border: 1px solid #006463 !important;
    background: #fff !important;
    box-shadow: 0 4px 17.4px 0 rgba(0, 0, 0, 0.14) !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-post-list-title {
    height: 45px !important;
    align-self: stretch !important;
    margin-bottom: 15px !important;
    color: #222 !important;
    font-family: Pretendard, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 140% !important;
    letter-spacing: -0.2px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-post-list-created {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: #555 !important;
    font-family: Pretendard, sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 100% !important;
    letter-spacing: -0.14px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-post-list-created::before {
    content: "" !important;
    display: inline-block !important;
    width: 18px !important;
    height: 18px !important;
    aspect-ratio: 1 / 1 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 6v6l4 2'/%3E%3C/svg%3E") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    flex-shrink: 0 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container.board_v2
    .xnbw-post-list-category {
    display: flex !important;
    padding: 5px 10px !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    border-radius: 5px !important;
    background: #006463 !important;
    color: #fff !important;
    font-family: Pretendard, sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 100% !important;
    letter-spacing: -0.14px !important;
    margin-bottom: 8px !important;
  }
  
  /* 4. 강좌 카드 컨테이너·버튼 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-items-container {
    position: relative !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-items-container
    .xnbw-item-container-wrap.course-wrap {
    width: 100% !important;
    max-width: 1440px !important;
    gap: 20px !important;
    display: flex !important;
    position: relative !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-items-container
    .xnbw-items-btn-wrap {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-items-container
    .xnbw-items-btn-wrap:first-of-type {
    left: -40px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-items-container
    .xnbw-items-btn-wrap:last-of-type {
    right: -40px !important;
  }
  
  /* 강좌 카드 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-item-container-wrap.course-wrap
    .xnbw-item-container {
    margin: 0 !important;
    width: calc((100% - 90px) / 4);
    min-width: 0 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xnbw-item-container-wrap
    .xnbw-item-container
    .xncwi-container {
    width: 100% !important;
    border-radius: 20px !important;
    border: 1px solid rgba(221, 221, 221, 0.88) !important;
    overflow: hidden !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-background {
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-container
    .xncwi-label-wrapper {
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-container
    .xncwi-info-container {
    height: auto !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-status-label {
    background-color: #00387a !important;
    color: #fff !important;
    padding: 5px 10px !important;
    top: 10px !important;
    left: 10px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    line-height: 136% !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-payment-label {
    background-color: #9c7d5f !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 136% !important;
    padding: 5px 10px !important;
    top: 10px !important;
    right: 10px !important;
    border-radius: 20px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-label-wrapper
    > [class*="-label"]:not(.xncwi-status-label):not(.xncwi-payment-label) {
    padding: 5px 10px !important;
    border-radius: 20px !important;
    font-size: 14px !important;
    line-height: 136% !important;
    color: #fff !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-catalog-info-container {
    height: auto !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    background-color: #fff !important;
    padding-top: 20px !important;
    padding-bottom: 10px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-catalog-info-container
    .xncwi-catalog-wrap
    .xncwi-catalog-title,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-catalog-info-container
    .xncwi-catalog-title {
    color: #515151 !important;
    font-size: 14px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-icon {
    width: 14px !important;
    height: 14px !important;
    background-image: url("/customs/main/xninje-gou-oc_certificate_icon.svg") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
  }
  /* 이수증 제공: 텍스트·아이콘 가로 배치 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-wrap {
    top: 14px !important;
    right: 12px !important;
    width: auto !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 6px 8px !important;
    border-radius: 6px !important;
    background-color: #faf2ec !important;
    border: 1px solid #d7ccc2 !important;
  }
  /* 이수증 미제공 시 테두리·배경 숨김 (비어 있을 때) */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-wrap:empty {
    display: none !important;
  }
  /* 이수증 미제공: 제목이 없거나 비어 있을 때 테두리·배경 제거 */
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-wrap:not(:has(.xncwi-certificate-title)),
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-wrap:has(.xncwi-certificate-title:empty) {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-certificate-wrap
    .xncwi-certificate-title {
    color: #61472c !important;
    font-size: 13px !important;
    line-height: 120% !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-info-container
    .xncwi-catagory-title {
    color: #006463 !important;
    font-size: 16px !important;
    line-height: normal !important;
    height: 20px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-info-container
    .xncwi-title {
    color: #000 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 130% !important;
    height: 52px !important;
    min-height: 0 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-info-container
    .xncwi-author {
    color: #4a4a4a !important;
    font-size: 15px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-recruitment-wrap {
    display: none !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-studydate-wrap {
    padding: 10px !important;
    background-color: #f6f6f8 !important;
    border-radius: 12px !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-studydate-wrap
    .xncwi-status,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-recruitment-wrap
    .xncwi-status {
    font-size: 15px !important;
    color: #333 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-studydate-wrap
    .xncwi-date,
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-recruitment-wrap
    .xncwi-date {
    font-size: 15px !important;
    color: #333 !important;
  }
  .xnmain_cnt_wrap.xninje-gou-oc
    .xnmain_courses_section
    .xnmain_inner
    .widget.xnmain-widget-lecture
    .xn-widget-container
    .xncwi-container
    .xncwi-info-footer {
    display: none !important;
  }
  
  /* 위젯 마지막 항목 구분선 제거 */
  .xnmain-widget-lecture.no_line {
    border-bottom: none;
  }
  
  /* ============================
     7. 푸터 (1행 로고 / 2행 연락처+SNS / 3행 카피라이트 | 링크)
     ============================ */
  #footer.xnmain_footer.xninje-gou-oc {
    background-color: #292f32 !important;
    padding: 60px 0 !important;
    min-width: unset !important;
    border-top: 1px solid #4e4e4e !important;
    color: #efefef;
  }
  
  /* 1행: 로고만 */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_top {
    padding-bottom: 0 !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_logo img {
    height: 88px;
    width: auto;
    display: block;
    margin-bottom: 30px;
  }
  
  /* 2행: 연락처 + SNS */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_mid {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: wrap;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact {
    color: #d2d2d2;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    text-align: left !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact a {
    color: #d2d2d2 !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact span {
    color: #fff;
    font-family:
      Pretendard,
      -apple-system,
      BlinkMacSystemFont,
      "Malgun Gothic",
      sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
  }
  
  /* 푸터 구분선: #4E4E4E */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_divider {
    height: 1px !important;
    width: 100% !important;
    background: #4e4e4e !important;
    margin: 20px 0 !important;
    flex-shrink: 0;
  }
  
  /* 2행: 카피라이트 | 개인정보·이메일·패밀리사이트 */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_bottom {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 24px;
    flex-wrap: wrap;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_copy {
    font-size: 14px !important;
    color: #d0d0d0 !important;
    text-align: left !important;
  }
  
  /* SNS 아이콘: 50px 원형, rgba(18,18,18,0.4) */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_sns {
    display: flex !important;
    gap: 12px !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_sns a {
    width: 45px !important;
    height: 45px !important;
    border-radius: 50% !important;
    background: rgba(18, 18, 18, 0.4) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background 0.2s ease;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_sns a:hover {
    background: #006463 !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_sns img {
    width: 45px !important;
    height: 45px !important;
    filter: brightness(0) invert(1) !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_links {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 14px !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_link {
    color: #efefef !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
  }
  
  /* 개인정보취급방침: 진한 푸터 배경(#292f32) 위 골드 #94795D는 대비 부족 → 밝은 톤으로 AA 충족 */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_link_accent {
    color: #e8dcc8 !important;
    font-weight: 700 !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_link:hover,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_link_accent:hover {
    color: #fff !important;
    text-decoration: none !important;
  }
  
  /* 패밀리사이트 드롭다운 */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropup {
    position: relative;
    display: inline-block;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_btn {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 15px 0 15px 20px !important;
    background: none !important;
    border: none !important;
    color: #efefef !important;
    font: inherit !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: color 0.2s ease;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_btn:hover,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_btn:focus-visible {
    color: #fff !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_icon svg {
    width: 14px;
    height: 14px;
    color: inherit;
  }
  
  /* 패밀리사이트 드롭다운: 버튼 바로 위 고정 위치 (애니 없이 display만 전환) */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown {
    position: absolute !important;
    bottom: 100% !important;
    right: 0 !important;
    left: auto !important;
    top: auto !important;
    margin-bottom: 8px !important;
    display: none !important;
    background: #006463 !important;
    border: none;
    border-radius: 8px;
    padding: 10px 0 !important;
    width: max-content !important;
    min-width: 0 !important;
    max-width: 90vw;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.25);
    z-index: 101;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown.is-open {
    display: block !important;
  }
  
  /* 패밀리사이트 드롭다운 내부 리스트 (ul.footer_link) – 세로 정렬, 넓이는 li 감싸는 정도 */
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown .footer_link,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    display: block !important;
    width: auto !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown .footer_link li,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown ul li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: none !important;
    list-style: none !important;
    display: block !important;
  }
  
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown .dropdown-item,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown .footer_link a,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown ul li a,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown a {
    color: rgba(255, 255, 255, 0.95) !important;
    font-size: 14px !important;
    padding: 10px 16px !important;
    text-decoration: none !important;
    display: block !important;
    transition: background 0.2s ease;
    white-space: nowrap;
  }
  
  #footer.xnmain_footer.xninje-gou-oc
    .xnmain_footer_dropdown
    .dropdown-item:hover,
  #footer.xnmain_footer.xninje-gou-oc
    .xnmain_footer_dropdown
    .footer_link
    a:hover,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown ul li a:hover,
  #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_dropdown a:hover {
    background: rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
  }
  
  /* ============================
     8. 스크롤 탑 버튼
     ============================ */
  .xnmain_scroll_top {
    position: fixed;
    bottom: 32px;
    right: 32px;
    z-index: 9998;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #006463;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    text-decoration: none;
  }
  
  .xnmain_scroll_top.show {
    opacity: 1;
    visibility: visible;
  }
  
  .xnmain_scroll_top:hover,
  .xnmain_scroll_top:focus-visible {
    background: #007a78;
    text-decoration: none;
  }
  
  .xnmain_scroll_top img {
    width: 24px;
    height: 24px;
  }
  
  /* ============================
     9. 반응형
     ============================ */
  @media (max-width: 1800px) {
    #header.xnmain.xninje-gou-oc .xn-header-menu {
      gap: 16px;
    }
  
    #header.xnmain.xninje-gou-oc .xnmain_header_logo img {
      height: 56px;
    }
  }
  
  @media (max-width: 1600px) {
    /* nav 숨기고 햄버거 메뉴 표시 */
    #header.xnmain.xninje-gou-oc .xnmain_header_nav {
      display: none !important;
    }
    #header.xnmain.xninje-gou-oc .xnmain_hamburger_btn {
      display: flex;
    }
  
    /* 햄버거 메뉴 열림: nav를 전체 화면 오버레이로 표시 (헤더 아래부터) */
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav {
      display: flex !important;
      position: fixed;
      top: 100px;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 10001;
      background: #1a1d29;
      padding: 24px 24px 40px;
      margin: 0;
      flex-direction: column;
      justify-content: flex-start;
      align-items: stretch;
      overflow-y: auto;
      width: 40%;
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav .xn-header-menu {
      flex-direction: column;
      gap: 0;
      padding: 0;
      align-items: stretch;
      height: auto;
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav .xn-header-menu > .menu-item {
      width: 100%;
      border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav .xn-header-menu > .menu-item > a {
      display: block;
      width: 100%;
      padding: 16px 0;
      color: #fff;
      font-size: 18px;
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav .xnmain_header-menu-dep2 {
      position: static;
      transform: none;
      margin-top: 0;
      margin-bottom: 8px;
      padding: 0 0 0 16px;
      box-shadow: none;
      background: transparent;
      display: block;
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav .xnmain_header-menu-dep2 .submenu-item a {
      color: rgba(255, 255, 255, 0.85);
      font-size: 15px;
      padding: 10px 0;
    }
    /* 햄버거 아이콘 → X */
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_hamburger_btn .xnmain_hamburger_bar:nth-child(1) {
      transform: translateY(8px) rotate(45deg);
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_hamburger_btn .xnmain_hamburger_bar:nth-child(2) {
      opacity: 0;
    }
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_hamburger_btn .xnmain_hamburger_bar:nth-child(3) {
      transform: translateY(-8px) rotate(-45deg);
    }
    body.xnmain_nav_open {
      overflow: hidden;
    }
  
    .xnmain_login_box {
      right: 4%;
      top: 45%;
    }
  
    .xnmain_quick_search_box {
      bottom: 2%;
    }
  
    .xnmain_scroll_indicator {
      right: 0;
    }
  }
  
  @media (max-width: 1440px) {
    .xnmain_feature_cards {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  
  @media (max-width: 1280px) {
    /* 헤더: 언어 번역·계정메뉴 아이콘 버튼으로 표시 */
    #header.xnmain.xninje-gou-oc {
      height: 100px !important;
      padding: 0 24px !important;
    }
  
    #header.xnmain.xninje-gou-oc .xn-header-menu {
      gap: 24px;
    }
  
    #header.xnmain.xninje-gou-oc .xn-header-menu > .menu-item > a {
      font-size: 14px;
    }
  
    /* 계정메뉴: 텍스트 숨기고 아이콘 버튼만 표시 */
    #header.xnmain.xninje-gou-oc
      .btn-dropdown-user-menu
      .xn-header-member-btn-text {
      display: none !important;
    }
    #header.xnmain.xninje-gou-oc .btn-dropdown-user-menu {
      min-width: 40px;
      padding: 8px 12px;
      justify-content: center;
    }
  
    /* 계정 버튼 아이콘: 1280px 이하에서 chevron 대신 유저 아이콘 */
    #header.xnmain.xninje-gou-oc .xn-header-member-btn-group i {
      display: block;
      width: 20px;
      height: 20px;
      background-color: currentColor;
      mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
      mask-size: contain;
      mask-repeat: no-repeat;
      mask-position: center;
      -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'%3E%3C/path%3E%3Ccircle cx='12' cy='7' r='4'%3E%3C/circle%3E%3C/svg%3E");
      -webkit-mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: center;
    }
    #header.xnmain.xninje-gou-oc .xn-header-member-btn-group i svg {
      display: none;
    }
  
    /* 메인 비주얼: hero_overlay 위치값 제거, 로그인 박스 위치값 제거·가로 정렬 */
    .xnmain_hero_overlay {
      position: relative !important;
      top: unset !important;
      left: unset !important;
      right: unset !important;
      bottom: unset !important;
      width: 100% !important;
      height: auto !important;
      padding: 20px;
    }
  
    .xnmain_login_box {
      position: relative !important;
      right: unset !important;
      top: unset !important;
      transform: unset !important;
      width: auto !important;
      max-width: 100%;
      display: flex !important;
      flex-direction: row !important;
      align-items: center !important;
      gap: 0 !important;
    }
  
    .xnmain_login_box .xnmain_login_title {
      flex-shrink: 0;
      border-bottom: none;
      border-right: 1px solid rgba(255, 255, 255, 0.3);
      margin: 0;
      padding: 16px 20px;
    }
  
    .xnmain_login_box .xnmain_login_items {
      display: flex !important;
      flex-direction: row !important;
      flex-wrap: wrap !important;
      gap: 0 !important;
      padding: 12px 16px !important;
    }
  
    .xnmain_login_box a.xnmain_login_item {
      padding: 8px 12px !important;
      width: 25%;
    }
  
    .xnmain_login_title::after {
      transform: rotate(-45deg);
    }
  
    .xnmain_login_box .xnmain_login_items {
      width: -webkit-fill-available;
    }
  
    .xnmain_hero_section {
      min-height: unset !important;
    }
  
    .xnmain_main_slider .xn-widget-slider-container,
    .xnmain_main_slider .carousel-item,
    .xnmain_main_slider .carousel-item img,
    .xnmain_hero_section .xnmain_slider_wrap,
    .xnmain_hero_section
      .xnmain_slider_wrap
      .widget.xnmain_main_slider
      .xn-widget-slider-container,
    .xnmain_hero_section .xnmain_main_slider .carousel-item,
    .xnmain_hero_section .xnmain_main_slider .carousel-item img {
      height: auto !important;
      aspect-ratio: 1920 / 1080;
    }
  
    .xnmain_slider_wrap {
      position: relative !important;
      top: unset !important;
      left: unset !important;
      right: unset !important;
      bottom: unset !important;
      height: auto;
      aspect-ratio: 1920 / 1080;
    }
  
    .xnmain_main_slider .carousel-caption,
    .xnmain_main_slider .xnws-caption {
      top: unset;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      text-align: center;
      max-width: 90%;
    }
  
    .xnmain_main_slider .slide-wrap h1,
    .xnmain_main_slider .slide-wrap p {
      text-align: center;
    }
  
    .xnmain_main_slider .carousel-indicators {
      display: none;
    }
  
    .xnmain_slider_wrap .widget.xnmain_main_slider {
      position: relative !important;
      top: unset !important;
      left: unset !important;
      right: unset !important;
      bottom: unset !important;
      width: 100% !important;
      height: 100% !important;
    }
  
    /* 퀵메뉴: absolute 해제, 위치값 제거, margin 상하 80 좌우 auto */
    .xnmain_quick_search_box {
      position: relative !important;
      bottom: auto !important;
      left: auto !important;
      right: auto !important;
      transform: none !important;
      margin-top: 20px;
      width: 100%;
      max-width: 1440px;
    }
  
    /* 강좌 위젯·게시판 위젯: 1열에 카드 2개, 넓이 조정, 좌우 버튼 숨김 */
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container
      .xnbw-items-btn-wrap {
      display: none !important;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container
      .xnbw-item-container-wrap.course-wrap {
      flex-wrap: wrap !important;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-item-container-wrap.course-wrap
      .xnbw-item-container {
      width: calc((100% - 20px) / 2);
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container.board_v2
      .xnbw-items-container
      .xnbw-item-container {
      width: calc((100% - 20px) / 2) !important;
    }
  
    .xnmain_feature_cards {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  
  @media (min-width: 769px) and (max-width: 1280px) {
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xncw-top-container {
      width: 100% !important;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xncwi-container
      .xncwi-info-container
      .xncwi-date {
      width: auto !important;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container {
      width: 100%;
    }
  }
  
  @media (max-width: 1024px) {
    .xnmain_hero_section {
    }
  
    #header.xnmain.xninje-gou-oc.header_on,
    #header.xnmain.xninje-gou-oc.header-fixed {
      position: sticky !important;
      top: 0;
      z-index: 1030;
    }
  
    /* header-fixed 시 번역 버튼: header_on과 동일 (narrow-screen은 background-color만 해서 xn_select_lang.svg 아이콘 유지) */
    #header.xnmain.xninje-gou-oc.header-fixed
      .xnmain_header_translate_wrap
      .xn-common-white-gray-btn.xn-translate_language-narrow-screen {
      background-color: #fff;
      color: #333;
      border: none;
    }
    #header.xnmain.xninje-gou-oc.header-fixed
      .xnmain_header_translate_wrap
      .xn-translate_language-select_box {
      background: #fff;
      color: #333;
      border: none;
    }
    #header.xnmain.xninje-gou-oc.header-fixed
      .xnmain_header_translate_wrap
      .xn-translate_language-select_box
      .xn-translate_language-text {
      color: #333;
    }
    #header.xnmain.xninje-gou-oc.header-fixed
      .xnmain_header_translate_wrap
      .xn-translate_language-select_box
      > i {
      border-top-color: currentColor;
    }
  
    /* 1024px 이하: invert 필터 제거 (번역 버튼 이미지·아이콘 정상 표시) */
    #header.xnmain.xninje-gou-oc:not(.header_on):not(.h_line)
      .xnmain_header_translate_wrap
      .xn-translate_language-select_box
      .xn-translate_language-image,
    #header.xnmain.xninje-gou-oc:not(.header_on):not(.h_line)
      .xnmain_header_translate_wrap
      .xn-translate_language-narrow-screen.xn-translate_language-icon {
      filter: none;
    }
  
    .xnmain_main_slider .slide-wrap h1 {
      font-size: clamp(1.5rem, 4vw, 2.25rem);
    }
  
    .xnmain_main_slider .slide-wrap p {
      font-size: clamp(0.875rem, 2vw, 1rem);
    }
  
    .xnmain_hero_overlay {
      position: relative;
      padding: 40px 24px;
      background: #1a1d29;
    }
  
    .xnmain_hero_overlay .xnmain_inner {
      flex-direction: column;
      align-items: center;
    }
  
    .xnmain_login_box,
    .xnmain_quick_search_box {
      width: 100%;
      position: relative;
      right: auto;
      top: auto;
      transform: none;
    }
  
    .xnmain_login_box {
      margin-top: 0;
    }
  
    .xnmain_login_box .xnmain_login_items {
      justify-content: space-evenly;
    }
  
    .xnmain_main_slider .carousel-indicators {
      left: 5%;
      bottom: 42%;
    }
  
    .xnmain_scroll_indicator {
      display: none;
    }
  
    #header.xnmain.xninje-gou-oc .xnmain_header_nav {
      display: none;
    }
  
    .xnmain_footer_top {
      flex-direction: column;
      align-items: flex-start;
    }
  
    .xnmain_feature_cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px;
    }
  
    /* 퀵메뉴: 2개씩, 마지막(홀수일 때) 한 줄 꽉 채움 */
    .xnmain_quick_menu .xnmain_quick_item_wrap {
      flex: 0 0 50%;
      width: 50%;
      min-width: 0;
    }
    .xnmain_quick_menu .xnmain_quick_item_wrap:last-child {
      border-radius: 0;
    }
    .xnmain_quick_menu .xnmain_quick_item_wrap:last-child:nth-child(odd) {
      flex: 1 1 100%;
      width: 100%;
    }
  
    .xncwi-container .xncwi-info-container .xncwi-date {
      width: auto;
    }
  
    /* 강좌 슬라이드 2열, 버튼 간격 축소 */
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container
      .xnbw-items-btn-wrap:first-of-type {
      left: -24px !important;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container
      .xnbw-items-btn-wrap:last-of-type {
      right: -24px !important;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-item-container-wrap.course-wrap
      .xnbw-item-container {
      width: calc((100% - 48px) / 2);
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container.board_v2
      .xnbw-items-container
      .xnbw-item-container {
      width: calc((100% - 20px) / 2) !important;
    }
  }
  
  @media (max-width: 768px) {
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav {
      width: 60%;
      top: 72px;
    }
  
    .xnmain_inner {
      padding: 0 16px;
    }
  
    .xnmain_hero_overlay {
      padding: 24px;
    }
  
    .xnmain_login_box,
    .xnmain_quick_search_box {
      overflow: hidden;
    }
  
    .xnmain_login_box a.xnmain_login_item {
      width: 50%;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xncw-top-container
      .xncw-title-wrap,
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xnbw-top-container
      .xnbw-title-wrap {
      margin: 0;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xncw-top-container
      .xncw-more {
      margin: unset;
      padding: unset;
      top: unset;
      bottom: unset;
      right: unset;
      left: unset;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xncw-top-container {
      display: flex;
      justify-content: space-between;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-item-container-wrap.course-wrap
      .xnbw-item-container {
      width: calc(50% - 10px);
    }
  
    .xnmain_hero_section {
    }
  
    .xnmain_main_slider .carousel-caption,
    .xnmain_main_slider .xnws-caption {
      max-width: 100%;
      width: 100%;
    }
  
    .xnmain_quick_menu .xnmain_quick_item_wrap {
      min-width: 120px;
    }
  
    .xnmain_feature_section {
      padding: 48px 0 64px;
    }
  
    .xnmain_feature_title {
      margin-bottom: 32px;
    }
  
    .xnmain_feature_subtitle {
      font-size: 18px;
    }
  
    .xnmain_feature_accent {
      font-size: 28px;
    }
  
    .xnmain_feature_card {
      padding: 24px 16px;
    }
  
    .xnmain_feature_card h3 {
      font-size: 20px;
    }
  
    .xnmain_feature_icon {
      width: 64px;
      height: 64px;
      margin-bottom: 16px;
    }
  
    .xnmain_feature_icon img {
      width: 32px;
      height: 32px;
    }
  
    .xnmain_courses_section {
      padding: 40px 0 60px;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_logo img {
      height: 60px;
      margin-bottom: 20px;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_mid {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 16px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_bottom {
      flex-direction: column !important;
      align-items: flex-start !important;
      gap: 16px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_links {
      flex-wrap: wrap !important;
      gap: 8px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact,
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact span {
      font-size: 14px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_copy {
      font-size: 13px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc {
      padding: 40px 0 28px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_btn {
      padding: 12px 0 12px 16px !important;
      gap: 12px !important;
    }
  }
  
  @media (max-width: 560px) {
    .xnmain_inner {
      padding: 0 12px;
    }
  
    #header.xnmain.xninje-gou-oc {
      padding: 0 12px !important;
      height: 72px !important;
    }
  
    #header.xnmain.xninje-gou-oc .xnmain_header_logo img {
      height: 36px;
    }
  
    .xnmain_hero_section {
    }
  
    .xnmain_main_slider .carousel-indicators {
      gap: 16px;
    }
  
    .xnmain_main_slider .carousel-indicators li {
      width: 14px;
      height: 14px;
    }
  
    /* 강좌/공지 카드 1열, 슬라이드 버튼 숨김 */
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-items-container
      .xnbw-items-btn-wrap {
      display: none !important;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container
      .xnbw-item-container-wrap.course-wrap
      .xnbw-item-container {
      width: 100%;
    }
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xn-widget-container.board_v2
      .xnbw-items-container
      .xnbw-item-container {
      width: 100% !important;
    }
  
    .xnmain_login_box {
      width: 100%;
    }
  
    .xnmain_login_items {
      padding: 12px;
    }
  
    .xnmain_quick_menu {
      padding: 0;
      gap: 0;
    }
  
    .xnmain_quick_menu .xnmain_quick_item_wrap {
      flex: 0 0 100%;
      width: 100%;
      min-width: 0;
    }
  
    .xnmain_quick_menu .xnmain_quick_item_wrap:first-child {
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;
    }
  
    .xnmain_feature_cards {
      grid-template-columns: 1fr;
    }
  
    .xnmain_quick_item {
      padding: 12px 8px;
      font-size: 13px;
      gap: 10px;
    }
  
    .xnmain_quick_item:first-child {
      padding-left: 16px;
    }
  
    .xnmain_quick_item_icon {
      width: 44px;
      height: 44px;
      padding: 8px;
    }
  
    .xnmain_search_wrap {
      padding: 10px 12px 12px;
    }
  
    .xnmain_search_input {
      font-size: 16px;
    }
  
    .xnmain_search_btn {
      width: 64px;
      font-size: 14px;
    }
  
    .xnmain_feature_section {
      padding: 32px 0 48px;
    }
  
    .xnmain_feature_subtitle {
      font-size: 16px;
    }
  
    .xnmain_feature_accent {
      font-size: 24px;
    }
  
    .xnmain_feature_card {
      padding: 20px 12px;
    }
  
    .xnmain_feature_card h3 {
      font-size: 18px;
    }
  
    .xnmain_courses_section {
      padding: 32px 0 48px;
    }
  
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xncw-top-container
      .xncw-title-wrap
      .xncw-title,
    .xnmain_cnt_wrap.xninje-gou-oc
      .xnmain_courses_section
      .xnmain_inner
      .widget.xnmain-widget-lecture
      .xnbw-top-container
      .xnbw-title-wrap
      .xnbw-title {
      font-size: 24px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_logo img {
      height: 48px;
      margin-bottom: 16px;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact,
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_contact span {
      font-size: 13px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_copy {
      font-size: 12px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_links .xnmain_footer_link,
    #footer.xnmain_footer.xninje-gou-oc .xnmain_footer_fs_btn {
      font-size: 13px !important;
    }
  
    #footer.xnmain_footer.xninje-gou-oc {
      padding: 32px 0 24px !important;
    }
  
    .xnmain_scroll_top {
      bottom: 16px;
      right: 16px;
      width: 40px;
      height: 40px;
    }
  
    .xnmain_scroll_top img {
      width: 18px;
      height: 18px;
    }
  }
  
  @media (max-width: 480px) {
    .xnmain_main_slider .slide-wrap h1 br {
      display: none;
    }
  
    .xnmain_login_box a.xnmain_login_item {
      width: 100%;
    }
  
    .xnmain_login_box .xnmain_login_items {
      gap: 8px;
    }
  
    .xnmain_login_item img {
      width: 32px;
      height: 32px;
    }
  }
  
  @media (max-width: 360px) {
    #header.xnmain.xninje-gou-oc.xnmain_nav_open .xnmain_header_nav {
      width: 100%;
    }
  
    #header.xnmain.xninje-gou-oc .header-btn-login,
    #header.xnmain.xninje-gou-oc .header-btn-join {
      padding: 6px 10px;
      font-size: 12px;
    }
  
    #header.xnmain.xninje-gou-oc .xnmain_header_right {
      gap: 6px;
    }
  
    .xnmain_main_slider .carousel-caption,
    .xnmain_main_slider .xnws-caption {
      width: 90%;
    }
  }
  