/* 통합 공통 스타일 - 모든 페이지에서 재사용 가능한 컴포넌트 */

/* CSS 변수 정의 */
:root {
    --primary-color: #6d73f7;
    --primary-dark-color: #2e3192;
    --text-dark-color: #000000;
    --text-light-color: #ffffff;
    --text-gray-color: #7a7b7b;
    --text-placeholder-color: #b7b8b9;
    --bg-light-gray: #f8f8f8;
    --bg-gray: #f4f5f6;
    --table-head-gray: #ebebeb;
    --border-color: #e3e3e3;
    --table-border-color: #c9c9c9;
    --color-background-light: #ebebeb;
    --color-text-secondary: #7a7b7b;
    --color-text-primary: #333;
    --color-bg-white: #fff;
    --color-bg-light: #f5f5f5;
    --color-border-light: #e0e0e0;
    --color-border: #e3e3e3;
    --color-surface: #ffffff;
    --text-color: #333;
    --bg-light: #f5f5f5;

    /* Missing variables added */
    --accent-red-500m: #e72527;
    --primary-blue-100: #6d73f7;
    --primary-blue-300: #4e52c4;
    --primary-blue-500m: #2e3192;
    --color-success: #28a745;
    --color-error: #dc3545;
    --gray-0: #fff;
    --gray-100: #f4f5f6;
    --gray-200: #ebebeb;
    --gray-400: #b7b8b9;
    --border: #e3e3e3;
    --table_border: #c9c9c9;
}

.red-color {
    color: var(--accent-red-500m, #e72527);
}

b {
    font-weight: 600;
}

/* ========== 기본 스타일 ========== */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
li {
    margin: 0;
    padding: 0;
}

ul {
    list-style: none;
}

/* 접근성 개선 */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* 키보드 네비게이션 시 focus 스타일 */
.keyboard-navigation *:focus {
    outline: 1px solid #6d73f7;
    outline-offset: 1px;
}

/* focus-visible 지원 브라우저에서 마우스 클릭 시 outline 제거 */
*:focus:not(:focus-visible) {
    outline: none;
}

*:focus-visible {
    outline: 1px solid #6d73f7;
    outline-offset: 1px;
}

body {
    font-family: "Pretendard", sans-serif;
    margin: 0;
    background-color: #ffffff;
    color: #000000;
    font-size: 16px;
    line-height: 150%;
}

*,
*::after,
*::before {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: inherit;
}

.w-auto {
    width: auto;
}

.w100 {
    width: 100%;
}

button {
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    font-family: "Pretendard", sans-serif;
}

textarea,
input {
    font-family: "Pretendard", sans-serif;
}

.select-field {
    padding: 0 32px;
}

/* ========== 레이아웃 스타일 ========== */
.contents-wrap {
    padding: 48px 0 96px;
}

.contents-wrap.main-page-wrap {
    padding: 0;
}

.container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}

.page-section {
    background-color: #ffffff;
    max-width: 1240px;
    margin: 0 auto;
}

.page-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}

.page-header {
    text-align: center;
    margin-bottom: 100px;
}

.page-header.mb-48 {
    margin-bottom: 48px;
}

.page-title {
    font-size: 36px;
    font-weight: 600;
    color: #000000;
    margin: 0;
    line-height: 1.2;
}

.page-content {
    width: 100%;
}

/* ========== HEADER STYLES ========== */
.site-header {
    background-color: #ffffff;
    z-index: 1000;
    position: relative;
}

.header-top {
    padding: 8px 0;
}

.header-top-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.login-signup-btn {
    background-color: #f4f5f6;
    color: #000000;
    font-size: 12px;
    font-weight: 400;
    padding: 4px 16px;
    border-radius: 30px;
}

.header-main {
    border-top: 1px solid #e3e3e3;
    position: relative;
}

.header-main::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-bottom: 2px solid #e3e3e3;
    z-index: 0;
}

.header-main-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 86px;
    position: relative;
    z-index: 10;
}

.logo {
    display: block;
}

.logo-images {
    position: relative;
    width: 254px;
    height: 51.02px;
}

.logo-images img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* GNB 메뉴 스타일 */
.main-nav {
    display: flex;
    align-items: center;
}

.main-nav .nav-tree {
    display: flex;
    align-items: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 20px;
}

.main-nav .nav-tree>li>a {
    display: block;
    padding: 33px 50px 29px;
    font-size: 20px;
    line-height: 1;
    font-weight: 600;
    color: #000000;
    transition: all 0.3s ease;
    border-bottom: 4px solid transparent;
}

.main-nav .nav-tree>li[data-menu-key="trainer"]>a {
    padding-left: 75px;
    padding-right: 75px;
}


.main-nav .nav-tree>li.active>a,
.main-nav .nav-tree>li>a:hover {
    color: #6d73f7;
    border-bottom: 4px solid #6d73f7;
}

.gnb-nav-toggle {
    display: none;
    width: 40px;
    height: 40px;
    padding: 8px;
}

.aside-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    display: none;
}

.aside-menu.show {
    display: block;
}

.aside-menu .main-nav .nav-tree>li>a,
.aside-menu .main-nav .nav-tree>li.active>a,
.aside-menu .main-nav .nav-tree>li>a:hover {
    opacity: 0;
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    overflow: hidden;
    border: 0;
}

.inner-aside-menu {
    padding-bottom: 20px;
    max-width: 1240px;
    padding: 0 20px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
}

.main-nav .submenu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 4px;
    padding: 17px 0;
    margin: 0 -24px;
}

.main-nav .submenu a {
    display: inline-block;
    padding: 0 24px;
    color: #000000;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 2;
    /* 24px */
}

.main-nav .submenu .active a,
.main-nav .submenu .active a:hover {
    border-radius: 30px;
    background: #6d73f7;
    color: #fff;
}

.main-nav .submenu a:hover {
    color: #6d73f7;
}

.nav-menu {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.nav-item {
    position: relative;
}

.nav-link {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    color: #333;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    white-space: nowrap;
}

.nav-link:hover {
    color: #2e3192;
    text-decoration: none;
}

.nav-item.active>.nav-link {
    color: #2e3192;
    font-weight: 600;
}

/* 드롭다운 화살표 */
.dropdown-arrow {
    margin-left: 5px;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.nav-item.open .dropdown-arrow {
    transform: rotate(180deg);
}

/* 드롭다운 메뉴 */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 200px;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    list-style: none;
    margin: 0;
    padding: 8px 0;
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
}

.nav-item.open .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* 드롭다운 메뉴 아이템 */
.dropdown-menu .nav-item {
    width: 100%;
}

.dropdown-menu .nav-link {
    padding: 12px 20px;
    font-size: 14px;
    font-weight: 400;
    border-bottom: none;
    color: #333;
}

.dropdown-menu .nav-link:hover {
    background-color: #f5f5f5;
    color: #2e3192;
}

.dropdown-menu .nav-item.active>.nav-link {
    background-color: #2e3192;
    color: #fff;
}

/* 키보드 접근성 */
.nav-link:focus {
    outline: 2px solid #2e3192;
    outline-offset: 2px;
}

/* 활성 상태 표시 */
.nav-item.current>.nav-link {
    position: relative;
}

.nav-item.current>.nav-link::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background-color: #2e3192;
    border-radius: 2px;
}

/* 호버 효과 */
.nav-item:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* ========== BREADCRUMBS STYLES ========== */
.breadcrumbs-bar {
    background-color: #f4f5f6;
}

.breadcrumb-home-item {
    display: flex;
    width: 56px;
    height: 56px;
    padding: 17px 0;
    text-align: center;
    background-image: url("data:image/svg+xml,%3Csvg width='21' height='22' viewBox='0 0 21 22' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_271_1730)'%3E%3Cpath d='M10.5 0L0 9.50847V21.9845H7.03125V18.5042C7.03125 16.5932 8.57812 15.0551 10.5 15.0551C12.4219 15.0551 13.9687 16.5932 13.9687 18.5042V21.9845H21V9.50847L10.5 0Z' fill='%233D3D3E'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_271_1730'%3E%3Crect width='21' height='22' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-size: 21px 22px;
    background-position: center;
}

.breadcrumb-home-item span {
    text-indent: -9999px;
}

.breadcrumbs-list {
    display: flex;
    align-items: stretch;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-item {
    display: flex;
    min-width: 218px;
    height: 56px;
    padding: 16px 18px;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: #3d3d3e;
    font-size: 16px;
    font-weight: 600;
    line-height: 150%;
    /* 24px */
}

.breadcrumb-icon {
    width: 21px;
    height: 22px;
}

/* Breadcrumb Dropdown Menu Styles */
.breadcrumb-home,
.breadcrumb-wrapper {
    position: relative;
    border-right: 1px solid #e3e3e3;
}

a.breadcrumb-item.has-siblings {
    cursor: pointer;
}

.depth_menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    width: 100%;
    opacity: 0;
    visibility: hidden;
    transition: all 0.2s ease;
    padding: 26px 8px;
    gap: 9px;
    border-right: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    border-left: 1px solid #e3e3e3;
    background: #ebebeb;
}

.breadcrumb-wrapper:hover .depth_menu {
    opacity: 1;
    visibility: visible;
}

.depth_menu ul {
    list-style: none;
    margin: 0;
}

.depth_menu li {
    margin: 0;
    padding: 0;
}

.depth_menu li a {
    display: block;
    padding: 8px;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 150%;
    white-space: nowrap;
}

.depth_menu li a:hover {
    color: #2e3192;
    background: #dfdfdf;
}

/* 드롭다운 화살표 표시 (선택사항) */
.breadcrumb-item.has-siblings::after {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18 9.40039L12 15.4004L6 9.40039L7.4 8.00039L12 12.6004L16.6 8.00039L18 9.40039Z' fill='%233D3D3E'/%3E%3C/svg%3E%0A");
    width: 24px;
    height: 24px;
    content: "";
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    transition: transform 0.3s ease;
}

.breadcrumb-wrapper:hover .breadcrumb-item.has-siblings::after {
    transform: rotate(180deg);
}

/* ========== HERO SECTION ========== */
.hero-section {
    position: relative;
    height: 400px;
    overflow: hidden;
}

/* Swiper 슬라이더 스타일 */
.hero-swiper {
    width: 100%;
    height: 100%;
}

.hero-swiper .swiper-slide {
    position: relative;
}

.hero-swiper .slide-link {
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    text-decoration: none;
}

/* Swiper 네비게이션 버튼 스타일 */
.hero-swiper .swiper-button-prev,
.hero-swiper .swiper-button-next {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.3);
    border-radius: 50%;
    width: 50px;
    height: 50px;
}

.hero-swiper .swiper-button-prev:after,
.hero-swiper .swiper-button-next:after {
    font-size: 20px;
    font-weight: bold;
}

.hero-swiper .swiper-button-prev:hover,
.hero-swiper .swiper-button-next:hover {
    background-color: rgba(0, 0, 0, 0.5);
}

/* Swiper 페이지네이션 커스텀 스타일 */
.hero-swiper .swiper-pagination {
    position: absolute;
    bottom: 30px !important;
    left: 50% !important;
    transform: translateX(-50%);
    width: 310px !important;
    height: 8px !important;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
}

.hero-swiper .swiper-pagination-bullet {
    height: 7px;
    background: #fff;
    border-radius: 7px;
    opacity: 0;
    transition: opacity 0.3s ease;
    margin: 0 !important;
}

.hero-swiper .swiper-pagination-bullet-active {
    opacity: 1;
}

.hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.hero-text h1 {
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 6px 0;
}

.hero-text h2 {
    font-size: 50px;
    font-weight: 700;
    margin: 0;
}

.hero-controls {
    position: absolute;
    bottom: -110px;
    left: 50%;
    transform: translateX(-50%);
}

.hero-indicator {
    width: 310px;
    height: 8px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 7px;
}

.indicator-bar {
    width: 20%;
    height: 100%;
    background-color: #ffffff;
    border-radius: 7px;
}

.hero-nav {
    position: absolute;
    width: 100%;
    max-width: 1200px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 2;
}

.arrow-btn {
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.arrow-btn img {
    width: 100%;
    height: 100%;
}

/* ========== MAIN CONTENT ========== */
.main-content {
    background-color: #f8f8f8;
    padding: 60px 0;
}

.content-container {
    /* Hero와 겹치지 않도록 margin-top 제거 */
}

.content-grid {
    display: flex;
    gap: 24px;
}

.left-column {
    flex: 1;
    display: flex;
    gap: 24px;
}

.right-column {
    flex: 1 1 calc(33.333333333% - 16px);
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.info-card {
    flex: 1 1 calc(33.333333333% - 16px);
    max-width: 384px;
    background-color: #ffffff;
    border: 1px solid #e3e3e3;
    border-radius: 30px;
    box-shadow: 0px 8px 20px 0px rgba(128, 130, 179, 0.1);
    padding: 20px 32px;
    display: flex;
    flex-direction: column;
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    padding: 6px 0;
}

.card-header h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 0;
}

.view-all-btn {
    background-color: #f4f5f6;
    font-size: 12px;
    padding: 4px 16px;
    border-radius: 30px;
}

.divider {
    border: none;
    border-top: 1px solid #e3e3e3;
    margin: 0;
}

.article-list {
    display: flex;
    flex-direction: column;
    margin-top: 16px;
    gap: 10px;
    padding: 4px 0;
}

.article-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 8px 12px;
    border-radius: 8px;
    transition: background-color 0.2s;
}

.article-item:hover {
    background-color: #f4f5f6;
}

.article-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.article-title p {
    margin: 0;
    font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.new-badge {
    background-color: #e72527;
    color: white;
    font-size: 12px;
    font-weight: bold;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
}

.article-item time {
    font-size: 14px;
    color: #b7b8b9;
    align-self: flex-start;
}

.login-widget {
    border-radius: 30px;
    background: var(--primary-blue-100, #6D73F7);
    padding: 12px 32px 22px;
    color: #ffffff;
    min-height: 294px;
}

.quick-kjsm-wrapper {
    display: flex;
    gap: 24px;
    flex-direction: column;
}

.login-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 6px;
    flex-wrap: wrap;
    gap: 8px;
}

.login-header h4 {
    font-size: 24px;
    line-height: 2;
    font-weight: 700;
    margin: 0;
}

.login-header a {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
}

.login-header .btn-admin {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 6px 12px;
    background-color: #2e3192;
    color: #ffffff;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
}

.login-header .btn-admin:hover {
    background-color: #1f2270;
    transform: translateY(-1px);
}

.login-header .btn-admin i {
    font-size: 12px;
}

.login-form {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.login-form input[type="text"],
.login-form input[type="password"] {
    width: 100%;
    height: 48px;
    padding: 0 16px;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    font-size: 16px;
    box-sizing: border-box;
}

.login-form input::placeholder {
    color: #b7b8b9;
}

.login-form .password-input {
    position: relative;
}

.visibility-toggle {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='%23B7B8B9'%3E%3Cpath d='M9 4.5C5.5 4.5 2.33 6.61 1 9.75c1.33 3.14 4.5 5.25 8 5.25s6.67-2.11 8-5.25C15.67 6.61 12.5 4.5 9 4.5zm0 9C6.5 13.5 4.5 11.5 4.5 9S6.5 4.5 9 4.5 13.5 6.5 13.5 9s-2 4.5-4.5 4.5zm0-7.5c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z'/%3E%3C/svg%3E") center/contain no-repeat;
    opacity: 0.5;
}

.login-options {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 14px;
    line-height: 2;
    font-weight: 600;
    padding: 4px 0;
}

.remember-me {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

.login-btn {
    width: 100%;
    height: 56px;
    background-color: #2e3192;
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    border-radius: 30px;
}

.user-info {
    margin-top: 10px;
}

.user-info p {
    margin: 0 0 10px 0;
    font-size: 16px;
}

.user-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

/* Membership Status Section */
.membership-status-info {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 8px 16px;
    margin-bottom: 16px;
    font-size: 14px;
}

.membership-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.membership-item.lifetime {
    margin-bottom: 0;
}

.member-type {
    font-weight: 600;
    color: #333;
}

.membership-status-info .status-badge {
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 12px;
    font-weight: 600;
}

.membership-status-info .status-badge.paid {
    background: #d4edda;
    color: #155724;
}

.membership-status-info .status-badge.unpaid {
    background: #f8d7da;
    color: #721c24;
}

.expiry-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    border-top: 1px solid #e9ecef;
    margin-top: 8px;
}

.status-label {
    font-weight: 600;
    color: #333;
}

.expiry-label {
    color: #6c757d;
    font-size: 13px;
}

.expiry-date {
    font-weight: 600;
    color: #495057;
    font-size: 14px;
}

.user-logout-btn,
.user-action-btn {
    display: block;
    text-align: center;
    padding: 8px 16px;
    background-color: #2e3192;
    color: #ffffff;
    border-radius: 20px;
    font-size: 14px;
    text-decoration: none;
}

.user-logout-btn {
    background-color: #e72527;
}

.user-menu {
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-menu span {
    color: #000000;
    font-size: 12px;
}

.quick-links {
    display: flex;
    gap: 24px;
}

.menu-card {
    flex: 1;
    background-color: #ffffff;
    border-radius: 30px;
    box-shadow: 0px 8px 20px 0px rgba(128, 130, 179, 0.2);
    padding: 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    height: 180px;
    box-sizing: border-box;
}

.menu-card p {
    font-size: 18px;
    font-weight: 600;
    color: #2e3192;
    line-height: 1.5;
    margin: 0;
}

.menu-card-icon {
    align-self: flex-end;
    width: 56px;
    height: 56px;
    background-color: #f4f5f6;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.menu-card-icon img {
    width: 34px;
    height: 34px;
}

.kjsm-card {
    background-color: #ffffff;
    border-radius: 30px;
    box-shadow: 0px 8px 20px 0px rgba(128, 130, 179, 0.2);
    height: 80px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 24px;
}

.kjsm-logo {
    height: 37px;
}

.kjsm-icon {
    height: 36px;
}

/* ========== CTA SECTION ========== */
.cta-section {
    position: relative;
    height: 150px;
    background-color: #2e3192;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.cta-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.cta-background img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cta-container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.cta-text {
    font-size: 24px;
    font-weight: 700;
    color: #f4f5f6;
    margin: 0;
}

.cta-text .highlight {
    color: #ac9ff2;
}

.cta-button {
    display: flex;
    align-items: center;
    gap: 22px;
    background-color: #040833;
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 30px;
    font-size: 24px;
    font-weight: 700;
}

.cta-button img {
    width: 20px;
    height: 20px;
}

/* ========== PARTNERS SECTION ========== */
.partners-section {
    padding: 60px 0;
    background-color: #ffffff;
}

.partners-container {
    position: relative;
    padding: 0 30px;
    /* 네비게이션 버튼을 위한 공간 */
}

/* Swiper 컨테이너 스타일 */
.partners-swiper {
    overflow: hidden;
}

.partners-swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 26px;
}

/* Partner 로고 스타일 */
.partner-logo {
    /* display: flex;
    justify-content: center;
    align-items: center;
    width: 180px;
    height: 60px;
    background-color: #ffffff;
    border-radius: 30px;
    box-shadow: 0px 8px 20px 0px rgba(128, 130, 179, 0.1);
    padding: 5px 16px;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease; */
}

.partner-logo:hover {
    /* transform: translateY(-5px);
    box-shadow: 0px 12px 30px 0px rgba(128, 130, 179, 0.2); */
}

.partner-logo img {
    /* width: 180px;
    height: 60px;
    object-fit: contain;
    border-radius: 30px;

    box-shadow: 0 8px 20px 0 rgba(128, 130, 179, 0.20); */
    max-width: 100%;
}

/* Partners Swiper 네비게이션 버튼 */
.partners-container .swiper-button-prev,
.partners-container .swiper-button-next {
    width: 20px;
    height: 20px;

    background-size: 20px 20px;
    background-repeat: no-repeat;
    background-position: center;
    color: var(--primary-blue);
    text-indent: -9999px;
    top: 50%;
    transform: translateY(-50%);
    margin-top: 0;
}

.partners-container .swiper-button-prev::after,
.partners-container .swiper-button-next::after {}

.partners-button-prev {
    left: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_376_257' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='-2' y='-3' width='24' height='25'%3E%3Crect x='-2' y='-2.25537' width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_376_257)'%3E%3Cpath d='M12 15.7446L6 9.74463L12 3.74463L13.4 5.14463L8.8 9.74463L13.4 14.3446L12 15.7446Z' fill='%233D3D3E'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.partners-button-next {
    right: 0;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cmask id='mask0_376_458' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='-2' y='-2' width='24' height='24'%3E%3Crect x='-2' y='-2' width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_376_458)'%3E%3Cpath d='M10.6 10L6 5.4L7.4 4L13.4 10L7.4 16L6 14.6L10.6 10Z' fill='%233D3D3E'/%3E%3C/g%3E%3C/svg%3E%0A");
}

/* 모바일에서 Partners Swiper 조정 */
@media (max-width: 768px) {
    .partners-container {
        padding: 0 30px;
    }

    .partner-logo {}

    .partners-swiper .swiper-button-prev,
    .partners-swiper .swiper-button-next {
        width: 30px;
        height: 30px;
    }

    .partners-swiper .swiper-button-prev::after,
    .partners-swiper .swiper-button-next::after {
        font-size: 12px;
    }
}

/* ========== FOOTER SITE LINK POPUP STYLES ========== */
.site-link-wrapper {
    position: relative;
    display: inline-block;
}

.site-link-popup {
    position: absolute;
    bottom: 100%;
    left: auto;
    right: 0;
    margin-bottom: 10px;
    width: 808px;
    max-width: 90vw;
    background: #ffffff;
    border-radius: 30px;
    box-shadow: 0px 8px 30px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.site-link-popup.active {
    opacity: 1;
    visibility: visible;
}

.popup-inner {
    padding: 20px;
}

.popup-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e5e7eb;
}

.popup-header h4 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: #333;
}

.popup-close {
    background: none;
    border: none;
    font-size: 24px;
    color: #666;
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.popup-close:hover {
    background-color: #f3f4f6;
}

.popup-content {
    max-height: 400px;
    overflow-y: auto;
}

/* 링크 섹션 스타일 */
.link-section {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e5e7eb;
}

.link-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.link-section h3 {
    flex: 0 0 180px;
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
    padding-top: 5px;
}

.link-list {
    flex: 1;
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 20px;
}

.link-list li {
    margin: 0;
}

.link-list a {
    color: #555;
    text-decoration: none;
    font-size: 14px;
    display: inline-block;
    transition: color 0.2s ease;
}

.link-list a:hover {
    color: var(--primary-blue);
    text-decoration: underline;
}

.link-list li {
    padding: 10px 0;
    border-bottom: 1px solid #f3f4f6;
}

.link-list li:last-child {
    border-bottom: none;
}

.link-list a {
    color: #333;
    text-decoration: none;
    display: block;
    padding: 5px 0;
    transition: color 0.2s ease;
}

.link-list a:hover {
    color: var(--primary-blue);
}

/* 버튼 active 상태 */
.site-link-btn:hover,
.site-link-btn.active {
    background: var(--primary-blue-300, #4E52C4);
    color: #ffffff;
}

.site-link-btn:hover .dropdown-arrow {
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 14L12 8L18 14L16.6 15.4L12 10.8L7.4 15.4L6 14Z' fill='white'/%3E%3C/svg%3E%0A");
}

.site-link-btn.active .dropdown-arrow {
    transform: rotate(180deg);
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 14L12 8L18 14L16.6 15.4L12 10.8L7.4 15.4L6 14Z' fill='white'/%3E%3C/svg%3E%0A");
}

/* 팝업 방향 전환 (버튼 아래로 표시할 때) */
.site-link-popup.popup-below {
    bottom: auto;
    top: 100%;
    margin-bottom: 0;
    margin-top: 10px;
}



/* 팝업 오버레이 (1024px 이하에서만 표시) */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.popup-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* 태블릿/모바일 반응형 (1024px 이하) */
@media (max-width: 1024px) {
    .popup-overlay {
        display: block;
    }

    .site-link-popup {
        position: fixed;
        top: 50%;
        left: 50%;
        bottom: auto;
        transform: translate(-50%, -50%);
        width: calc(100vw - 40px);
        height: calc(100vh - 40px);
        max-width: calc(100vw - 40px);
        max-height: calc(100vh - 40px);
        margin: 0;
        overflow-y: auto;
    }

    .site-link-popup.popup-below {
        bottom: auto;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
    }

    /* 화살표 숨김 */
    .site-link-popup::before,
    .site-link-popup.popup-below::before {
        display: none;
    }

    .popup-content {
        max-height: calc(100vh - 140px);
        overflow-y: auto;
    }

    /* 바디 스크롤 잠금 클래스 */
    body.popup-open {
        overflow: hidden;
        position: fixed;
        width: 100%;
    }
}

/* 모바일 반응형 */
@media (max-width: 768px) {
    .popup-inner {
        padding: 15px;
    }

    .link-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 8px 16px;
    }
}

/* ========== FOOTER STYLES ========== */
.site-footer {
    background-color: #f4f5f6;
    border-top: 1px solid #e3e3e3;
    padding: 60px 0;
    position: relative;
}

.footer-container {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}

.footer-logo-images {
    position: relative;
    width: 258.55px;
    height: 43.55px;
    background-image: url("data:image/svg+xml,%3Csvg width='259' height='44' viewBox='0 0 259 44' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.21 17.7604C11.37 17.2604 10.45 16.5404 9.47 15.6104C8.49 14.6804 7.71 13.6304 7.14 12.4704C6.68 13.6304 5.95 14.7304 4.95 15.7404C3.95 16.7604 3.06 17.5004 2.28 17.9704L0 15.8604C1.18 15.2004 2.39 14.1104 3.62 12.6004C4.85 11.0904 5.46 9.01043 5.46 6.38043V1.33043H8.73V6.38043C8.73 9.02043 9.36 11.0404 10.62 12.4604C11.88 13.8804 13.02 14.8804 14.05 15.4804L12.21 17.7604ZM18.39 11.6404V21.5404H15.3V0.19043H18.39V8.58043H21.27V11.6404H18.39Z' fill='%23727373'/%3E%3Cpath d='M31.2308 11.5804C29.5608 11.7504 27.9808 11.8504 26.4708 11.8804H22.5508V1.35043H33.1008V4.16043H25.6108V9.01043H28.0108C28.8208 9.01043 30.0008 8.93043 31.5208 8.77043C33.0508 8.61043 34.1408 8.47043 34.7808 8.36043V11.1304C34.0708 11.2604 32.8908 11.4104 31.2208 11.5804H31.2308ZM24.7508 21.0604V13.8104H27.8608V18.2704H39.8708V21.0604H24.7508ZM39.2608 9.22043V15.6204H36.2008V0.19043H39.2608V6.38043H42.0308V9.22043H39.2608Z' fill='%23727373'/%3E%3Cpath d='M58.1394 11.6702V7.16019H54.3394V11.2102H43.8594V0.950195H46.9194V3.64019H51.2994V0.950195H54.3394V4.3702H58.1394V0.200195H61.1994V11.6702H58.1394ZM46.1994 21.3002V12.5902H49.2894V14.4302H58.0494V12.5902H61.1394V21.3002H46.2094H46.1994ZM51.2894 6.3802H46.9094V8.4702H51.2894V6.3802ZM58.0394 17.0302H49.2794V18.6502H58.0394V17.0302Z' fill='%23727373'/%3E%3Cpath d='M74.7208 2.2902C75.8308 3.4002 76.3908 4.74019 76.3908 6.33019C76.3908 7.92019 75.8308 9.22019 74.7208 10.3302C73.6108 11.4502 72.1908 12.0002 70.4708 12.0002C68.7508 12.0002 67.3308 11.4402 66.2208 10.3302C65.1108 9.21019 64.5508 7.88019 64.5508 6.33019C64.5508 4.78019 65.1108 3.4002 66.2208 2.2902C67.3308 1.1802 68.7508 0.630195 70.4708 0.630195C72.1908 0.630195 73.6108 1.1802 74.7208 2.2902ZM67.5408 21.0602V13.9802H70.6708V18.2702H83.1108V21.0602H67.5308H67.5408ZM68.3908 4.25019C67.9008 4.83019 67.6508 5.53019 67.6508 6.34019C67.6508 7.15019 67.9008 7.82019 68.3908 8.40019C68.8808 8.98019 69.5708 9.2702 70.4608 9.2702C71.3508 9.2702 72.0408 8.98019 72.5208 8.40019C73.0008 7.82019 73.2508 7.13019 73.2508 6.34019C73.2508 5.55019 73.0108 4.84019 72.5208 4.25019C72.0408 3.67019 71.3508 3.38019 70.4608 3.38019C69.5708 3.38019 68.8808 3.67019 68.3908 4.25019ZM79.5008 15.6002V0.200195H82.5608V15.6002H79.5008Z' fill='%23727373'/%3E%3Cpath d='M100.771 16.8204C99.8808 16.9604 98.6608 17.0304 97.1108 17.0304H94.0508V2.57043H101.451V5.38043H97.1208V14.2104H98.5008C99.2508 14.1904 100.041 14.1304 100.871 14.0204C101.701 13.9104 102.271 13.8304 102.581 13.7804V16.5504C102.271 16.6004 101.671 16.6904 100.781 16.8304L100.771 16.8204ZM108.491 21.5404V11.3004H106.601V20.5704H103.651V0.680429H106.601V8.05043H108.491V0.19043H111.441V21.5404H108.491Z' fill='%23727373'/%3E%3Cpath d='M114.039 5.97V3.45H126.849V5.97H114.039ZM124.639 13.08C123.549 13.79 122.139 14.15 120.419 14.15C118.809 14.15 117.429 13.79 116.279 13.08C115.139 12.37 114.559 11.49 114.559 10.44C114.559 9.39 115.129 8.44 116.279 7.74C117.419 7.04 118.809 6.68 120.439 6.68C122.159 6.68 123.559 7.04 124.649 7.75C125.729 8.46 126.269 9.37 126.269 10.47C126.269 11.51 125.719 12.38 124.629 13.09L124.639 13.08ZM116.829 21.06V15.17H120.149V18.4H132.089V21.07H116.839L116.829 21.06ZM116.969 2.43V0H123.859V2.43H116.969ZM122.299 9.42C121.769 9.2 121.169 9.09 120.489 9.09C119.809 9.09 119.149 9.2 118.589 9.42C118.029 9.64 117.749 9.97 117.749 10.4C117.749 10.83 118.029 11.18 118.589 11.38C119.149 11.58 119.779 11.68 120.489 11.68C121.199 11.68 121.769 11.58 122.299 11.38C122.829 11.18 123.089 10.86 123.089 10.42C123.089 9.98 122.829 9.63 122.299 9.41V9.42ZM131.459 9.41V15.84H128.369V0.190001H131.459V6.5H134.159V9.41H131.459Z' fill='%23727373'/%3E%3Cpath d='M134.529 19.1404V16.3704H154.809V19.1404H134.529ZM151.949 13.5404C150.869 13.2204 149.589 12.5404 148.089 11.5004C146.589 10.4704 145.449 9.33043 144.669 8.10043C143.959 9.30043 142.879 10.4004 141.419 11.4204C139.959 12.4404 138.609 13.1304 137.359 13.5104L135.359 11.1804C137.329 10.5204 139.089 9.51043 140.639 8.15043C142.189 6.79043 142.969 5.16043 142.969 3.25043V1.19043H146.379V3.25043C146.379 5.16043 147.119 6.77043 148.599 8.08043C150.079 9.39043 151.839 10.4304 153.869 11.1804L151.959 13.5304L151.949 13.5404Z' fill='%23727373'/%3E%3Cpath d='M155.539 19.5295V16.7595H164.089V13.4395H157.269V10.6495H160.469L160.049 5.52953H163.139L163.509 10.6495H167.839L168.249 5.52953H171.339L170.879 10.6495H174.059V13.4395H167.239V16.7595H175.809V19.5295H155.529H155.539ZM157.749 4.55953V1.76953H173.629V4.55953H157.749Z' fill='%23727373'/%3E%3Cpath d='M176.561 19.4597V16.6697H196.841V19.4597H176.561ZM193.931 14.5097C193.611 14.4597 192.611 14.1797 190.951 13.6597C189.281 13.1397 187.891 12.1897 186.771 10.7997C185.511 12.2697 184.071 13.2497 182.451 13.7197C180.831 14.1997 179.861 14.4597 179.541 14.5097L177.701 12.1097C178.241 11.9997 179.431 11.6697 181.271 11.1197C183.111 10.5697 184.321 9.57973 184.891 8.13973H178.711V5.36973H194.731V8.13973H188.531C189.251 9.54973 190.511 10.5297 192.301 11.0997C194.091 11.6697 195.251 12.0097 195.791 12.1197L193.951 14.5197L193.931 14.5097ZM182.411 3.73973V0.969727H190.911V3.73973H182.411Z' fill='%23727373'/%3E%3Cpath d='M209.569 17.1504C208.179 17.3304 206.719 17.4504 205.199 17.5104C203.879 17.5604 202.419 17.5804 200.829 17.5704C199.239 17.5604 198.389 17.5604 198.279 17.5604V14.7204C198.419 14.7204 199.509 14.7204 201.539 14.7304C203.579 14.7304 205.289 14.7104 206.689 14.6504C207.639 14.6204 208.739 14.5304 209.969 14.3704C211.209 14.2204 212.169 14.0804 212.859 13.9704V16.6104C212.049 16.7904 210.939 16.9704 209.549 17.1404L209.569 17.1504ZM209.389 10.8204C208.269 11.9204 206.829 12.4704 205.079 12.4704C203.329 12.4704 201.899 11.9204 200.779 10.8204C199.669 9.72043 199.109 8.41043 199.109 6.89043C199.109 5.37043 199.669 4.07043 200.779 2.98043C201.889 1.90043 203.329 1.36043 205.079 1.36043C206.829 1.36043 208.269 1.90043 209.389 2.98043C210.509 4.06043 211.069 5.37043 211.069 6.89043C211.069 8.41043 210.509 9.72043 209.389 10.8204ZM207.269 4.91043C206.759 4.35043 206.029 4.07043 205.079 4.07043C204.129 4.07043 203.439 4.34043 202.919 4.89043C202.409 5.44043 202.149 6.10043 202.149 6.88043C202.149 7.66043 202.409 8.33043 202.919 8.89043C203.429 9.46043 204.149 9.74043 205.079 9.74043C206.009 9.74043 206.759 9.46043 207.269 8.90043C207.779 8.34043 208.029 7.68043 208.029 6.90043C208.029 6.12043 207.779 5.46043 207.269 4.90043V4.91043ZM213.589 21.5404V0.19043H216.649V21.5404H213.589Z' fill='%23727373'/%3E%3Cpath d='M219.119 5.92V3.42H231.929V5.92H219.119ZM229.729 12.58C228.659 13.25 227.259 13.59 225.519 13.59C223.969 13.59 222.609 13.26 221.439 12.58C220.269 11.91 219.689 11.06 219.689 10.04C219.689 9.02 220.279 8.15 221.449 7.53C222.619 6.91 223.999 6.6 225.589 6.6C227.259 6.6 228.639 6.91 229.709 7.53C230.789 8.15 231.319 8.98 231.319 10.02C231.319 11.06 230.789 11.91 229.719 12.58H229.729ZM233.339 21.54V17.44H221.359V14.75H236.549V21.54H233.349H233.339ZM222.049 2.45V0H228.939V2.45H222.049ZM227.349 9.13C226.859 8.93 226.269 8.83 225.579 8.83C224.889 8.83 224.299 8.93 223.769 9.14C223.239 9.35 222.969 9.65 222.969 10.04C222.969 10.43 223.229 10.73 223.749 10.94C224.269 11.15 224.879 11.25 225.569 11.25C226.259 11.25 226.869 11.14 227.359 10.92C227.839 10.7 228.089 10.4 228.089 10.01C228.089 9.62 227.839 9.33 227.349 9.12V9.13ZM236.539 8.76V13.78H233.449V0.200001H236.539V5.85H239.209V8.76H236.539Z' fill='%23727373'/%3E%3Cpath d='M250.341 18.5004C248.371 18.6204 246.241 18.6804 243.931 18.6804H240.221V15.8404H245.961V14.2404C244.881 14.0104 243.951 13.6104 243.151 13.0304C242.351 12.4504 241.951 11.7204 241.951 10.8504C241.951 9.80043 242.491 8.95043 243.571 8.31043C244.651 7.67043 245.951 7.35043 247.451 7.35043C249.051 7.35043 250.371 7.67043 251.411 8.31043C252.451 8.95043 252.981 9.79043 252.981 10.8504C252.981 11.7204 252.611 12.4304 251.871 12.9804C251.131 13.5304 250.261 13.9304 249.241 14.1704V15.7704C249.871 15.7704 250.771 15.7204 251.941 15.6204C253.111 15.5204 254.041 15.4304 254.751 15.3504V18.1204C253.771 18.2504 252.291 18.3704 250.331 18.5004H250.341ZM241.241 6.79043V4.22043H253.681V6.79043H241.241ZM244.081 3.13043V0.66043H250.811V3.13043H244.081ZM245.761 9.95043C245.251 10.1604 245.001 10.4604 245.001 10.8504C245.001 11.2404 245.251 11.5604 245.761 11.7604C246.271 11.9604 246.841 12.0604 247.471 12.0604C248.101 12.0604 248.721 11.9504 249.231 11.7404C249.741 11.5304 250.001 11.2304 250.001 10.8404C250.001 10.4504 249.751 10.1504 249.241 9.94043C248.731 9.73043 248.141 9.62043 247.471 9.62043C246.841 9.62043 246.271 9.73043 245.761 9.94043V9.95043ZM255.481 21.5404V0.19043H258.551V21.5404H255.481Z' fill='%23727373'/%3E%3Cpath d='M6.8586 32.2393V41.4493L5.2886 41.4193V32.2393H2.05859V30.7393H10.1286V32.2393H6.8686H6.8586Z' fill='%23727373'/%3E%3Cpath d='M16.0889 41.4487V36.9087C16.0889 36.2587 15.9589 35.7888 15.7089 35.4888C15.4589 35.1988 15.0689 35.0487 14.5489 35.0487C13.9989 35.0487 13.5489 35.2387 13.1989 35.6287C12.8489 36.0187 12.6789 36.5087 12.6789 37.1087V41.4587H11.1289V30.7188H12.6789V34.4688C12.9889 34.1688 13.3689 33.9187 13.7989 33.6987C14.2389 33.4887 14.7589 33.4188 15.3689 33.4888C16.1589 33.5688 16.7289 33.9087 17.0889 34.4987C17.4489 35.0887 17.6189 35.6487 17.6189 36.1887V41.4587H16.0789L16.0889 41.4487Z' fill='%23727373'/%3E%3Cpath d='M20.3692 38.0996C20.4292 38.6996 20.6492 39.2196 21.0392 39.6396C21.4292 40.0696 21.8992 40.2896 22.4492 40.2896C22.9992 40.2896 23.3992 40.1596 23.6892 39.9096C23.9792 39.6596 24.1592 39.4196 24.2292 39.1996H25.9092C25.7492 39.7496 25.3992 40.3096 24.8692 40.8896C24.3392 41.4596 23.5392 41.7496 22.4792 41.7496C21.4192 41.7496 20.4792 41.3396 19.7692 40.5296C19.0592 39.7096 18.6992 38.7196 18.6992 37.5496C18.6992 36.3796 19.0392 35.3596 19.7292 34.5596C20.4192 33.7596 21.3292 33.3496 22.4592 33.3496C23.4492 33.3496 24.3292 33.7396 25.0992 34.5096C25.8692 35.2796 26.2292 36.4796 26.1592 38.1096H20.3592L20.3692 38.0996ZM24.4992 36.7596C24.4292 36.1796 24.2192 35.7096 23.8592 35.3396C23.4992 34.9796 23.0292 34.7896 22.4492 34.7896C21.8692 34.7896 21.4392 34.9596 21.0792 35.3096C20.7092 35.6596 20.4792 36.1396 20.3692 36.7496H24.4992V36.7596Z' fill='%23727373'/%3E%3Cpath d='M39.1287 41.4287L35.1387 36.5487C34.9187 36.7587 34.6887 36.9788 34.4487 37.2188C34.2087 37.4488 34.0387 37.6188 33.9387 37.7188V41.4387H32.3887V30.7287H33.9387V35.7087C34.5987 35.0687 35.3187 34.2987 36.1287 33.4087C36.9287 32.5187 37.6787 31.6187 38.3687 30.7188H40.2487C39.5587 31.5987 38.8687 32.4387 38.1887 33.2487C37.5087 34.0587 36.8687 34.7687 36.2687 35.3887L41.0187 41.4287H39.1187H39.1287Z' fill='%23727373'/%3E%3Cpath d='M46.9891 34.5989C47.6691 35.3889 48.0091 36.3789 48.0091 37.5689C48.0091 38.7589 47.6691 39.7389 46.9891 40.5489C46.3091 41.3489 45.3991 41.7589 44.2491 41.7589C43.0991 41.7589 42.2091 41.3589 41.5391 40.5489C40.8691 39.7489 40.5391 38.7489 40.5391 37.5689C40.5391 36.3889 40.8691 35.3889 41.5391 34.5989C42.2091 33.8089 43.1091 33.4189 44.2491 33.4189C45.3891 33.4189 46.3091 33.8089 46.9891 34.5989ZM45.7791 39.5189C46.1491 39.0089 46.3391 38.3589 46.3391 37.5689C46.3391 36.7789 46.1491 36.1389 45.7791 35.6389C45.4091 35.1389 44.8891 34.8989 44.2491 34.8989C43.6091 34.8989 43.1091 35.1489 42.7391 35.6389C42.3691 36.1289 42.1791 36.7789 42.1791 37.5689C42.1791 38.3589 42.3691 39.0089 42.7391 39.5189C43.1091 40.0289 43.6091 40.2889 44.2491 40.2889C44.8891 40.2889 45.4091 40.0289 45.7791 39.5189Z' fill='%23727373'/%3E%3Cpath d='M53.2083 35.0487C52.9383 35.0487 52.7083 35.0687 52.5183 35.0987C52.3183 35.1387 52.1283 35.2087 51.9283 35.3187C51.5483 35.5387 51.2583 35.8387 51.0683 36.2287C50.8783 36.6087 50.7883 37.1287 50.7883 37.7787V41.4587H49.2383V33.7187H50.7883V34.6887C50.9383 34.4587 51.1183 34.2487 51.3383 34.0687C51.5483 33.8787 51.7883 33.7287 52.0583 33.6087C52.2583 33.5087 52.4883 33.4487 52.7583 33.4287C53.0283 33.4087 53.1783 33.3887 53.2183 33.3887V35.0587L53.2083 35.0487Z' fill='%23727373'/%3E%3Cpath d='M54.9884 38.0996C55.0484 38.6996 55.2684 39.2196 55.6584 39.6396C56.0484 40.0696 56.5184 40.2896 57.0684 40.2896C57.6184 40.2896 58.0184 40.1596 58.3084 39.9096C58.5984 39.6596 58.7784 39.4196 58.8484 39.1996H60.5284C60.3684 39.7496 60.0184 40.3096 59.4884 40.8896C58.9584 41.4596 58.1584 41.7496 57.0984 41.7496C56.0384 41.7496 55.0984 41.3396 54.3884 40.5296C53.6784 39.7096 53.3184 38.7196 53.3184 37.5496C53.3184 36.3796 53.6584 35.3596 54.3484 34.5596C55.0384 33.7596 55.9484 33.3496 57.0784 33.3496C58.0684 33.3496 58.9484 33.7396 59.7184 34.5096C60.4884 35.2796 60.8484 36.4796 60.7784 38.1096H54.9784L54.9884 38.0996ZM59.1284 36.7596C59.0584 36.1796 58.8484 35.7096 58.4884 35.3396C58.1284 34.9796 57.6584 34.7896 57.0784 34.7896C56.4984 34.7896 56.0684 34.9596 55.7084 35.3096C55.3384 35.6596 55.1084 36.1396 55.0084 36.7496H59.1384L59.1284 36.7596Z' fill='%23727373'/%3E%3Cpath d='M67.1594 41.4192C67.0994 41.3092 67.0494 41.1692 66.9994 41.0092C66.9494 40.8492 66.9194 40.6792 66.8994 40.4892C66.6094 40.7792 66.2494 41.0392 65.7994 41.2792C65.3494 41.5092 64.8594 41.6592 64.3294 41.7092C63.6094 41.7692 62.9694 41.6392 62.4094 41.3092C61.8494 40.9792 61.5294 40.4692 61.4494 39.7592C61.3594 39.0492 61.4894 38.4692 61.8494 38.0392C62.2094 37.5992 62.6694 37.2892 63.2294 37.1092C63.6694 36.9692 64.1094 36.8892 64.5694 36.8592C65.0294 36.8292 65.4594 36.7792 65.8694 36.7092C66.0894 36.6592 66.3194 36.5992 66.5494 36.5192C66.7894 36.4392 66.9094 36.2392 66.9094 35.9392C66.9094 35.6692 66.7694 35.4192 66.4994 35.1792C66.2194 34.9492 65.7794 34.8292 65.1594 34.8292C64.5394 34.8292 64.0994 34.9592 63.7894 35.2292C63.4694 35.4992 63.3294 35.8092 63.3594 36.1792H61.8794C61.7994 35.3492 62.0994 34.6892 62.7594 34.1892C63.4194 33.6892 64.2194 33.4492 65.1494 33.4492C66.0294 33.4492 66.8094 33.6692 67.4894 34.1192C68.1594 34.5592 68.4994 35.1892 68.4994 35.9992V40.1892C68.4994 40.5292 68.5394 40.8192 68.6094 41.0492C68.6894 41.2792 68.7294 41.4192 68.7394 41.4492H67.1594V41.4192ZM66.9194 37.6292C66.8094 37.6892 66.6894 37.7392 66.5594 37.7792C66.4394 37.8192 66.3094 37.8592 66.1794 37.8992C65.8894 37.9692 65.5294 38.0292 65.0994 38.0892C64.6794 38.1492 64.3494 38.2092 64.1194 38.2892C63.7594 38.4192 63.4794 38.5692 63.2794 38.7492C63.0794 38.9292 63.0094 39.1992 63.0794 39.5492C63.1494 39.8992 63.3494 40.1192 63.6894 40.1892C64.0294 40.2692 64.3594 40.2892 64.6894 40.2492C65.3594 40.1592 65.8994 39.9192 66.3094 39.5392C66.7094 39.1592 66.9194 38.7792 66.9194 38.4092V37.6292Z' fill='%23727373'/%3E%3Cpath d='M75.0086 41.4491V36.9091C74.9986 36.2591 74.8686 35.7891 74.6186 35.4891C74.3686 35.1991 73.9786 35.0491 73.4586 35.0491C72.9086 35.0491 72.4586 35.2391 72.1186 35.6191C71.7786 35.9991 71.6086 36.4991 71.6086 37.0991V41.4491H70.0586V33.7491H71.6086V34.4391C71.9186 34.1391 72.2886 33.8891 72.7086 33.6791C73.1286 33.4691 73.6486 33.4091 74.2586 33.4791C75.0586 33.5591 75.6386 33.8991 76.0086 34.4891C76.3786 35.0891 76.5586 35.6491 76.5586 36.1891V41.4391H75.0186L75.0086 41.4491Z' fill='%23727373'/%3E%3Cpath d='M90.1695 37.0091C90.4895 37.5391 90.6095 38.1291 90.5295 38.7591C90.4395 39.5791 90.0595 40.2991 89.3995 40.9291C88.7395 41.5591 87.8095 41.8791 86.5895 41.8791C85.2395 41.8791 84.2295 41.4391 83.5495 40.5591C82.8795 39.6791 82.5295 38.7691 82.5195 37.8291H84.0895C84.1095 38.5991 84.3595 39.2091 84.8295 39.6691C85.2995 40.1291 85.8895 40.3591 86.5795 40.3591C87.2695 40.3591 87.8095 40.1991 88.1595 39.8791C88.5095 39.5591 88.7395 39.1691 88.8295 38.7091C88.9195 38.3391 88.8595 38.0291 88.6695 37.7691C88.4795 37.5191 88.1995 37.2991 87.8395 37.1191C87.3995 36.8891 86.9295 36.7491 86.4195 36.7091C85.9095 36.6691 85.3995 36.5391 84.8895 36.3191C84.2095 36.0291 83.6795 35.6591 83.3195 35.2091C82.9595 34.7591 82.7995 34.1691 82.8295 33.4391C82.8695 32.7291 83.1895 32.0391 83.7795 31.3691C84.3795 30.6991 85.2795 30.3691 86.4895 30.3691C87.8995 30.3691 88.8695 30.8091 89.3995 31.6891C89.9395 32.5691 90.1895 33.3191 90.1795 33.9391H88.6295C88.6295 33.3791 88.4495 32.8991 88.0995 32.4891C87.7595 32.0791 87.2195 31.8691 86.4895 31.8691C85.8195 31.8691 85.3195 32.0391 85.0095 32.3891C84.6995 32.7391 84.5295 33.0991 84.5295 33.4791C84.5295 33.9091 84.6495 34.2291 84.9095 34.4491C85.1695 34.6591 85.4495 34.8291 85.7595 34.9391C86.1295 35.0691 86.5995 35.1791 87.1595 35.2691C87.7295 35.3591 88.2795 35.5391 88.8195 35.8091C89.3795 36.0791 89.8195 36.4791 90.1395 37.0091H90.1695Z' fill='%23727373'/%3E%3Cpath d='M97.5887 34.5989C98.2687 35.3889 98.6087 36.3789 98.6087 37.5689C98.6087 38.7589 98.2687 39.7389 97.5887 40.5489C96.9087 41.3489 95.9987 41.7589 94.8487 41.7589C93.6987 41.7589 92.8087 41.3589 92.1387 40.5489C91.4687 39.7489 91.1387 38.7489 91.1387 37.5689C91.1387 36.3889 91.4687 35.3889 92.1387 34.5989C92.8087 33.8089 93.7087 33.4189 94.8487 33.4189C95.9887 33.4189 96.9087 33.8089 97.5887 34.5989ZM96.3787 39.5189C96.7487 39.0089 96.9387 38.3589 96.9387 37.5689C96.9387 36.7789 96.7487 36.1389 96.3787 35.6389C96.0087 35.1389 95.4887 34.8989 94.8487 34.8989C94.2087 34.8989 93.7087 35.1489 93.3387 35.6389C92.9687 36.1289 92.7787 36.7789 92.7787 37.5689C92.7787 38.3589 92.9687 39.0089 93.3387 39.5189C93.7087 40.0289 94.2087 40.2889 94.8487 40.2889C95.4887 40.2889 96.0087 40.0289 96.3787 39.5189Z' fill='%23727373'/%3E%3Cpath d='M105.019 36.2187C104.959 35.9487 104.789 35.6587 104.499 35.3487C104.209 35.0387 103.779 34.8887 103.209 34.8887C102.549 34.8887 102.039 35.1387 101.679 35.6387C101.309 36.1387 101.129 36.7887 101.129 37.5687C101.129 38.3487 101.319 39.0087 101.689 39.5087C102.059 40.0187 102.569 40.2687 103.209 40.2687C103.709 40.2687 104.119 40.1287 104.439 39.8387C104.749 39.5587 104.939 39.2487 105.009 38.9187H106.679C106.509 39.6187 106.139 40.2687 105.559 40.8587C104.989 41.4487 104.199 41.7487 103.199 41.7487C102.049 41.7487 101.139 41.3487 100.479 40.5387C99.8085 39.7387 99.4785 38.7387 99.4785 37.5587C99.4785 36.3787 99.8085 35.3787 100.479 34.5787C101.139 33.7887 102.049 33.3887 103.199 33.3887C104.209 33.3887 105.009 33.6987 105.619 34.3087C106.219 34.9287 106.589 35.5587 106.709 36.2087H105.029L105.019 36.2187Z' fill='%23727373'/%3E%3Cpath d='M107.77 32.299V30.709H109.31V32.299H107.77ZM107.77 41.419V33.669H109.29V41.419H107.77Z' fill='%23727373'/%3E%3Cpath d='M112.19 38.0996C112.25 38.6996 112.47 39.2196 112.86 39.6396C113.25 40.0696 113.72 40.2896 114.27 40.2896C114.82 40.2896 115.22 40.1596 115.51 39.9096C115.8 39.6596 115.98 39.4196 116.05 39.1996H117.73C117.57 39.7496 117.22 40.3096 116.69 40.8896C116.16 41.4596 115.36 41.7496 114.3 41.7496C113.24 41.7496 112.3 41.3396 111.59 40.5296C110.88 39.7096 110.52 38.7196 110.52 37.5496C110.52 36.3796 110.86 35.3596 111.55 34.5596C112.24 33.7596 113.15 33.3496 114.28 33.3496C115.27 33.3496 116.15 33.7396 116.92 34.5096C117.69 35.2796 118.05 36.4796 117.98 38.1096H112.18L112.19 38.0996ZM116.32 36.7596C116.25 36.1796 116.04 35.7096 115.68 35.3396C115.32 34.9796 114.85 34.7896 114.27 34.7896C113.69 34.7896 113.26 34.9596 112.9 35.3096C112.53 35.6596 112.3 36.1396 112.2 36.7496H116.33L116.32 36.7596Z' fill='%23727373'/%3E%3Cpath d='M121.069 41.4689C120.789 41.4689 120.539 41.4089 120.339 41.2789C120.139 41.1489 119.959 41.0089 119.809 40.8489C119.659 40.6689 119.549 40.4689 119.499 40.2389C119.439 40.0189 119.409 39.7089 119.409 39.3289V35.1289H118.529V33.7589H119.409V31.3789H120.979V33.7489H122.049V35.1289H120.999V39.5189C120.999 39.6389 121.059 39.7689 121.189 39.8889C121.319 39.9789 121.469 40.0389 121.619 40.0589C121.769 40.0789 121.919 40.0989 122.059 40.0989V41.4689H121.089H121.069Z' fill='%23727373'/%3E%3Cpath d='M126.878 42.1293C126.778 42.4093 126.638 42.6493 126.458 42.8493C126.268 43.0493 126.088 43.1993 125.898 43.3093C125.698 43.4293 125.468 43.4993 125.218 43.5093C124.958 43.5193 124.728 43.5293 124.508 43.5293H123.828V42.1593H124.558C124.768 42.1593 124.958 42.1093 125.138 42.0193C125.308 41.9293 125.428 41.7893 125.488 41.6193L125.698 41.1593L122.758 33.7393H124.358L126.478 39.0493L128.548 33.7393H130.128L126.898 42.1193L126.878 42.1293Z' fill='%23727373'/%3E%3Cpath d='M141.948 34.5989C142.628 35.3889 142.968 36.3789 142.968 37.5689C142.968 38.7589 142.628 39.7389 141.948 40.5489C141.268 41.3489 140.358 41.7589 139.208 41.7589C138.058 41.7589 137.168 41.3589 136.498 40.5489C135.828 39.7489 135.498 38.7489 135.498 37.5689C135.498 36.3889 135.828 35.3889 136.498 34.5989C137.168 33.8089 138.068 33.4189 139.208 33.4189C140.348 33.4189 141.268 33.8089 141.948 34.5989ZM140.738 39.5189C141.108 39.0089 141.298 38.3589 141.298 37.5689C141.298 36.7789 141.108 36.1389 140.738 35.6389C140.368 35.1389 139.848 34.8989 139.208 34.8989C138.568 34.8989 138.068 35.1489 137.698 35.6389C137.328 36.1289 137.138 36.7789 137.138 37.5689C137.138 38.3589 137.328 39.0089 137.698 39.5189C138.068 40.0289 138.568 40.2889 139.208 40.2889C139.848 40.2889 140.368 40.0289 140.738 39.5189Z' fill='%23727373'/%3E%3Cpath d='M145.948 35.0487V41.4587H144.368V35.0487H143.488V33.6487H144.388V32.7787C144.388 32.3987 144.408 32.0987 144.458 31.8887C144.508 31.6787 144.608 31.4787 144.768 31.2987C144.898 31.1087 145.068 30.9587 145.278 30.8487C145.488 30.7387 145.738 30.6787 146.028 30.6787H146.998V32.0887C146.878 32.0887 146.728 32.0887 146.568 32.0787C146.408 32.0787 146.278 32.1187 146.168 32.2287C146.048 32.3287 145.978 32.4487 145.958 32.5687C145.948 32.6987 145.938 32.8587 145.938 33.0387V33.6387H146.988V35.0487H145.938H145.948Z' fill='%23727373'/%3E%3Cpath d='M160.318 37.0091C160.638 37.5391 160.758 38.1291 160.678 38.7591C160.588 39.5791 160.208 40.2991 159.548 40.9291C158.888 41.5591 157.958 41.8791 156.738 41.8791C155.388 41.8791 154.378 41.4391 153.698 40.5591C153.028 39.6791 152.678 38.7691 152.668 37.8291H154.238C154.258 38.5991 154.508 39.2091 154.978 39.6691C155.448 40.1291 156.038 40.3591 156.728 40.3591C157.418 40.3591 157.958 40.1991 158.308 39.8791C158.658 39.5591 158.888 39.1691 158.978 38.7091C159.068 38.3391 159.008 38.0291 158.818 37.7691C158.628 37.5191 158.348 37.2991 157.988 37.1191C157.548 36.8891 157.078 36.7491 156.568 36.7091C156.058 36.6691 155.548 36.5391 155.038 36.3191C154.358 36.0291 153.828 35.6591 153.468 35.2091C153.108 34.7591 152.948 34.1691 152.978 33.4391C153.018 32.7291 153.338 32.0391 153.938 31.3691C154.538 30.6991 155.438 30.3691 156.648 30.3691C158.058 30.3691 159.028 30.8091 159.558 31.6891C160.098 32.5691 160.348 33.3191 160.338 33.9391H158.788C158.788 33.3791 158.608 32.8991 158.258 32.4891C157.918 32.0791 157.378 31.8691 156.648 31.8691C155.978 31.8691 155.478 32.0391 155.168 32.3891C154.858 32.7291 154.688 33.0991 154.688 33.4791C154.688 33.9091 154.808 34.2291 155.068 34.4491C155.328 34.6591 155.608 34.8291 155.918 34.9391C156.288 35.0691 156.758 35.1791 157.318 35.2691C157.888 35.3591 158.438 35.5391 158.978 35.8091C159.538 36.0791 159.978 36.4791 160.298 37.0091H160.318Z' fill='%23727373'/%3E%3Cpath d='M168.209 34.5392C168.859 35.2892 169.179 36.2992 169.179 37.5692C169.179 38.8392 168.859 39.8492 168.209 40.6092C167.559 41.3592 166.719 41.7392 165.689 41.7392C165.239 41.7392 164.819 41.6492 164.429 41.4792C164.039 41.2992 163.679 41.0492 163.349 40.7192V43.5492H161.799V33.7392H163.349V34.3992C163.669 34.0692 164.029 33.8192 164.429 33.6592C164.819 33.4892 165.239 33.4092 165.689 33.4092C166.729 33.4092 167.569 33.7892 168.209 34.5292V34.5392ZM166.959 39.5192C167.329 39.0292 167.509 38.3792 167.509 37.5592C167.509 36.7392 167.329 36.0792 166.959 35.5992C166.589 35.1292 166.079 34.8892 165.409 34.8892C164.739 34.8892 164.249 35.1292 163.889 35.5992C163.529 36.0692 163.349 36.7292 163.349 37.5592C163.349 38.3892 163.529 39.0292 163.889 39.5192C164.249 40.0092 164.759 40.2492 165.409 40.2492C166.059 40.2492 166.589 40.0092 166.959 39.5192Z' fill='%23727373'/%3E%3Cpath d='M176.479 34.5989C177.159 35.3889 177.499 36.3789 177.499 37.5689C177.499 38.7589 177.159 39.7389 176.479 40.5489C175.799 41.3489 174.889 41.7589 173.739 41.7589C172.589 41.7589 171.699 41.3589 171.029 40.5489C170.359 39.7489 170.029 38.7489 170.029 37.5689C170.029 36.3889 170.359 35.3889 171.029 34.5989C171.699 33.8089 172.599 33.4189 173.739 33.4189C174.879 33.4189 175.799 33.8089 176.479 34.5989ZM175.269 39.5189C175.639 39.0089 175.829 38.3589 175.829 37.5689C175.829 36.7789 175.639 36.1389 175.269 35.6389C174.899 35.1389 174.379 34.8989 173.739 34.8989C173.099 34.8989 172.599 35.1489 172.229 35.6389C171.859 36.1289 171.669 36.7789 171.669 37.5689C171.669 38.3589 171.859 39.0089 172.229 39.5189C172.599 40.0289 173.099 40.2889 173.739 40.2889C174.379 40.2889 174.899 40.0289 175.269 39.5189Z' fill='%23727373'/%3E%3Cpath d='M182.699 35.0487C182.429 35.0487 182.199 35.0687 182.009 35.0987C181.809 35.1387 181.619 35.2087 181.419 35.3187C181.039 35.5387 180.749 35.8387 180.559 36.2287C180.369 36.6087 180.279 37.1287 180.279 37.7787V41.4587H178.729V33.7187H180.279V34.6887C180.429 34.4587 180.609 34.2487 180.829 34.0687C181.039 33.8787 181.279 33.7287 181.549 33.6087C181.749 33.5087 181.979 33.4487 182.249 33.4287C182.519 33.4087 182.669 33.3887 182.709 33.3887V35.0587L182.699 35.0487Z' fill='%23727373'/%3E%3Cpath d='M186.048 41.4689C185.768 41.4689 185.518 41.4089 185.318 41.2789C185.118 41.1489 184.938 41.0089 184.788 40.8489C184.638 40.6689 184.528 40.4689 184.478 40.2389C184.418 40.0189 184.388 39.7089 184.388 39.3289V35.1289H183.508V33.7589H184.388V31.3789H185.958V33.7489H187.028V35.1289H185.978V39.5189C185.978 39.6389 186.038 39.7689 186.168 39.8889C186.298 39.9789 186.448 40.0389 186.598 40.0589C186.748 40.0789 186.898 40.0989 187.038 40.0989V41.4689H186.068H186.048Z' fill='%23727373'/%3E%3Cpath d='M193.928 38.0496C194.218 38.3596 194.348 38.7596 194.318 39.2596C194.278 39.9496 193.948 40.5396 193.328 41.0296C192.708 41.5196 191.958 41.7596 191.098 41.7596C189.788 41.7596 188.888 41.4096 188.408 40.6996C187.928 39.9896 187.668 39.3896 187.648 38.8996H189.148C189.188 39.2696 189.368 39.5896 189.698 39.8696C190.028 40.1496 190.468 40.2796 191.028 40.2796C191.488 40.2796 191.868 40.1996 192.158 40.0196C192.448 39.8496 192.618 39.6296 192.668 39.3496C192.698 39.1496 192.638 38.9796 192.508 38.8296C192.368 38.6896 192.178 38.5596 191.918 38.4496C191.518 38.2696 191.078 38.1296 190.608 38.0396C190.128 37.9496 189.748 37.8496 189.438 37.7496C188.958 37.5796 188.568 37.3296 188.288 36.9796C187.998 36.6396 187.878 36.2096 187.918 35.6796C187.958 35.1096 188.248 34.5796 188.788 34.0896C189.328 33.5996 190.058 33.3496 190.978 33.3496C191.998 33.3496 192.768 33.6396 193.298 34.2096C193.828 34.7896 194.078 35.3496 194.048 35.9096H192.568C192.568 35.6996 192.458 35.4596 192.208 35.1996C191.958 34.9396 191.548 34.8096 190.978 34.8096C190.488 34.8096 190.118 34.8996 189.878 35.0696C189.638 35.2496 189.508 35.4496 189.498 35.6796C189.498 35.9596 189.578 36.1596 189.768 36.2696C189.958 36.3896 190.188 36.4796 190.448 36.5596C190.778 36.6596 191.198 36.7596 191.698 36.8496C192.198 36.9496 192.618 37.0896 192.978 37.2796C193.338 37.4696 193.668 37.7196 193.958 38.0296L193.928 38.0496Z' fill='%23727373'/%3E%3Cpath d='M208.429 41.429V34.279L206.079 41.429H204.329L201.989 34.279V41.449H200.439V30.709H202.289L205.199 39.349L208.089 30.709H209.939V41.429H208.429Z' fill='%23727373'/%3E%3Cpath d='M212.848 38.0996C212.908 38.6996 213.128 39.2196 213.518 39.6396C213.908 40.0696 214.378 40.2896 214.928 40.2896C215.478 40.2896 215.878 40.1596 216.168 39.9096C216.458 39.6596 216.638 39.4196 216.708 39.1996H218.388C218.228 39.7496 217.878 40.3096 217.348 40.8896C216.818 41.4596 216.018 41.7496 214.958 41.7496C213.898 41.7496 212.958 41.3396 212.248 40.5296C211.538 39.7096 211.178 38.7196 211.178 37.5496C211.178 36.3796 211.518 35.3596 212.208 34.5596C212.898 33.7596 213.808 33.3496 214.938 33.3496C215.928 33.3496 216.808 33.7396 217.578 34.5096C218.348 35.2796 218.708 36.4796 218.638 38.1096H212.838L212.848 38.0996ZM216.978 36.7596C216.908 36.1796 216.698 35.7096 216.338 35.3396C215.978 34.9796 215.508 34.7896 214.928 34.7896C214.348 34.7896 213.918 34.9596 213.548 35.3096C213.178 35.6596 212.948 36.1396 212.838 36.7496H216.968L216.978 36.7596Z' fill='%23727373'/%3E%3Cpath d='M225.359 41.4688V40.7087C225.039 41.0487 224.679 41.3088 224.279 41.4888C223.879 41.6688 223.449 41.7588 222.999 41.7588C221.959 41.7588 221.129 41.3688 220.489 40.5988C219.849 39.8288 219.539 38.8287 219.539 37.6087C219.539 36.3887 219.859 35.3687 220.489 34.6087C221.129 33.8487 221.959 33.4688 222.999 33.4688C223.459 33.4688 223.879 33.5587 224.279 33.7188C224.679 33.8888 225.039 34.1388 225.359 34.4688V30.7188H226.909V41.4688H225.359ZM224.829 39.5487C225.189 39.0687 225.369 38.4188 225.369 37.5988C225.369 36.7788 225.189 36.0987 224.829 35.6387C224.469 35.1687 223.949 34.9287 223.259 34.9287C222.569 34.9287 222.079 35.1788 221.729 35.6688C221.369 36.1588 221.199 36.7988 221.199 37.5988C221.199 38.3988 221.379 39.0287 221.729 39.5287C222.079 40.0287 222.599 40.2687 223.259 40.2687C223.919 40.2687 224.469 40.0287 224.829 39.5487Z' fill='%23727373'/%3E%3Cpath d='M228.619 32.299V30.709H230.159V32.299H228.619ZM228.619 41.419V33.669H230.139V41.419H228.619Z' fill='%23727373'/%3E%3Cpath d='M236.919 36.2187C236.859 35.9487 236.689 35.6587 236.399 35.3487C236.109 35.0387 235.679 34.8887 235.109 34.8887C234.449 34.8887 233.939 35.1387 233.579 35.6387C233.209 36.1387 233.029 36.7887 233.029 37.5687C233.029 38.3487 233.219 39.0087 233.589 39.5087C233.959 40.0187 234.469 40.2687 235.109 40.2687C235.609 40.2687 236.019 40.1287 236.339 39.8387C236.649 39.5587 236.839 39.2487 236.909 38.9187H238.579C238.409 39.6187 238.039 40.2687 237.459 40.8587C236.889 41.4487 236.099 41.7487 235.099 41.7487C233.949 41.7487 233.039 41.3487 232.379 40.5387C231.719 39.7387 231.379 38.7387 231.379 37.5587C231.379 36.3787 231.709 35.3787 232.379 34.5787C233.049 33.7887 233.949 33.3887 235.099 33.3887C236.109 33.3887 236.909 33.6987 237.519 34.3087C238.119 34.9287 238.489 35.5587 238.609 36.2087H236.929L236.919 36.2187Z' fill='%23727373'/%3E%3Cpath d='M239.668 32.299V30.709H241.208V32.299H239.668ZM239.668 41.419V33.669H241.188V41.419H239.668Z' fill='%23727373'/%3E%3Cpath d='M247.889 41.4491V36.9091C247.879 36.2591 247.749 35.7891 247.499 35.4891C247.249 35.1991 246.859 35.0491 246.339 35.0491C245.789 35.0491 245.339 35.2391 244.999 35.6191C244.659 35.9991 244.489 36.4991 244.489 37.0991V41.4491H242.939V33.7491H244.489V34.4391C244.799 34.1391 245.169 33.8891 245.589 33.6791C246.009 33.4691 246.529 33.4091 247.139 33.4791C247.939 33.5591 248.519 33.8991 248.889 34.4891C249.259 35.0891 249.439 35.6491 249.439 36.1891V41.4391H247.899L247.889 41.4491Z' fill='%23727373'/%3E%3Cpath d='M252.158 38.0996C252.218 38.6996 252.438 39.2196 252.828 39.6396C253.218 40.0696 253.688 40.2896 254.238 40.2896C254.788 40.2896 255.188 40.1596 255.478 39.9096C255.768 39.6596 255.948 39.4196 256.018 39.1996H257.698C257.538 39.7496 257.188 40.3096 256.658 40.8896C256.128 41.4596 255.328 41.7496 254.268 41.7496C253.208 41.7496 252.268 41.3396 251.558 40.5296C250.848 39.7096 250.488 38.7196 250.488 37.5496C250.488 36.3796 250.828 35.3596 251.518 34.5596C252.208 33.7596 253.118 33.3496 254.248 33.3496C255.238 33.3496 256.118 33.7396 256.888 34.5096C257.658 35.2796 258.018 36.4796 257.948 38.1096H252.148L252.158 38.0996ZM256.298 36.7596C256.228 36.1796 256.018 35.7096 255.658 35.3396C255.298 34.9796 254.828 34.7896 254.248 34.7896C253.668 34.7896 253.238 34.9596 252.878 35.3096C252.508 35.6596 252.278 36.1396 252.168 36.7496H256.298V36.7596Z' fill='%23727373'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;
    text-indent: -9999px;
}

.site-links {
    display: flex;
    gap: 21px;
}

.site-link-btn {
    background-color: #ebebeb;
    border-radius: 30px;
    width: 252px;
    height: 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 30px;
    font-size: 16px;
    font-weight: 600;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.site-link-btn img {
    width: 24px;
    height: 24px;
}

.site-link-btn .dropdown-arrow {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 14L12 8L18 14L16.6 15.4L12 10.8L7.4 15.4L6 14Z' fill='%231C1B1F'/%3E%3C/svg%3E%0A");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;

}

.footer-bottom {
    display: flex;
    flex-direction: column;
    gap: 29px;
    padding-top: 4px;
}

.company-info {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 11px;
    font-size: 14px;
    color: #7a7b7b;
}

.company-info .divider {
    width: 1px;
    height: 14px;
    background-color: #e3e3e3;
}

.address-copyright {
    font-size: 14px;
    color: #7a7b7b;
    line-height: 1.5;
    margin: 0;
}

.to-top-btn {
    position: fixed;
    bottom: 40px;
    right: 40px;
    width: 61px;
    height: 61px;
    background-color: #ffffff;
    border: 1px solid #6d73f7;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s;
    z-index: 1000;
}

.to-top-btn:hover {
    transform: translateY(-5px);
}

.to-top-btn img {
    width: 42px;
    height: 42px;
}

/* ========== TAB SYSTEM STYLES ========== */
.tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 49px;
}

.tab {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 50%;
    padding: 26px 10px;
    font-size: 24px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;
    border-bottom: 1px solid #b7b8b9;
    background-color: #ffffff;
    transition: all 0.3s ease;
}

.tab.active {
    color: #2e3192;
    border-color: #2e3192;
    border-bottom-width: 4px;
}

.tab:not(.active) {
    color: #b7b8b9;
}

.sub-tabs {
    display: flex;
    margin-bottom: 36px;
    gap: 50px;
}

.sub-tab {
    display: inline-flex;
    padding: 14px 34px;
    border-radius: 88px;

    color: #000;
    font-size: 20px;
    font-weight: 600;
    line-height: 150%;
    /* 30px */
}

.sub-tab.active {
    background: var(--primary-blue-100, #6d73f7);
    color: #fff;
}

/* ========== DATA LIST TABLE STYLES ========== */
.data-list-group {
    width: 100%;
}

.data-list-title {
    font-size: 26px;
    line-height: 150%;
    font-weight: 600;
    color: #2e3192;
    margin: 0 0 26px 0;
}

/* 데이터 리스트 컨테이너 - 768px 이하에서 가로 스크롤 */
.data-list-box {
    width: 100%;
    margin-bottom: 30px;
}

br.mobile {
    display: none;
}

.btn-box {
    display: flex;
    margin-top: 86px;
    align-items: center;
    justify-content: center;
}

@media (max-width: 768px) {
    br.mobile {
        display: block;
    }

    body {
        font-size: 14px;
    }

    .data-list-box:not(.bbs-table-box) {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        /* iOS 부드러운 스크롤 */
    }


}

.data-list {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 0;
    /* data-list-box가 margin을 담당 */
}

.data-list.vertical {
    border-top: 2px solid #2e3192;
    border-bottom: 1px solid #000000;
}

.data-list.vertical th,
.data-list.vertical td {
    padding: 20px;
    border-top: 1px solid #c9c9c9;
    vertical-align: middle;
    text-align: center;
    font-size: 16px;
    line-height: 150%;
}

.data-list.vertical tr.odd th,
.data-list.vertical tr.odd td {
    background-color: #f9f9f9;
}

.data-list.vertical th {
    background-color: #ebebeb;
    color: #000000;
    font-weight: 600;
    width: 200px;
}

.data-list.vertical td {
    background-color: white;
    color: #333;
    line-height: 1.6;
}

.data-list.horizontal {
    border-top: 2px solid #2e3192;
    border-bottom: 1px solid #000000;
}

.data-list.horizontal th,
.data-list.horizontal td {
    font-size: 16px;
    line-height: 1.5;
    vertical-align: middle;
    text-align: center;
    border-top: 1px solid #c9c9c9;
}

.data-list.horizontal th {
    background-color: #ebebeb;
    padding: 20px;
    font-weight: 600;
    text-align: center;
}

.data-list.horizontal td {
    padding: 20px;
    text-align: left;
}

/* ========== UTILITY CLASSES ========== */
.text-left {
    text-align: left !important;
}

.text-center {
    text-align: center !important;
}

.text-right {
    text-align: right !important;
}

.mb-0 {
    margin-bottom: 0 !important;
}

.mt-0 {
    margin-top: 0 !important;
}

.p-0 {
    padding: 0 !important;
}

/* ========== ANIMATIONS ========== */
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes slideUp {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-10px);
    }
}

.dropdown-menu.show {
    animation: slideDown 0.3s ease forwards;
}

.dropdown-menu.hide {
    animation: slideUp 0.3s ease forwards;
}

.accordion-wrapper {
    position: relative;
}

.accordion-list {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.accordion-item {
    background-color: #f4f5f6;
    border-radius: 30px;
    overflow: hidden;
}

.accordion-item[open] .accordion-content {
    overflow: hidden;
}

.accordion-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 37px 60px;
    cursor: pointer;
    list-style: none;
}

.accordion-header::-webkit-details-marker {
    display: none;
}

.accordion-item[open]>.accordion-header {
    border-bottom: 1px solid var(--color-border);
}

.arrow-icon {
    width: 24px;
    height: 24px;
    transition: transform 0.3s ease-in-out;
}

.accordion-item[open] .arrow-icon {
    transform: rotate(180deg);
}

.accordion-content {
    padding: 36px 60px 70px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* ========== TAB CONTENT ========== */
.sub-tab-content,
.tab-content {
    display: none;
}

.sub-tab-content.active,
.tab-content.active {
    display: block;
}

/* ========== COMMITTEE INFO ========== */
.committee-info-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.committee-info-item {
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    border-left: 4px solid #6d73f7;
}

.committee-info-item h4 {
    color: #6d73f7;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px 0;
}

.committee-info-item p {
    color: #333;
    font-size: 16px;
    line-height: 1.6;
    margin: 0;
}

/* ========== CLAUSE STYLES (조항/규정) ========== */
.clause {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.clause-title {
    color: var(--color-text-primary);
    font-weight: 600;
    font-size: 18px;
}

.clause-list {
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.clause-content {
    padding: 16px 16px 48px;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.clause-text {
    color: var(--color-text-primary);
    font-size: 16px;
}

/* 메인 ol>li 스타일 (숫자 제거 및 커스텀 넘버링) */
.clause ol {
    list-style: none;
    padding-left: 0;
    margin: 0 0 0 10px;
    counter-reset: list-counter;
}

.clause ol>li {
    padding-left: 0;
    margin: 8px 0;
    position: relative;
    counter-increment: list-counter;
}

.clause ol>li::before {
    content: counter(list-counter) ". ";
    font-weight: 400;
}

/* 하위 ol>li 스타일 (동그라미 숫자용, 기본 리스트 스타일 제거) */
.clause ol ol {
    list-style: none;
    padding-left: 20px;
    margin-top: 8px;
    margin-left: 0;
    counter-reset: none;
}

.clause ol ol>li {
    padding-left: 0;
    margin: 4px 0;
    counter-increment: none;
}

.clause ol ol>li::before {
    content: none;
}

/* 섹션 타이틀 스타일 (제1절, 제2절 등) */
.section-title {
    color: var(--color-text-primary);

    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    margin: 20px 0 10px 0;
}

/* 서명 섹션 스타일 */
.signature-section {
    text-align: right;
    margin-top: 20px;
    font-size: 14px;
    line-height: 20px;
}

.signature-section p {
    margin: 4px 0;
}

/* 챕터 제목 스타일 */
.chapter-title {
    color: #2e3192;
    font-weight: 600;
    font-size: 26px;
    line-height: 150%;
}

/* border-radius: 15px;
background: var(--primary-blue-300, #4E52C4); */
.pagination-box {
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pagination {
    display: flex;
    gap: 4px;
    list-style: none;
}

.pagination li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    font-size: 14px;
    color: #000;
    border-radius: 13px;
}

.pagination li a,
.pagination li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.pagination li.active {
    color: #fff;
    background: var(--primary-blue-300, #4e52c4);
}

/* 폼 관련 */

.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.custom-checkbox {
    appearance: none;
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    background-color: var(--color-bg-white);
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.custom-checkbox:checked {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.custom-checkbox:checked::after {
    content: "✔";
    font-size: 14px;
    color: white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.checkbox-wrapper label {
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
}

.form-container-wrap {
    padding: 0;
    max-width: 700px;
    margin: 0 auto;
}

.mypage-contents-wrap .form-container-wrap {
    max-width: 100%;
}

.form-section {
    margin-bottom: 40px;
}

.form-header {
    display: flex;
    align-items: flex-end;
    margin-bottom: 12px;
    gap: 18px;
}

.form-title {
    color: #000;
    font-size: 26px;
    font-weight: 600;
    line-height: 150%;
}

.required-notice {
    color: var(--accent-red-500m, #e72527);
    font-size: 14px;
    font-weight: 400;
    line-height: 150%;
    margin-bottom: 8px;
}

.form-container {
    padding: 60px 70px;
    background-color: #f4f5f6;
    border-radius: 30px;
    gap: 28px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.form-row {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
}

.form-row.for-text .form-label .required,
.form-row.for-text .form-label {
    line-height: 150%;
}

.form-label {
    width: 147px;
    font-size: 14px;
    font-weight: 600;
    flex-shrink: 0;
    line-height: 48px;
    display: flex;
    gap: 2px;
}

label .required {
    color: var(--accent-red-500m, #e72527);
    font-size: 14px;
    font-weight: 600;
    line-height: 48px;
}

.form-controls {
    flex: 1;
    display: flex;
    gap: 8px;
    flex-direction: column;
}

.input-group {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    width: 100%;
    flex-direction: row;
}

.input-group.for-teltype,
.input-group.date-range-group {
    flex-wrap: nowrap;
}

.input-group.for-teltype select {
    width: 100%;
}

.input-group.for-teltype>* {
    width: 33.3333%;
}

.input-group.date-range-group .input-field {}

.input-group.date-range-group .text-divider:last-child {
    opacity: 0;
    display: none;
}

.input-group .input-field {
    flex: 1;
}

.input-group.with-btn {
    position: relative;
}

.input-group.with-btn .input-field {
    padding-right: 90px;
}

.input-field {
    height: 48px;
    padding: 0 16px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 16px;
    line-height: 150%;
    width: 100%;
}

textarea.input-field {
    padding: 8px 16px;
    height: 90px;
}

.input-field[readonly] {
    border: 1px solid var(--border, #e3e3e3);
    background: var(--gray-200, #ebebeb);
    color: var(--gray-400, #b7b8b9);
}


textarea::placeholder,
input::placeholder {
    color: var(--gray-400, #b7b8b9);
}

textarea::-moz-placeholder,
input::-moz-placeholder {
    color: var(--gray-400, #b7b8b9);
}

textarea::-webkit-placeholder,
input::-webkit-placeholder {
    color: var(--gray-400, #b7b8b9);
}

.btn-rounded,
.btn-upload {
    display: flex;
    height: 48px;
    padding: 0 16px;
    align-items: center;
    gap: 8px;
    align-self: stretch;
    color: var(--primary-blue-100, #6d73f7);

    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    border-radius: 4px;
    border: 1px solid var(--primary-blue-300, #4e52c4);
    background: var(--gray-0, #fff);
}

.select-wrapper {
    position: relative;
    display: block;
    width: 100%;
}

.select-field {
    height: 48px;
    padding: 0 14px;
    border: 1px solid var(--color-border);
    border-radius: 4px;
    font-size: 16px;
    background-color: white;
    cursor: pointer;
    width: 100%;
}

.validation-message,
.helper-text {
    font-size: 14px;
    color: #e72527;
}

.helper-text.info {
    color: var(--color-text-secondary);
}

.radio-group {
    display: flex;
    gap: 24px;
    align-items: center;
}

.radio-group.flex-direction-row {
    flex-direction: row;
    gap: 32px;
}

.radio-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.custom-radio {
    width: 20px;
    height: 20px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    position: relative;
    background: #fff;
}

.radio-item input[type="radio"]:checked+.custom-radio {
    border-color: #6d73f7;
}

.radio-item input[type="radio"]:checked+.custom-radio::after {
    content: "";
    width: 12px;
    height: 12px;
    background-color: #6d73f7;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.radio-item input[type="radio"] {
    display: none;
}

/* 체크박스 그룹 */
.checkbox-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.checkbox-item {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.checkbox-item input[type="checkbox"] {
    display: none;
}

.checkbox-item input[type="checkbox"]:checked+.custom-checkbox {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.checkbox-item input[type="checkbox"]:checked+.custom-checkbox img {
    display: block;
}

.custom-checkbox img {
    display: none;
    width: 12px;
    height: 12px;
}

.validation-message {
    font-size: 14px;
    margin-top: 4px;
}

.validation-message.success {
    color: var(--color-success);
}

.validation-message.error {
    color: var(--color-error);
}

.error-message {
    color: var(--color-error);
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

.btn {
    background-color: var(--primary-color);
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

.btn.btn-round {
    border-radius: 30px;
}

.btn-primary {
    background-color: var(--primary-dark-color);
}

.btn-secondary {
    background-color: #b7b8b9;
}

.btn-gray {
    background: var(--gray-400, #b7b8b9);
    color: #fff;
}

.btn-cta {
    width: 320px;
    border-radius: 30px;
}

.board-controls {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    margin-bottom: 38px;
}

.search-form {
    display: flex;
    align-items: center;
    height: 48px;
    gap: 16px;
}

.search-form .select-wrapper {
    width: auto;
}

.search-input-box {
    flex-grow: 1;
    position: relative;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
}

.search-input-box button {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    padding: 0 16px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-input-box input {
    width: 100%;
    box-sizing: border-box;
    height: 48px;
    border: none;
    outline: none;
    background: transparent;
    font-size: 16px;
    padding: 0 36px 0 16px;
}

/* ========== RESPONSIVE STYLES - 통합 @media 쿼리 ========== */

/* 고대비 모드 지원 */
@media (prefers-contrast: high) {
    :root {
        --border-color: #000000;
        --text-placeholder-color: #333333;
    }
}

/* 움직임 줄이기 선호 사용자를 위한 설정 */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* 인쇄 스타일 */
@media print {

    .hero-nav,
    .to-top-btn,
    .login-widget,
    .cta-section,
    .partners-section {
        display: none;
    }

    body {
        font-size: 12pt;
        line-height: 1.5;
    }
}

/* 큰 화면 (1200px 이상) */
@media (min-width: 1200px) {

    /* 1200px 이상에서 네비게이션 버튼 위치 조정 */
    .hero-swiper .swiper-button-prev {
        left: calc(50% - 600px);
    }

    .hero-swiper .swiper-button-next {
        right: calc(50% - 600px);
    }
}

/* 1200px 이하 */
@media (max-width: 1200px) {

    /* 1200px 이하에서 비율 기반 높이 조절 */
    .hero-section {
        height: calc(100vw / 3);
        /* 1200:400 = 3:1 비율 */
    }

    .content-grid {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .right-column {
        width: 100%;
    }

    .main-nav .nav-tree>li>a {
        font-size: 18px;
        padding: 33px 40px 29px;
    }

    .main-nav .nav-tree>li[data-menu-key="trainer"]>a {
        padding-left: 65px;
        padding-right: 65px;
    }

    .main-nav .submenu a {
        padding: 0 18px;
        font-size: 14px;
        line-height: 2;
        /* 24px */
    }
}

/* 1024px 이하 */
@media (max-width: 1024px) {
    .header-main-container {
        height: auto;
    }

    .logo-images {
        width: auto;
        height: 40px;
    }

    .page-title {
        font-size: 28px;
    }

    .info-card {
        width: calc(50% - 12px);
    }

    .main-nav .nav-tree {
        gap: 10px;
    }

    .main-nav .nav-tree>li>a {
        font-size: 16px;
        padding: 28px 40px 24px;
    }

    .main-nav .nav-tree>li[data-menu-key="trainer"]>a {
        padding-left: 65px;
        padding-right: 65px;
    }

    .main-nav .submenu a {
        padding: 0 18px;
        font-size: 13px;
        line-height: 2;
        /* 24px */
    }

    .aside-menu .main-nav .nav-tree>li>a,
    .aside-menu .main-nav .nav-tree>li.active>a,
    .aside-menu .main-nav .nav-tree>li>a:hover {
        opacity: 0;
        height: 0;
        padding-top: 0;
        padding-bottom: 0;
        overflow: hidden;
        border: 0;
    }

    .footer-top {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-links {
        width: 100%;
        flex-direction: column;
        gap: 10px;
    }

    .site-link-btn {
        width: 100%;
    }

    .slider-track {
        gap: 30px;
    }
}

/* 924px 이하 */
@media (max-width: 924px) {
    .main-nav-wrap .main-nav {
        display: none;
    }

    .main-nav-wrap {
        padding: 12px 0;
    }

    .main-nav-wrap .gnb-nav-toggle {
        display: block;
    }

    .aside-menu {
        position: fixed;
        z-index: 1500;
        top: 103px;
        bottom: 0;
        left: 0;
        right: 0;
        overflow: hidden;
        overflow-y: auto;
        background: rgba(0, 0, 0, 0.2);
        align-items: flex-start;
    }

    .aside-menu.show {
        display: flex;
    }

    .aside-menu .inner-aside-menu {
        background: #fff;
        width: 90%;
        margin: 0 0 0 auto;
        height: 100%;
        padding: 20px 30px;
    }

    .aside-menu .main-nav {
        align-items: flex-start;
    }

    .main-nav .nav-tree {
        flex-direction: column;
    }

    .aside-menu .main-nav .nav-tree>li {
        display: flex;
        align-items: flex-start;
        gap: 12px;
    }

    .aside-menu .main-nav .nav-tree>li>a,
    .aside-menu .main-nav .nav-tree>li.active>a,
    .aside-menu .main-nav .nav-tree>li>a:hover {
        opacity: 1;
        height: auto;
        padding: 8px 0;
        overflow: visible;
        border: 2px solid transparent;
        width: 110px;
        flex: 1 0 110px;
    }

    .aside-menu .main-nav .nav-tree>li.active>a {
        border-bottom: 2px solid #6d73f7;
    }

    .aside-menu .main-nav .submenu {
        margin: 0;
        align-items: flex-start;
        padding: 5px 0;
    }

    .aside-menu .main-nav .submenu a {
        text-align: left;
        line-height: 1.25;
    }

    .aside-menu .main-nav .nav-tree>li>a {
        width: 110px;
    }

    .aside-menu .main-nav .submenu .active a,
    .aside-menu .main-nav .submenu .active a:hover {
        background: none;
        color: #6d73f7;
        font-weight: bold;
    }
}

/* 768px 이하 */
@media (max-width: 768px) {
    .container {
        padding: 0 16px;
    }

    .logo-images {
        width: auto;
        height: 36px;
    }

    .gnb-nav-toggle {
        display: block;
    }

    .main-nav-wrap {
        padding: 9px 0;
    }

    .main-content {
        padding: 20px 0;
    }

    /* 컨텐츠 래퍼 스타일 - 통합 */
    .contents-wrap {
        padding: 24px 0 48px;
    }

    .contents-wrap.main-page-wrap {
        padding: 0;
    }

    .breadcrumbs-list {
        /* padding: 12px 0; */
    }

    .breadcrumbs-list li a {
        padding: 0 10px;
        font-size: 14px;
    }

    .breadcrumb-item {
        gap: 8px;
        width: auto;
        min-width: 0;
        font-size: 14px;
        height: 42px;
        padding: 10px 18px;
    }

    .breadcrumb-home-item {
        width: 38px;
        height: 38px;
        background-size: 16px auto;
    }

    .breadcrumb-item span {
        white-space: nowrap;
    }

    .breadcrumb-icon {
        width: 18px;
        height: 19px;
    }

    .breadcrumb-arrow {
        width: 20px;
        height: 20px;
    }

    .depth_menu {
        padding: 12px 6px;
        min-width: 100%;
        width: auto;
        font-size: 0.8rem;
    }

    .depth_menu li a {
        padding: 8px 10px;
        font-size: 13px;
    }

    .breadcrumb-item.has-siblings::after {
        width: 16px;
        height: 16px;
    }

    .main-nav-wrap .main-nav {
        display: none;
    }

    .nav-menu {
        flex-direction: column;
        width: 100%;
    }

    .nav-item {
        width: 100%;
    }

    .nav-link {
        padding: 12px 16px;
        border-bottom: 1px solid #e0e0e0;
    }

    .dropdown-menu {
        position: static;
        width: 100%;
        box-shadow: none;
        border: none;
        background-color: #f5f5f5;
        border-radius: 0;
        padding: 0;
    }

    .dropdown-menu .nav-link {
        padding-left: 40px;
        font-size: 13px;
    }

    .header-main-container {
        height: auto;
        gap: 16px;
    }

    .main-nav ul {
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
    }

    .main-nav a {
        font-size: 14px;
    }

    .hero-swiper .swiper-pagination {
        bottom: 12px !important;
    }

    .hero-swiper .swiper-button-prev,
    .hero-swiper .swiper-button-next {
        width: 24px;
        height: 24px;
    }

    .hero-swiper .swiper-button-prev:after,
    .hero-swiper .swiper-button-next:after {
        font-size: 12px;
    }

    .hero-text h1 {
        font-size: 24px;
    }

    .hero-text h2 {
        font-size: 36px;
    }

    .hero-nav {
        padding: 0;
    }

    .arrow-btn {
        width: 40px;
        height: 40px;
    }

    .hero-controls {
        bottom: -80px;
    }

    .left-column {
        flex-direction: column;
        gap: 16px;
        order: 2;
    }

    .login-header h4 {
        font-size: 18px;
    }

    .info-card {
        width: 100%;
        padding: 16px;
        border-radius: 16px;
    }

    .kjsm-card,
    .menu-card {
        border-radius: 16px;
    }

    .card-header h3 {
        font-size: 20px;
    }

    .login-widget {
        border-radius: 16px;
        padding: 16px;
    }

    .cta-section {
        height: auto;
        padding: 24px 0;
    }

    .cta-container {
        flex-direction: column;
        gap: 20px;
        text-align: center;
    }

    .cta-text {
        font-size: 20px;
    }

    .cta-button {
        font-size: 20px;
    }

    .slider-wrapper {
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .slider-wrapper::-webkit-scrollbar {
        display: none;
    }

    .slider-arrow {
        display: none;
    }

    .company-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .company-info .divider {
        display: none;
    }

    .to-top-btn {
        width: 50px;
        height: 50px;
        bottom: 20px;
        right: 20px;
    }

    .to-top-btn img {
        width: 30px;
        height: 30px;
    }

    .page-container {
        padding: 0 15px;
    }

    .page-header {
        margin-bottom: 40px;
    }

    .page-header.mb-48 {
        margin-bottom: 24px;
    }

    .page-title {
        font-size: 24px;
    }

    .tabs {
        margin-bottom: 36px;
    }

    .tab {
        font-size: 16px;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .sub-tabs {
        margin-bottom: 24px;
        gap: 25px;
    }

    .sub-tab {
        padding: 8px 20px;
        font-size: 14px;
    }

    /* Data List 스타일 - 통합 */
    .data-list-title {
        font-size: 22px;
    }

    .data-list.vertical th,
    .data-list.vertical td {
        padding: 12px 10px;
        font-size: 14px;
        white-space: nowrap;
    }

    .data-list.bbs-table.vertical td {
        white-space: wrap;
    }

    .data-list.horizontal {
        font-size: 14px;
    }

    .data-list.horizontal th,
    .data-list.horizontal td {
        padding: 10px 15px;
    }

    .form-row {
        flex-direction: column;
        gap: 8px;
    }

    .form-label {
        padding-top: 0;
        line-height: 1.5;
        width: 100%;
    }

    label .required {
        line-height: 1.5;
    }

    .form-container {
        padding: 30px 35px;
        gap: 14px;
    }

    .form-controls {
        width: 100%;
    }

    .validation-message,
    .helper-text {
        font-size: 13px;
    }

    .input-group {
        gap: 6px;
    }

    .input-group.with-btn .input-field {
        padding-right: 45px;
    }

    .btn-checkduplicate {
        font-size: 14px;
        line-height: 150%;
        padding: 4px 8px;
    }

    .input-field {
        height: 36px;
        padding: 0 16px;
        font-size: 13px;
    }

    textarea.input-field {
        height: 78px;
    }

    .input-group.date-range-group .input-field {
        width: 32%;
        flex: 1 0 auto;
    }

    .radio-group {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        font-size: 14px;
    }

    .btn-rounded,
    .btn-upload {
        height: 36px;
        padding: 0 16px;
        font-size: 14px;
    }

    .select-field {
        height: 36px;
        padding: 0 12px;
        font-size: 13px;
        width: 100%;
    }

    textarea::placeholder,
    input::placeholder {
        font-size: 13px;
    }

    textarea::-moz-placeholder,
    input::-moz-placeholder {
        font-size: 13px;
    }

    textarea::-webkit-placeholder,
    input::-webkit-placeholder {
        font-size: 13px;
    }

    .input-group.date-range-group {
        flex-wrap: wrap;
    }

    .input-group.date-range-group .text-divider:last-child {
        opacity: 0;
        display: block;
    }

    .board-controls {
        gap: 8px;
        margin-bottom: 20px;
    }

    .search-form {
        display: flex;
        align-items: center;
        height: 36px;
        gap: 8px;
    }

    .search-input-box button {
        padding: 0 12px;
    }

    .search-input-box input {
        height: 34px;
        font-size: 13px;
        padding: 0 36px 0 16px;
    }

    .btn {
        padding: 12px 18px;
        font-size: 14px;
    }

    .accordion-header {
        padding: 18px 30px;
    }

    .accordion-content {
        padding: 18px 30px 35px;
    }

    .form-title,
    .chapter-title {
        font-size: 18px;
    }

    .clause-title {
        font-size: 16px;
    }

    .clause-text {
        font-size: 14px;
    }
}

/* ============================================
   Select2 커스텀 스타일링 (병합됨)
   ============================================ */
.custom-select2 .select2-selection--single {
    height: 48px !important;
    border: 1px solid #e3e6f0 !important;
    border-radius: 4px !important;
    background-color: #ffffff !important;
    font-size: 14px !important;
}

.custom-select2 .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
    padding-left: 16px !important;
    padding-right: 42px !important;
    color: #333333 !important;
    font-size: 16px;
}

.custom-select2 .select2-selection--single .select2-selection__placeholder {
    color: #999999 !important;
    font-size: 16px;
}

.custom-select2 .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
    right: 16px !important;
}

.custom-select2 .select2-selection--single .select2-selection__arrow b {
    border-color: #666 transparent transparent transparent !important;
    border-width: 6px 5px 0 5px !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b,
.select2-container--open .custom-select2 .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #666 transparent !important;
    border-width: 0 5px 6px 5px !important;
}

.select2-dropdown {
    border: 1px solid #e3e6f0 !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
}

.select2-results__option {
    padding: 12px 16px !important;
    font-size: 14px !important;
    color: #333333 !important;
}

.select2-results__option--highlighted[aria-selected] {
    background-color: #2e3192 !important;
    color: white !important;
}

.select2-results__option[aria-selected="true"] {
    background-color: #f8f9fa !important;
    color: #2e3192 !important;
    font-weight: 600 !important;
}

.select2-search--dropdown {
    display: flex;
}

.select2-search--dropdown .select2-search__field {
    border: 1px solid #e3e6f0 !important;
    border-radius: 4px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    margin: 8px !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: #2e3192 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(46, 49, 146, 0.1) !important;
}

/* Select2가 적용된 select-wrapper 스타일 조정 */
.select-wrapper .select2-container {
    max-width: 100% !important;
}

/* Select2 포커스 스타일 */
.custom-select2 .select2-selection--single:focus {
    border-color: #2e3192 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(46, 49, 146, 0.1) !important;
}

/* Select2 비활성화 스타일 */
.custom-select2.select2-container--disabled .select2-selection--single {
    background-color: #f8f9fa !important;
    color: #999999 !important;
    cursor: not-allowed !important;
}

@media (max-width: 768px) {
    .custom-select2 .select2-selection--single {
        height: 36px !important;
        border: 1px solid #e3e6f0 !important;
        border-radius: 4px !important;
        background-color: #ffffff !important;
        font-size: 13px !important;
    }

    .custom-select2 .select2-selection--single .select2-selection__rendered {
        line-height: 34px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        color: #333333 !important;
        font-size: 13px;
    }

    .custom-select2 .select2-selection--single .select2-selection__placeholder {
        font-size: 13px;
    }

    .custom-select2 .select2-selection--single .select2-selection__arrow {
        height: 34px !important;
        right: 8px !important;
    }
}

/* ========== 모바일 디바이스 감지 스타일 ========== */
/* 모바일 디바이스에서는 gnb-nav-toggle이 항상 보이고 aside-menu가 활성화됨 */
body.is_mobile .main-nav-wrap .main-nav {
    display: none;
}

body.is_mobile .main-nav-wrap {
    padding: 12px 0;
}

body.is_mobile .main-nav-wrap .gnb-nav-toggle {
    display: block;
}

body.is_mobile .aside-menu {
    position: fixed;
    z-index: 1500;
    top: 103px;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    overflow-y: auto;
    background: rgba(0, 0, 0, 0.2);
    align-items: flex-start;
}

body.is_mobile .aside-menu.show {
    display: flex;
}

body.is_mobile .aside-menu .inner-aside-menu {
    background: #fff;
    width: 90%;
    margin: 0 0 0 auto;
    height: 100%;
    padding: 20px 30px;
}

body.is_mobile .aside-menu .main-nav {
    align-items: flex-start;
}

body.is_mobile .main-nav .nav-tree {
    flex-direction: column;
}

body.is_mobile .aside-menu .main-nav .nav-tree>li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

body.is_mobile .aside-menu .main-nav .nav-tree>li>a,
body.is_mobile .aside-menu .main-nav .nav-tree>li.active>a,
body.is_mobile .aside-menu .main-nav .nav-tree>li>a:hover {
    opacity: 1;
    height: auto;
    padding: 8px 0;
    overflow: visible;
    border: 2px solid transparent;
    width: 110px;
    flex: 1 0 110px;
}

body.is_mobile .aside-menu .main-nav .nav-tree>li.active>a {
    border-bottom: 2px solid #6d73f7;
}

body.is_mobile .aside-menu .main-nav .submenu {
    margin: 0;
    align-items: flex-start;
    padding: 5px 0;
}

body.is_mobile .aside-menu .main-nav .submenu a {
    text-align: left;
    line-height: 1.25;
}

body.is_mobile .aside-menu .main-nav .nav-tree>li>a {
    width: 110px;
}

body.is_mobile .aside-menu .main-nav .submenu .active a,
body.is_mobile .aside-menu .main-nav .submenu .active a:hover {
    background: none;
    color: #6d73f7;
    font-weight: bold;
}

/* 부칙 박스 스타일 */
.addenda-box {
    display: flex;
    padding: 40px 50px;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    border-radius: 30px;
    background: var(--gray-100, #f4f5f6);
}

.addenda-title {
    color: var(--primary-blue-500m, #2e3192);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%;
    gap: 12px;
    display: flex;
    align-items: center;
    /* 24px */
}

.addenda-title span.icon {
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M8.6 14.6L15.65 7.55L14.25 6.15L8.6 11.8L5.75 8.95L4.35 10.35L8.6 14.6ZM10 20C8.61667 20 7.31667 19.7375 6.1 19.2125C4.88333 18.6875 3.825 17.975 2.925 17.075C2.025 16.175 1.3125 15.1167 0.7875 13.9C0.2625 12.6833 0 11.3833 0 10C0 8.61667 0.2625 7.31667 0.7875 6.1C1.3125 4.88333 2.025 3.825 2.925 2.925C3.825 2.025 4.88333 1.3125 6.1 0.7875C7.31667 0.2625 8.61667 0 10 0C11.3833 0 12.6833 0.2625 13.9 0.7875C15.1167 1.3125 16.175 2.025 17.075 2.925C17.975 3.825 18.6875 4.88333 19.2125 6.1C19.7375 7.31667 20 8.61667 20 10C20 11.3833 19.7375 12.6833 19.2125 13.9C18.6875 15.1167 17.975 16.175 17.075 17.075C16.175 17.975 15.1167 18.6875 13.9 19.2125C12.6833 19.7375 11.3833 20 10 20Z' fill='%234E52C4'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.addenda-title span.icon-attention {
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M10 16.7125C10.2833 16.7125 10.5208 16.6167 10.7125 16.425C10.9042 16.2333 11 15.9958 11 15.7125C11 15.4292 10.9042 15.1917 10.7125 15C10.5208 14.8083 10.2833 14.7125 10 14.7125C9.71667 14.7125 9.47917 14.8083 9.2875 15C9.09583 15.1917 9 15.4292 9 15.7125C9 15.9958 9.09583 16.2333 9.2875 16.425C9.47917 16.6167 9.71667 16.7125 10 16.7125ZM9 13H11V4H9V13ZM10 20C8.61667 20 7.31667 19.7375 6.1 19.2125C4.88333 18.6875 3.825 17.975 2.925 17.075C2.025 16.175 1.3125 15.1167 0.7875 13.9C0.2625 12.6833 0 11.3833 0 10C0 8.61667 0.2625 7.31667 0.7875 6.1C1.3125 4.88333 2.025 3.825 2.925 2.925C3.825 2.025 4.88333 1.3125 6.1 0.7875C7.31667 0.2625 8.61667 0 10 0C11.3833 0 12.6833 0.2625 13.9 0.7875C15.1167 1.3125 16.175 2.025 17.075 2.925C17.975 3.825 18.6875 4.88333 19.2125 6.1C19.7375 7.31667 20 8.61667 20 10C20 11.3833 19.7375 12.6833 19.2125 13.9C18.6875 15.1167 17.975 16.175 17.075 17.075C16.175 17.975 15.1167 18.6875 13.9 19.2125C12.6833 19.7375 11.3833 20 10 20Z' fill='%234E52C4'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 0 0;
}

.addenda-text,
.addenda-list {
    margin: 0;
    padding: 0 0 0 32px;
    color: #000;
    font-size: 14px;
    font-style: normal;
    line-height: 150%;
}

.addenda-text b {
    color: var(--primary-blue-300, #4e52c4);
}

ol.addenda-list {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 21px;
}

.addenda-list+.addenda-list {
    margin-top: 9px;
}

ul.addenda-list span {
    color: var(--primary-blue-300, #4e52c4);
}

@media (max-width: 768px) {
    .addenda-box {
        padding: 20px 25px;
        gap: 8px;
        border-radius: 15px;
    }

    .addenda-title {
        font-size: 14px;
        gap: 8px;
    }

    .addenda-title span.icon-attention,
    .addenda-title span.icon {
        width: 16px;
        height: 16px;
    }

    .addenda-text,
    .addenda-list {
        padding: 0 0 0 24px;
        font-size: 13px;
    }

    ol.addenda-list {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .addenda-list+.addenda-list {
        margin-top: 6px;
    }
}

.comingsoon-box-wrap {
    padding: 100px 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.comingsoon-box {
    width: 100%;
    max-width: 948px;
    flex-shrink: 0;
    border-radius: 30px;
    background: var(--gray-100, #f4f5f6);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 77px 77px 87px;
}

.comingsoon-box .icon {
    display: block;
    width: 90px;
    height: 88px;
    background-image: url("data:image/svg+xml,%3Csvg width='90' height='88' viewBox='0 0 90 88' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M79.4215 87.291L45 52.8695L55.1698 42.6997L89.5913 77.1212L79.4215 87.291ZM12.5912 87.291L2.42139 77.1212L35.8365 43.706L27.6038 35.4733L24.2139 38.8633L18.0393 32.6887V42.6164L14.6494 46.0063L0 31.357L3.38994 27.967H13.3176L7.26416 21.9135L24.456 4.7217C26.0703 3.10745 27.8056 1.93711 29.662 1.21069C31.5184 0.484277 33.4151 0.121069 35.3522 0.121069C37.2894 0.121069 39.1861 0.484277 41.0425 1.21069C42.8989 1.93711 44.6342 3.10745 46.2485 4.7217L35.1101 15.8601L41.1636 21.9135L37.7736 25.3035L46.0063 33.5362L56.9026 22.64C56.5797 21.7521 56.3174 20.8239 56.1156 19.8554C55.9139 18.8868 55.813 17.9183 55.813 16.9497C55.813 12.1876 57.4474 8.17218 60.7163 4.90331C63.9851 1.63444 68.0006 0 72.7627 0C73.9734 0 75.1235 0.121069 76.2132 0.363208C77.3028 0.605347 78.4126 0.968555 79.5426 1.45283L67.5567 13.4387L76.2737 22.1557L88.2595 10.1698C88.8245 11.2998 89.2079 12.4096 89.4097 13.4992C89.6115 14.5889 89.7124 15.739 89.7124 16.9497C89.7124 21.7118 88.0779 25.7272 84.8091 28.9961C81.5402 32.265 77.5247 33.8994 72.7627 33.8994C71.7941 33.8994 70.8256 33.8187 69.857 33.6573C68.8885 33.4958 67.9603 33.2134 67.0724 32.8098L12.5912 87.291Z' fill='%236D73F7'/%3E%3C/svg%3E%0A");
    background-position: 0 0;
    background-size: contain;
    background-repeat: no-repeat;
}

.comingsoon-box .text {
    margin-top: 54px;
    color: var(--primary-blue-300, #4e52c4);
    text-align: center;
    font-size: 48px;
    font-weight: 600;
    line-height: 150%;
    /* 72px */
}

.comingsoon-box .sub-text {
    margin-top: 19px;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 150%;
    /* 27px */
}

@media (max-width: 768px) {
    .comingsoon-box-wrap {
        padding: 40px 25px;
    }

    .comingsoon-box {
        width: 100%;
        max-width: 100%;
        border-radius: 15px;
        padding: 35px;
    }

    .comingsoon-box .icon {
        width: 45px;
        height: 44px;
    }

    .comingsoon-box .text {
        margin-top: 27px;
        font-size: 36px;
        /* 72px */
    }

    .comingsoon-box .sub-text {
        margin-top: 12px;
        font-size: 16px;
        /* 27px */
    }
}

/* FAQ 스타일 */
.faq-list {
    display: flex;
    gap: 16px;
    flex-direction: column;
}

.faq-item {}

.faq-item:hover {
    border-radius: 30px;
    background: var(--gray-100, #f4f5f6);
}

.faq-header {
    display: flex;
    padding: 32px 60px;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    align-self: stretch;
    cursor: pointer;
}

.faq-header:hover .faq-question {
    color: var(--primary-blue-500m, #2e3192);
}

.faq-question {
    color: #000;
    font-size: 18px;
    font-weight: 600;
    line-height: 150%;
    /* 27px */
}

.icon-faq-arrow {
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='25' viewBox='0 0 24 25' fill='none'%3E%3Cpath d='M6 14.5L12 8.5L18 14.5L16.6 15.9L12 11.3L7.4 15.9L6 14.5Z' fill='%231C1B1F'/%3E%3C/svg%3E");
    background-size: contain;
    background-position: 0 0;
    background-repeat: no-repeat;
    transition: transform 0.3s;
}

.faq-content {
    padding: 0 60px;
    display: flex;
    font-size: 18px;
    line-height: 150%;
    /* 27px */
}

.faq-inner-content {
    padding: 36px 0 42px;
}

.faq-inner-content,
.faq-question {
    display: flex;
    gap: 36px;
    align-items: flex-start;
}

.faq-mark {
    color: var(--primary-blue-100, #6d73f7);
    font-size: 18px;
    font-weight: 600;
    line-height: 150%;
    /* 27px */
}

.faq-item[open] {
    border-radius: 30px;
    background: var(--gray-100, #f4f5f6);
}

.faq-item[open] .icon-faq-arrow {
    transform: rotate(180deg);
}

.faq-item[open] .faq-header .faq-question {
    color: var(--primary-blue-500m, #2e3192);
}

.faq-item[open] .faq-inner-content {
    border-top: 1px solid var(--table_border, #c9c9c9);
}

.faq-header::-webkit-details-marker {
    display: none;
}

.faq-header::marker {
    display: none;
}

@media (max-width: 768px) {

    /* FAQ 스타일 */
    .faq-list {
        gap: 12px;
    }

    .faq-header {
        padding: 16px 30px;
    }

    .faq-question {
        font-size: 15px;
    }

    .icon-faq-arrow {
        width: 20px;
        height: 20px;
    }

    .faq-content {
        padding: 0 30px;
        font-size: 15px;
    }

    .faq-inner-content {
        padding: 18px 0 21px;
    }

    .faq-inner-content,
    .faq-question {
        gap: 20px;
    }

    .faq-mark {
        font-size: 15px;
    }

    .faq-item[open] {
        border-radius: 15px;
    }
}

.button-wrapper {
    margin-top: 36px;
    align-items: center;
    justify-content: center;
    display: flex;
    padding: 0 20px;
}

.button-wrapper .btn {
    width: 320px;
}

@media (max-width: 768px) {
    .button-wrapper {
        margin-top: 20px;
    }

    .button-wrapper .btn {
        max-width: 90%;
    }

}

/* ========== 1200px Breakpoint for Index Page Layout ========== */
@media (max-width: 1200px) {

    /* Info cards - 50% width (2 per row) */
    .info-card {
        flex: 1 1 calc(50% - 12px);
        max-width: none;
    }

    /* Right column layout adjustments */
    .right-column {
        flex: 1 1 100%;
        display: flex;
        flex-direction: row;
        gap: 24px;
        align-items: stretch;
        /* Make children stretch to match heights */
    }

    /* Login widget takes 50% width and stretches full height */
    .right-column .login-widget {
        flex: 1 1 calc(50% - 12px);
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        /* Align content to top */
    }

    /* Quick-KJSM wrapper takes 50% width */
    .right-column .quick-kjsm-wrapper {
        flex: 1 1 calc(50% - 12px);
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    /* Quick links maintains its original structure */
    .right-column .quick-links {
        flex: 1 1 100%;
    }


    /* KJSM card takes full width within wrapper */
    .right-column .kjsm-card {
        flex: 1 1 80px;
    }
}

@media (max-width:768px) {
    .right-column {
        flex-direction: column;
    }
}

.menu-card-icon-1 {
    display: block;
    width: 56px;
    height: 56px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='56' height='56' rx='28' fill='%23F4F5F6'/%3E%3Cpath d='M19.5744 36.5556H22.9447V33.1852H26.3151V29.8148H22.9447V26.4444H19.5744V29.8148H16.204V33.1852H19.5744V36.5556ZM29.6855 30.6574H39.7966V28.1296H29.6855V30.6574ZM29.6855 35.713H36.4262V33.1852H29.6855V35.713ZM14.5188 43.2963C13.592 43.2963 12.7985 42.9663 12.1385 42.3063C11.4785 41.6462 11.1484 40.8528 11.1484 39.9259V21.3889C11.1484 20.462 11.4785 19.6686 12.1385 19.0086C12.7985 18.3485 13.592 18.0185 14.5188 18.0185H22.9447V12.963C22.9447 12.0361 23.2747 11.2427 23.9348 10.5826C24.5948 9.92261 25.3883 9.59259 26.3151 9.59259H29.6855C30.6123 9.59259 31.4058 9.92261 32.0658 10.5826C32.7258 11.2427 33.0558 12.0361 33.0558 12.963V18.0185H41.4818C42.4086 18.0185 43.2021 18.3485 43.8621 19.0086C44.5221 19.6686 44.8521 20.462 44.8521 21.3889V39.9259C44.8521 40.8528 44.5221 41.6462 43.8621 42.3063C43.2021 42.9663 42.4086 43.2963 41.4818 43.2963H14.5188ZM26.3151 21.3889H29.6855V12.963H26.3151V21.3889Z' fill='%232E3192'/%3E%3C/svg%3E%0A");
    text-indent: -9999px;
    transition: all 0.3s
}

.menu-card:hover .menu-card-icon-1 {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='56' height='56' rx='28' fill='%232E3192'/%3E%3Cpath d='M19.5744 36.5556H22.9447V33.1852H26.3151V29.8148H22.9447V26.4444H19.5744V29.8148H16.204V33.1852H19.5744V36.5556ZM29.6855 30.6574H39.7966V28.1296H29.6855V30.6574ZM29.6855 35.713H36.4262V33.1852H29.6855V35.713ZM14.5188 43.2963C13.592 43.2963 12.7985 42.9663 12.1385 42.3063C11.4785 41.6462 11.1484 40.8528 11.1484 39.9259V21.3889C11.1484 20.462 11.4785 19.6686 12.1385 19.0086C12.7985 18.3485 13.592 18.0185 14.5188 18.0185H22.9447V12.963C22.9447 12.0361 23.2747 11.2427 23.9348 10.5826C24.5948 9.92261 25.3883 9.59259 26.3151 9.59259H29.6855C30.6123 9.59259 31.4058 9.92261 32.0658 10.5826C32.7258 11.2427 33.0558 12.0361 33.0558 12.963V18.0185H41.4818C42.4086 18.0185 43.2021 18.3485 43.8621 19.0086C44.5221 19.6686 44.8521 20.462 44.8521 21.3889V39.9259C44.8521 40.8528 44.5221 41.6462 43.8621 42.3063C43.2021 42.9663 42.4086 43.2963 41.4818 43.2963H14.5188ZM26.3151 21.3889H29.6855V12.963H26.3151V21.3889Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");
}

.menu-card-icon-2 {
    display: block;
    width: 56px;
    height: 56px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='56' height='56' rx='28' fill='%23F4F5F6'/%3E%3Cpath d='M43.1247 22.987L32.9293 12.7917L33.6455 12.0754C34.2915 11.4295 35.092 11.1135 36.0469 11.1275C37.0019 11.1416 37.8023 11.4716 38.4483 12.1176L43.883 17.5523C44.529 18.1983 44.852 18.9917 44.852 19.9326C44.852 20.8735 44.529 21.667 43.883 22.3129L43.1247 22.987ZM22.3548 43.8412C21.7088 44.4872 20.9154 44.8102 19.9745 44.8102C19.0336 44.8102 18.2401 44.4872 17.5941 43.8412L12.1594 38.4065C11.5134 37.7605 11.1904 36.967 11.1904 36.0261C11.1904 35.0852 11.5134 34.2918 12.1594 33.6458L12.8335 32.9717L23.0289 43.1671L22.3548 43.8412ZM28.4636 42.6616C28.1265 42.9986 27.7333 43.1671 27.2839 43.1671C26.8346 43.1671 26.4414 42.9986 26.1043 42.6616L13.339 29.8963C13.002 29.5592 12.8335 29.166 12.8335 28.7167C12.8335 28.2673 13.002 27.8741 13.339 27.537L15.7404 25.0935C16.0775 24.7565 16.4777 24.5879 16.9411 24.5879C17.4046 24.5879 17.8048 24.7565 18.1418 25.0935L20.796 27.7477L27.7895 20.7542L25.1353 18.1C24.7983 17.7629 24.6298 17.3697 24.6298 16.9204C24.6298 16.471 24.7983 16.0778 25.1353 15.7407L27.5367 13.2972C27.8738 12.9602 28.274 12.7917 28.7374 12.7917C29.2008 12.7917 29.6011 12.9602 29.9381 13.2972L42.7034 26.0625C43.0404 26.3995 43.209 26.7998 43.209 27.2632C43.209 27.7266 43.0404 28.1268 42.7034 28.4639L40.2599 30.8653C39.9228 31.2023 39.5296 31.3708 39.0802 31.3708C38.6309 31.3708 38.2377 31.2023 37.9006 30.8653L35.2464 28.2111L28.2529 35.2046L30.9071 37.8588C31.2441 38.1958 31.4127 38.596 31.4127 39.0595C31.4127 39.5229 31.2441 39.9231 30.9071 40.2602L28.4636 42.6616Z' fill='%232E3192'/%3E%3C/svg%3E%0A");
    text-indent: -9999px;
    transition: all 0.3s
}

.menu-card:hover .menu-card-icon-2 {
    background-image: url("data:image/svg+xml,%3Csvg width='56' height='56' viewBox='0 0 56 56' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='56' height='56' rx='28' fill='%232E3192'/%3E%3Cpath d='M43.1247 22.987L32.9293 12.7917L33.6455 12.0754C34.2915 11.4295 35.092 11.1135 36.0469 11.1275C37.0019 11.1416 37.8023 11.4716 38.4483 12.1176L43.883 17.5523C44.529 18.1983 44.852 18.9917 44.852 19.9326C44.852 20.8735 44.529 21.667 43.883 22.3129L43.1247 22.987ZM22.3548 43.8412C21.7088 44.4872 20.9154 44.8102 19.9745 44.8102C19.0336 44.8102 18.2401 44.4872 17.5941 43.8412L12.1594 38.4065C11.5134 37.7605 11.1904 36.967 11.1904 36.0261C11.1904 35.0852 11.5134 34.2918 12.1594 33.6458L12.8335 32.9717L23.0289 43.1671L22.3548 43.8412ZM28.4636 42.6616C28.1265 42.9986 27.7333 43.1671 27.2839 43.1671C26.8346 43.1671 26.4414 42.9986 26.1043 42.6616L13.339 29.8963C13.002 29.5592 12.8335 29.166 12.8335 28.7167C12.8335 28.2673 13.002 27.8741 13.339 27.537L15.7404 25.0935C16.0775 24.7565 16.4777 24.5879 16.9411 24.5879C17.4046 24.5879 17.8048 24.7565 18.1418 25.0935L20.796 27.7477L27.7895 20.7542L25.1353 18.1C24.7983 17.7629 24.6298 17.3697 24.6298 16.9204C24.6298 16.471 24.7983 16.0778 25.1353 15.7407L27.5367 13.2972C27.8738 12.9602 28.274 12.7917 28.7374 12.7917C29.2008 12.7917 29.6011 12.9602 29.9381 13.2972L42.7034 26.0625C43.0404 26.3995 43.209 26.7998 43.209 27.2632C43.209 27.7266 43.0404 28.1268 42.7034 28.4639L40.2599 30.8653C39.9228 31.2023 39.5296 31.3708 39.0802 31.3708C38.6309 31.3708 38.2377 31.2023 37.9006 30.8653L35.2464 28.2111L28.2529 35.2046L30.9071 37.8588C31.2441 38.1958 31.4127 38.596 31.4127 39.0595C31.4127 39.5229 31.2441 39.9231 30.9071 40.2602L28.4636 42.6616Z' fill='%23FFFFFF'/%3E%3C/svg%3E%0A");
}

.kjsm-icon {
    display: block;
    width: 36px;
    height: 36px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: contain;
    text-indent: -9999px;
    transition: all 0.3s;
    background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='36' height='36' rx='18' fill='%23F4F5F6'/%3E%3Cpath d='M11 27C10.45 27 9.97917 26.8042 9.5875 26.4125C9.19583 26.0208 9 25.55 9 25V11C9 10.45 9.19583 9.97917 9.5875 9.5875C9.97917 9.19583 10.45 9 11 9H18V11H11V25H25V18H27V25C27 25.55 26.8042 26.0208 26.4125 26.4125C26.0208 26.8042 25.55 27 25 27H11ZM15.7 21.7L14.3 20.3L23.6 11H20V9H27V16H25V12.4L15.7 21.7Z' fill='%232E3192'/%3E%3C/svg%3E%0A");
}

.kjsm-card:hover .kjsm-icon {
    background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' viewBox='0 0 36 36' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='36' height='36' rx='18' fill='%232E3192'/%3E%3Cpath d='M11 27C10.45 27 9.97917 26.8042 9.5875 26.4125C9.19583 26.0208 9 25.55 9 25V11C9 10.45 9.19583 9.97917 9.5875 9.5875C9.97917 9.19583 10.45 9 11 9H18V11H11V25H25V18H27V25C27 25.55 26.8042 26.0208 26.4125 26.4125C26.0208 26.8042 25.55 27 25 27H11ZM15.7 21.7L14.3 20.3L23.6 11H20V9H27V16H25V12.4L15.7 21.7Z' fill='white'/%3E%3C/svg%3E%0A");
}

p.form-text-display {
    line-height: 1.5 !important;
    padding: 12px 0 !important;
}

@media (max-width: 768px) {
    p.form-text-display {
        font-size: 13px !important;
        padding: 10px 0 !important;
    }
}

/* Form section box styling */
.form-section-box {
    margin-bottom: 30px;
}

.form-section-box:last-child {
    margin-bottom: 0;
}

.registration-form-wrapper .input-field[readonly] {
    border: 1px solid var(--border, #e3e3e3);
    background: var(--gray-200, #ebebeb);
    color: var(--text-color, #333);
    font-weight: 600;
}