@charset "utf-8";

/* 색 설정 */
:root {
    --main-color: #4CA1D8;
    --sub-color: #61C4AC;
    --point-color: #3E89BC;
    --deep-color: #336F9A;
    --black-color: #141A20;
    --text-color: #374049;
    --gray-color: #6B7785;
    --border-color: #E1E6EC;
    --line-color: #EEF1F5;
    --bg-color: #F7F9FB;
    --white-color: #fff;
}

/* size */
@media screen and (max-width: 1250px) { } /* tablet */
@media screen and (max-width: 650px) { } /* mobile */

/* 스크롤 커스텀 */
html::-webkit-scrollbar {width: 8px;}
html::-webkit-scrollbar-thumb {background-color: var(--main-color); border-radius: 10px;}

/* 드래그 블록 커스텀 */
::selection { background-color:var(--main-color); color:#fff; }


/* default */
*{
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color : inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Pretendard', sans-serif; font-weight:400; font-size: 16px; letter-spacing: -0.04em; color: var(--black-color); }
section{ display:block; }
a{ color:inherit; }
a:hover{ text-decoration: none; color: inherit;  }
b{ font-weight: 600; }

.inner{ width:1200px; margin:0 auto;  }

.paging_box{ margin-top: 20px; padding:10px 0; display:flex; align-items: center; justify-content: center; }
.paging_box .pg_wrap{ float: none; clear: none; display: flex; align-items: center; justify-content: center; }
.paging_box .pg{ display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; }
.paging_box .pg_page{ background-color:#FFF; border:1px solid #e6e6e6; }
.paging_box .pg_current{ background-color: #0F1C2E; color:#fff; border:1px solid #0F1C2E; }

select{
    -webkit-appearance: none; -moz-appearance: none;  appearance: none;
    background: url('../img/common/select-icon.png') no-repeat 98% 50% #fff;
}
select::-ms-expand{ display:none; }
p{ word-break: keep-all; }
h1, h2, h3, h4, b{ word-break: keep-all; }

@media screen and (max-width: 1250px) {
    .inner{ width:100%; padding:0 2vw; }
} /* tablet */
@media screen and (max-width: 650px) {
    .inner{ padding:0 4vw; }
    .paging_box{ font-size: 13px; }
} /* mobile */

/* 공통 타이틀 */
.section-eyebrow{ position: relative; padding-left: 34px; font-size: 16px; font-weight: 600; color: #3F8976; letter-spacing: 0.09em; text-transform: uppercase; line-height: 1.2; }
.section-eyebrow::before{ content:''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 24px; height: 1.5px; border-radius: 2px; background-color: var(--sub-color); }
.section-title{ margin-top: 16px; font-size: 42px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.4; color: var(--black-color); }
.section-title .point{ color: var(--point-color); }
.section-content{ margin-top: 12px; font-size: 20px; line-height: 1.6; color: var(--text-color); }
.section-eyebrow.blue{ color: var(--deep-color); }
.section-eyebrow.blue::before{ background-color: var(--main-color); }
.sub .section-eyebrow{ font-size: 14px; }
@media screen and (max-width: 1250px) {
    .section-title{ font-size: 36px; }
    .section-content{ font-size: 18px; }
}
@media screen and (max-width: 650px) {
    .section-eyebrow{ font-size: 13px; }
    .section-title{ font-size: 22px; margin-top: 12px; }
    .section-content{ font-size: 15px; }
    .section-content br{ display: none; }
}

/* header */
header{ position: fixed; z-index: 99; left: 0; top: 0; width: 100%; background-color: rgba(255,255,255,0.82); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); transition: box-shadow .2s; }
header.on{ box-shadow: 0 2px 10px rgba(20,26,32,0.06); }
header .inner{ display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 80px; }
header .logo{ flex-shrink: 0; }
header .logo a{ display: block; }
header .logo img{ width: 150px; display: block; }
header .menu-list > ul{ display: flex; align-items: center; gap: 30px; }
header .menu-list > ul > li{ position: relative; display: flex; align-items: center; height: 80px; }
header .menu-list > ul > li > a{ font-size: 18px; font-weight: 600; color: var(--text-color); padding: 6px 0; transition: color .2s; }
header .menu-list > ul > li:hover > a{ color: var(--main-color); }
header .menu-list > ul > li > a.active{ position: relative; color: var(--deep-color); }
header .menu-list > ul > li > a.active::after{ content:''; position: absolute; left: 0; bottom: 0; width: 100%; height: 2px; background-color: var(--sub-color); }
header .menu-list .sub-menu{ display: none; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; min-width: 160px; padding: 8px 0; background-color: #fff; border: 1px solid var(--line-color); border-radius: 10px; box-shadow: 0 10px 24px rgba(20,26,32,0.1); z-index: 10; }
header .menu-list .sub-menu li a{ display: block; padding: 9px 20px; font-size: 15px; font-weight: 500; color: var(--text-color); white-space: nowrap; text-align: center; transition: color .2s, background-color .2s; }
header .menu-list .sub-menu li a:hover{ color: var(--deep-color); background-color: #EEF7FC; }
header .right-div{ display: flex; align-items: center; gap: 14px; }
header .contact-btn{ display: flex; align-items: center; justify-content: center; height: 40px; padding: 0 17px; border-radius: 8px; background-color: var(--main-color); color: #fff; font-size: 18px; font-weight: 600; transition: background-color .2s; }
header .contact-btn:hover{ background-color: var(--deep-color); color: #fff; }
header .menu-btn{ display: none; flex-direction: column; justify-content: center; gap: 5px; width: 30px; height: 30px; cursor: pointer; }
header .menu-btn span{ display: block; width: 100%; height: 2px; background-color: var(--black-color); border-radius: 2px; }
@media screen and (max-width: 1100px) {
    header .menu-list{ display: none; }
    header .contact-btn{ display: none; }
    header .menu-btn{ display: flex; }
    header .inner{ height: 72px; }
}
@media screen and (max-width: 650px) {
    header .inner{ height: 64px; }
    header .logo img{ width: 120px; }
}

/* .aside-section */
.aside-section{ position: fixed; z-index: 100; left: 0; top: 0; width: 100%; height: 100%; visibility: hidden; opacity: 0; transition: opacity .3s, visibility .3s; }
.aside-section.active{ visibility: visible; opacity: 1; }
.aside-section .close-bg{ position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(20,26,32,0.4); }
.aside-section .menu-div{ position: absolute; right: -300px; top: 0; width: 300px; height: 100%; background-color: #fff; padding: 60px 30px 30px; transition: right .3s; z-index: 1; }
.aside-section.active .menu-div{ right: 0; }
.aside-section .close-btn{ position: absolute; right: 20px; top: 20px; width: 24px; height: 24px; cursor: pointer; }
.aside-section .close-btn span{ position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; border-radius: 2px; background-color: var(--black-color); }
.aside-section .close-btn span:first-child{ transform: translate(-50%, -50%) rotate(45deg); }
.aside-section .close-btn span:last-child{ transform: translate(-50%, -50%) rotate(-45deg); }
.aside-section .aside-menu > ul > li{ border-bottom: 1px solid var(--line-color); }
.aside-section .aside-menu > ul > li > a{ display: block; padding: 14px 0; font-size: 18px; font-weight: 600; color: var(--black-color); }
.aside-section .aside-menu .has-sub > a{ position: relative; padding-right: 24px; }
.aside-section .aside-menu .has-sub > a::after{ content:''; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 2px solid #9AA6B2; border-bottom: 2px solid #9AA6B2; transform: rotate(45deg); transition: transform .25s, margin-top .25s; }
.aside-section .aside-menu .has-sub.open > a::after{ transform: rotate(225deg); margin-top: -2px; }
.aside-section .aside-menu .sub-menu{ display: none; padding: 4px 0 12px; }
.aside-section .aside-menu .sub-menu li a{ display: block; padding: 8px 0 8px 14px; font-size: 15px; font-weight: 500; color: var(--text-color); }
.aside-section .aside-menu .sub-menu li a:active{ color: var(--deep-color); }

/* .main .visual-section */
.main .visual-section{ position: relative; overflow: hidden; background: url('../img/main/hero-bg.png') no-repeat center / cover; }
.main .visual-section::before{ content:''; position: absolute; inset: 0; background: radial-gradient(120% 120% at 50% 50%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.9) 100%); }
.main .visual-section .bg-deco{ position: absolute; inset: 0; background: url('../img/main/hero-deco.svg') no-repeat center / cover; pointer-events: none; }
.main .visual-section .inner{ position: relative; display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-top: 180px; padding-bottom: 120px; min-height: 980px; }
.main .visual-section .text-div{ width: 662px; }
.main .visual-section .eyebrow{ font-size: 16px; font-weight: 600; color: var(--point-color); line-height: 1.25; }
.main .visual-section .main-title{ margin-top: 20px; font-size: 72px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; color: var(--black-color); }
.main .visual-section .main-content{ margin-top: 28px; font-size: 19px; line-height: 1.7; color: var(--text-color); }
.main .visual-section .btn-div{ display: flex; gap: 12px; margin-top: 48px; }
.main .visual-section .main-btn{ display: flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 29px; border-radius: 10px; background-color: var(--main-color); color: #fff; font-size: 18px; font-weight: 600; transition: background-color .2s; }
.main .visual-section .main-btn:hover{ background-color: var(--deep-color); color: #fff; }
.main .visual-section .main-btn img{ width: 18px; }
.main .visual-section .line-btn{ display: flex; align-items: center; justify-content: center; gap: 8px; height: 56px; padding: 0 29px; border-radius: 10px; border: 1px solid var(--main-color); color: var(--deep-color); font-size: 18px; font-weight: 600; transition: background-color .2s; }
.main .visual-section .line-btn:hover{ background-color: rgba(76,161,216,0.08); }
.main .visual-section .line-btn img{ width: 18px; }
.main .visual-section .overview-card{ width: 385px; flex-shrink: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 16px; padding: 26px; box-shadow: 2px 2px 10px rgba(20,26,32,0.1); }
.main .visual-section .overview-card .card-head{ padding-bottom: 19px; border-bottom: 1px solid var(--line-color); }
.main .visual-section .overview-card .card-head b{ display: block; font-size: 18px; font-weight: 700; color: var(--black-color); line-height: 1.35; }
.main .visual-section .overview-card .card-head p{ margin-top: 3px; font-size: 13px; color: var(--gray-color); line-height: 1.6; }
.main .visual-section .overview-card .card-list{ padding-top: 18px; display: flex; flex-direction: column; gap: 14px; }
.main .visual-section .overview-card .card-list li{ display: flex; align-items: center; justify-content: space-between; }
.main .visual-section .overview-card .card-list .label{ display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4D5863; }
.main .visual-section .overview-card .card-list .dot{ width: 8px; height: 8px; border-radius: 4px; }
.main .visual-section .overview-card .card-list .dot.blue{ background-color: var(--main-color); }
.main .visual-section .overview-card .card-list .dot.green{ background-color: var(--sub-color); }
.main .visual-section .overview-card .card-list b{ font-size: 15px; font-weight: 600; color: var(--black-color); }
@media screen and (max-width: 1250px) {
    .main .visual-section .inner{ min-height: 0; padding-top: 150px; padding-bottom: 80px; }
    .main .visual-section .main-title{ font-size: 56px; }
}
@media screen and (max-width: 950px) {
    .main .visual-section .inner{ flex-direction: column; align-items: flex-start; }
    .main .visual-section .text-div{ width: 100%; }
    .main .visual-section .overview-card{ width: 100%; max-width: 420px; }
}
@media screen and (max-width: 650px) {
    .main .visual-section .inner{ padding-top: 110px; padding-bottom: 50px; gap: 30px; }
    .main .visual-section .eyebrow{ font-size: 14px; }
    .main .visual-section .main-title{ font-size: 30px; margin-top: 12px; }
    .main .visual-section .main-content{ font-size: 15px; margin-top: 16px; }
    .main .visual-section .main-content br{ display: none; }
    .main .visual-section .btn-div{ margin-top: 24px; flex-wrap: wrap; gap: 8px; }
    .main .visual-section .main-btn, .main .visual-section .line-btn{ height: 44px; padding: 0 18px; font-size: 15px; }
    .main .visual-section .main-btn img, .main .visual-section .line-btn img{ width: 15px; }
    .main .visual-section .overview-card{ max-width: 100%; }
}

/* .main .stats-section */
.main .stats-section{ background-color: var(--bg-color); padding: 72px 0; }
.main .stats-section .stats-list{ display: grid; grid-template-columns: repeat(4, 1fr); }
.main .stats-section .stats-list li{ padding: 28px 4px; }
.main .stats-section .stats-list li + li{ border-left: 1px solid var(--line-color); padding-left: 29px; }
.main .stats-section .num{ font-size: 52px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; color: var(--black-color); }
.main .stats-section .num span{ font-size: 26px; font-weight: 700; color: var(--point-color); margin-left: 10px; }
.main .stats-section .label{ margin-top: 12px; font-size: 16px; color: var(--gray-color); line-height: 1.4; }
@media screen and (max-width: 950px) {
    .main .stats-section{ padding: 50px 0; }
    .main .stats-section .stats-list{ grid-template-columns: repeat(2, 1fr); gap: 10px 0; }
    .main .stats-section .stats-list li{ padding: 15px 4px; }
    .main .stats-section .stats-list li + li{ border-left: none; padding-left: 4px; }
    .main .stats-section .stats-list li:nth-child(even){ border-left: 1px solid var(--line-color); padding-left: 29px; }
    .main .stats-section .num{ font-size: 42px; }
}
@media screen and (max-width: 650px) {
    .main .stats-section{ padding: 40px 0; }
    .main .stats-section .num{ font-size: 30px; }
    .main .stats-section .num span{ font-size: 18px; margin-left: 6px; }
    .main .stats-section .label{ font-size: 14px; margin-top: 8px; }
}

/* .main .tech-section */
.main .tech-section{ padding: 100px 0; }
.main .tech-section .pill-list{ display: flex; align-items: center; gap: 8px; margin-top: 32px; flex-wrap: wrap; }
.main .tech-section .pill{ display: flex; align-items: center; height: 38px; padding: 0 17px; border-radius: 9999px; border: 1px solid var(--border-color); background-color: #fff; font-size: 14px; font-weight: 600; color: var(--text-color); }
.main .tech-section .pill.main{ border-color: transparent; background: linear-gradient(134deg, #4CA1D8 0%, #61C4AC 100%); color: #fff; }
.main .tech-section .arrow{ color: #CBD3DC; font-size: 16px; padding: 0 5px; }
.main .tech-section .tech-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 60px; }
.main .tech-section .tech-list li{ background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 29px; }
.main .tech-section .tech-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 12px; background-color: #EEF7FC; }
.main .tech-section .tech-list .icon-div img{ width: 24px; }
.main .tech-section .tech-list .title{ display: block; margin-top: 17px; font-size: 19px; font-weight: 600; color: var(--black-color); line-height: 1.6; }
.main .tech-section .tech-list p{ margin-top: 8px; font-size: 14.5px; line-height: 1.6; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .main .tech-section{ padding: 70px 0; }
    .main .tech-section .tech-list{ grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 40px; }
}
@media screen and (max-width: 650px) {
    .main .tech-section{ padding: 50px 0; }
    .main .tech-section .pill-list{ margin-top: 22px; }
    .main .tech-section .tech-list{ grid-template-columns: 1fr; margin-top: 30px; }
    .main .tech-section .tech-list li{ padding: 24px 20px; }
    .main .tech-section .tech-list .title{ font-size: 17px; margin-top: 12px; }
    .main .tech-section .pill{ height: 34px; padding: 0 14px; font-size: 13px; }
}

/* .main .product-section */
.main .product-section{ background-color: var(--bg-color); padding: 100px 0; }
.main .product-section .product-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px 24px; margin-top: 50px; }
.main .product-section .product-list li{ background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.main .product-section .thumb{ position: relative; aspect-ratio: 366 / 229; background-color: var(--bg-color); background-repeat: no-repeat; }
.main .product-section .thumb.coldlaser{ background-image: url('../img/main/product-coldlaser.png'); background-size: 100% 160%; background-position: 0 64%; }
.main .product-section .thumb.ultra{ background-image: url('../img/main/product-ultra.png'); background-size: 101% 108%; background-position: 100% 52%; }
.main .product-section .thumb.pro{ background-image: url('../img/main/product-pro.png'); background-size: cover; background-position: center; }
.main .product-section .thumb.neuro{ background-image: url('../img/main/product-neuro.png'); background-size: contain; background-position: center; }
.main .product-section .thumb.smart{ background-image: url('../img/main/product-smart.png'); background-size: 100% 160%; background-position: 0 23%; }
.main .product-section .thumb .badge{ position: absolute; left: 10px; top: 10px; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 10px; background-color: rgba(255,255,255,0.3); backdrop-filter: blur(9px); -webkit-backdrop-filter: blur(9px); }
.main .product-section .thumb .badge img{ width: 24px; }
.main .product-section .text-div{ padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.main .product-section .cate{ font-size: 14px; font-weight: 600; color: #3F8976; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.3; }
.main .product-section .text-div .title{ font-size: 20px; font-weight: 700; color: var(--black-color); line-height: 1.45; }
.main .product-section .desc{ min-height: 42px; font-size: 14px; line-height: 1.6; color: var(--text-color); }
.main .product-section .bottom-div{ display: flex; align-items: center; justify-content: space-between; padding-top: 10px; }
.main .product-section .tag-list{ display: flex; gap: 6px; }
.main .product-section .tag-list span{ display: flex; align-items: center; padding: 5px 9px; border-radius: 9999px; background-color: var(--bg-color); border: 1px solid var(--line-color); font-size: 11.5px; font-weight: 600; color: #4D5863; line-height: 1.6; }
.main .product-section .more-link{ display: flex; align-items: center; gap: 6px; font-size: 16px; font-weight: 600; color: var(--deep-color); }
.main .product-section .more-link img{ width: 16px; }
.main .product-section .cta-card{ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 5px; padding: 24px; border: 1px solid rgba(76,161,216,0.1); box-shadow: 0 0 4px rgba(76,161,216,0.25); background: radial-gradient(circle at 37% 67%, rgba(76,161,216,0.1) 0%, rgba(76,161,216,0) 60%), radial-gradient(circle at 68% 33%, rgba(97,196,172,0.1) 0%, rgba(97,196,172,0) 60%), #F9F9F9; }
.main .product-section .cta-card .title{ font-size: 24px; font-weight: 700; color: #285777; line-height: 1.15; }
.main .product-section .cta-card p{ font-size: 16px; color: var(--deep-color); line-height: 1.35; margin-bottom: 12px; }
.main .product-section .cta-card .line-btn{ display: flex; align-items: center; justify-content: center; padding: 8px 17px; border-radius: 8px; border: 1px solid var(--main-color); font-size: 16px; font-weight: 600; color: var(--deep-color); transition: background-color .2s; }
.main .product-section .cta-card .line-btn:hover{ background-color: rgba(76,161,216,0.08); }
@media screen and (max-width: 950px) {
    .main .product-section{ padding: 70px 0; }
    .main .product-section .product-list{ grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 36px; }
}
@media screen and (max-width: 650px) {
    .main .product-section{ padding: 50px 0; }
    .main .product-section .product-list{ grid-template-columns: 1fr; margin-top: 26px; }
    .main .product-section .text-div .title{ font-size: 18px; }
    .main .product-section .more-link{ font-size: 15px; }
    .main .product-section .cta-card{ padding: 40px 24px; }
    .main .product-section .cta-card .title{ font-size: 20px; }
    .main .product-section .cta-card p{ font-size: 14px; }
    .main .product-section .cta-card .line-btn{ padding: 7px 14px; font-size: 15px; }
}

/* .main .evidence-section */
.main .evidence-section{ padding: 100px 0; }
.main .evidence-section .evidence-div{ display: flex; gap: 24px; margin-top: 48px; }
.main .evidence-section .evidence-list{ flex: 1; display: flex; flex-direction: column; gap: 14px; }
.main .evidence-section .evidence-list li{ display: flex; align-items: flex-start; gap: 16px; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 23px; }
.main .evidence-section .evidence-list .icon-div{ display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 11px; background-color: #EEFAF6; }
.main .evidence-section .evidence-list .icon-div img{ width: 22px; }
.main .evidence-section .evidence-list .title{ display: block; font-size: 16px; font-weight: 600; color: var(--black-color); line-height: 1.6; }
.main .evidence-section .evidence-list p{ margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--text-color); }
.main .evidence-section .clinical-card{ position: relative; overflow: hidden; width: 486px; flex-shrink: 0; border-radius: 16px; padding: 30px; background: url('../img/main/clinical-card.png') no-repeat center / cover; color: #fff; }
.main .evidence-section .clinical-card::before{ content:''; position: absolute; inset: 0; background-color: rgba(20,26,32,0.85); }
.main .evidence-section .clinical-card > *{ position: relative; }
.main .evidence-section .clinical-card .card-eyebrow{ position: relative; padding-left: 34px; font-size: 12px; font-weight: 600; color: #8AD8C0; letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.6; }
.main .evidence-section .clinical-card .card-eyebrow::before{ content:''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 24px; height: 1.5px; border-radius: 2px; background-color: #6FCCB1; }
.main .evidence-section .clinical-card .title{ display: block; margin-top: 14px; font-size: 21px; font-weight: 700; line-height: 1.3; }
.main .evidence-section .clinical-card .desc{ margin-top: 14px; font-size: 14.5px; line-height: 1.6; color: #CBD3DC; }
.main .evidence-section .clinical-card .num-div{ margin-top: 22px; }
.main .evidence-section .clinical-card .num{ font-size: 46px; font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.main .evidence-section .clinical-card .label{ margin-top: 7px; font-size: 15px; font-weight: 600; color: #8AD8C0; letter-spacing: 0.02em; line-height: 1.2; }
.main .evidence-section .clinical-card .paper-btn{ display: inline-flex; align-items: center; justify-content: center; margin-top: 28px; padding: 8px 17px; border-radius: 8px; background-color: #fff; font-size: 14px; font-weight: 600; color: var(--deep-color); transition: background-color .2s; }
.main .evidence-section .clinical-card .paper-btn:hover{ background-color: #EEF7FC; color: var(--deep-color); }
.main .evidence-section .trust-strip{ margin-top: 48px; padding-top: 29px; border-top: 1px solid var(--line-color); }
.main .evidence-section .strip-label{ font-size: 12.5px; font-weight: 600; color: #9AA6B2; letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.6; }
.main .evidence-section .badge-list{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.main .evidence-section .badge-list li{ display: flex; align-items: center; gap: 7px; height: 40px; padding: 0 17px; background-color: #fff; border: 1px solid var(--border-color); border-radius: 8px; font-size: 13.5px; line-height: 1.6; }
.main .evidence-section .badge-list b{ font-weight: 800; color: var(--deep-color); }
.main .evidence-section .badge-list span{ font-weight: 600; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .main .evidence-section{ padding: 70px 0; }
    .main .evidence-section .evidence-div{ flex-direction: column; margin-top: 36px; }
    .main .evidence-section .clinical-card{ width: 100%; }
    .main .evidence-section .trust-strip{ margin-top: 36px; }
}
@media screen and (max-width: 650px) {
    .main .evidence-section{ padding: 50px 0; }
    .main .evidence-section .evidence-div{ margin-top: 26px; gap: 20px; }
    .main .evidence-section .evidence-list{ gap: 10px; }
    .main .evidence-section .evidence-list li{ padding: 18px; gap: 12px; }
    .main .evidence-section .clinical-card{ padding: 24px 20px; }
    .main .evidence-section .clinical-card .num{ font-size: 36px; }
    .main .evidence-section .trust-strip{ margin-top: 30px; padding-top: 22px; }
    .main .evidence-section .badge-list{ gap: 6px; margin-top: 12px; }
    .main .evidence-section .badge-list li{ height: 34px; padding: 0 12px; font-size: 12px; }
}

/* .main .global-section */
.main .global-section{ background-color: var(--bg-color); padding: 100px 0; }
.main .global-section .inner{ display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.main .global-section .text-div{ flex: 1; max-width: 564px; }
.main .global-section .check-list{ display: flex; flex-direction: column; gap: 12px; margin-top: 22px; }
.main .global-section .check-list li{ position: relative; padding-left: 32px; font-size: 15px; color: var(--text-color); line-height: 1.6; }
.main .global-section .check-list li img{ position: absolute; left: 0; top: 3px; width: 20px; }
.main .global-section .line-btn{ display: inline-flex; align-items: center; justify-content: center; margin-top: 20px; padding: 11px 25px; border-radius: 8px; border: 1px solid var(--main-color); font-size: 16px; font-weight: 600; color: var(--deep-color); transition: background-color .2s; }
.main .global-section .line-btn:hover{ background-color: rgba(76,161,216,0.08); }
.main .global-section .map-card{ width: 588px; flex-shrink: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 16px; padding: 8px; box-shadow: 0 6px 9px rgba(20,26,32,0.08); }
.main .global-section .map-div{ position: relative; height: 240px; border-radius: 12px; background-color: #F9F9F9; overflow: hidden; }
.main .global-section .map-div::before{ content:''; position: absolute; left: 5%; right: 5%; top: -16%; bottom: -19%; background: url('../img/main/world-map.png') no-repeat center / contain; opacity: 0.2; }
.main .global-section .point-item{ position: absolute; display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--text-color); line-height: 1.6; white-space: nowrap; }
.main .global-section .point-item i{ width: 11px; height: 11px; border-radius: 50%; }
.main .global-section .point-item.blue i{ background-color: var(--main-color); box-shadow: 0 0 0 5px rgba(76,161,216,0.18); }
.main .global-section .point-item.green i{ background-color: var(--sub-color); box-shadow: 0 0 0 5px rgba(97,196,172,0.18); }
.main .global-section .country-list{ padding-top: 8px; }
.main .global-section .country-list li{ display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 8px; }
.main .global-section .country-list b{ min-width: 64px; font-size: 14.5px; font-weight: 600; color: var(--black-color); line-height: 1.6; }
.main .global-section .country-list p{ font-size: 13.5px; color: var(--gray-color); line-height: 1.6; }
@media screen and (max-width: 1250px) {
    .main .global-section .map-card{ width: 50%; }
}
@media screen and (max-width: 950px) {
    .main .global-section{ padding: 70px 0; }
    .main .global-section .inner{ flex-direction: column; align-items: flex-start; }
    .main .global-section .text-div{ max-width: 100%; }
    .main .global-section .map-card{ width: 100%; max-width: 588px; }
}
@media screen and (max-width: 650px) {
    .main .global-section{ padding: 50px 0; }
    .main .global-section .check-list{ margin-top: 16px; gap: 10px; }
    .main .global-section .check-list li{ font-size: 14px; }
    .main .global-section .line-btn{ padding: 9px 18px; font-size: 15px; }
    .main .global-section .map-div{ height: 200px; }
    .main .global-section .country-list li{ padding: 10px 8px; gap: 8px; }
    .main .global-section .country-list b{ min-width: 56px; font-size: 13.5px; }
    .main .global-section .country-list p{ font-size: 12.5px; }
}

/* .main .news-section */
.main .news-section{ padding: 100px 0 0; }
.main .news-section .top-div{ display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; }
.main .news-section .more-link{ display: flex; align-items: center; gap: 6px; margin-bottom: 6px; font-size: 16px; font-weight: 600; color: var(--deep-color); flex-shrink: 0; }
.main .news-section .more-link img{ width: 16px; }
.main .news-section .news-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 48px; }
.main .news-section .news-list li a{ display: flex; flex-direction: column; align-items: flex-start; height: 100%; background-color: #F7F7F7; border: 1px solid #CBD3DC; border-radius: 10px; padding: 20px; transition: border-color .2s, box-shadow .2s; }
.main .news-section .news-list li a:hover{ border-color: var(--main-color); box-shadow: 0 6px 14px rgba(20,26,32,0.06); }
.main .news-section .badge{ display: flex; align-items: center; padding: 5px 15px; border-radius: 9999px; background-color: var(--point-color); font-size: 11.5px; font-weight: 600; color: #fff; line-height: 1.6; }
.main .news-section .news-list .title{ margin-top: 23px; font-size: 16px; font-weight: 600; color: var(--black-color); line-height: 1.4; }
.main .news-section .desc{ margin-top: 12px; font-size: 12.5px; color: var(--gray-color); line-height: 1.6; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.main .news-section .date{ margin-top: auto; padding-top: 20px; font-size: 12.5px; color: var(--gray-color); line-height: 1.6; }
@media screen and (max-width: 950px) {
    .main .news-section{ padding: 70px 0 0; }
    .main .news-section .news-list{ grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
}
@media screen and (max-width: 650px) {
    .main .news-section{ padding: 50px 0 0; }
    .main .news-section .more-link{ font-size: 14px; margin-bottom: 2px; }
    .main .news-section .more-link img{ width: 14px; }
    .main .news-section .news-list{ grid-template-columns: 1fr; margin-top: 24px; }
}

/* .main .cta-section */
.main .cta-section{ padding: 100px 0; }
.main .cta-section .cta-banner{ position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; border-radius: 24px; padding: 64px; background: linear-gradient(136deg, #4CA1D8 0%, #61C4AC 100%); color: #fff; }
.main .cta-section .cta-banner::before{ content:''; position: absolute; right: -80px; top: -120px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 70%); }
.main .cta-section .cta-eyebrow{ position: relative; padding-left: 34px; font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.85); letter-spacing: 0.12em; text-transform: uppercase; line-height: 1.6; }
.main .cta-section .cta-eyebrow::before{ content:''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 24px; height: 1.5px; border-radius: 2px; background-color: #fff; }
.main .cta-section .text-div{ position: relative; }
.main .cta-section .title{ display: block; margin-top: 14px; font-size: 34px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; }
.main .cta-section .desc{ margin-top: 10px; font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.9); }
.main .cta-section .cta-btn{ position: relative; display: flex; align-items: center; justify-content: center; height: 56px; padding: 0 29px; border-radius: 10px; background-color: #fff; font-size: 16px; font-weight: 600; color: var(--deep-color); transition: background-color .2s; }
.main .cta-section .cta-btn:hover{ background-color: #EEF7FC; color: var(--deep-color); }
@media screen and (max-width: 950px) {
    .main .cta-section{ padding: 70px 0; }
    .main .cta-section .cta-banner{ padding: 44px 40px; }
    .main .cta-section .title{ font-size: 28px; }
}
@media screen and (max-width: 650px) {
    .main .cta-section{ padding: 50px 0; }
    .main .cta-section .cta-banner{ padding: 32px 24px; border-radius: 16px; }
    .main .cta-section .title{ font-size: 22px; }
    .main .cta-section .desc{ font-size: 14px; }
    .main .cta-section .cta-btn{ height: 46px; padding: 0 22px; font-size: 15px; }
}

/* footer */
footer{ background-color: var(--black-color); color: #CBD3DC; padding: 64px 0 36px; }
footer .top-div{ display: flex; justify-content: space-between; gap: 40px; padding-bottom: 30px; }
footer .brand-box{ width: 295px; flex-shrink: 0; }
footer .footer-logo{ width: 150px; display: block; }
footer .brand-box p{ margin-top: 20px; font-size: 14px; line-height: 1.4; color: #9AA6B2; }
footer .brand-box .contact-btn{ display: inline-flex; align-items: center; justify-content: center; margin-top: 24px; padding: 8px 17px; border-radius: 8px; background-color: var(--main-color); color: #fff; font-size: 14px; font-weight: 600; transition: background-color .2s; }
footer .brand-box .contact-btn:hover{ background-color: var(--deep-color); color: #fff; }
footer .menu-box{ display: flex; flex-direction: column; }
footer .menu-box b{ font-size: 13px; font-weight: 600; color: var(--gray-color); letter-spacing: 0.06em; text-transform: uppercase; line-height: 1.6; margin-bottom: 16px; }
footer .menu-box a{ font-size: 14px; color: #CBD3DC; line-height: 1.6; padding: 4px 0; transition: color .2s; }
footer .menu-box a:hover{ color: #fff; }
footer .contact-box{ max-width: 385px; }
footer .contact-box p{ font-size: 14px; line-height: 1.6; padding: 2px 0; }
footer .contact-box .strong{ font-weight: 600; margin-top: 8px; }
footer .contact-box b + .strong{ margin-top: 0; }
footer .bottom-div{ display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 25px; border-top: 1px solid rgba(255,255,255,0.08); }
footer .info-box p{ font-size: 12.5px; line-height: 1.8; color: var(--gray-color); }
footer .info-box b{ color: #CBD3DC; font-weight: 600; }
footer .policy-list{ display: flex; gap: 18px; }
footer .policy-list a{ font-size: 12.5px; color: #CBD3DC; line-height: 1.6; }
footer .policy-list a.strong{ font-weight: 600; color: var(--border-color); }
@media screen and (max-width: 950px) {
    footer .top-div{ flex-wrap: wrap; }
    footer .brand-box{ width: 100%; }
}
@media screen and (max-width: 650px) {
    footer{ padding: 40px 0 30px; }
    footer .top-div{ flex-direction: column; gap: 26px; }
    footer .info-box p{ font-size: 12px; }
    footer .bottom-div{ flex-direction: column; align-items: flex-start; }
}

/* .quick-menu-section */
.quick-menu-section{ position: fixed; right: 24px; bottom: 24px; z-index: 90; }
.quick-menu-section .top-btn{ display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background-color: #fff; border: 1px solid var(--border-color); box-shadow: 0 2px 8px rgba(20,26,32,0.1); font-size: 12px; font-weight: 700; color: var(--deep-color); cursor: pointer; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.quick-menu-section .top-btn.show{ opacity: 1; visibility: visible; }
@media screen and (max-width: 650px) {
    .quick-menu-section{ right: 16px; bottom: 16px; }
    .quick-menu-section .top-btn{ width: 42px; height: 42px; }
}

/* .sub 공통 */
.sub{ padding-top: 80px; }
@media screen and (max-width: 1100px) { .sub{ padding-top: 72px; } }
@media screen and (max-width: 650px) { .sub{ padding-top: 64px; } }

/* .sub .sub-nav */
.sub .sub-nav{ background-color: #fff; border-bottom: 1px solid var(--line-color); }
.sub .sub-nav .inner{ display: flex; align-items: center; height: 57px; }
.sub .sub-nav .page-name{ font-size: 16px; font-weight: 700; color: var(--black-color); padding-right: 20px; border-right: 1px solid var(--border-color); line-height: 1.3; }
.sub .sub-nav .tab-list{ display: flex; align-items: center; gap: 28px; padding-left: 20px; }
.sub .sub-nav .tab-list a{ font-size: 16px; font-weight: 600; color: #8B99AA; line-height: 1.45; transition: color .2s; }
.sub .sub-nav .tab-list a:hover{ color: var(--deep-color); }
.sub .sub-nav .tab-list a.active{ color: var(--deep-color); }
@media screen and (max-width: 650px) {
    .sub .sub-nav .inner{ height: 48px; overflow-x: auto; }
    .sub .sub-nav .page-name{ font-size: 14px; padding-right: 14px; flex-shrink: 0; }
    .sub .sub-nav .tab-list{ gap: 18px; padding-left: 14px; }
    .sub .sub-nav .tab-list a{ font-size: 14px; white-space: nowrap; }
}

/* .sub .page-hero-section */
.sub .page-hero-section{ position: relative; overflow: hidden; background: url('../img/about/hero-bg.jpg') no-repeat center / cover; }
.sub .page-hero-section::before{ content:''; position: absolute; inset: 0; background: linear-gradient(to left, rgba(234,244,255,0.8), var(--bg-color)); }
.sub .page-hero-section .inner{ position: relative; padding-top: 88px; padding-bottom: 92px; }
.sub .page-hero-section .breadcrumb{ font-size: 13px; color: var(--gray-color); line-height: 1.6; margin-bottom: 24px; }
.sub .page-hero-section .breadcrumb span{ color: #CBD3DC; margin: 0 4px; }
.sub .page-hero-section .breadcrumb b{ font-weight: 600; color: #232A31; }
.sub .page-hero-section .page-title{ margin-top: 16px; font-size: 42px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; color: var(--black-color); }
.sub .page-hero-section .page-sub{ margin-top: 18px; font-size: 18px; line-height: 1.7; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .sub .page-hero-section .inner{ padding-top: 60px; padding-bottom: 64px; }
    .sub .page-hero-section .page-title{ font-size: 34px; }
}
@media screen and (max-width: 650px) {
    .sub .page-hero-section .inner{ padding-top: 40px; padding-bottom: 44px; }
    .sub .page-hero-section .breadcrumb{ margin-bottom: 16px; }
    .sub .page-hero-section .page-title{ font-size: 26px; margin-top: 12px; }
    .sub .page-hero-section .page-sub{ font-size: 15px; margin-top: 12px; }
}

/* .sub .vision-section */
.sub .vision-section{ padding: 100px 0 0; }
.sub .vision-section .quote-title{ margin-top: 22px; font-size: 42px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.4; color: var(--black-color); }
.sub .vision-section .quote-title .point{ color: var(--point-color); }
.sub .vision-section .eng-sub{ margin-top: 24px; font-size: 20px; line-height: 1.4; color: #8B99AA; }
.sub .vision-section .dash-list{ margin-top: 42px; padding-left: 33px; }
.sub .vision-section .dash-list li{ font-size: 18px; line-height: 2; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .sub .vision-section{ padding-top: 70px; }
    .sub .vision-section .quote-title{ font-size: 32px; }
    .sub .vision-section .eng-sub{ font-size: 17px; }
    .sub .vision-section .dash-list{ padding-left: 0; }
}
@media screen and (max-width: 650px) {
    .sub .vision-section{ padding-top: 50px; }
    .sub .vision-section .quote-title{ font-size: 23px; margin-top: 14px; }
    .sub .vision-section .quote-title br{ display: none; }
    .sub .vision-section .eng-sub{ font-size: 14px; margin-top: 14px; }
    .sub .vision-section .dash-list{ margin-top: 24px; }
    .sub .vision-section .dash-list li{ font-size: 15px; }
}

/* .sub .mission-section */
.sub .mission-section{ padding: 100px 0; }
.sub .mission-section .inner{ display: flex; justify-content: space-between; gap: 60px; }
.sub .mission-section .text-div{ flex: 1; }
.sub .mission-section .quote-title{ margin-top: 22px; font-size: 42px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.4; color: var(--black-color); }
.sub .mission-section .eng-sub{ margin-top: 20px; font-size: 20px; line-height: 1.4; color: #8B99AA; }
.sub .mission-section .bar-item{ margin-top: 34px; padding-left: 12px; border-left: 2px solid var(--main-color); }
.sub .mission-section .bar-item b{ display: block; font-size: 16px; font-weight: 600; color: var(--black-color); letter-spacing: 0.09em; line-height: 1.2; }
.sub .mission-section .bar-item p{ margin-top: 10px; font-size: 14px; line-height: 1.4; color: #8B99AA; }
.sub .mission-section .mission-list{ width: 510px; flex-shrink: 0; display: flex; flex-direction: column; gap: 14px; }
.sub .mission-section .mission-list li{ display: flex; align-items: flex-start; gap: 16px; padding: 23px; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; }
.sub .mission-section .mission-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex-shrink: 0; }
.sub .mission-section .mission-list .icon-div img{ width: 100%; }
.sub .mission-section .mission-list .icon-div.green{ background-color: #EEFAF6; border-radius: 11px; }
.sub .mission-section .mission-list .icon-div.green img{ width: 30px; }
.sub .mission-section .mission-list b{ font-size: 18px; font-weight: 600; line-height: 1.45; color: var(--black-color); }
@media screen and (max-width: 950px) {
    .sub .mission-section{ padding: 70px 0; }
    .sub .mission-section .inner{ flex-direction: column; gap: 40px; }
    .sub .mission-section .quote-title{ font-size: 32px; }
    .sub .mission-section .eng-sub{ font-size: 17px; }
    .sub .mission-section .mission-list{ width: 100%; }
}
@media screen and (max-width: 650px) {
    .sub .mission-section{ padding: 50px 0; }
    .sub .mission-section .quote-title{ font-size: 23px; margin-top: 14px; }
    .sub .mission-section .eng-sub{ font-size: 14px; margin-top: 14px; }
    .sub .mission-section .bar-item{ margin-top: 26px; }
    .sub .mission-section .bar-item b{ font-size: 15px; }
    .sub .mission-section .bar-item p{ font-size: 13px; }
    .sub .mission-section .mission-list li{ padding: 18px; }
    .sub .mission-section .mission-list b{ font-size: 16px; }
    .sub .mission-section .mission-list b br{ display: none; }
}

/* .sub .platform-section */
.sub .platform-section{ padding: 0 0 100px; }
.sub .platform-section .platform-div{ display: flex; gap: 23px; margin-top: 46px; }
.sub .platform-section .photo-div{ width: 486px; flex-shrink: 0; border: 1px solid var(--border-color); border-radius: 16px; background-position: center; background-size: cover; background-repeat: no-repeat; }
.sub .platform-section .platform-list{ flex: 1; background-color: #fff; border: 1px solid var(--border-color); border-radius: 16px; overflow: hidden; }
.sub .platform-section .platform-list li{ display: flex; align-items: flex-start; gap: 16px; padding: 20px 24px; }
.sub .platform-section .platform-list li + li{ border-top: 1px solid var(--line-color); }
.sub .platform-section .platform-list .dot{ width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; margin-top: 8px; }
.sub .platform-section .platform-list .dot.blue{ background-color: var(--main-color); box-shadow: 0 0 0 4px #EEF7FC; }
.sub .platform-section .platform-list .dot.green{ background-color: var(--sub-color); box-shadow: 0 0 0 4px #EEFAF6; }
.sub .platform-section .platform-list b{ display: block; font-size: 18px; font-weight: 700; line-height: 1.45; color: var(--black-color); }
.sub .platform-section .platform-list p{ margin-top: 4px; font-size: 16px; line-height: 1.4; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .sub .platform-section{ padding-bottom: 70px; }
    .sub .platform-section .platform-div{ flex-direction: column; }
    .sub .platform-section .photo-div{ width: 100%; height: 260px; }
}
@media screen and (max-width: 650px) {
    .sub .platform-section{ padding-bottom: 50px; }
    .sub .platform-section .platform-div{ margin-top: 26px; }
    .sub .platform-section .photo-div{ height: 200px; }
    .sub .platform-section .platform-list li{ padding: 16px; }
    .sub .platform-section .platform-list b{ font-size: 16px; }
    .sub .platform-section .platform-list p{ font-size: 14px; }
}

/* .sub .core-section */
.sub .core-section{ background-color: var(--bg-color); padding: 80px 0 0; }
.sub .core-section .core-bg{ margin-top: 40px; padding: 10px 0 84px; background: url('../img/about/core-bg.jpg') no-repeat center bottom / cover; }
.sub .core-section .glass-panel{ background-color: rgba(255,255,255,0.55); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: 10px; padding: 24px 16px 30px; margin: 0 -14px; }
.sub .core-section .eng-title{ font-size: 28px; font-weight: 600; color: var(--text-color); letter-spacing: 0.04em; line-height: 1.4; padding: 0 4px; }
.sub .core-section .core-list{ display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 24px; margin-top: 22px; }
.sub .core-section .core-list li{ display: flex; align-items: flex-start; gap: 14px; padding: 18px 4px; }
.sub .core-section .core-list li:nth-child(n+3){ border-top: 1px solid rgba(20,26,32,0.08); }
.sub .core-section .core-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 11px; background-color: #EEF7FC; }
.sub .core-section .core-list .icon-div img{ width: 22px; }
.sub .core-section .core-list b{ display: block; font-size: 16px; font-weight: 600; line-height: 1.6; color: var(--black-color); }
.sub .core-section .core-list p{ margin-top: 4px; font-size: 14px; line-height: 1.6; color: var(--text-color); }
.sub .core-section .capability-list{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; padding: 0 4px; }
.sub .core-section .capability-list span{ display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; background-color: #fff; border: 1px solid var(--border-color); font-size: 14px; font-weight: 600; color: var(--text-color); }
.sub .core-section .capability-list b{ font-weight: 800; color: var(--deep-color); }
@media screen and (max-width: 950px) {
    .sub .core-section{ padding: 70px 0 0; }
    .sub .core-section .core-bg{ padding-bottom: 70px; }
    .sub .core-section .eng-title{ font-size: 22px; }
    .sub .core-section .core-list{ grid-template-columns: 1fr; }
    .sub .core-section .core-list li:nth-child(n+2){ border-top: 1px solid rgba(20,26,32,0.08); }
}
@media screen and (max-width: 650px) {
    .sub .core-section{ padding: 50px 0 0; }
    .sub .core-section .core-bg{ margin-top: 24px; padding-bottom: 50px; }
    .sub .core-section .glass-panel{ margin: 0; padding: 20px 14px 24px; }
    .sub .core-section .eng-title{ font-size: 18px; }
    .sub .core-section .capability-list span{ height: 38px; padding: 0 13px; font-size: 13px; }
}

/* .sub .team-section */
.sub .team-section{ padding: 100px 0; }
.sub .team-section .team-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 46px; }
.sub .team-section .team-list > li{ background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 24px; }
.sub .team-section .profile-div{ display: flex; align-items: center; gap: 14px; }
.sub .team-section .avatar{ display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; flex-shrink: 0; border-radius: 26px; background: linear-gradient(135deg, #4CA1D8 0%, #61C4AC 100%); color: #fff; font-size: 18px; font-weight: 700; }
.sub .team-section .name-box b{ display: block; font-size: 17px; font-weight: 700; color: var(--black-color); line-height: 1.6; }
.sub .team-section .name-box p{ font-size: 13px; font-weight: 600; color: #3F8976; line-height: 1.6; }
.sub .team-section .career-list{ margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
.sub .team-section .career-list li{ position: relative; padding-left: 14px; font-size: 13px; line-height: 1.6; color: var(--text-color); }
.sub .team-section .career-list li::before{ content:''; position: absolute; left: 0; top: 8px; width: 5px; height: 5px; border-radius: 2.5px; background-color: #CBD3DC; }
.sub .team-section .join-card{ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; background-color: #EEF7FC !important; border: none !important; }
.sub .team-section .join-card b{ font-size: 16px; font-weight: 700; color: #285777; line-height: 1.6; }
.sub .team-section .join-card .line-btn{ display: flex; align-items: center; justify-content: center; height: 40px; padding: 0 17px; border-radius: 8px; border: 1px solid var(--main-color); font-size: 14px; font-weight: 600; color: var(--deep-color); transition: background-color .2s; }
.sub .team-section .join-card .line-btn:hover{ background-color: rgba(76,161,216,0.08); }
@media screen and (max-width: 950px) {
    .sub .team-section{ padding: 70px 0; }
    .sub .team-section .team-list{ grid-template-columns: repeat(2, 1fr); gap: 16px; margin-top: 36px; }
}
@media screen and (max-width: 650px) {
    .sub .team-section{ padding: 50px 0; }
    .sub .team-section .team-list{ grid-template-columns: 1fr; margin-top: 26px; }
    .sub .team-section .join-card{ padding: 40px 24px; }
}

/* .sub .message-section */
.sub .message-section{ padding: 100px 0; }
.sub .message-section .message-div{ position: relative; margin-top: 40px; }
.sub .message-section .text-div{ position: relative; z-index: 1; }
.sub .message-section .quote{ display: block; font-size: 26px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.4; color: var(--black-color); }
.sub .message-section .message-body{ margin-top: 40px; }
.sub .message-section .message-body p{ font-size: 18px; line-height: 1.42; color: var(--text-color); }
.sub .message-section .message-body p + p{ margin-top: 26px; }
.sub .message-section .sign{ margin-top: 46px; font-size: 20px; color: var(--gray-color); line-height: 1.2; }
.sub .message-section .watermark{ position: absolute; right: 0; top: 210px; width: 361px; opacity: 0.9; pointer-events: none; }
.sub .message-section .watermark img{ width: 100%; display: block; }
@media screen and (max-width: 1250px) {
    .sub .message-section .watermark{ width: 280px; }
}
@media screen and (max-width: 950px) {
    .sub .message-section{ padding: 70px 0; }
    .sub .message-section .quote{ font-size: 22px; }
    .sub .message-section .watermark{ display: none; }
}
@media screen and (max-width: 650px) {
    .sub .message-section{ padding: 50px 0; }
    .sub .message-section .message-div{ margin-top: 24px; }
    .sub .message-section .quote{ font-size: 18px; }
    .sub .message-section .message-body{ margin-top: 24px; }
    .sub .message-section .message-body p{ font-size: 15px; }
    .sub .message-section .message-body p + p{ margin-top: 18px; }
    .sub .message-section .message-body br{ display: none; }
    .sub .message-section .sign{ margin-top: 30px; font-size: 16px; }
}

/* .sub .connect-section */
.sub .connect-section{ padding: 100px 0; }
.sub .connect-section .connect-banner{ position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 30px; flex-wrap: wrap; padding: 64px; border-radius: 24px; background: linear-gradient(136deg, #4CA1D8 0%, #61C4AC 100%); color: #fff; }
.sub .connect-section .connect-banner::before{ content:''; position: absolute; right: -80px; top: -120px; width: 400px; height: 400px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.22) 0%, rgba(255,255,255,0) 70%); }
.sub .connect-section .text-div{ position: relative; }
.sub .connect-section .banner-eyebrow{ position: relative; padding-left: 34px; font-size: 14px; font-weight: 600; color: rgba(255,255,255,0.85); letter-spacing: 0.09em; text-transform: uppercase; line-height: 1.4; }
.sub .connect-section .banner-eyebrow::before{ content:''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 24px; height: 1.5px; border-radius: 2px; background-color: #fff; }
.sub .connect-section .banner-title{ display: block; margin-top: 19px; font-size: 42px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.05; color: #fff; }
.sub .connect-section .banner-sub{ margin-top: 15px; font-size: 20px; line-height: 1.3; color: rgba(255,255,255,0.9); }
.sub .connect-section .white-btn{ position: relative; display: flex; align-items: center; justify-content: center; height: 56px; padding: 0 29px; border-radius: 10px; background-color: #fff; color: var(--deep-color); font-size: 18px; font-weight: 600; flex-shrink: 0; transition: background-color .2s; }
.sub .connect-section .white-btn:hover{ background-color: #EEF7FC; color: var(--deep-color); }
@media screen and (max-width: 950px) {
    .sub .connect-section{ padding: 70px 0; }
    .sub .connect-section .connect-banner{ padding: 44px 40px; }
    .sub .connect-section .banner-title{ font-size: 32px; }
}
@media screen and (max-width: 650px) {
    .sub .connect-section{ padding: 50px 0; }
    .sub .connect-section .connect-banner{ padding: 32px 24px; border-radius: 16px; }
    .sub .connect-section .banner-title{ font-size: 23px; margin-top: 14px; }
    .sub .connect-section .banner-sub{ font-size: 15px; }
    .sub .connect-section .white-btn{ height: 44px; padding: 0 18px; font-size: 15px; }
}

/* .sub .history-section */
.sub .page-hero-section .section-eyebrow.blue{ font-size: 12px; color: var(--deep-color); }
.sub .page-hero-section .section-eyebrow.blue::before{ background-color: var(--main-color); }
.sub .history-section{ padding: 100px 0; }
.sub .history-section .legend-list{ display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.sub .history-section .legend{ display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 19px; border-radius: 8px; background-color: #fff; border: 1px solid var(--border-color); font-size: 14px; font-weight: 600; color: var(--text-color); }
.sub .history-section .tag{ display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 9999px; font-size: 14px; font-weight: 700; font-style: normal; letter-spacing: 0.02em; line-height: 1; flex-shrink: 0; }
.sub .history-section .tag.invest{ background-color: #EEF7FC; color: var(--deep-color); }
.sub .history-section .tag.license{ background-color: #EEFAF6; color: #3F8976; }
.sub .history-section .tag.cert{ background-color: #FBF3E4; color: #BA8A34; }
.sub .history-section .tag.global{ background-color: #F7EEEE; color: #DD7C7C; }
.sub .history-section .tag.biz{ background-color: var(--line-color); color: #4D5863; }
.sub .history-section .timeline{ position: relative; margin-top: 48px; max-width: 780px; }
.sub .history-section .timeline::before{ content:''; position: absolute; left: 120px; top: 27px; bottom: 14px; width: 2px; background-color: var(--border-color); }
.sub .history-section .year-row{ position: relative; display: flex; align-items: flex-start; padding: 14px 0; }
.sub .history-section .year{ width: 100px; flex-shrink: 0; font-size: 22px; font-weight: 700; letter-spacing: -0.02em; line-height: 24px; color: var(--black-color); }
.sub .history-section .dot{ position: absolute; left: 114px; top: 19px; width: 14px; height: 14px; border-radius: 7px; background-color: #fff; border: 3px solid var(--main-color); z-index: 1; }
.sub .history-section .dot.main{ border: none; background: linear-gradient(135deg, #4CA1D8 0%, #61C4AC 100%); box-shadow: 0 0 0 5px rgba(97,196,172,0.18); }
.sub .history-section .event-list{ display: flex; flex-direction: column; gap: 9px; padding-left: 160px; }
.sub .history-section .event-list li{ display: flex; align-items: flex-start; gap: 12px; }
.sub .history-section .event-list p{ font-size: 18px; line-height: 24px; color: var(--text-color); }
.sub .history-section .event-list b{ font-weight: 600; color: var(--black-color); }
@media screen and (max-width: 950px) {
    .sub .history-section{ padding: 70px 0; }
    .sub .history-section .timeline{ max-width: 100%; margin-top: 36px; }
    .sub .history-section .timeline::before{ left: 6px; top: 20px; }
    .sub .history-section .year-row{ flex-direction: column; gap: 10px; padding: 14px 0 14px 30px; }
    .sub .history-section .dot{ left: 0; top: 19px; }
    .sub .history-section .event-list{ padding-left: 0; }
}
@media screen and (max-width: 650px) {
    .sub .history-section{ padding: 50px 0; }
    .sub .history-section .legend-list{ gap: 8px; margin-top: 24px; }
    .sub .history-section .legend{ height: 36px; padding: 0 12px; font-size: 13px; }
    .sub .history-section .tag{ height: 22px; font-size: 12px; padding: 0 8px; }
    .sub .history-section .year{ font-size: 18px; }
    .sub .history-section .event-list li{ flex-direction: column; gap: 6px; }
    .sub .history-section .event-list p{ font-size: 15px; line-height: 1.5; }
}

/* .sub .funding-section */
.sub .funding-section{ background-color: var(--bg-color); padding: 96px 0 100px; }
.sub .funding-section .funding-div{ display: flex; gap: 24px; margin-top: 42px; }
.sub .funding-section .table-div{ flex: 1; }
.sub .funding-section .funding-table{ width: 100%; border-collapse: separate; border-spacing: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; }
.sub .funding-section .funding-table th{ background-color: var(--bg-color); border-bottom: 1px solid var(--line-color); padding: 15px 22px; font-size: 14px; font-weight: 600; color: var(--gray-color); letter-spacing: 0.05em; text-transform: uppercase; text-align: left; line-height: 1.2; }
.sub .funding-section .funding-table th.right{ text-align: right; }
.sub .funding-section .funding-table td{ border-bottom: 1px solid var(--line-color); padding: 16px 22px; font-size: 16px; color: var(--text-color); line-height: 1.2; }
.sub .funding-section .funding-table tr:last-child td{ border-bottom: none; }
.sub .funding-section .funding-table .year{ font-weight: 700; color: var(--deep-color); width: 115px; }
.sub .funding-section .funding-table .amount{ font-weight: 700; font-size: 15px; color: var(--black-color); text-align: right; }
.sub .funding-section .total-bar{ display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 18px; padding: 18px 22px; border-radius: 12px; background-color: var(--black-color); color: #fff; }
.sub .funding-section .total-bar > b{ font-size: 18px; font-weight: 600; line-height: 1.25; }
.sub .funding-section .total-bar p{ display: flex; align-items: center; gap: 12px; }
.sub .funding-section .total-bar span{ font-size: 14px; font-weight: 600; color: #8AD8C0; line-height: 1.5; }
.sub .funding-section .total-bar .num{ font-size: 26px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.6; }
.sub .funding-section .total-bar .num em{ font-style: normal; font-size: 15px; font-weight: 500; color: #CBD3DC; }
.sub .funding-section .next-card{ flex: 1; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 26px; align-self: flex-start; }
.sub .funding-section .next-card .title{ display: block; margin-top: 19px; font-size: 24px; font-weight: 700; color: var(--text-color); line-height: 1.4; }
.sub .funding-section .next-card .desc{ margin-top: 16px; font-size: 16px; line-height: 1.6; color: var(--text-color); }
.sub .funding-section .next-card .pill-list{ display: flex; flex-wrap: wrap; gap: 13px; margin-top: 22px; }
.sub .funding-section .next-card .pill-list span{ display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; background-color: #fff; border: 1px solid var(--border-color); font-size: 14px; font-weight: 600; color: var(--text-color); }
.sub .funding-section .next-card .pill-list b{ font-weight: 800; color: var(--deep-color); }
@media screen and (max-width: 950px) {
    .sub .funding-section{ padding: 70px 0; }
    .sub .funding-section .funding-div{ flex-direction: column; margin-top: 32px; }
}
@media screen and (max-width: 650px) {
    .sub .funding-section{ padding: 50px 0; }
    .sub .funding-section .funding-table th{ padding: 12px 14px; font-size: 12px; }
    .sub .funding-section .funding-table td{ padding: 13px 14px; font-size: 14px; }
    .sub .funding-section .funding-table .year{ width: 70px; }
    .sub .funding-section .total-bar{ padding: 14px 16px; }
    .sub .funding-section .total-bar > b{ font-size: 15px; }
    .sub .funding-section .total-bar .num{ font-size: 20px; }
    .sub .funding-section .next-card{ padding: 20px; }
    .sub .funding-section .next-card .title{ font-size: 20px; }
    .sub .funding-section .next-card .desc{ font-size: 14px; }
    .sub .funding-section .next-card .pill-list span{ height: 38px; padding: 0 13px; font-size: 13px; }
}

/* .sub .location-section */
.sub .location-section{ padding: 100px 0; }
.sub .location-section .location-div{ display: flex; gap: 25px; }
.sub .location-section .location-div + .location-div{ margin-top: 50px; }
.sub .location-section .info-card{ width: 384px; flex-shrink: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 23px 22px; }
.sub .location-section .cate{ font-size: 14px; font-weight: 700; color: var(--deep-color); letter-spacing: 0.05em; text-transform: uppercase; line-height: 1.3; }
.sub .location-section .cate.green{ color: #3F8976; }
.sub .location-section .title{ display: block; margin-top: 8px; font-size: 24px; font-weight: 700; color: var(--black-color); line-height: 1.2; }
.sub .location-section .info-list{ margin-top: 26px; display: flex; flex-direction: column; gap: 12px; }
.sub .location-section .info-list li{ display: flex; align-items: flex-start; gap: 10px; }
.sub .location-section .info-list img{ width: 18px; flex-shrink: 0; margin-top: 2px; }
.sub .location-section .info-list p{ font-size: 14px; line-height: 1.6; color: var(--text-color); }
.sub .location-section .info-list p.dark{ color: var(--black-color); }
.sub .location-section .map-div{ position: relative; flex: 1; min-height: 400px; border-radius: 12px; border: 1px solid var(--border-color); background-color: var(--bg-color); overflow: hidden; }
.sub .location-section .map-div iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; display: block; }
@media screen and (max-width: 950px) {
    .sub .location-section{ padding: 70px 0; }
    .sub .location-section .location-div{ flex-direction: column; gap: 16px; }
    .sub .location-section .location-div + .location-div{ margin-top: 36px; }
    .sub .location-section .info-card{ width: 100%; }
    .sub .location-section .map-div{ min-height: 300px; }
}
@media screen and (max-width: 650px) {
    .sub .location-section{ padding: 50px 0; }
    .sub .location-section .info-card{ padding: 20px 18px; }
    .sub .location-section .title{ font-size: 20px; }
    .sub .location-section .map-div{ min-height: 220px; }
}

/* .sub .product-hero (기술소개 제품 히어로) */
.sub .page-hero-section.product-hero{ background: url('../img/tech/hero-molecule.jpg') no-repeat right center / auto 130%, var(--bg-color); }
.sub .page-hero-section.product-hero::before{ background: linear-gradient(to left, rgba(247,249,251,0.2), var(--bg-color) 50%); }
.sub .page-hero-section.product-hero .page-title{ line-height: 1.4; }
.sub .page-hero-section.product-hero .page-title .point{ color: var(--point-color); }
.sub .page-hero-section.product-hero .inner{ padding-top: 68px; padding-bottom: 72px; }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.product-hero{ background-size: auto 100%; }
    .sub .page-hero-section.product-hero .inner{ padding-top: 40px; padding-bottom: 44px; }
}

/* .sub .overview-section */
.sub .overview-section{ padding: 100px 0 0; }
.sub .overview-section .photo-div{ height: 372px; margin-top: 50px; border-radius: 10px; background-position: center bottom; background-size: cover; background-repeat: no-repeat; }
.sub .overview-section .feature-list{ display: grid; grid-template-columns: repeat(2, 1fr); column-gap: 49px; margin-top: 50px; }
.sub .overview-section .feature-list li{ display: flex; align-items: flex-start; gap: 15px; padding: 21px 0; }
.sub .overview-section .feature-list li:nth-child(-n+2){ border-bottom: 1px solid var(--line-color); }
.sub .overview-section .feature-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 11px; background-color: #EEF7FC; }
.sub .overview-section .feature-list .icon-div img{ width: 22px; }
.sub .overview-section .feature-list b{ display: block; font-size: 18px; font-weight: 600; color: var(--black-color); line-height: 1.42; }
.sub .overview-section .feature-list p{ margin-top: 4px; font-size: 16px; line-height: 1.4; color: var(--text-color); }
@media screen and (max-width: 950px) {
    .sub .overview-section{ padding-top: 70px; }
    .sub .overview-section .photo-div{ height: 280px; margin-top: 36px; }
    .sub .overview-section .feature-list{ grid-template-columns: 1fr; column-gap: 0; margin-top: 30px; }
    .sub .overview-section .feature-list li:nth-child(-n+3){ border-bottom: 1px solid var(--line-color); }
}
@media screen and (max-width: 650px) {
    .sub .overview-section{ padding-top: 50px; }
    .sub .overview-section .photo-div{ height: 200px; margin-top: 24px; }
    .sub .overview-section .feature-list li{ padding: 16px 0; }
    .sub .overview-section .feature-list b{ font-size: 16px; }
    .sub .overview-section .feature-list p{ font-size: 14px; }
}

/* .sub .mechanism-section */
.sub .mechanism-section{ padding: 90px 0 100px; }
.sub .mechanism-section .mechanism-title{ font-size: 28px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.4; color: var(--black-color); text-align: center; }
.sub .mechanism-section .mechanism-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 40px; }
.sub .mechanism-section .mechanism-list li{ background-color: #EEF7FC; border: 1px solid #84C5E6; border-radius: 12px; padding: 19px 20px 21px; }
.sub .mechanism-section .mechanism-list .cate{ font-size: 14px; font-weight: 700; color: #3F8976; letter-spacing: 0.065em; text-transform: uppercase; line-height: 1.3; }
.sub .mechanism-section .mechanism-list .name{ margin-top: 12px; font-size: 16px; line-height: 1.4; color: var(--black-color); }
.sub .mechanism-section .mechanism-list .name b{ font-weight: 700; }
.sub .mechanism-section .mechanism-list .name span{ font-size: 14px; }
.sub .mechanism-section .mechanism-list .desc{ margin-top: 12px; font-size: 16px; line-height: 1.3; color: var(--gray-color); }
.sub .mechanism-section .diagram-div{ max-width: 700px; margin: 50px auto 0; }
.sub .mechanism-section .diagram-div img{ width: 100%; display: block; }
@media screen and (max-width: 950px) {
    .sub .mechanism-section{ padding: 70px 0; }
    .sub .mechanism-section .mechanism-title{ font-size: 24px; }
    .sub .mechanism-section .mechanism-list{ grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
}
@media screen and (max-width: 650px) {
    .sub .mechanism-section{ padding: 50px 0; }
    .sub .mechanism-section .mechanism-title{ font-size: 20px; }
    .sub .mechanism-section .mechanism-list .desc{ font-size: 14px; }
    .sub .mechanism-section .diagram-div{ margin-top: 30px; }
}

/* .sub .spec-section */
.sub .spec-section{ background-color: var(--bg-color); padding: 100px 0; }
.sub .spec-section .spec-div{ display: flex; gap: 24px; margin-top: 46px; }
.sub .spec-section .spec-table{ width: 588px; flex-shrink: 0; border-collapse: separate; border-spacing: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; align-self: flex-start; }
.sub .spec-section .spec-table th{ width: 205px; background-color: var(--bg-color); border-bottom: 1px solid var(--line-color); padding: 15px 22px; font-size: 16px; font-weight: 600; color: var(--gray-color); text-align: left; line-height: 1.3; }
.sub .spec-section .spec-table td{ border-bottom: 1px solid var(--line-color); padding: 15px 22px; font-size: 16px; color: #232A31; line-height: 1.3; }
.sub .spec-section .spec-table tr:last-child th, .sub .spec-section .spec-table tr:last-child td{ border-bottom: none; }
.sub .spec-section .apply-div{ flex: 1; }
.sub .spec-section .small-title{ display: block; font-size: 19px; font-weight: 600; color: var(--black-color); line-height: 1.6; }
.sub .spec-section .apply-list{ display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 36px; }
.sub .spec-section .apply-list span{ display: flex; align-items: center; gap: 9px; height: 42px; padding: 0 18px; border-radius: 9999px; background-color: #fff; border: 1px solid var(--border-color); font-size: 16px; font-weight: 600; color: var(--text-color); }
.sub .spec-section .apply-list .dot{ width: 8px; height: 8px; border-radius: 4px; background-color: var(--sub-color); }
.sub .spec-section .basis-list{ display: flex; flex-wrap: wrap; gap: 13px; margin-top: 14px; }
.sub .spec-section .basis-list span{ display: flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 8px; background-color: #fff; border: 1px solid var(--border-color); font-size: 16px; font-weight: 600; color: var(--text-color); }
.sub .spec-section .basis-list b{ font-size: 14px; font-weight: 800; color: var(--deep-color); }
@media screen and (max-width: 950px) {
    .sub .spec-section{ padding: 70px 0; }
    .sub .spec-section .spec-div{ flex-direction: column; margin-top: 32px; }
    .sub .spec-section .spec-table{ width: 100%; }
}
@media screen and (max-width: 650px) {
    .sub .spec-section{ padding: 50px 0; }
    .sub .spec-section .spec-table th{ width: 105px; padding: 12px 14px; font-size: 13px; }
    .sub .spec-section .spec-table td{ padding: 12px 14px; font-size: 13px; }
    .sub .spec-section .small-title{ font-size: 17px; }
    .sub .spec-section .apply-list{ margin-bottom: 26px; }
    .sub .spec-section .apply-list span{ height: 38px; padding: 0 13px; font-size: 14px; }
    .sub .spec-section .basis-list span{ height: 38px; padding: 0 13px; font-size: 14px; }
}

/* .sub .lineup-section */
.sub .lineup-section{ padding: 100px 0 0; }
.sub .lineup-section .lineup-list{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 48px; }
.sub .lineup-section .lineup-list a{ display: block; height: 100%; padding: 19px 20px 21px; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; transition: border-color .2s, background-color .2s; }
.sub .lineup-section .lineup-list a:hover{ border-color: #84C5E6; }
.sub .lineup-section .lineup-list a.active{ background-color: #EEF7FC; border-color: #84C5E6; }
.sub .lineup-section .code{ font-size: 14px; font-weight: 700; color: #3F8976; letter-spacing: 0.065em; line-height: 1.3; }
.sub .lineup-section .name{ display: block; margin-top: 9px; font-size: 18px; font-weight: 700; color: var(--black-color); line-height: 1.42; }
.sub .lineup-section .desc{ margin-top: 6px; font-size: 16px; color: var(--gray-color); line-height: 1.3; }
@media screen and (max-width: 950px) {
    .sub .lineup-section{ padding-top: 70px; }
    .sub .lineup-section .lineup-list{ grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; }
}
@media screen and (max-width: 650px) {
    .sub .lineup-section{ padding-top: 50px; }
    .sub .lineup-section .lineup-list{ grid-template-columns: 1fr; }
    .sub .lineup-section .name{ font-size: 16px; }
    .sub .lineup-section .desc{ font-size: 14px; }
}

/* .sub .connect-section 상단 여백 (lineup 다음) */
.sub .lineup-section + .connect-section{ padding-top: 100px; }
@media screen and (max-width: 950px) { .sub .lineup-section + .connect-section{ padding-top: 70px; } }
@media screen and (max-width: 650px) { .sub .lineup-section + .connect-section{ padding-top: 50px; } }

/* .sub .product-hero.ultra (이아소 울트라 히어로) */
.sub .page-hero-section.product-hero.ultra{ background-image: url('../img/tech/product-ultra.png'); background-repeat: no-repeat; background-position: right center; }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.product-hero.ultra{ background-size: auto 120%; background-position: 85% 30%; }
}

/* .sub .grade-section (3등급 레이저 의료기기) */
.sub .grade-section{ padding: 0 0 100px; }
.sub .grade-section .grade-title{ font-size: 28px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.7; color: var(--black-color); text-align: center; }
.sub .grade-section .grade-title .gradient{ background: linear-gradient(180deg, #4CA1D8 0%, #61C4AC 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sub .grade-section .grade-sub{ margin-top: 6px; font-size: 14px; color: var(--gray-color); text-align: center; line-height: 1.6; }
.sub .grade-section .grade-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; }
.sub .grade-section .grade-list li{ display: flex; flex-direction: column; align-items: center; text-align: center; background-color: #F9F9F9; border-radius: 16px; padding: 32px 20px 33px; }
.sub .grade-section .grade-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 20px; background-color: #EEFAF6; border: 1px solid #D6F2E9; }
.sub .grade-section .grade-list .icon-div img{ width: 30px; }
.sub .grade-section .grade-list b{ display: block; margin-top: 22px; font-size: 18px; font-weight: 800; letter-spacing: -0.01em; line-height: 1.3; color: var(--black-color); }
.sub .grade-section .grade-list p{ margin-top: 10px; font-size: 16px; line-height: 1.45; color: #4D5863; }
.sub .grade-section .check-panel{ margin-top: 22px; padding: 30px 49px 40px; border-radius: 24px; background: linear-gradient(175deg, #F2FAF7 11%, #F7FBFD 58%, #F9FCFE 89%); }
.sub .grade-section .check-head{ font-size: 12px; font-weight: 700; color: #3F8976; letter-spacing: 0.18em; text-transform: uppercase; text-align: center; line-height: 1.6; }
.sub .grade-section .check-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 20px; }
.sub .grade-section .check-list li{ background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 26px 24px; }
.sub .grade-section .check-list .num{ display: flex; align-items: center; gap: 10px; }
.sub .grade-section .check-list .num img{ width: 26px; }
.sub .grade-section .check-list .num span{ font-size: 12px; font-weight: 700; color: #9AA6B2; letter-spacing: 0.12em; line-height: 1.6; }
.sub .grade-section .check-list li > b{ display: block; margin-top: 16px; font-size: 18px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; color: var(--black-color); }
.sub .grade-section .check-list .desc{ margin-top: 10px; font-size: 16px; line-height: 1.5; color: #4D5863; }
.sub .grade-section .check-list .desc b{ font-weight: 600; color: var(--black-color); }
@media screen and (max-width: 950px) {
    .sub .grade-section{ padding-bottom: 70px; }
    .sub .grade-section .grade-list{ grid-template-columns: 1fr; gap: 14px; margin-top: 30px; }
    .sub .grade-section .grade-list li{ padding: 26px 20px; }
    .sub .grade-section .check-panel{ padding: 26px 24px 30px; }
    .sub .grade-section .check-list{ grid-template-columns: 1fr; gap: 14px; }
}
@media screen and (max-width: 650px) {
    .sub .grade-section{ padding-bottom: 50px; }
    .sub .grade-section .grade-title{ font-size: 21px; }
    .sub .grade-section .grade-sub{ font-size: 13px; }
    .sub .grade-section .grade-list b{ font-size: 16px; }
    .sub .grade-section .grade-list p{ font-size: 14px; }
    .sub .grade-section .check-panel{ padding: 22px 16px 24px; border-radius: 16px; }
    .sub .grade-section .check-list li{ padding: 20px 18px; }
    .sub .grade-section .check-list li > b{ font-size: 16px; }
    .sub .grade-section .check-list .desc{ font-size: 14px; }
}

/* .sub .product-hero.pro (이아소 프로 히어로) */
.sub .page-hero-section.product-hero.pro{ background-image: url('../img/tech/hero-pro.png'); background-repeat: no-repeat; background-position: right center; }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.product-hero.pro{ background-size: auto 120%; background-position: 88% 25%; }
}

/* .sub .compare-section (기술 비교) */
.sub .compare-section{ padding: 0 0 100px; }
.sub .compare-section .compare-title{ font-size: 28px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.4; color: var(--black-color); text-align: center; }
.sub .compare-section .compare-sub{ margin-top: 14px; font-size: 16px; line-height: 1.7; color: var(--text-color); text-align: center; }
.sub .compare-section .compare-sub .point{ font-weight: 700; color: var(--point-color); }
.sub .compare-section .table-wrap{ margin-top: 36px; overflow-x: auto; }
.sub .compare-section .compare-table{ width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; overflow: hidden; text-align: center; }
.sub .compare-section .compare-table thead th{ padding: 16px 12px; font-size: 16px; font-weight: 600; color: var(--text-color); background-color: var(--bg-color); border-bottom: 1px solid var(--line-color); line-height: 1.3; }
.sub .compare-section .compare-table thead th.active{ background-color: #EEF7FC; }
.sub .compare-section .compare-table .badge{ display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 9999px; background-color: var(--main-color); color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 0.05em; line-height: 1.3; }
.sub .compare-section .compare-table tbody th{ width: 88px; padding: 16px 12px; font-size: 15px; font-weight: 600; color: var(--gray-color); background-color: var(--bg-color); border-bottom: 1px solid var(--line-color); line-height: 1.3; }
.sub .compare-section .compare-table tbody td{ width: calc((100% - 88px) / 4); padding: 14px 12px; font-size: 15px; color: var(--text-color); border-bottom: 1px solid var(--line-color); line-height: 1.45; }
.sub .compare-section .compare-table tbody td.active{ background-color: #EEF7FC; }
.sub .compare-section .compare-table tbody td.active b{ font-weight: 700; color: var(--black-color); }
.sub .compare-section .compare-table tbody td.active .plus{ color: var(--point-color); font-weight: 800; margin: 0 2px; }
.sub .compare-section .compare-table tbody tr:last-child th, .sub .compare-section .compare-table tbody tr:last-child td{ border-bottom: none; }
.sub .compare-section .compare-table .img-box{ height: 150px; border: 1px solid var(--line-color); border-radius: 8px; background-position: center; background-size: cover; background-repeat: no-repeat; background-color: #fff; }
@media screen and (max-width: 950px) {
    .sub .compare-section{ padding-bottom: 70px; }
    .sub .compare-section .compare-title{ font-size: 24px; }
    .sub .compare-section .compare-sub br{ display: none; }
}
@media screen and (max-width: 650px) {
    .sub .compare-section{ padding-bottom: 50px; }
    .sub .compare-section .compare-title{ font-size: 20px; }
    .sub .compare-section .compare-sub{ font-size: 14px; }
    .sub .compare-section .table-wrap{ margin-top: 24px; }
    .sub .compare-section .compare-table{ min-width: 720px; }
    .sub .compare-section .compare-table .img-box{ height: 110px; }
    .sub .compare-section .compare-table tbody td{ font-size: 13px; }
    .sub .compare-section .compare-table tbody th{ font-size: 13px; width: 64px; }
}

/* .sub .product-hero.neuro (이아소 뉴로 히어로) */
.sub .page-hero-section.product-hero.neuro{ background-image: url('../img/tech/hero-neuro.jpg'); background-repeat: no-repeat; background-position: right center; }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.product-hero.neuro{ background-size: auto 125%; background-position: 90% 20%; }
}

/* .sub .brain-section (PBM 뇌 건강) */
.sub .brain-section{ padding: 0 0 100px; }
.sub .brain-section .brain-title{ font-size: 28px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.7; color: var(--black-color); text-align: center; }
.sub .brain-section .brain-title .gradient{ background: linear-gradient(90deg, #4CA1D8 0%, #61C4AC 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sub .brain-section .brain-sub{ margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--gray-color); text-align: center; }
.sub .brain-section .brain-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 40px; }
.sub .brain-section .brain-list li{ display: flex; align-items: center; gap: 18px; background-color: #F9F9F9; border-radius: 16px; padding: 30px 24px; }
.sub .brain-section .brain-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; flex-shrink: 0; border-radius: 20px; background-color: #EEFAF6; border: 1px solid #D6F2E9; }
.sub .brain-section .brain-list .icon-div img{ width: 30px; }
.sub .brain-section .brain-list b{ display: block; font-size: 17px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.35; color: var(--black-color); }
.sub .brain-section .brain-list p{ margin-top: 7px; font-size: 15px; line-height: 1.45; color: #4D5863; }
@media screen and (max-width: 950px) {
    .sub .brain-section{ padding-bottom: 70px; }
    .sub .brain-section .brain-list{ grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
    .sub .brain-section .brain-sub br{ display: none; }
}
@media screen and (max-width: 650px) {
    .sub .brain-section{ padding-bottom: 50px; }
    .sub .brain-section .brain-title{ font-size: 20px; }
    .sub .brain-section .brain-sub{ font-size: 13px; }
    .sub .brain-section .brain-list li{ padding: 22px 18px; }
    .sub .brain-section .brain-list b{ font-size: 16px; }
    .sub .brain-section .brain-list p{ font-size: 13px; }
}

/* .sub .product-hero.smart (이아소 스마트 히어로) */
.sub .page-hero-section.product-hero.smart{ background-image: url('../img/tech/product-smart.png'); background-repeat: no-repeat; background-position: right center; }
.sub .page-hero-section.product-hero.smart .page-title{ font-size: 36px; }
@media screen and (max-width: 950px) {
    .sub .page-hero-section.product-hero.smart .page-title{ font-size: 30px; }
}
@media screen and (max-width: 650px) {
    .sub .page-hero-section.product-hero.smart{ background-size: auto 125%; background-position: 92% 22%; }
    .sub .page-hero-section.product-hero.smart .page-title{ font-size: 24px; }
}

/* .sub .smartcare-section (스마트 케어) */
.sub .smartcare-section{ padding: 0 0 100px; }
.sub .smartcare-section .smart-title{ font-size: 28px; font-weight: 700; letter-spacing: -0.025em; line-height: 1.5; color: var(--black-color); text-align: center; }
.sub .smartcare-section .smart-title .gradient{ background: linear-gradient(90deg, #4CA1D8 0%, #61C4AC 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.sub .smartcare-section .smart-sub{ max-width: 640px; margin: 14px auto 0; font-size: 15px; line-height: 1.6; color: var(--gray-color); text-align: center; }
.sub .smartcare-section .smart-list{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 44px; }
.sub .smartcare-section .smart-list li{ display: flex; flex-direction: column; align-items: center; text-align: center; background-color: #F9F9F9; border-radius: 16px; padding: 30px 18px 32px; }
.sub .smartcare-section .smart-list .icon-div{ display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; border-radius: 50%; background-color: #EEFAF6; border: 1px solid #D6F2E9; }
.sub .smartcare-section .smart-list .icon-div img{ width: 30px; }
.sub .smartcare-section .smart-list .num{ margin-top: 16px; font-size: 12px; font-weight: 700; color: #9AA6B2; letter-spacing: 0.12em; line-height: 1.6; }
.sub .smartcare-section .smart-list b{ display: block; margin-top: 6px; font-size: 17px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.35; color: var(--black-color); }
.sub .smartcare-section .smart-list .desc{ margin-top: 10px; font-size: 14px; line-height: 1.5; color: #4D5863; }
@media screen and (max-width: 950px) {
    .sub .smartcare-section{ padding-bottom: 70px; }
    .sub .smartcare-section .smart-list{ grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 30px; }
}
@media screen and (max-width: 650px) {
    .sub .smartcare-section{ padding-bottom: 50px; }
    .sub .smartcare-section .smart-title{ font-size: 20px; }
    .sub .smartcare-section .smart-title br{ display: none; }
    .sub .smartcare-section .smart-sub{ font-size: 13px; }
    .sub .smartcare-section .smart-list{ grid-template-columns: 1fr; }
    .sub .smartcare-section .smart-list b{ font-size: 16px; }
}

/* .sub .research-hero (연구논문 히어로) */
.sub .page-hero-section.research-hero{ background: url('../img/paper/hero-bg.jpg') no-repeat right center / auto 190%, var(--bg-color); }
.sub .page-hero-section.research-hero::before{ background: linear-gradient(to left, rgba(247,249,251,0.25), var(--bg-color) 55%); }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.research-hero{ background-size: auto 130%; }
}

/* .sub .paper-section (연구논문 게시판) */
.sub .paper-section{ padding: 60px 0 100px; }
.sub .paper-section .search-box{ position: relative; width: 256px; }
.sub .paper-section .search-box::before{ content:''; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 1.5px solid #9AA6B2; border-radius: 50%; box-sizing: border-box; }
.sub .paper-section .search-box::after{ content:''; position: absolute; left: 25px; top: 60%; width: 6px; height: 1.5px; background-color: #9AA6B2; transform: rotate(45deg); }
.sub .paper-section .search-box input{ width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 14px; color: var(--black-color); }
.sub .paper-section .search-box input::placeholder{ color: #9AA6B2; }
.sub .paper-section .board-list{ margin-top: 26px; border-bottom: 1px solid var(--line-color); }
.sub .paper-section .board-list li{ display: flex; align-items: center; gap: 10px; padding: 15px 8px; border-top: 1px solid var(--line-color); }
.sub .paper-section .board-list .board-head{ font-size: 13px; color: var(--gray-color); padding: 12px 8px; }
.sub .paper-section .board-list .board-head .title{ text-align: center; }
.sub .paper-section .board-list .num{ width: 60px; flex-shrink: 0; text-align: center; font-size: 14px; color: var(--gray-color); }
.sub .paper-section .board-list .num.notice{ font-weight: 700; color: #E08A3C; }
.sub .paper-section .board-list .title{ flex: 1; overflow: hidden; font-size: 15px; color: #232A31; }
.sub .paper-section .board-list .title a{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .2s; }
.sub .paper-section .board-list .title a:hover{ color: var(--deep-color); }
.sub .paper-section .board-list .date{ width: 110px; flex-shrink: 0; text-align: right; font-size: 14px; color: #4D5863; }
.sub .paper-section .paging_box{ font-size: 14px; margin-top: 40px; gap: 6px; }
/* .sub .paper-section .paging_box a, .sub .paper-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .paper-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .paper-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .paper-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; } */
@media screen and (max-width: 650px) {
    .sub .paper-section{ padding: 40px 0 50px; }
    .sub .paper-section .search-box{ width: 100%; }
    .sub .paper-section .board-list{ margin-top: 18px; }
    .sub .paper-section .board-list li{ padding: 13px 4px; gap: 8px; }
    .sub .paper-section .board-list .num{ width: 40px; font-size: 13px; }
    .sub .paper-section .board-list .title{ font-size: 14px; }
    .sub .paper-section .board-list .date{ width: 84px; font-size: 12px; }
    .sub .paper-section .paging_box{ margin-top: 28px; }
}

/* .sub .paper-view-section (연구논문 상세) */
.sub .paper-view-section{ padding: 60px 0 100px; }
.sub .paper-view-section .view-head{ padding: 26px 4px 22px; border-top: 2px solid var(--black-color); border-bottom: 1px solid var(--border-color); }
.sub .paper-view-section .view-title{ display: block; font-size: 26px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.4; color: var(--black-color); }
.sub .paper-view-section .view-meta{ margin-top: 12px; font-size: 14px; color: var(--gray-color); line-height: 1.5; }
.sub .paper-view-section .view-meta span{ margin: 0 6px; color: #CBD3DC; }
.sub .paper-view-section .view-body{ padding: 40px 4px 50px; border-bottom: 1px solid var(--line-color); }
.sub .paper-view-section .img-placeholder{ display: flex; align-items: center; justify-content: center; max-width: 610px; height: 320px; margin: 0 auto 40px; background-color: #F1F3F5; border-radius: 4px; }
.sub .paper-view-section .view-body p{ font-size: 15px; line-height: 1.75; color: var(--text-color); }
.sub .paper-view-section .view-body p + p{ margin-top: 18px; }
.sub .paper-view-section .sub-heading{ display: block; margin: 30px 0 10px; font-size: 16px; font-weight: 700; color: var(--black-color); line-height: 1.5; }
.sub .paper-view-section .view-nav li + li{ border-top: 1px solid var(--line-color); }
.sub .paper-view-section .view-nav a{ display: flex; align-items: center; gap: 20px; padding: 17px 8px; transition: background-color .2s; }
.sub .paper-view-section .view-nav a:hover{ background-color: var(--bg-color); }
.sub .paper-view-section .view-nav .label{ width: 60px; flex-shrink: 0; font-size: 14px; color: var(--gray-color); }
.sub .paper-view-section .view-nav .subject{ flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 600; color: #232A31; }
.sub .paper-view-section .view-nav .arrow{ color: #CBD3DC; font-size: 18px; }
.sub .paper-view-section .view-nav{ border-bottom: 1px solid var(--line-color); }
.sub .paper-view-section .btn-div{ display: flex; justify-content: center; margin-top: 44px; }
.sub .paper-view-section .list-btn{ display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 34px; border-radius: 6px; background-color: #232A31; color: #fff; font-size: 15px; font-weight: 600; transition: background-color .2s; }
.sub .paper-view-section .list-btn:hover{ background-color: var(--deep-color); color: #fff; }
@media screen and (max-width: 650px) {
    .sub .paper-view-section{ padding: 40px 0 50px; }
    .sub .paper-view-section .view-head{ padding: 20px 2px 16px; }
    .sub .paper-view-section .view-title{ font-size: 19px; }
    .sub .paper-view-section .view-meta{ font-size: 12px; }
    .sub .paper-view-section .view-body{ padding: 26px 2px 32px; }
    .sub .paper-view-section .img-placeholder{ height: 190px; margin-bottom: 26px; }
    .sub .paper-view-section .view-body p{ font-size: 14px; }
    .sub .paper-view-section .view-nav a{ gap: 12px; padding: 14px 4px; }
    .sub .paper-view-section .view-nav .label{ width: 48px; font-size: 12px; }
    .sub .paper-view-section .view-nav .subject{ font-size: 14px; }
    .sub .paper-view-section .btn-div{ margin-top: 30px; }
}

/* .sub 게시판 관리자 메뉴 · 체크박스 */
.sub .paper-section .menuBox, .sub .paper-view-section .menuBox{ padding: 0 0 14px; }
.sub .paper-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .paper-section .menuBox .menuList .item, .sub .paper-view-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .paper-section .menuBox .menuList .item img, .sub .paper-view-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .paper-section .menuBox .subMenu .item, .sub .paper-view-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .paper-section .board-list .chk{ width: 30px; flex-shrink: 0; display: flex; align-items: center; }
.sub .paper-section .board-list .chk label{ display: flex; align-items: center; gap: 6px; cursor: pointer; }
.sub .paper-section .board-list .chk input{ display: none; }
.sub .paper-section .board-list .chk i{ display: block; width: 16px; height: 16px; border: 1.5px solid #CBD3DC; border-radius: 4px; background-color: #fff; transition: border-color .15s, background-color .15s; position: relative; }
.sub .paper-section .board-list .chk input:checked + i{ background-color: var(--main-color); border-color: var(--main-color); }
.sub .paper-section .board-list .chk input:checked + i::after{ content:''; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.sub .paper-section .board-list .chk em{ display: none; font-style: normal; font-size: 12px; color: var(--gray-color); white-space: nowrap; }
@media screen and (max-width: 650px) {
    .sub .paper-section .board-list .chk{ width: 26px; }
    .sub .paper-section .board-list .board-head .chk{ width: auto; }
    .sub .paper-section .board-list .board-head .chk em{ display: inline; }
}

/* .sub .paper-write-section (연구논문 글쓰기) — 에디터 영역(#wr_content_editor)은 DHTML 에디터가 대체하므로 스타일 없음 */
.sub .paper-write-section{ padding: 60px 0 100px; }
.sub .paper-write-section .write-head{ padding: 0 4px 18px; border-bottom: 2px solid var(--black-color); }
.sub .paper-write-section .write-title{ display: block; font-size: 26px; font-weight: 700; color: var(--black-color); line-height: 1.3; }
.sub .paper-write-section .formList{ margin-top: 16px; }
.sub .paper-write-section .formList .label{ font-size: 15px; font-weight: 600; color: var(--black-color); }
.sub .paper-write-section .formList .label span{ color: #EB5757; }
.sub .paper-write-section .formList .label span.grayInfo{ color: var(--gray-color); font-weight: 400; }
.sub .paper-write-section .formList .ipt{ border-radius: 8px; border-color: var(--border-color); }
.sub .paper-write-section .formList .ipt::placeholder{ color: #9AA6B2; }
.sub .paper-write-section .btn-div{ display: flex; justify-content: center; gap: 8px; margin-top: 36px; }
.sub .paper-write-section .cancel-btn{ display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 30px; border-radius: 6px; border: 1px solid var(--border-color); background-color: #fff; color: var(--text-color); font-size: 15px; font-weight: 600; transition: border-color .2s; }
.sub .paper-write-section .cancel-btn:hover{ border-color: var(--gray-color); }
.sub .paper-write-section .submit-btn{ display: flex; align-items: center; justify-content: center; height: 44px; padding: 0 34px; border-radius: 6px; border: none; background-color: #232A31; color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color .2s; }
.sub .paper-write-section .submit-btn:hover{ background-color: var(--deep-color); }
@media screen and (max-width: 650px) {
    .sub .paper-write-section{ padding: 40px 0 50px; }
    .sub .paper-write-section .write-head{ padding-bottom: 14px; }
    .sub .paper-write-section .write-title{ font-size: 20px; }
    .sub .paper-write-section .btn-div{ margin-top: 26px; }
    .sub .paper-write-section .cancel-btn, .sub .paper-write-section .submit-btn{ height: 42px; padding: 0 24px; font-size: 14px; }
}

/* .sub .cert-hero (인증·인허가 히어로) */
.sub .page-hero-section.cert-hero{ background: url('../img/cert/hero-bg.jpg') no-repeat right center / auto 175%, var(--bg-color); }
.sub .page-hero-section.cert-hero::before{ background: linear-gradient(to left, rgba(247,249,251,0.15), var(--bg-color) 52%); }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.cert-hero{ background-size: auto 125%; }
}

/* .sub .cert-section (인증 현황) */
.sub .cert-section{ padding: 60px 0 100px; }
.sub .cert-section .cert-stats{ display: grid; grid-template-columns: repeat(4, 1fr); background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 10px 0; }
.sub .cert-section .cert-stats li{ padding: 24px 28px; }
.sub .cert-section .cert-stats li + li{ border-left: 1px solid var(--line-color); }
.sub .cert-section .cert-stats .num{ font-size: 34px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; color: var(--black-color); }
.sub .cert-section .cert-stats .num span{ font-size: 16px; font-weight: 700; color: var(--point-color); margin-left: 4px; }
.sub .cert-section .cert-stats .label{ margin-top: 8px; font-size: 13px; color: var(--gray-color); line-height: 1.4; }
.sub .cert-section .menuBox{ padding: 20px 0 0; }
.sub .cert-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .cert-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .cert-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .cert-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .cert-section .filter-list{ display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.sub .cert-section .filter{ display: flex; align-items: center; height: 36px; padding: 0 16px; border-radius: 9999px; border: 1px solid var(--border-color); background-color: #fff; font-size: 14px; font-weight: 600; color: var(--text-color); cursor: pointer; transition: all .2s; }
.sub .cert-section .filter:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .cert-section .filter.active{ background-color: var(--main-color); border-color: var(--main-color); color: #fff; }
.sub .cert-section .cert-list{ display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-top: 26px; }
.sub .cert-section .cert-list > li{ background: linear-gradient(160deg, #EAF4FB 0%, #F4FAFD 60%, #F7FBFD 100%); border: 1px solid var(--border-color); border-radius: 12px; padding: 22px 18px 20px; text-align: center; }
.sub .cert-section .cert-list > li.hide{ display: none; }
.sub .cert-section .cert-paper{ position: relative; width: 122px; margin: 12px auto 0; background-color: #fff; border: 1px solid var(--line-color); border-radius: 6px; box-shadow: 0 6px 16px rgba(20,26,32,0.08); padding: 30px 10px 18px; }
.sub .cert-section .cert-paper .badge{ position: absolute; left: 50%; top: -13px; transform: translateX(-50%); display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background-color: var(--sub-color); }
.sub .cert-section .cert-paper .badge img{ width: 13px; }
.sub .cert-section .cert-paper b{ display: block; font-size: 15px; font-weight: 800; color: var(--black-color); line-height: 1.3; word-break: keep-all; }
.sub .cert-section .cert-paper span{ display: block; margin-top: 3px; font-size: 11px; color: #9AA6B2; line-height: 1.3; }
.sub .cert-section .cert-list .cate{ margin-top: 18px; font-size: 12px; font-weight: 600; color: #3F8976; letter-spacing: 0.05em; line-height: 1.4; }
.sub .cert-section .cert-list .title{ display: block; margin-top: 5px; font-size: 16px; font-weight: 700; color: var(--black-color); line-height: 1.4; }
.sub .cert-section .cert-list .meta{ margin-top: 4px; font-size: 13px; color: var(--gray-color); line-height: 1.4; }
.sub .cert-section .cert-list .view-btn{ display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; height: 34px; padding: 0 15px; border-radius: 6px; border: 1px solid var(--border-color); background-color: #fff; font-size: 13px; font-weight: 600; color: var(--text-color); transition: border-color .2s; }
.sub .cert-section .cert-list .view-btn:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .cert-section .cert-list .view-btn img{ width: 14px; }
.sub .cert-section .paging_box{ margin-top: 40px; gap: 6px; }
.sub .cert-section .paging_box a, .sub .cert-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .cert-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .cert-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .cert-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; }
@media screen and (max-width: 950px) {
    .sub .cert-section .cert-stats{ grid-template-columns: repeat(2, 1fr); }
    .sub .cert-section .cert-stats li{ padding: 18px 22px; }
    .sub .cert-section .cert-stats li:nth-child(3){ border-left: none; }
    .sub .cert-section .cert-stats li:nth-child(n+3){ border-top: 1px solid var(--line-color); }
    .sub .cert-section .cert-list{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media screen and (max-width: 650px) {
    .sub .cert-section{ padding: 40px 0 50px; }
    .sub .cert-section .cert-stats .num{ font-size: 26px; }
    .sub .cert-section .cert-stats .label{ font-size: 12px; }
    .sub .cert-section .cert-list{ grid-template-columns: 1fr; }
    .sub .cert-section .filter{ height: 32px; padding: 0 12px; font-size: 13px; }
    .sub .cert-section .paging_box{ margin-top: 28px; }
}

/* .sub .news-hero (전시·뉴스·IR 히어로) */
.sub .page-hero-section.news-hero{ background: url('../img/news/hero-bg.jpg') no-repeat right center / auto 185%, var(--bg-color); }
.sub .page-hero-section.news-hero::before{ background: linear-gradient(to left, rgba(247,249,251,0.2), var(--bg-color) 52%); }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.news-hero{ background-size: auto 130%; }
}

/* .sub .expo-section (전시 갤러리) */
.sub .expo-section{ padding: 60px 0 100px; }
.sub .expo-section .menuBox{ padding: 20px 0 0; }
.sub .expo-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .expo-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .expo-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .expo-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .expo-section .expo-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 22px; }
.sub .expo-section .thumb{ position: relative; aspect-ratio: 384 / 292; border-radius: 8px; overflow: hidden; background-position: center top; background-size: cover; background-repeat: no-repeat; }
.sub .expo-section .overlay{ position: absolute; left: 0; right: 0; bottom: 0; padding: 44px 18px 14px; background: linear-gradient(to top, rgba(10,14,18,0.82) 0%, rgba(10,14,18,0.45) 55%, rgba(10,14,18,0) 100%); color: #fff; }
.sub .expo-section .overlay .badge{ display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 4px; background-color: var(--main-color); font-size: 11.5px; font-weight: 600; color: #fff; line-height: 1; }
.sub .expo-section .overlay .title{ display: block; margin-top: 8px; font-size: 16px; font-weight: 700; line-height: 1.4; color: #fff; }
.sub .expo-section .overlay .meta{ margin-top: 5px; font-size: 12.5px; color: rgba(255,255,255,0.75); line-height: 1.4; }
.sub .expo-section .thumb:hover{ box-shadow: 0 8px 20px rgba(20,26,32,0.18); }
.sub .expo-section .paging_box{ font-size: 14px; margin-top: 40px; gap: 6px; }
.sub .expo-section .paging_box a, .sub .expo-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .expo-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .expo-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .expo-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; }
@media screen and (max-width: 950px) {
    .sub .expo-section .expo-list{ grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media screen and (max-width: 650px) {
    .sub .expo-section{ padding: 40px 0 50px; }
    .sub .expo-section .expo-list{ grid-template-columns: 1fr; }
    .sub .expo-section .paging_box{ margin-top: 28px; }
}

/* 게시판 체크박스 공통 */
.chk-label{ display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.chk-label input{ display: none; }
.chk-label i{ display: block; width: 16px; height: 16px; border: 1.5px solid #CBD3DC; border-radius: 4px; background-color: #fff; position: relative; transition: border-color .15s, background-color .15s; }
.chk-label input:checked + i{ background-color: var(--main-color); border-color: var(--main-color); }
.chk-label input:checked + i::after{ content:''; position: absolute; left: 4px; top: 1px; width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.chk-label em{ font-style: normal; font-size: 13px; color: var(--gray-color); white-space: nowrap; }
.allcheck-bar{ display: flex; justify-content: flex-start; padding: 14px 2px 10px; }
.card-chk{ position: absolute; left: 10px; top: 10px; z-index: 2; }
.card-chk .chk-label i{ box-shadow: 0 1px 4px rgba(20,26,32,0.18); }
.sub .cert-section .cert-list > li{ position: relative; }
.sub .expo-section .expo-list > li{ position: relative; }

/* .sub .expo-section 배지 변형 (IR) */
.sub .expo-section .overlay .badge.white{ background-color: rgba(255,255,255,0.92); color: var(--black-color); }

/* .certPopup (인증서 팝업) */
body.modal-open{ overflow: hidden; }
.certPopup{ position: fixed; inset: 0; z-index: 999; display: flex; align-items: center; justify-content: center; padding: 20px; visibility: hidden; opacity: 0; transition: opacity .3s, visibility .3s; }
.certPopup.active{ visibility: visible; opacity: 1; }
.certPopup .close-bg{ position: absolute; inset: 0; background-color: rgba(20,26,32,0.55); }
.certPopup .popup-box{ position: relative; width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; background-color: #fff; border-radius: 14px; padding: 26px; z-index: 1; }
.certPopup .popup-head{ display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid var(--line-color); }
.certPopup .popup-title{ font-size: 19px; font-weight: 700; color: var(--black-color); line-height: 1.4; }
.certPopup .close-btn{ position: relative; width: 26px; height: 26px; flex-shrink: 0; background: none; border: none; cursor: pointer; }
.certPopup .close-btn span{ position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; border-radius: 2px; background-color: var(--black-color); }
.certPopup .close-btn span:first-child{ transform: translate(-50%, -50%) rotate(45deg); }
.certPopup .close-btn span:last-child{ transform: translate(-50%, -50%) rotate(-45deg); }
.certPopup .popup-body{ padding-top: 20px; }
.certPopup .cert-img{ display: flex; align-items: center; justify-content: center; height: auto; background-color: #F1F3F5; border: 1px solid var(--line-color); border-radius: 8px; }
.certPopup .popup-meta{ margin-top: 12px; font-size: 14px; color: var(--gray-color); text-align: center; line-height: 1.5; }
@media screen and (max-width: 650px) {
    .certPopup .popup-box{ padding: 20px 16px; }
    .certPopup .popup-title{ font-size: 16px; }
    .certPopup .cert-img{ height: 260px; }
}

/* .sub .cert-section 수정하기 버튼 (관리자용) */
.sub .cert-section .cert-list .edit-btn{ display: block; width: fit-content; margin: 8px auto 0; font-size: 12px; color: var(--gray-color); text-decoration: underline; text-underline-offset: 2px; transition: color .2s; }
.sub .cert-section .cert-list .edit-btn:hover{ color: var(--deep-color); }
.sub .cert-section .cert-list .view-btn{ cursor: pointer; }

/* .sub .paper-view-section 전시 상세 이미지 */
.sub .paper-view-section .view-img{ max-width: 640px; margin: 0 auto 34px; border: 1px solid var(--line-color); border-radius: 8px; overflow: hidden; }
.sub .paper-view-section .view-img img{ width: 100%; display: block; }
.sub .paper-view-section .menuBox{ padding: 0 0 14px; }
.sub .paper-view-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .paper-view-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .paper-view-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }

/* .sub .faq-hero (FAQ 히어로) */
.sub .page-hero-section.faq-hero{ background: url('../img/support/hero-faq.jpg') no-repeat right center / auto 175%, var(--bg-color); }
.sub .page-hero-section.faq-hero::before{ background: linear-gradient(to left, rgba(247,249,251,0.15), var(--bg-color) 52%); }
@media screen and (max-width: 650px) {
    .sub .page-hero-section.faq-hero{ background-size: auto 125%; }
}

/* .sub .faq-section (자주 묻는 질문) */
.sub .faq-section{ padding: 40px 0 100px; }
.sub .faq-section .menuBox{ padding: 0 0 20px; }
.sub .faq-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .faq-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .faq-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .faq-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .faq-section .faq-tab-list{ display: flex; background-color: var(--line-color); border-radius: 10px; padding: 4px; }
.sub .faq-section .faq-tab-list .tab{ flex: 1; display: flex; align-items: center; justify-content: center; height: 44px; border: none; border-radius: 8px; background: none; font-size: 15px; font-weight: 600; color: var(--gray-color); cursor: pointer; transition: all .2s; }
.sub .faq-section .faq-tab-list .tab:hover{ color: var(--deep-color); }
.sub .faq-section .faq-tab-list .tab.active{ background-color: var(--main-color); color: #fff; }
.sub .faq-section .search-box{ position: relative; width: 256px; margin-top: 22px; }
.sub .faq-section .search-box::before{ content:''; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 1.5px solid #9AA6B2; border-radius: 50%; box-sizing: border-box; }
.sub .faq-section .search-box::after{ content:''; position: absolute; left: 25px; top: 60%; width: 6px; height: 1.5px; background-color: #9AA6B2; transform: rotate(45deg); }
.sub .faq-section .search-box input{ width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 14px; color: var(--black-color); }
.sub .faq-section .search-box input::placeholder{ color: #9AA6B2; }
.sub .faq-section .faq-list{ margin-top: 20px; border-bottom: 1px solid var(--line-color); }
.sub .faq-section .faq-list > li{ border-top: 1px solid var(--line-color); }
.sub .faq-section .faq-list > li.hide{ display: none; }
.sub .faq-section .question{ display: flex; align-items: center; gap: 14px; width: 100%; padding: 18px 10px; background: none; border: none; text-align: left; cursor: pointer; }
.sub .faq-section .question .tag{ display: flex; align-items: center; justify-content: center; min-width: 66px; height: 26px; padding: 0 10px; border-radius: 6px; background-color: #EEF7FC; font-size: 12px; font-weight: 600; color: var(--deep-color); flex-shrink: 0; white-space: nowrap; }
.sub .faq-section .question p{ flex: 1; font-size: 16px; font-weight: 500; color: var(--black-color); line-height: 1.5; }
.sub .faq-section .question .arrow{ width: 9px; height: 9px; border-right: 1.5px solid #9AA6B2; border-bottom: 1.5px solid #9AA6B2; transform: rotate(-45deg); transition: transform .25s; flex-shrink: 0; }
.sub .faq-section li.open .question .arrow{ transform: rotate(45deg); }
.sub .faq-section .answer{ display: none; padding: 4px 10px 22px 90px; }
.sub .faq-section li.open .answer{ display: block; }
.sub .faq-section li.open{ background-color: #FAFCFE; }
.sub .faq-section .answer p{ font-size: 15px; line-height: 1.7; color: var(--text-color); }
.sub .faq-section .faq-cta{ margin-top: 40px; padding: 40px 24px; border-radius: 12px; background-color: var(--bg-color); text-align: center; }
.sub .faq-section .faq-cta b{ display: block; font-size: 18px; font-weight: 700; color: var(--black-color); line-height: 1.5; }
.sub .faq-section .faq-cta p{ margin-top: 6px; font-size: 14px; color: var(--gray-color); line-height: 1.5; }
.sub .faq-section .faq-cta .contact-btn{ display: inline-flex; align-items: center; justify-content: center; margin-top: 18px; height: 42px; padding: 0 26px; border-radius: 8px; background-color: var(--main-color); color: #fff; font-size: 15px; font-weight: 600; transition: background-color .2s; }
.sub .faq-section .faq-cta .contact-btn:hover{ background-color: var(--deep-color); color: #fff; }
@media screen and (max-width: 650px) {
    .sub .faq-section{ padding: 30px 0 50px; }
    .sub .faq-section .faq-tab-list{ flex-wrap: wrap; gap: 2px; }
    .sub .faq-section .faq-tab-list .tab{ flex: 1 1 30%; height: 38px; font-size: 13px; }
    .sub .faq-section .search-box{ width: 100%; }
    .sub .faq-section .question{ gap: 10px; padding: 14px 6px; }
    .sub .faq-section .question .tag{ min-width: 58px; font-size: 11px; }
    .sub .faq-section .question p{ font-size: 14px; }
    .sub .faq-section .answer{ padding: 2px 6px 18px 74px; }
    .sub .faq-section .answer p{ font-size: 13px; }
}

/* .sub .faq-section 페이징 (다른 게시판과 통일) */
.sub .faq-section .paging_box{ margin-top: 40px; gap: 6px; }
.sub .faq-section .paging_box a, .sub .faq-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .faq-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .faq-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .faq-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; }

/* .sub .notice-section (공지사항) */
.sub .notice-section{ padding: 40px 0 100px; }
.sub .notice-section .menuBox{ padding: 0 0 14px; }
.sub .notice-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .notice-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .notice-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .notice-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .notice-section .search-box{ position: relative; width: 256px; }
.sub .notice-section .search-box::before{ content:''; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 1.5px solid #9AA6B2; border-radius: 50%; box-sizing: border-box; }
.sub .notice-section .search-box::after{ content:''; position: absolute; left: 25px; top: 60%; width: 6px; height: 1.5px; background-color: #9AA6B2; transform: rotate(45deg); }
.sub .notice-section .search-box input{ width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 14px; color: var(--black-color); }
.sub .notice-section .search-box input::placeholder{ color: #9AA6B2; }
.sub .notice-section .allcheck-bar{ padding: 16px 2px 8px; }
.sub .notice-section .notice-list{ border-bottom: 1px solid var(--line-color); }
.sub .notice-section .notice-list li{ display: flex; align-items: center; gap: 12px; padding: 15px 10px; border-top: 1px solid var(--line-color); }
.sub .notice-section .notice-list li.pinned{ background-color: var(--bg-color); }
.sub .notice-section .notice-list .chk{ flex-shrink: 0; display: flex; align-items: center; }
.sub .notice-section .notice-list .badge{ display: flex; align-items: center; justify-content: center; min-width: 44px; height: 24px; padding: 0 9px; border-radius: 6px; font-size: 12px; font-weight: 600; flex-shrink: 0; }
.sub .notice-section .notice-list .badge.product{ background-color: var(--main-color); color: #fff; }
.sub .notice-section .notice-list .badge.notice{ background-color: #EEF7FC; color: var(--deep-color); }
.sub .notice-section .notice-list .badge.pin{ background: none; min-width: 44px; }
.sub .notice-section .notice-list .title{ flex: 1; overflow: hidden; font-size: 15px; color: #232A31; }
.sub .notice-section .notice-list li.pinned .title{ font-weight: 600; }
.sub .notice-section .notice-list .title a{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .2s; }
.sub .notice-section .notice-list .title a:hover{ color: var(--deep-color); }
.sub .notice-section .notice-list .date{ width: 110px; flex-shrink: 0; text-align: right; font-size: 14px; color: #4D5863; }
.sub .notice-section .paging_box{ margin-top: 40px; gap: 6px; }
.sub .notice-section .paging_box a, .sub .notice-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .notice-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .notice-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .notice-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; }
@media screen and (max-width: 650px) {
    .sub .notice-section{ padding: 30px 0 50px; }
    .sub .notice-section .search-box{ width: 100%; }
    .sub .notice-section .notice-list li{ padding: 13px 4px; gap: 8px; }
    .sub .notice-section .notice-list .badge{ min-width: 38px; font-size: 11px; }
    .sub .notice-section .notice-list .title{ font-size: 14px; }
    .sub .notice-section .notice-list .date{ width: 84px; font-size: 12px; }
    .sub .notice-section .paging_box{ margin-top: 28px; }
}

/* .sub .contact-section (문의하기) */
.sub .contact-section{ padding: 40px 0 100px; }
.sub .contact-section .contact-div{ display: flex; gap: 16px; align-items: flex-start; }
.sub .contact-section .contact-form{ flex: 1; background-color: #fff; border: 1px solid var(--border-color); border-radius: 12px; padding: 30px 28px; }
.sub .contact-section .field-list{ display: flex; flex-wrap: wrap; gap: 18px 14px; }
.sub .contact-section .field-list li{ width: 100%; }
.sub .contact-section .field-list li.half{ width: calc(50% - 7px); }
.sub .contact-section .field-list .label{ font-size: 15px; font-weight: 600; color: var(--black-color); line-height: 1.5; }
.sub .contact-section .field-list .label span{ color: #EB5757; }
.sub .contact-section .field-list .ipt{ width: 100%; margin-top: 7px; height: 44px; padding: 0 14px; border: 1px solid var(--border-color); border-radius: 8px; background-color: var(--bg-color); font-size: 14px; color: var(--black-color); transition: border-color .2s, background-color .2s; }
.sub .contact-section .field-list .ipt:focus{ border-color: var(--main-color); background-color: #fff; outline: none; }
.sub .contact-section .field-list textarea.ipt{ height: 120px; padding: 12px 14px; resize: none; }
.sub .contact-section .field-list .ipt::placeholder{ color: #9AA6B2; }
.sub .contact-section .agree-div{ margin-top: 20px; }
.sub .contact-section .agree-div .chk-label{ align-items: flex-start; }
.sub .contact-section .agree-div .chk-label i{ margin-top: 2px; flex-shrink: 0; }
.sub .contact-section .agree-div em{ white-space: normal; line-height: 1.5; }
.sub .contact-section .agree-div .privacy-link{ color: var(--deep-color); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.sub .contact-section .submit-btn{ display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 22px; height: 52px; border: none; border-radius: 10px; background-color: var(--main-color); color: #fff; font-size: 17px; font-weight: 700; cursor: pointer; transition: background-color .2s; }
.sub .contact-section .submit-btn:hover{ background-color: var(--deep-color); }
.sub .contact-section .contact-info{ width: 385px; flex-shrink: 0; background-color: var(--deep-color); border-radius: 12px; padding: 26px 24px; color: #fff; }
.sub .contact-section .office + .office{ margin-top: 26px; }
.sub .contact-section .office .cate{ font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.65); letter-spacing: 0.08em; text-transform: uppercase; line-height: 1.5; }
.sub .contact-section .office-head{ display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 4px; padding-bottom: 14px; border-bottom: 1px solid rgba(255,255,255,0.18); }
.sub .contact-section .office-head b{ font-size: 22px; font-weight: 700; color: #fff; line-height: 1.4; }
.sub .contact-section .map-btn{ display: inline-flex; align-items: center; height: 28px; padding: 0 12px; border-radius: 6px; background-color: rgba(255,255,255,0.16); font-size: 12px; font-weight: 600; color: #fff; transition: background-color .2s; }
.sub .contact-section .map-btn:hover{ background-color: rgba(255,255,255,0.3); color: #fff; }
.sub .contact-section .info-list{ margin-top: 16px; display: flex; flex-direction: column; gap: 14px; }
.sub .contact-section .info-list li{ display: flex; align-items: flex-start; gap: 11px; }
.sub .contact-section .info-list img{ width: 17px; margin-top: 2px; flex-shrink: 0; filter: brightness(0) invert(1); opacity: 0.85; }
.sub .contact-section .info-list span{ display: block; font-size: 12.5px; color: rgba(255,255,255,0.65); line-height: 1.5; }
.sub .contact-section .info-list b{ display: block; font-size: 14px; font-weight: 600; color: #fff; line-height: 1.5; }
@media screen and (max-width: 950px) {
    .sub .contact-section .contact-div{ flex-direction: column; }
    .sub .contact-section .contact-info{ width: 100%; }
}
@media screen and (max-width: 650px) {
    .sub .contact-section{ padding: 30px 0 50px; }
    .sub .contact-section .contact-form{ padding: 22px 16px; }
    .sub .contact-section .field-list li.half{ width: 100%; }
    .sub .contact-section .field-list .label{ font-size: 14px; }
    .sub .contact-section .agree-div em{ font-size: 12px; }
    .sub .contact-section .submit-btn{ height: 48px; font-size: 15px; }
    .sub .contact-section .contact-info{ padding: 20px 16px; }
    .sub .contact-section .office-head b{ font-size: 19px; }
}

/* .privacyPopup 닫기 버튼 · 트리거 링크 */
.privacyPopup .titleBox .closeBtn{ position: relative; width: 26px; height: 26px; background: none; border: none; cursor: pointer; flex-shrink: 0; }
.privacyPopup .titleBox .closeBtn i{ position: absolute; left: 50%; top: 50%; width: 20px; height: 2px; border-radius: 2px; background-color: var(--black-color); }
.privacyPopup .titleBox .closeBtn i:first-child{ transform: translate(-50%, -50%) rotate(45deg); }
.privacyPopup .titleBox .closeBtn i:last-child{ transform: translate(-50%, -50%) rotate(-45deg); }
.sub .contact-section .agree-div .privacy-link{ background: none; border: none; padding: 0; font-size: inherit; cursor: pointer; }

/* footer 정책 링크 버튼화 (팝업 트리거) */
footer .policy-list button{ background: none; border: none; padding: 0; font-size: 12.5px; color: #CBD3DC; line-height: 1.6; cursor: pointer; font-family: inherit; letter-spacing: inherit; }
footer .policy-list button.strong{ font-weight: 600; color: var(--border-color); }
footer .policy-list button:hover{ color: #fff; }

/* 카운팅 숫자 */
.num .count{ font-weight: inherit; font-size: inherit; color: inherit; }

/* .sub .download-section (다운로드 게시판) */
.sub .download-section{ padding: 40px 0 100px; }
.sub .download-section .menuBox{ padding: 0 0 14px; }
.sub .download-section .menuBox.bottom{ padding: 14px 0 0; }
.sub .download-section .menuBox .menuList .item{ display: flex; align-items: center; gap: 4px; font-size: 13px; color: #4D5863; background: none; cursor: pointer; }
.sub .download-section .menuBox .menuList .item img{ width: 13px; height: 13px; object-fit: contain; opacity: 0.75; }
.sub .download-section .menuBox .subMenu .item{ justify-content: center; font-size: 13px; }
.sub .download-section .search-box{ position: relative; width: 256px; }
.sub .download-section .search-box::before{ content:''; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 14px; height: 14px; border: 1.5px solid #9AA6B2; border-radius: 50%; box-sizing: border-box; }
.sub .download-section .search-box::after{ content:''; position: absolute; left: 25px; top: 60%; width: 6px; height: 1.5px; background-color: #9AA6B2; transform: rotate(45deg); }
.sub .download-section .search-box input{ width: 100%; height: 40px; padding: 0 14px 0 38px; border: 1px solid var(--border-color); border-radius: 8px; font-size: 14px; color: var(--black-color); }
.sub .download-section .search-box input::placeholder{ color: #9AA6B2; }
.sub .download-section .allcheck-bar{ padding: 16px 2px 8px; }
.sub .download-section .download-list{ border-bottom: 1px solid var(--line-color); }
.sub .download-section .download-list li{ display: flex; align-items: center; gap: 10px; padding: 14px 10px; border-top: 1px solid var(--line-color); }
.sub .download-section .download-list .board-head{ font-size: 13px; color: var(--gray-color); padding: 12px 10px; }
.sub .download-section .download-list .board-head .title{ text-align: center; }
.sub .download-section .download-list .board-head .file{ text-align: center; }
.sub .download-section .download-list .chk{ width: 22px; flex-shrink: 0; display: flex; align-items: center; }
.sub .download-section .download-list .num{ width: 52px; flex-shrink: 0; text-align: center; font-size: 14px; color: var(--gray-color); }
.sub .download-section .download-list .title{ flex: 1; overflow: hidden; font-size: 15px; color: #232A31; }
.sub .download-section .download-list .title a{ display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: color .2s; }
.sub .download-section .download-list .title a:hover{ color: var(--deep-color); }
.sub .download-section .download-list .file{ width: 96px; flex-shrink: 0; text-align: center; }
.sub .download-section .download-list .down-btn{ display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 12px; border-radius: 6px; border: 1px solid var(--border-color); background-color: #fff; font-size: 12.5px; font-weight: 600; color: var(--text-color); transition: border-color .2s, color .2s; }
.sub .download-section .download-list .down-btn::before{ content:''; width: 10px; height: 10px; border: solid #9AA6B2; border-width: 0 0 2px 2px; transform: rotate(-45deg) translate(1px, -1px); }
.sub .download-section .download-list .down-btn:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .download-section .download-list .date{ width: 100px; flex-shrink: 0; text-align: right; font-size: 14px; color: #4D5863; }
.sub .download-section .paging_box{ margin-top: 40px; gap: 6px; }
.sub .download-section .paging_box a, .sub .download-section .paging_box strong{ display: flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; padding: 0 6px; border-radius: 6px; font-size: 14px; }
.sub .download-section .paging_box .pg_page{ border: 1px solid var(--border-color); color: var(--gray-color); transition: border-color .2s, color .2s; }
.sub .download-section .paging_box .pg_page:hover{ border-color: var(--main-color); color: var(--deep-color); }
.sub .download-section .paging_box .pg_current{ background-color: var(--deep-color); border: 1px solid var(--deep-color); color: #fff; font-weight: 600; }
@media screen and (max-width: 650px) {
    .sub .download-section{ padding: 30px 0 50px; }
    .sub .download-section .search-box{ width: 100%; }
    .sub .download-section .download-list li{ flex-wrap: wrap; padding: 12px 4px; row-gap: 8px; }
    .sub .download-section .download-list .num{ display: none; }
    .sub .download-section .download-list .board-head{ display: none; }
    .sub .download-section .download-list .title{ flex: 1 1 calc(100% - 32px); font-size: 14px; }
    .sub .download-section .download-list .file{ width: auto; margin-left: 30px; text-align: left; }
    .sub .download-section .download-list .date{ flex: 1; font-size: 12px; }
    .sub .download-section .paging_box{ margin-top: 28px; }
}


.delBox{ margin-top: 5px; display:flex; align-items:flex-start; gap:5px; }
.delBox input[type="checkbox"]{ margin-top:3px; }

/* 상세페이지 파일첨부 / 링크 */
.sub .view-body .viewAddArti{ display: flex; flex-direction: column; gap: 10px; margin-top: 50px; }
.sub .view-body .viewAddArti .item{ padding: 16px 16px 16px 50px; border-radius: 8px; border: 1px solid var(--border-color); background-color: #fff; background-repeat: no-repeat; background-position: center left 16px; transition: border-color .2s; }
.sub .view-body .viewAddArti a:hover .item{ border-color: var(--main-color); }
.sub .view-body .viewAddArti .item.file{ background-image: url('../img/boardImg/folder.png'); }
.sub .view-body .viewAddArti .item.link{ background-image: url('../img/boardImg/linkwrite.png'); }
.sub .view-body .viewAddArti .item .t1{ margin-top: 0; font-size: 14px; line-height: 1.5; color: var(--text-color); word-break: break-all; }
.sub .view-body .viewAddArti .item .t2{ margin-top: 2px; font-size: 13px; line-height: 1.5; color: #999; }

#bo_v_img{ margin-bottom: 30px; text-align: center; }
#bo_v_img img{ max-width: 100%; height: auto; display: inline-block; }

/* 글쓰기 링크 / 파일첨부 */
.sub .paper-write-section .formList .ipt.link,
.sub .paper-write-section .formList input[type="file"].ipt{ padding-left: 45px; background-repeat: no-repeat; background-position: left 14px center; background-size: 18px; }
.sub .paper-write-section .formList .ipt.link{ background-image: url('../img/boardImg/linkwrite.png'); }
.sub .paper-write-section .formList input[type="file"].ipt{ background-image: url('../img/boardImg/folder.png'); }
.sub .paper-write-section .checkIpt.fileDel{ display: flex; margin-top: 8px; font-size: 13px; color: var(--gray-color); }
.sub .paper-write-section .checkIpt.fileDel input[type="checkbox"]{ display: none; }
.sub .paper-write-section .checkIpt.fileDel input[type="checkbox"] + .text{ position: relative; padding-left: 22px; cursor: pointer; word-break: break-all; }
.sub .paper-write-section .checkIpt.fileDel input[type="checkbox"] + .text::before{ content: ''; position: absolute; left: 0; top: 1px; width: 15px; height: 15px; border: 1px solid #dedede; }
.sub .paper-write-section .checkIpt.fileDel input[type="checkbox"]:checked + .text::before{ background: url('../img/common/checkbox_icon.png') no-repeat center / 100%; }

@media screen and (max-width: 650px) {
    .sub .view-body .viewAddArti{ margin-top: 30px; gap: 8px; }
    .sub .view-body .viewAddArti .item{ padding: 12px 12px 12px 42px; background-size: 18px; background-position: center left 12px; }
    .sub .view-body .viewAddArti .item .t1{ font-size: 13px; }
    .sub .view-body .viewAddArti .item .t2{ font-size: 12px; }
}