@charset "utf-8";
/* 서브공통 */
.doc-top-label {font-size: var(--font-size-20); font-weight: 600; line-height: 1.7em; color: var(--color-primary);}
.doc-top-tit {margin-top: 6px; font-size: var(--font-size-40); line-height: 1.363em; color: var(--color-sub); font-weight: 600;}
.bg-color {background-color: #FAFAFA;}

/* 제품소개 */
.prod-down-btn {margin-bottom: var(--space-20);}
.prod-down-btn a {display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: var(--space-12) var(--space-18); border-radius: 8px; background: #004999; font-size: var(--font-size-18); font-weight: 600; line-height: 1.555em; color: #fff; transition: .4s;}
.prod-down-btn a:after {content:''; display:block; width: 20px; height: 20px; background: url("../images/sub/down-icon.svg") no-repeat center / contain; transition: .4s;}
.prod-list > ul {display:flex; flex-wrap:wrap; margin: 0 -8px;}
.prod-list > ul > li {display:flex; width: 33.33333%; padding: 0 8px; margin-bottom: 30px;}
.prod-list .none {width:100%; padding:70px 0; margin:0; text-align:center; color:#767676;}
.prod-list .link-item {display:flex; flex-direction:column; width:100%; height:100%; border:1px solid #DFDFDF; border-radius:var(--radius-16); overflow:hidden;}
.prod-list .link-item:hover {border-color:#002B5C;}
.prod-list .link-item .top {padding-top: 30px; background: #F6F6F6;}
.prod-list .link-item .top .tit {text-align: center; color:#2c2c2c; font-size:36px; font-weight:600; line-height:1.38em; letter-spacing:-.02em; transition:.3s;}
.prod-list .link-item:hover .top .tit {color:var(--color-primary);}
.prod-list .link-item .thumb {position:relative; padding-bottom:66.1%; overflow:hidden;}
.prod-list .link-item .thumb:after {content: ''; position: absolute; bottom: 12px; right: 12px; width: 56px; height: 56px; border-radius: 4px; background: var(--color-primary) url(../images/sub/product-arrow.svg) no-repeat center / 16px; opacity: 0; transition: .3s;}
.prod-list .link-item:hover .thumb:after {opacity: 1;}
.prod-list .link-item .thumb img {position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:.3s;}
.prod-list .link-item .info {flex:1; display:flex; flex-direction:column; padding:var(--space-30) var(--space-20);}
.prod-list .link-item .info .tag {display:flex; align-items:stretch; gap:4px; flex-wrap:wrap;}
.prod-list .link-item .info .tag li {display: flex; flex: 1; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: var(--space-12) 5px; border-radius: 4px; background: #F1F1F1; font-size: 15px; font-weight: 600; line-height: 1.333em; color: #676767; transition:.3s; word-break: break-all; text-align: center;}
.prod-list .link-item:hover .info .tag li {background: #E4EFFA; color: #004999;}
.prod-list .link-item .info .tag .tag-icon {flex-shrink: 0; width: 28px; height: 28px; background: no-repeat center / contain; transition:.3s;}
.prod-list .link-item .info .tag .icon1 {background-image:url("../images/sub/product-icon1.svg");}
.prod-list .link-item:hover .info .tag .icon1 {background-image:url("../images/sub/product-icon1-active.svg");}
.prod-list .link-item .info .tag .icon2 {background-image:url("../images/sub/product-icon2.svg");}
.prod-list .link-item:hover .info .tag .icon2 {background-image:url("../images/sub/product-icon2-active.svg");}
.prod-list .link-item .info .tag .icon3 {background-image:url("../images/sub/product-icon3.svg");}
.prod-list .link-item:hover .info .tag .icon3 {background-image:url("../images/sub/product-icon3-active.svg");}
.prod-list .link-item .info .tag .icon4 {background-image:url("../images/sub/product-icon4.svg");}
.prod-list .link-item:hover .info .tag .icon4 {background-image:url("../images/sub/product-icon4-active.svg");}
.prod-list .link-item:hover .info .product-logo {margin-top: 24px;}
.product-logo {display: flex; align-items: center; gap: 10px; flex-wrap: wrap;}
.product-logo li {width: 28px;}
.product-logo .icon {display: block; width: 100%; padding-bottom: 100%; position: relative;}
.product-logo .icon img {position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:.3s;}

/* 상세페이지 */
.product-view-top {display:flex; margin-bottom:var(--space-100); padding-top: var(--space-30);}
.view-img {width:48%; max-width: 670px; margin-right:var(--space-60);}
.view-img .img {position:relative; padding-bottom:71.65%; background: #F3F6FA; border-radius: 8px; overflow:hidden;}
.view-img .img img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.view-info {flex:1 1 auto; min-width:0; width:1%; padding: var(--space-30) 0;}
.view-info .tit {color:#004999; font-size:var(--font-size-60); line-height:1.266em; font-weight: 600; letter-spacing: -0.02em;}
.view-info .view-tag {display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: var(--space-24);}
.view-info .view-tag li {padding: 6px 8px; border-radius: 4px; background: #E4EFFA; font-size: var(--font-size-16); font-weight: 600; line-height: 1.5em; color: #004999; transition:.3s;}
.view-info .txt {color:#505050;}
.product-view-content {padding-top:var(--space-60);}

.view-txt-item {display: flex; padding-bottom: var(--space-40); border-bottom: 1px dashed #DFDFDF; font-size: var(--font-size-24); line-height: 1.583em; letter-spacing: -0.02em;}
.view-txt-item dt {display: flex; align-items: center; color: #878787;}
.view-txt-item dt:after {content: ''; display: inline-block; width: 1px; height: 16px; background: #eee; margin: 0 10px;}
.view-txt-item dd {flex: 1; color: #505050;}
.view-price-wrap {flex-wrap: wrap; gap: 20px; margin-top: var(--space-24);}
.view-price {font-size: var(--font-size-28); font-weight: 600; line-height: 1.5em; letter-spacing: -0.02em; color: #2c2c2c;}

.view-tab ul {display: flex;}
.view-tab li {flex: 1;}
.view-tab li a {display: block; position: relative; padding: var(--space-16); background: #fff; border-radius: 8px 8px 0 0; font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; color: #676767; border: 2px solid #eee; border-bottom: none; text-align: center; transition: none;}
.view-tab li a:after {content: ''; display: block; width: calc(100% + 4px); height: 2px; background: #003863; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); }
.view-tab li.active a {border-color: #003863;}
.view-tab li.active a:after {background: transparent;}
.product-view-content {display: none;}
.product-view-content.on {display: block;}

/* 제품규격 */
.view-table table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #2C2C2C;}
.view-table table th, .view-table table td {padding: var(--space-18) var(--space-30); border-right: 1px solid #DFDFDF; border-bottom: 1px solid #DFDFDF; border-left: 1px solid #DFDFDF; font-size: var(--font-size-15); line-height: 1.7em; text-align: left;}
.view-table table th {background: #FAFAFA; color: #505050; font-weight: 400; border-left: none;}

.product-btn-wrap {gap: 5px; margin-top: var(--space-60);}
.product-btn {display: flex; align-items: center; justify-content: center; gap: 8px; padding: var(--space-14) var(--space-24); border-radius: 8px;  color: #fff; font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; letter-spacing: -0.02em;}
.product-btn.down {background: #004999;}
.product-btn.down:after {content: ''; display: block; width: 20px; height: 20px; background: url("../images/sub/down-icon.svg") no-repeat center / contain; transition: .4s;}
.product-btn.list {background: #2c2c2c; }
.product-btn.list:after {content: ''; display: block; width: 20px; height: 20px; background: url("../images/sub/list-arrow.svg") no-repeat center / contain; transition: .4s;}
.view-table table td {color: #676767; border-right: none;}

/* 회사소개 상단 비주얼 */
.doc-visual {position:relative; display:flex; align-items:center; justify-content:center; min-height:480px; padding:var(--space-40) var(--space-container); overflow:hidden;}
.doc-visual-bg {position:absolute; inset:0; pointer-events:none;}
.doc-visual-bg img {width:100%; height:100%; object-fit:cover;}
.doc-visual-inner {position:relative; z-index:1; width:100%; padding-bottom: var(--space-40); text-align:center;}
.doc-visual-label {font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:rgba(255,255,255,.7); letter-spacing:-.02em;}
.doc-visual-tit {margin-top:var(--space-20); font-size:var(--font-size-36); font-weight:600; line-height:1.388em; color:#fff; letter-spacing:-.02em;}
.doc-visual-tit.big-txt {font-size: var(--font-size-52); line-height: 1.269em;}

.doc-visual.is-history {align-items:flex-end; justify-content:flex-start; padding:0 var(--space-container) 0 var(--space-40);}
.doc-visual.is-history .doc-visual-inner {width:auto; text-align:left; padding-bottom: 0;}
.doc-visual.is-history .doc-visual-tit {font-family: 'a2z'; margin-top:0; font-size:clamp(48px, calc(140 / var(--inner) * 100vw), 140px); line-height:1.1em; color:rgba(255,255,255,.3);}
.doc-visual.is-ci {display:block; min-height:480px; padding:0;}
.doc-visual.is-ci .doc-visual-bg img {object-position:center bottom;}

/* CEO 메시지 */
.greeting-letter {padding:var(--space-80) 0 var(--space-140);}
.greeting-letter-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.greeting-letter-box {display:flex; align-items:flex-start; gap:var(--space-60); margin-top:var(--space-80);}
.greeting-letter-img {flex:0 0 38%; max-width:520px; border-radius:8px; overflow:hidden;}
.greeting-letter-img img {display:block; width:100%; height:auto;}
.greeting-letter-txt {flex:1; min-width:0;}
.greeting-letter-txt p {font-size:var(--font-size-20); line-height:1.7em; color:#505050; letter-spacing:-.02em;}
.greeting-letter-txt p + p {margin-top:var(--space-20);}
.greeting-sign {display:flex; align-items:center; flex-wrap:wrap; gap:var(--space-10) var(--space-20); margin-top:var(--space-40);}
.greeting-sign span {font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:#505050; letter-spacing:-.02em;}
.greeting-sign .bar {display: flex; align-items: center;}
.greeting-sign .bar:after {content: ''; width: 1px; height: 16px; background: #dfdfdf; margin: 0 10px;}
.greeting-sign-line img {display:block; width:100%; height:100%;}
.greeting-philosophy {padding:var(--space-100) 0 var(--space-140); background:#f8f8f8;}
.greeting-philosophy .doc-top {margin-bottom:var(--space-80);}
.greeting-philosophy-head {display:flex; flex-direction:column; align-items:center; gap:var(--space-10); padding-bottom:var(--space-50); border-bottom:1px dashed #dfdfdf; text-align:center;}
.greeting-philosophy-mark {display:block; width:40px; height:40px;}
.greeting-philosophy-mark img {display:block; width:100%; height:100%; object-fit:contain;}
.greeting-philosophy-quote {font-size:var(--font-size-32); font-weight:500; line-height:1.4375em; color:var(--color-sub); letter-spacing:-.02em;}
.greeting-value-list {display:flex; align-items:flex-start; justify-content:center; flex-wrap:wrap; gap:var(--space-60) 75px; margin-top:var(--space-60);}
.greeting-value-item {display:flex; flex-direction:column; align-items:center; gap:var(--space-30); width:200px; max-width:100%;}
.greeting-value-icon {display:flex; align-items:center; justify-content:center; width:200px; height:200px; padding:var(--space-60); border-radius:100px; background:#fff; box-shadow:11px 14px 15px rgba(129,166,197,.2);}
.greeting-value-icon img {display:block; width:80px; height:80px; object-fit:contain;}
.greeting-value-item.item-passion .greeting-value-icon {border:4px solid #218eeb;}
.greeting-value-item.item-tech .greeting-value-icon {box-shadow:11px 14px 15px rgba(0,43,92,.2); border:4px solid #002b5c;}
.greeting-value-item.item-edu .greeting-value-icon {box-shadow:11px 14px 15px rgba(111,186,253,.2); border:4px solid #6fbafd;}
.greeting-value-tit {font-size:var(--font-size-24); font-weight:600; line-height:1.333em; color:var(--color-sub); letter-spacing:-.04em; text-align:center;}

/* 비전 */
.vision-talent {padding:var(--space-100) 0 var(--space-140); background:#f6f6f6;}
.vision-talent .doc-top {margin-bottom:var(--space-80);}
.vision-talent-list {display:flex; flex-wrap:wrap; gap:var(--space-8);}
.vision-talent-item {display:flex; flex-direction:column; justify-content:space-between; flex:1 1 calc(25% - var(--space-8) * 3 / 4); min-height:100%; padding:var(--space-40); border-radius:10px; background:#fff; box-shadow:0 4px 25px rgba(0,0,0,.08); transition: .3s;}
.vision-talent-item:hover {box-shadow: 0 5px 50px 0 rgba(0, 73, 153, 0.30); background: var(--color-primary);}
.vision-talent-head .en {display:block; font-size:var(--font-size-28); font-weight:600; line-height:1.5em; color:var(--color-sub); letter-spacing:-.02em; transition: .3s;}
.vision-talent-item:hover .vision-talent-head .en {color: #fff;}
.vision-talent-head .kr {display:block; margin-top:var(--space-4); font-size:var(--font-size-18); font-weight:500; line-height:1.555em; color:#878787; letter-spacing:-.02em; transition: .3s;}
.vision-talent-item:hover .vision-talent-head .kr {color: rgba(255, 255, 255, 0.70);}
.vision-talent-txt p {margin-top:var(--space-30); font-size:var(--font-size-20); line-height:1.7em; color:#505050; letter-spacing:-.02em; transition: .3s;}
.vision-talent-item:hover .vision-talent-txt p {color: #fff;}
.vision-talent-icon {display:flex; align-items:center; justify-content:flex-end; width: 64px; height: 64px; margin:var(--space-60) 0 0 auto; background: no-repeat center / contain; transition: .3s;}
.vision-talent-icon.icon1 {background-image: url(../images/sub/vision-icon1.svg);}
.vision-talent-item:hover .vision-talent-icon.icon1 {background-image: url(../images/sub/vision-icon1-active.svg);}
.vision-talent-icon.icon2 {background-image: url(../images/sub/vision-icon2.svg);}
.vision-talent-item:hover .vision-talent-icon.icon2 {background-image: url(../images/sub/vision-icon2-active.svg);}
.vision-talent-icon.icon3 {background-image: url(../images/sub/vision-icon3.svg);}
.vision-talent-item:hover .vision-talent-icon.icon3 {background-image: url(../images/sub/vision-icon3-active.svg);}
.vision-talent-icon.icon4 {background-image: url(../images/sub/vision-icon4.svg);}
.vision-talent-item:hover .vision-talent-icon.icon4 {background-image: url(../images/sub/vision-icon4-active.svg);}
.vision-benefit {padding:var(--space-100) 0 0;}
.vision-benefit .doc-top {margin-bottom:var(--space-80);}
.vision-benefit-list {display:flex; flex-wrap:wrap; gap:var(--space-8);}
.vision-benefit-item {display:flex; align-items:center; justify-content:space-between; flex:1 1 calc(25% - 6px); min-width:240px; gap:var(--space-20); padding:var(--space-30); border-radius:10px; background:#f8f8f8;}
.vision-benefit-txt .tit {display:block; font-size:var(--font-size-24); font-weight:600; line-height:1.333em; color:var(--color-sub); letter-spacing:-.02em;}
.vision-benefit-txt .dot-list {margin-top:var(--space-12);}
.vision-benefit-txt .dot-list li {position:relative; padding-left:10px; font-size:var(--font-size-18); line-height:1.555em; color:#505050; letter-spacing:-.02em;}
.vision-benefit-txt .dot-list li + li {margin-top:var(--space-4);}
.vision-benefit-txt .dot-list li:before {content:''; position:absolute; top:14px; left:0; width:4px; height:4px; border-radius:100%; background:#ccc; transform:translateY(-50%);}
.vision-benefit-icon {display:flex; align-items:center; justify-content:center; width:56px; height:56px;}

/* 연혁 */
.hist-body {padding:var(--space-100) 0 0;}
.hist-tab-list {display:flex; flex-wrap:wrap; gap:0 var(--space-50); border-bottom:1px solid #eee;}
.hist-tab-item a {display:block; padding-bottom:var(--space-16); font-size:var(--font-size-24); font-weight:500; line-height:1.583em; color:#676767; letter-spacing:-.02em; background:none; border:none; border-bottom:2px solid transparent; cursor:pointer;}
.hist-tab-item.active a {color:var(--color-primary); font-weight:600; border-bottom-color:var(--color-primary);}
.hist-panel {display:none; margin-top:var(--space-100);}
.hist-panel.on {display:block;}
.hist-timeline {position:relative; --hist-year-width:260px;}
.hist-timeline:before {content:''; position:absolute; top:26px; bottom:26px; left:calc(var(--hist-year-width) + 12px); width:1px; background:#ddd;}
.history-item {display:flex; align-items:flex-start; position: relative; padding-bottom: var(--space-100);}
.hist-year {flex:0 0 var(--hist-year-width); font-size:var(--font-size-48); font-weight:600; line-height:1.291em; color:#676767; letter-spacing:-.02em;}
.history-item.active .hist-year {color:var(--color-primary);}
.hist-marker {position:relative; padding:10px 0 ; margin-top: 9px; background: #fff; z-index:1;}
.hist-marker:before {content:''; display:block; width:24px; height:24px; margin:0 auto; border-radius:50%; border: 6px solid #878787;}
.history-item.active .hist-marker:before {border-color: #002B5C;}
.hist-events {flex:1; min-width:0; padding:14px 0 0 100px;}
.hist-event {display:flex; align-items:flex-start; gap:10px;}
.hist-event + .hist-event {margin-top:var(--space-24);}
.hist-event-date {display:flex; align-items:flex-start; gap:10px; flex:0 0 120px; font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:var(--color-sub); letter-spacing:-.02em;}
.hist-event-date:before {content:''; flex-shrink: 0; width:6px; height:6px; margin-top:14px; border-radius:50%; background:#ccc;}

.hist-event-txt {flex:1; min-width:0; font-size:var(--font-size-20); line-height:1.7em; color:#505050; letter-spacing:-.02em;}
.hist-event-txt p + p {margin-top:var(--space-4);}

/* 특허 및 인증 */
.cert-visual {position:relative; padding:var(--space-100) 0; overflow:hidden;}
.cert-visual-bg {position:absolute; inset:0; pointer-events:none;}
.cert-visual-bg img {width:100%; height:100%; object-fit:cover; object-position:center top;}
.cert-visual-inner {position:relative; z-index:1;}
.cert-visual-txt {text-align:center;}
.cert-visual-tit {font-size:var(--font-size-36); font-weight:600; line-height:1.388em; color:#fff; letter-spacing:-.02em;}
.cert-visual-desc {margin-top:var(--space-20); font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:rgba(255,255,255,.8); letter-spacing:-.02em;}
.cert-stats {margin-top:var(--space-60);}
.cert-stats-row {display:flex; flex-wrap: wrap; gap:8px;}
.cert-stats-item {display:flex; align-items:center; justify-content:space-between; flex:1 1 calc(25% - 6px); min-width:200px; gap:var(--space-20); padding:22px 32px; border-radius:10px; background:rgba(91,80,136,.3); backdrop-filter:blur(7.5px); -webkit-backdrop-filter:blur(7.5px);}
.cert-stats-item .label {font-size:var(--font-size-20); font-weight:500; line-height:1.7em; color:rgba(255,255,255,.7); letter-spacing:-.02em;}
.cert-stats-item .counter {font-size:var(--font-size-32); font-weight:500; line-height:1.4375em; color:#fff; letter-spacing:-.02em;}
.cert-body {padding:var(--space-100) 0 0;}
.cert-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); margin-bottom:var(--space-60);}
.cert-head-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.cert-filter {display:flex; flex-wrap:wrap; gap:4px;}
.cert-filter-btn {display:inline-block; padding:10px 20px; border:1px solid #505050; border-radius:80px; background:#fff; font-size:var(--font-size-18); font-weight:600; line-height:1.777em; color:#505050; letter-spacing:-.02em; text-decoration:none; cursor:pointer; transition:background .25s ease, color .25s ease, border-color .25s ease;}
.cert-filter li.active .cert-filter-btn {border-color:#002b5c; background:#002b5c; color:#fff;}
.cert-panel {display:none;}
.cert-panel.on {display:block;}

.cert-table-wrap {overflow-x: auto;}

.cert-table {width:100%; min-width: 640px; border-top:1px solid var(--color-sub); border-collapse:collapse; table-layout:fixed;}
.cert-table tbody tr {border-bottom:1px solid #eee; transition:background .25s ease;}
.cert-table tbody tr:hover {background:rgba(0,73,153,.08);}
.cert-table-head .col {font-weight:600; color:var(--color-sub); border-bottom: 1px solid #eee;}
.cert-table .col {padding:var(--space-24) 10px; font-size:var(--font-size-18); line-height:1.777em; letter-spacing:-.02em; text-align:center; vertical-align:middle;}
.cert-table .col-status {width:8.6%; color:#505050;}
.cert-table .col-nation {width:8.6%; color:#505050;}
.cert-table .col-subject {text-align:left; padding-left:20px; padding-right:20px;}
.cert-table-head .col-subject {text-align: center;}
.cert-table tbody .col-subject {font-weight:500; color:var(--color-sub);}
.cert-table tbody tr:hover .col-subject {color:var(--color-primary);}
.cert-table .col-date {width:14.3%; color:#505050;}
.cert-table .col-number {width:17.2%; color:#505050;}
.cert-subject-link {color:inherit; text-decoration:none;}
.cert-subject-link:hover {color:var(--color-primary);}
.cert-paging {display:flex; align-items:center; justify-content:center; gap:40px; margin-top:var(--space-60);}
.cert-paging-btn {display:flex; align-items:center; justify-content:center; gap:2px; width:38px; height:38px; padding:0; border:none; background:transparent; cursor:pointer;}
.cert-paging-btn:disabled {opacity:.35; cursor:default;}
.cert-paging-btn img {display:block; width:5px; height:10px;}
.cert-paging-btn.next img, .cert-paging-btn.last img {transform:rotate(180deg);}
.cert-paging-num {display:flex; align-items:center; gap:40px;}
.cert-paging-link {position:relative; min-width:38px; height:38px; padding:0 4px; border:none; border-radius:4px; background:transparent; font-size:15px; font-weight:400; line-height:38px; color:#505050; letter-spacing:-.03em; cursor:pointer;}
.cert-paging-link.active {background:#f1f1f1; font-weight:700; color:var(--color-primary);}

/* CI 소개 */
.ci-body {padding:var(--space-100) 0 var(--space-140);}
.ci-body .contain {display:flex; flex-direction:column; gap:var(--space-100);}
.ci-block-head {display:flex; flex-direction:column; gap:var(--space-20); margin-bottom:var(--space-60);}
.ci-block-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.ci-block-desc {font-size:var(--font-size-20); line-height:1.7em; color:#505050; letter-spacing:-.02em;}
.ci-logo-box {display:flex; align-items:center; justify-content:center; position:relative; min-height:400px; padding:var(--space-40); border-radius:16px; background-image:radial-gradient(circle, #ebebeb  2px, transparent 2px); background-size:20px 20px; border-radius: var(--radius-16); overflow: hidden;}
.ci-logo-box img {display:block; width:100%; max-width:445px; height:auto;}
.ci-color {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-60);}
.ci-color-head {flex:1; min-width:0;}
.ci-color-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.ci-color-body {flex:1; min-width:0;}
.ci-color-txt p {font-size:var(--font-size-20); line-height:1.7em; color:#505050; letter-spacing:-.02em;}
.ci-color-txt p + p {margin-top:var(--space-16);}
.ci-color-list {display:flex; gap:5px; margin-top:var(--space-50);}
.ci-color-item {display:flex; align-items:flex-end; justify-content:flex-end; flex:1; padding:44px 16px 12px; border-radius:8px; background:var(--ci-color);}
.ci-color-item.item1 {--ci-color:#00479d;}
.ci-color-item.item2 {--ci-color:#727171;}
.ci-color-item.item3 {--ci-color:#a66baa;}
.ci-color-item.item4 {--ci-color:#58c3e0;}
.ci-color-item.item5 {--ci-color:#aedde6;}
.ci-color-item span {font-size:var(--font-size-20); line-height:1.6em; color:#fff; letter-spacing:-.02em;}

/* 오시는 길 */
.loc-body {padding:var(--space-100) 0 0;}
.loc-head {display:flex; flex-direction:column; gap:var(--space-20); margin-bottom:var(--space-40);}
.loc-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.loc-info {display:flex; align-items:center; flex-wrap:wrap;}
.loc-info-item {display:flex; align-items:flex-start; font-size:var(--font-size-20); line-height:1.7em; letter-spacing:-.02em;}
.loc-info-item .label {font-weight:500; color:#505050;}
.loc-info-item .val {margin-left: 10px; color:#676767;}
.loc-info-item .val a {color:inherit; text-decoration:none;}
.loc-info-item:not(:last-child)::after {content:''; flex:0 0 1px; width:1px; height:16px; margin:10px var(--space-20) 0; background:#eee;}
.loc-media {display:flex; align-items:stretch; gap:var(--space-20);}
.loc-map {flex: 1; border-radius: var(--radius-16); overflow: hidden;}
.loc-map iframe {width: 100%; height: 100%;}
.loc-map .root_daum_roughmap, 
.loc-map .root_daum_roughmap .wrap_map {width: 100%; height: 100%;}
.loc-photo {flex:0 0 33%; max-width:440px; border-radius:8px; overflow:hidden;}

/* 사업분야 */
.biz-intro {padding-top: var(--space-80); padding-bottom:var(--space-140);}
.biz-intro-top {display:flex; align-items:flex-start; gap:var(--space-60);}
.biz-intro.ai-view .biz-intro-top {align-items: center;}
.biz-intro-img {flex:0 0 45%; max-width:600px; max-height: 440px; border-radius:8px; background:#f3f6fa; overflow:hidden; position:relative;}
.biz-intro-img > div {position: relative; width: 100%; padding-bottom: 73.4%;}
.biz-intro-img > div img {position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); width:auto !important; height:auto !important; max-width:100%; max-height:100%; object-fit:contain;}
.biz-intro.ai-view .biz-intro-img > div img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.biz-intro-txt {display:flex; flex-direction:column; justify-content:space-between; flex:1; min-width:0; min-height: 440px; padding-top:var(--space-20);}
.biz-intro.ai-view .biz-intro-txt {min-height: unset;}
.biz-intro .doc-top {margin-bottom:var(--space-30);}
.biz-intro-tit {font-size:var(--font-size-40);}
.biz-intro-desc p {font-size:var(--font-size-20); line-height:1.7em; color:#676767; letter-spacing:-.02em;}
.biz-intro-desc p + p {margin-top:var(--space-16);}
.biz-down-list {display:flex; flex-wrap:wrap; gap:var(--space-4); margin-top:var(--space-24); padding-top:var(--space-24); border-top:1px dashed #dfdfdf;}
.biz-down-btn {display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:var(--space-12) var(--space-18); border:1px solid #dfdfdf; border-radius:8px; font-size:var(--font-size-16); font-weight:600; line-height:1.625em; color:#505050; letter-spacing:-.02em;}
.biz-down-btn:hover {background: linear-gradient(93deg, #001833 0%, #004999 100%); color: #fff;}
.biz-down-btn .icon {display:block; width:20px; height:20px; background:url("../images/sub/edutech-down.svg") no-repeat center / contain;}
.biz-down-btn:hover .icon {background-image: url("../images/sub/edutech-down-active.svg");}
.biz-feature {padding:var(--space-100) 0 var(--space-140); background:#f8f8f8;}
.biz-sec-tit {font-size:var(--font-size-40); font-weight:600; line-height:1.4em; color:var(--color-sub); letter-spacing:-.02em;}
.biz-feature .biz-sec-tit {margin-bottom:var(--space-40);}
.biz-feature-list {display:flex; gap:var(--space-16);}
.biz-feature-item {display:flex; flex-direction:column; flex:0 1 calc(33.333% - var(--space-16) * 2 /3); position: relative; min-width:0; background:#fff; border-radius: var(--radius-16); overflow:hidden;}
.biz-feature-item:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: var(--radius-16); border:1px solid rgba(238, 238, 238, 1); pointer-events: none;}
.biz-feature-img {position:relative; padding-bottom:71.93%;}
.biz-feature-img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.biz-feature-txt {padding:var(--space-24) var(--space-28) var(--space-30);}
.biz-feature-txt .tit {display:block; font-size:var(--font-size-26); font-weight:600; line-height:1.538em; color:var(--color-primary); letter-spacing:-.02em;}
.biz-feature-txt p {margin-top:var(--space-10); font-size:var(--font-size-20); line-height:1.7em; color:#676767; letter-spacing:-.02em;}
.biz-case {padding:var(--space-100) 0 0;}
.biz-case-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20); margin-bottom:var(--space-40);}
.biz-more-btn {display:inline-flex; align-items:center; justify-content:center; padding:12px 22px; border:1px solid #dfdfdf; border-radius:80px; font-size:var(--font-size-16); font-weight:600; line-height:1.625em; color:#505050; letter-spacing:-.02em; text-decoration:none; transition:border-color .25s ease, color .25s ease;}

.biz-case-list {display:flex; flex-wrap: wrap; margin: 0 -8px;}
.biz-case-list .biz-case-item {display:flex; flex-direction:column; width: 33.3333%; padding: 0 8px; margin-bottom: 40px;}
.biz-case-item a { position: relative; background:#fff; border-radius: var(--radius-16); overflow:hidden;}
.biz-case .biz-case-list .biz-case-item {margin-bottom: 0;}
.biz-case-item a:after {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: var(--radius-16); border:1px solid rgba(238, 238, 238, 1); pointer-events:none; transition: .3s;}
.biz-case-item a:hover:after {border-color: rgba(0, 73, 153, 1);} 
.biz-case-img {position:relative; padding-bottom:74.56%; overflow: hidden;}
.biz-case-img img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.biz-case-txt {padding:var(--space-24) var(--space-30); background:#fff; text-align: left;}
.biz-case-txt .model {font-size:var(--font-size-18); font-weight:500; line-height:1.555em; color:var(--color-primary); letter-spacing:-.02em;}
.biz-case-txt .name {margin-top:var(--space-8); font-size:var(--font-size-24); font-weight:500; line-height:1.583em; color:var(--color-sub); letter-spacing:-.02em; transition: .3s;}
.biz-case-item a:hover .biz-case-txt .name {color: var(--color-primary);}
.biz-intro-txt.is-detail {justify-content:center;}

/* ai 인공지능 */
.ai-list ul {display:flex; flex-wrap:wrap; margin: 0 -8px;}
.ai-list ul li {width: 33.333%; padding: 0 8px; margin-bottom: 40px;}
.ai-intro-item {display:flex; flex-direction:column; align-items:center; gap:var(--space-24);}
.ai-intro-thumb {position:relative; width:100%; padding-bottom:71.93%; border-radius:16px; overflow:hidden;}
.ai-intro-thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.ai-intro-hover {position:absolute; left:var(--space-16); right: var(--space-16); top:var(--space-16); z-index:1; display:flex; align-items:flex-start; gap:var(--space-14); padding:12px 16px 12px 12px; border-radius:8px; background:#fff; box-shadow:4px 4px 2px rgba(0,0,0,.04); opacity:0; transform:translateY(8px); transition:opacity .3s ease, transform .3s ease;}
.ai-intro-item:hover .ai-intro-hover {opacity:1; transform:translateY(0);}
.ai-intro-hover::before {content:''; flex-shrink: 0; display:block; width:28px; height:28px; background:var(--color-primary) url("/images/sub/ai-check-icon.svg") no-repeat center / 12px; border-radius:100%;}
.ai-intro-hover .desc {display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-width:0; font-size:var(--font-size-18); line-height:1.555em; letter-spacing:-.02em;}
.ai-intro-hover .desc strong {font-weight:600; color:var(--color-sub);}
.ai-intro-hover .desc span {font-weight:500; color:#505050;}
.ai-intro-tit {font-size:var(--font-size-26); font-weight:600; line-height:1.538em; color:var(--color-sub); letter-spacing:-.02em; text-align:center; transition:color .25s ease;}
.ai-intro-item:hover .ai-intro-tit {color:var(--color-primary);}

/* 빠른 문제 진단 */
.diag-section {position:relative; padding-bottom:calc(var(--space-140) + 100px);}
.diag-box-wrap {display: flex; align-items: center; justify-content: center; border:1px solid #eee; border-radius:var(--radius-16); padding:var(--space-70) 20px var(--space-80); margin-top: var(--space-20); background:#fff;}
.diag-box {width: 100%; text-align:center;}
.diag-visual {position:absolute; bottom:-20px; width:100%; pointer-events:none;}
.diag-visual img {display:block; width:100%; height:auto;}

/* 게시판 (커뮤니티 · 고객지원 · 구매문의) */
.board-search.type2 {display:flex; align-items:center; justify-content:space-between; gap:vaR(--space-20); margin-bottom:var(--space-30);}
.board-search.type2:after {display:none;}
.board-search.type2 .search-wrap {display: flex; align-items: center; gap: 8px; flex-wrap: wrap;}
.board-search.type2 .total-page {float:none; font-size:var(--font-size-20); font-weight:500; line-height:1.5em; color:#505050;}
.board-search.type2 .total-page .count {color:var(--color-primary); font-weight:500;}
.board-search.type2 .total-page .count:before {content: ''; display: inline-block; width:1px; height:12px; background:#dfdfdf; margin: 0 10px;}
.board-search-right {display:flex; align-items:center; gap:8px; margin-left:auto;}
.board-search.type2 .cate {float:none; margin:0;}
.board-search.type2 .cate .input {width:210px; height:56px; padding: 6px 20px; border:1px solid #dfdfdf; border-radius:8px; font-size:var(--font-size-18); color:#505050;}
.board-search.type2 .search {float:none; display:flex; align-items:center; gap:4px;}
.board-search.type2 .search .input {width:400px; max-width:100%; height:56px; padding:6px 20px; border:1px solid #dfdfdf; border-radius:8px; font-size:var(--font-size-18); color:#505050;}
.board-search.type2 .search .input::placeholder {color:#999;}
.board-search.type2 .btn-search {width:56px; height:56px; padding:0; border:none; border-radius:8px; background:#1c1c1c url("/images/common/board-search-icon.svg") no-repeat center / 18px; cursor:pointer; text-indent: -9999px;}
.btn-pack.dark2 {background: #1c1c1c; border-radius: 4px; color: #fff;}

.install-gallery {padding-bottom:30px; border-bottom:1px solid #eee;}

.install-gallery .biz-case-item a {display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit;}
.install-gallery .none {display:none;}
.install-gallery .none:only-child {display:block;}

.board-combus .faq-combus {display:flex; flex-direction:column; gap:var(--space-16);}
.board-combus .faq-pin-group, .board-combus .faq-list {display:flex; flex-direction:column; gap:var(--space-16); list-style:none; margin:0; padding:0;}
.board-combus .faq-item {border-radius:8px; overflow:hidden;}
.board-combus .faq-item .tit a {text-decoration:none; color:inherit;}
.board-combus .faq-item.is-pin {border:1px solid #2c2c2c; background:#fff;}
.board-combus .faq-item:not(.is-pin):not(.active) {background:#f8f8f8;}
.board-combus .faq-item.active {border:1px solid var(--color-primary);}
.board-combus .faq-q {display:flex; align-items:center; flex-wrap: wrap; position:relative; width:100%; padding:20px 68px 20px 50px; border:none; background:transparent; text-align:left; cursor:pointer;}
.board-combus .faq-item.active .faq-q {background:var(--color-primary); color:#fff;}
.board-combus .faq-q::after {content:""; position:absolute; right:30px; top:50%; width:18px; height:18px; margin-top:-9px; background:url("/images/bbs/faq-arrow-down.svg") no-repeat center / contain;}
.board-combus .faq-item.active .faq-q::after {background-image:url("/images/bbs/faq-arrow-up.svg");}
.board-combus .faq-mark {flex:0 0 18px; font-size:22px; font-weight:700; line-height:1em; color:#2c2c2c; letter-spacing:-.02em;}
.board-combus .faq-item.active .faq-mark {color:#fff;}
.board-combus .faq-item.active .faq-a .faq-mark {color: var(--color-primary); padding-top: 4px;}
.board-combus .faq-cate {min-width: 120px; margin-left:var(--space-50); font-size:var(--font-size-18); font-weight:500; line-height:1.55em; color:#878787; letter-spacing:-.02em; text-align:left;}
[lang="en"] .board-combus .faq-cate {margin-right: 20px;}
.board-combus .faq-item.active .faq-cate {color:rgba(255,255,255,.8);}
.board-combus .faq-model {min-width:60px; font-size:var(--font-size-18); font-weight:500; line-height:1.55em; color:#878787; letter-spacing:-.02em;}
.board-combus .faq-item.is-pin .faq-model {flex:0 0 60px; font-size:var(--font-size-20); color:#505050; text-align:left;}
.board-combus .faq-item.active .faq-model {color:rgba(255,255,255,.6);}
.board-combus .faq-model span:after {content: ''; display: inline-block; width:1px; height:12px; margin: 0 8px; background:#dfdfdf;}
.board-combus .faq-item.active .faq-model span:after {background: rgba(255,255,255,.6);}
.board-combus .faq-model span:last-child:after {display: none;}
.board-combus .faq-subject {flex:1; min-width:0; padding-left:var(--space-50); font-size:var(--font-size-20); font-weight:500; line-height:1.4em; color:#2c2c2c; letter-spacing:-.02em;}
.board-combus .faq-item.active .faq-subject {font-weight:600; color:#fff;}
.board-combus .faq-a {display:none; border-top:1px solid rgba(0,73,153,.12);}
.board-combus .faq-a-inner {display:flex; align-items:flex-start; padding:40px 30px;}
.board-combus .faq-a-inner .faq-mark {color:var(--color-primary);}
.board-combus .faq-a-txt {flex:1; min-width:0; padding-left:var(--space-50); font-size:var(--font-size-18); font-weight:500; line-height:1.67em; color:#505050; letter-spacing:-.02em;}
.board-combus .faq-a-txt .note {margin-top:20px; font-size:var(--font-size-16); font-weight:600; line-height:1.75em; color:var(--color-primary);}
.board-combus .faq-item.none {padding:70px 0; text-align:center; color:#999;}

/* 구매문의 */
.com-form-wrap .com-form.inquiry-form {gap:var(--space-20) var(--space-30);}
.com-form-wrap .com-form dl.w50 {flex:1 1 calc(50% - var(--space-30)/2);}
.com-form-wrap.inquiry-form-wrap dt {width: 110px;}
[lang="en"] .com-form-wrap.inquiry-form-wrap dt {width: 170px;}
.inquiry-buttons .inquiry-btn {display: inline-block; border-radius: 8px; padding: var(--space-14) var(--space-60); font-size: var(--font-size-18); font-weight: 600; line-height: 1.777em; background: var(--color-primary); color: #fff; border: none; cursor: pointer;}
.inquiry-buttons .inquiry-btn.list-btn {background: #fff; color: #AAA8A7; border: 1px solid #AAA8A7;}

.inquiry-notice {margin-bottom: var(--space-20); font-size:var(--font-size-18); font-weight:500; line-height:1.75em; color:#2c2c2c; letter-spacing:-.02em;}

/* 구매문의 상세 */
.purchase-view-info {padding: var(--space-12) var(--space-16); background: #fafafa; border-bottom: 1px solid #ddd;}
.purchase-view-info dl {display: grid; grid-template-columns: 1fr 1fr;}
.purchase-view-info dl > div {display: flex; align-items: flex-start; gap: var(--space-16); padding: var(--space-10) var(--space-8);}
.purchase-view-info dl > .is-full {grid-column: 1 / -1;}
.purchase-view-info dt {flex: 0 0 70px; color: #767676; font-size: var(--font-size-15); font-weight: 600; line-height: 1.5em;}
.purchase-view-info dd {flex: 1; min-width: 0; color: #2c2c2c; font-size: var(--font-size-15); font-weight: 500; line-height: 1.5em; word-break: break-all;}

/* 구매문의 팝업 스크롤 */
html.ws-modal-open body {overflow-y: hidden;}
