/*sub_visual*/
.sub_top {width: 100%; height: 450px; display: flex; justify-content: center; align-items: center; margin: 0 auto; background-position: center; background-repeat: no-repeat; background-size: cover;}
.sub_top.sub_top1 {background-image: url(../../images/thema/sub/sub_top/sub_top1.jpg);}
.sub_top.sub_top2 {background-image: url(../../images/thema/sub/sub_top/sub_top2.jpg);}
.sub_top.sub_top3 {background-image: url(../../images/thema/sub/sub_top/sub_top3.jpg);}
.sub_top.sub_top4 {background-image: url(../../images/thema/sub/sub_top/sub_top4.jpg);}
.sub_top.sub_top5 {background-image: url(../../images/thema/sub/sub_top/sub_top5.jpg);}

.sub_top_title {text-align: center; line-height: 1.3;}
.sub_top_title h3 {margin-top: 40px; color: #fff; font-size: 46px;}
.sub_top_title span {color: rgba(255, 255, 255, .7); font-size: 28px; font-weight: 500;}

/*공통*/
.sub {margin-top: 100px;}
.sub.contents {display: flex; flex-wrap: wrap; width: 100%;}
.sub.contents.mg_bt150 {margin-bottom: 150px;}
.sub.contents.full_bg {padding: 70px 0;}
.sub.contents.full_bg.pd_bt150 {padding-bottom: 150px;}
.sub.contents.full_bg.gray {background: #FBFBFB;}
.sub.contents.full_bg.sky {background: #F9FCFF;}
.sub.contents .inner {width: 100%; flex-direction: column;}

.sub.contents .sub_title {width: 100%;}
.sub.contents .sub_title h2 {font-size: 36px; font-weight: 700; margin-bottom: 60px; text-align: center;}
.sub.contents .sub_title h3 {text-align: center; margin-top: -50px; font-size: 20px; font-weight: 500; margin-bottom: 50px; color: #363636;}
.sub.contents .sub_title p {font-size: 24px; font-weight: 400; text-align: center; margin: 40px auto 40px;}
.sub.contents .sub_title p span {color: #003365;}

.sub.contents .title_md {padding-bottom: 50px; font-size: 30px; font-weight: 600; margin: 0 auto; position: relative; }
.sub.contents .title_md::before {position: absolute; content: ''; top: 5px; left: -4px; width: 14px; height: 14px; border-radius: 14px; background: rgba(125, 190, 255, .3); z-index: -1;}

.wrap {width: 100%; max-width: 1280px; box-sizing: border-box; display: flex;}

.full_bg.gray {background: #FBFBFB;}
.full_bg.sky {background: #F9FCFF;}

.img_box {width: 100%; display: flex; justify-content: center; align-items: center; background: #fff; border: 1px solid #ccc; border-radius: 20px; padding: 100px;}

.imgcard {text-align:center; color:#fff; border-radius:20px; padding: 20px; background-position:center; background-repeat:no-repeat; background-size:cover;}
.imgcard .title {font-size: 24px;}
.imgcard .subtitle {font-size:20px; font-weight:500; color:#C1C1C1;}
.imgcard .desc {font-size: 16px; text-align:left; margin-top:30px; font-weight: 500;}
.imgcard.overlay {position: relative;}
.imgcard.overlay::before {content:""; position:absolute; inset:0; background:rgba(0,0,0,0.6); border-radius:inherit; pointer-events:none; z-index:0;}
.imgcard.overlay > * {position:relative; z-index:1;}

/*제품소개 썸네일 뷰어*/
.prd_viewer.large .prd_tab_content {width: 100%; min-width: 800px;}
.prd_viewer.large {display: flex; gap: 100px; justify-content: flex-end; align-items: center; margin-top: 40px;}
.prd_viewer.large .prd_tabs {display: flex; flex-direction: column; gap: 10px;}
.prd_viewer.large .prd_tabs li {width: 100px; height: 70px; background: #fff;}
.prd_viewer.large .prd_tabs img {max-width: 80px; max-height: 60px; object-fit: contain;}

/*link tab button*/
.link_tabs {display: flex; justify-content: center; align-items: center; border-radius: 15px; overflow: hidden; margin: 0 auto; flex-wrap: wrap;}
.link_tabs.cols-4 {max-width: 600px; width: 100%;}
.link_tabs.cols-2 {max-width: 300px; width: 100%;}

.link_tab_btn {position: relative; justify-content: center; flex: 1 1 25%; background: #eee; color: #555; font-weight: 500; font-size: 18px; text-align: center; padding: 16px 0; transition: 0.3s; box-sizing: border-box;}
.link_tab_btn:hover {background: #003365; color: #fff;}

.link_tab_btn::after {content: ''; position: absolute; top: 50%; transform: translateY(-50%); width: 1px; height: 20px; background: #aaa; right: 0; z-index: 1;}
.link_tab_btn:last-child::after {content: none;}
.link_tabs.cols-2 .link_tab_btn::after {content: none;}

.link_tab_btn:hover::after, .link_tab_btn.active::after {content: none;}
.link_tabs.cols-2 .link_tab_btn {flex-basis: 50%;}
.link_tab_btn.active {background: #003365; color: #fff; border-color: transparent;}

/*인사말*/
#greeting .inner::after {position: absolute; content: ''; width: 100%; height: 400px; background: #fbfbfb; z-index: -1; bottom: -180px;}
.ceo {display: flex; gap: 100px; justify-content: space-between; align-items: end;}
.message_img {width: 100%; color: #fff; max-width: 520px; height: 400px; border-radius: 0 60px 0 0; padding: 50px 60px; background: url(../../images/thema/sub/greeting/message.jpg) center center / cover no-repeat;}
.message_img span {font-size: 20px; position: relative; }
.message_img span::after {position: absolute; content: ''; width: 45px; height: 1px; background: #fff; left: 0; bottom: -20px; }
.message_img h3 {font-size: 26px; margin-top: 40px;}

.message_text {width: 100%; max-width: 650px; font-size: 16px; margin-top: 120px;}
.message_text p {padding-bottom: 15px;}
.message_text .ceo_sign {display: block; text-align: right; font-size: 20px; padding-top: 10px;}

/*비전*/
.vision {display:flex; justify-content:center; align-items:stretch; gap:20px; flex-wrap:wrap;}
.vision .imgcard {text-align:center; color:#fff; border-radius:20px; padding:60px; background-position:center; background-repeat: no-repeat; background-size: cover; flex: 0 0 49%; max-width:100%;}

.vision .imgcard.bg01 {background-image:url(../../images/thema/sub/greeting/vision01.png);}
.vision .imgcard.bg02 {background-image:url(../../images/thema/sub/greeting/vision02.png);}
.vision .imgcard.bg03 {background-image:url(../../images/thema/sub/greeting/vision03.png);}
.vision .imgcard.bg04 {background-image:url(../../images/thema/sub/greeting/vision04.png);}

/*조직도*/
.org {padding-bottom: 70px; justify-content: center; text-align: center;}
.org_chart {display: flex; justify-content: center; align-items: center; flex-direction: column;}
.org_chart .org_ceo {position:relative; background: url(../../images/thema/sub/greeting/org.png) center center / cover no-repeat; width: 200px; height: 200px; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 600; color: #fff; margin-bottom: 40px;}
.org_chart .org_ceo::after {position: absolute; content: ''; width: 1px; height: 40px; background: #ccc; bottom: -40px; }

.org_chart .org_lineX {width: 690px; height: 1px; background: #ccc;}

.org_chart .org_group {display: flex; gap: 50px; z-index: 5;}
.org_chart .org_block {display: flex; width: 180px; flex-direction: column; align-items: center; position: relative;}
.org_chart .org_team {position: relative; width: 180px; height: 50px; line-height: 50px; background: #003365; font-size: 18px; font-weight: 600; color: #fff; border-radius: 35px; display: flex; justify-content: center; align-items: center; margin-top: 40px;}
.org_chart .org_team::before {position: absolute; content: ''; width: 1px; height: 40px; top: -40px; background: #ccc;}
.org_sub {margin-top: 12px; width: 140px; line-height: 40px; border: 1px solid #003365; border-radius: 30px; color: #003365; font-size: 16px; font-weight: 500; background: #fff; white-space: nowrap;}
.org_group_sub {display: flex; gap: 30px; margin-top: -54px; margin-left: -470px;}

.org_chart .org_ceo {order:1;}
.org_chart .org_lineX {order:2;}
.org_chart .org_team:first-child {order: 3;}
.org_chart .org_team {order: 4;}
.org_chart .org_block {order: 5}
.org_chart .org_group {order:6;}
.org_chart .org_group_sub {order: 7;}
.org_chart .org_sub {order: 8;}

/*파트너사*/
#partner .swiper {margin-bottom: 20px; overflow: hidden;}
#partner .swiper-wrapper {transition-timing-function: linear; will-change: transform;}
#partner .swiper-slide {display: flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 305px; max-width: 305px; height: 130px; background: rgba(38, 119, 199, .05); border-radius: 20px;}

/*오시는길*/
.root_daum_roughmap .wrap_controllers, .root_daum_roughmap .cont .section.lst {display: none;}

.tap_wrap {width: 100%; display: flex; justify-content: center; align-items: center; margin-bottom: 40px;}
.tab_btn {width: 18%; line-height: 60px; display: flex; justify-content: center; align-items: center; font-size: 18px; font-weight: 600; padding: 0 20px; background: #fff; border: 1px solid #ccc; cursor: pointer;}
.tab_btn.active {background: #003365; color: #fff; box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); border: 1px solid transparent;}
.map_wrap {width: 100%;}
.map_con {width: 100%; max-width: 1280px; opacity: 0; visibility: hidden; transition: opacity 0.4s ease; position: absolute; top: 0; left: 0;}

.map_con.active {width: 100%; position: relative; visibility: visible;}
.map_con.active.show {width: 100%; opacity: 1;}

.direct_info {display: flex; justify-content: space-around; margin-top: 40px; border-top: 2px solid #222; border-bottom: 1px solid #ccc; padding: 40px 0 40px 40px; background: #fff;}
.direct_info .direct_title {width: 30%; font-size: 33px; font-weight: 800; color: #003365; }
.direct_info .direct_item {width: 70%;}
.direct_info .direct_item li {display: flex; align-items: flex-start; gap: 20px; font-size: 18px; font-weight: 400; color: #666; padding: 8px 0;}
.direct_info .direct_item i {font-size: 22px; color: #368FE6; flex-shrink: 0;}
.direct_info .direct_item span {width: 100px; flex-shrink: 0;}
.direct_info .direct_item strong {color: #222; flex: 1;}

/*주요연혁*/
.history_header {width: 100%; height: 100%; min-height: 400px; background: url(../../images/thema/sub/history/top.png) center center / cover no-repeat; display: flex; justify-content: center; align-items: center; flex-direction: column;}
.history_desc {font-size: 28px; color: #fff; padding: 123px 0; line-height: 1.6; text-align: center;}

.history_tabs {display: flex; justify-content: center; width: calc(100% - 260px);}
.hs_tab_btn {position: relative; flex: 1; background: rgba(0,0,0,0.6); color: #fff; font-weight: 600; font-size: 16px; cursor: pointer; transition: 0.3s; text-align: center; padding: 20px 0; overflow: hidden;}
.hs_tab_btn.active {background: #fff; color: #003365;}
.hs_tab_btn::after {content: ''; width: 1px; height: 20px; background: #fff; opacity: 0.5; position: absolute; top: calc(50% - 10px); right: 0; z-index: 1;}
.hs_tab_btn:last-child::after {content: none;}
.hs_tab_btn.active::after {content: none;}

.history_content {display: none; width: 100%;}
.history_content.active {display: block;}
.history_layout {display: flex; flex-wrap: wrap; gap: 90px; margin-top: 100px; padding-top: 80px;}

.hs_thumb {flex:0 0 450px; width:450px; height:600px; position:relative; left:0; isolation:isolate; overflow:hidden;}
.hs_thumb::before {content:''; position:absolute; top:-80px; left:-310px; width:700px; height:765px; background:#FAFBFC; z-index:-1; pointer-events:none;}
.hs_thumb::after {content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.64) 32%, rgba(0,0,0,0) 70%); z-index:2; pointer-events:none;}
.hs_thumb img {display:block; width:100%; height: 600px; object-fit: cover; box-shadow: 0 3px 10px rgba(0,0,0,.4); position:relative; z-index:1;}

.hs_desc {position: absolute; bottom: 50px; left: 50px; color:#fff;  z-index: 3;}
.hs_desc h2 {font-size: 40px; font-weight: 900;}
.hs_desc p {font-size: 24px; font-weight: 500;}

.hs_text {flex: 1; border-top: 2px solid #003365; padding: 45px 0;}
.hs_text .hs_year {font-size: 40px; font-weight: 900; color: #003365; margin-bottom: 15px;}

.hs_list_group {margin-bottom: 30px; border-bottom: 1px solid #ccc;}
.hs_month {display: flex; margin-bottom: 10px;}
.hs_month strong {display: inline-block; width: 70px; font-size: 20px; font-weight: 800; padding-left: 20px; color: #222; margin-bottom: 10px;}
.hs_month:last-child {margin-bottom: 30px;}

.hs_item_list {width: 640px; padding-left: 40px;}
.hs_item {position: relative; font-size: 16px; line-height: 1.6; color: #333; margin: 3px 10px 10px 0;}
.hs_item::before {content: '·'; position: absolute; left: -14px; top: 0; color: #003365;}

/*인증 및 수상*/
.certificate_list {display: flex; flex-wrap: wrap; gap: 30px; padding: 0; margin-bottom: 40px;}
.crt_item {flex: 1 1 calc(20% - 30px); max-width: 230px; min-height: 380px; display: flex; flex-direction: column; align-items: center;}
.crt_img {width: 100%; border: 1px solid #ccc; border-radius: 10px; overflow: hidden;}
.crt_img img {width: 100%; height: auto; min-height: 335px;}
.crt_text {margin-top: 20px; text-align: center;}
.crt_name {font-size: 16px; color: #333; font-weight: 300; margin-bottom: 5px;}
.crt_bold {font-weight: 700; color: #000;}

/*프로젝트*/
.pj {position: relative;}
.pj_map {width: 100%; max-width: 600px; display: block; margin: 0 auto;}

.pj_marker {position: absolute; width: 30px; height: 30px; transform: translate(-50%, -50%);}
.pj_marker::before {content: ''; position: absolute; width: 40px; height: 40px; border-radius: 50%; background: rgba(0, 180, 255, 0.4); animation: ping 2s ease-out infinite;}
.pj_marker::after {content: ''; position: absolute; width: 15px; height: 15px; background: #00b4ff; border-radius: 50%; top: 13px; left: 13px;}

.incheon {top: 21%; left: 33.6%;}
.jangseong {top: 64.3%; left: 35%;}
.gwangju {top: 68.3%; left: 35.3%;}

@keyframes ping {0% {transform: scale(1); opacity: 0.8;} 100% {transform: scale(2.5); opacity: 0;}}

.pj_label_text {margin-left: 10px; background: #00b4ff; color: #fff; font-size: 16px; padding: 4px 10px; border-radius: 8px; white-space: nowrap;}

.pj_label.right {position: relative; top: 65%; left: 60px; transform: translateY(-50%); display: flex; flex-direction: column; align-items: flex-start; background: transparent; padding: 0;}
.pj_label.right::before {content: ''; position: absolute; left: -25px; top: 50%; width: 30px; height: 2px; border-top: 2px dotted #00b4ff; transform: translateY(-50%);}

.pj_label.bottom {position: relative; top: 112%; left: 67%; transform: translateX(-50%); display: flex; flex-direction: column; align-items: center; background: transparent; padding: 0;}
.pj_label.bottom::before {content: ''; position: absolute; top: 0; left: 50%; width: 2px; height: 30px; border-left: 2px dotted #00b4ff; transform: translateX(-50%);}
.pj_label.bottom .pj_label_text {margin-top: 35px;}

/*프로젝트 slider*/
.project_detail {background: url('../../images/thema/sub/project/pj_bg.jpg') center center / cover no-repeat; padding: 70px 0;}
.projectSwiper {position: relative; width: 100%; max-width: 1280px; margin: 0 auto;}
.project_detail .swiper-wrapper {display: flex; align-items: center;}
.project_detail .swiper-slide {display: flex; justify-content: center;}

.project_detail .slide_inner {width: 100%; max-width: 1024px; display: flex; gap: 60px; align-items: center; background: transparent;}

.project_detail .slide_img {width: 100%; aspect-ratio: 16 / 9; max-width: 480px; display: flex; align-items: center; justify-content: center; overflow: hidden;}
.project_detail .slide_img img {width: 100%; height: 100%; object-fit: cover; display: block;}

.project_detail .slide_text {color: #fff; max-width: 600px;}
.project_detail .slide_tag {display: inline-block; font-size: 16px; color: #fff; margin-bottom: 20px; border: 1px solid #fff; padding: 5px 15px; border-radius: 18px; }
.project_detail .slide_title {font-size: 24px; font-weight: 500; margin-bottom: 30px;}
.project_detail .slide_meta p {font-size: 18px; font-weight: 300; color: #fff; margin-bottom: 10px; }
.project_detail .slide_label {display: inline-flex; justify-content: center; align-items: center; width: 90px; font-size: 16px; background: #327dff; color: #fff; border-radius: 20px; line-height: 28px; margin-right: 20px;}
.project_detail .slide_meta .slide_meta_bar {width: 1px; height: 20px; background: #fff;}
.project_detail .swiper-button-prev, .project_detail .swiper-button-next {color: #fff; width: 30px; height: 30px; border: 1px solid #fff; border-radius: 50px; padding: 30px;}
.project_detail .swiper-button-prev::after, .project_detail .swiper-button-next::after {font-size: 20px;}

/*배터리 관리시스템*/
.product {gap: 100px; align-items: center;}
.product .prd_info_img {width: 500px; min-width: 0;}
.product .prd_info {display: flex; flex-direction: column; gap: 20px;}

.prd_title {position: relative; color: #000; font-size: 36px; font-weight: 800; padding-left: 30px;}
.prd_title.small {font-size: 24px; color: #363636; font-weight: 700; margin-bottom: 20px;}
.prd_title.small::before {height: 24px; top: 6px; left: 15px;}
.prd_title::before {position: absolute; content: ''; width: 2px; height: 30px; background: #0082FF; top: 12px; left: 10px;}
.product .prd_title_sm {color: #666; font-size: 20px; font-weight: 500;}
.product .prd_img {background: #fbfbfb; border-radius: 20px; padding: 40px; width: 620px; text-align: center;}

.product .prd_desc {font-size: 16px; background: #fff; padding: 30px; border-radius: 20px;}
.product .prd_desc.blue {background: #F9FBFF;}
.product .prd_desc ul {padding-left: 10px;}
.product .prd_desc li {line-height: 1.3; margin-bottom: 10px; text-indent: 0;}
.product .prd_desc li:last-child {margin-bottom: 0;}
.product .prd_desc li::before {content: '·'; margin-left: -10px; padding-right: 8px;}

/* ===== BMS 전용 ===== */
.bms .wrap.product > img {flex: 0 1 400px; max-width: 100%; height: auto; display: block;}
.bms .prd_info {flex: 1 1 0; min-width: 280px;}

.feature {display: flex; gap: 20px; justify-content: flex-start; align-items: center; flex-wrap: wrap;}
.feature_item {width: calc(50% - 10px); box-sizing: border-box; background: #F6F6F6; border-radius: 20px; display: flex; align-items: center; padding: 40px; gap: 35px; line-height: 1.8;}
.feature_icon {width: 80px; height: 80px; background: #fff; border-radius: 50px; display: flex; justify-content: center; align-items: center;}
.feature_text {width: 430px;}
.feature_title {color: #363636; font-size: 18px; font-weight: 700; line-height: 1.2; margin-bottom: 10px;}
.feature_desc {color: #666; font-size: 18px; font-weight: 400; line-height: 1.2;}

.composition {display: flex; justify-content: space-between; gap: 20px; width: 100%;}
.composition .comp_item {width: 50%; display: flex; border: 1px solid #ccc; background: #fff; padding: 30px; border-radius: 10px; font-size: 18px; vertical-align: middle; transition: .3s ease;}
.composition p {pointer-events: none;}
.composition .comp_item i {color: #0082FF; margin-right: 10px; font-size: 20px; padding: 0;}

.composition .comp_item:hover {background:#368FE6; border: 1px solid #368FE6; color: #fff;}
.composition .comp_item:hover i {color: #fff;}

/*배터리 진단시스템*/
.BDS {gap: 20px; align-items: self-end;}
.product.thumb {gap: 80px; align-items: flex-start;}
.product.thumb.en {gap: 50px;}
.prd_viewer {max-width: 1280px; margin: 0 auto;}
.prd_viewer .prd_tabs {list-style: none; padding: 0; margin: 0;}
.prd_viewer .prd_tabs li {cursor: pointer; border: 1px solid #ccc; overflow: hidden; display: flex; justify-content: center; align-items: center; transition: .3s ease;}
.prd_viewer .prd_tabs li.active, .prd_viewer .prd_tabs li:hover {border-color: #0082FF;}
.prd_viewer .prd_tabs img {display: block; object-fit: contain;}

.prd_tab_content {display: flex; justify-content: center; align-items: center; background: #fff; border-radius: 20px; width: 100%; min-width: 550px; min-height: 400px;}
.prd_tab_content .main_img {height: auto; opacity: 1; transition: opacity 0.4s ease;}
.prd_tab_content .main_img.fade {opacity: 0;}

.prd_viewer.small {display: flex; gap: 20px; align-items: flex-start;}
.prd_viewer.small .prd_tabs {display: flex; flex-direction: column; gap: 10px;}
.prd_viewer.small .prd_tabs li {width: 80px; height: 80px; background: #fff;}
.prd_viewer.small .prd_tabs img {max-width: 50px; max-height: 50px; object-fit: contain;}

.prd_info.type_card {width: 100%;  box-sizing: border-box; gap: 10px;}

.prd_label {display: flex; width: fit-content; padding: 4px 20px; background: #0078E9; color: #fff; font-size: 18px; font-weight: 700; border-radius: 20px;}

.type_card .prd_title {align-items: flex-end; padding-left: 0; color: #363636; font-size: 28px; font-weight: 700; border-bottom: 1px solid #ccc; padding-bottom: 20px;}
.type_card .prd_title::before {content: none;}

.prd_summary {margin-top: 20px;}
.prd_summary li {font-size: 18px; margin-bottom: 6px; color: #363636; line-height: 1.6;}
.prd_summary li strong {font-weight: 600; color: #000;}

.prd_spec {display: flex; gap: 45px; flex-wrap: wrap; margin-top: 20px;}
.prd_spec.en {gap: 20px;}
.icon_item {display: flex; flex-direction: column; align-items: center; text-align: center;}
.icon_circle {width: 80px; height: 80px; border-radius: 50%; background: #fff; border: 1px solid #ccc; display: flex; justify-content: center; align-items: center; margin-bottom: 10px;}

.icon_label {font-size: 18px; font-weight: 500; color: #0078E9; line-height: 1.2;}

/*재사용 에너지저장장치*/
.pd_left200 {padding-left: 200px;}
.card_list {width: 100%; display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-top: 70px;}



.card_item {display: block; flex:1; overflow: hidden;}
#sub2_3 .card_item:hover img {transform: scale(1.1);}
#sub2_3 .card_item:hover .card_title {color: #0078E9}
.card_thumb {display: flex; justify-content: center; align-items: center; background: #fbfbfb; padding: 40px; height: 280px; border-radius: 20px;}
.card_thumb img {height: auto; display: block; transition: .3s ease; object-fit: contain;}
.card_text {padding: 30px 10px;}
.card_title {font-size: 18px; font-weight: 700; color: #363636; margin-top: 15px; transition: .3s ease;}
.card_desc {font-size: 18px; color: #666; line-height: 1.3; font-weight: 400;}

.title_label {width: fit-content; background: #003365; color: #fff; font-size: 18px; font-weight: 700; border-radius: 20px; text-align: center; padding: 5px 20px; margin: 0 auto;}

.full_text {width: 100%; padding: 40px; background: #F9FBFF; border-radius: 20px; margin-top: 50px; font-size: 16px;}
.full_text.gray {background: #F5F5F5;}

.link_list {border: 1px solid #ccc; padding: 8px 30px; border-radius: 50px; font-weight: 600; font-size: 18px; color: #363636; margin-top: 70px; transition: .3s ease; background: #fff;}
.link_list:hover {border: 1px solid #003365; background: #003365; color: #fff;}

.mobile.imgcards {display: flex; justify-content: center; gap: 20px; flex-wrap: wrap;}
.mobile.imgcards .imgcard {padding: 40px; flex: 0 0 calc(50% - 10px); max-width: calc(50% - 10px);}
.mobile.imgcards .imgcard .desc {text-align: center; margin-top: 10px;}
.mobile.imgcards .imgcard.bg01 {background-image:url(../../images/thema/sub/sub2_3/mobile01.jpg);}
.mobile.imgcards .imgcard.bg02 {background-image:url(../../images/thema/sub/sub2_3/mobile02.jpg);}
.mobile.imgcards .imgcard.bg03 {background-image:url(../../images/thema/sub/sub2_3/mobile03.jpg);}
.mobile.imgcards .imgcard.bg04 {background-image:url(../../images/thema/sub/sub2_3/mobile04.jpg);}

.card_list.cols-3 .card_item {display: flex; justify-content: center; flex-direction: column; align-items: center; flex: 0 0 calc((100% - 40px) / 3); max-width: calc((100% - 40px) / 3);}
.card_list.cols-3 .feature_icon {margin-bottom: 10px;}
.card_list.cols-3, .card_list.cols-6 {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin-top: 0;}

.card_list.cols-3 .card_item, .card_list.cols-6 .card_item {text-align:center; border-radius:20px; padding:40px; overflow:hidden; background: #fbfbfb;}
.card_list.cols-6 .card_item .feature_icon {display:flex; justify-content:center; align-items:center; margin:0 auto 12px;}
.card_list.cols-6 .card_item .feature_icon img {max-width:56px; max-height:56px; object-fit:contain; display:block;}
.card_list.cols-6 .card_desc {color: #0078E9; font-weight: 700;}
.mobile .card_title {margin: 0;}


/*목적*/
.two_col {display:flex; width: 100%; justify-content:space-between; align-items:flex-start; gap: 40px; margin-top: 70px;}
.side_tabs {width: 24%; position:sticky; top:120px; z-index: 300;}
.side_tabs ul {list-style:none; margin:0; padding:0;}
.side_tabs li {margin-bottom:10px; transition:.2s;}
.side_tabs a {display: flex; font-size:18px; font-weight:700; color:#ccc; text-decoration:none;}
.side_tabs li.active a::after {content: ""; display: inline-block; width: 50px; height: 25px; background-image: url('../../images/thema/sub/sub2_3/arrow.png'); background-size: contain; background-repeat: no-repeat; margin-left: 20px;}
.side_tabs li.active a {font-size:24px; color:#363636;}
.content_wrap {flex:1; min-width:0;}
.content_section {position:relative; margin-bottom:90px; padding:0 0 0 0;}
.content_section .img_box {padding: 70px 0;}
.section_title {font-size:24px; font-weight:800;}
.section_desc {font-weight: 400; color: #363636; margin: 25px auto 40px; padding: 30px;}

.content_section.bleed {position: relative; z-index: 0; padding: 70px 0;}
.content_section.bleed::before {content:""; position:absolute; top:0; bottom:0; left: -50vw; right: -50vw; background:#f7f7f7; z-index:-1;}
.content_section.bleed.gray::before {background:#FBFBFB;}
#usecases {overflow-x: clip;}

#usecases .bg {background-position: center; background-size: cover; background-repeat: no-repeat;}
#sec4 .bg {background-image: url(../../images/thema/sub/sub2_3/card01.jpg);}
#sec5 .bg {background-image: url(../../images/thema/sub/sub2_3/card02.jpg);}
#sec6 .bg {background-image: url(../../images/thema/sub/sub2_3/card03.jpg);}
#sec7 .bg {background-image: url(../../images/thema/sub/sub2_3/card04.jpg);}

#usecases .imgcard {padding: 0;}
#usecases .card_list {padding: 40px;}
#usecases .card_title, #usecases .card_desc {color: #fff;}
#usecases .card_title {font-weight: 400;}
#usecases .card_desc {font-size: 24px;}

#usecases .card_item.no_bg {background: none; display: flex; justify-content: flex-start; align-items: center; flex-direction: column; padding: 20px;}
#usecases .card_item.no_bg .card_title {font-size: 18px;}
#usecases .card_item.no_bg .card_desc {font-size: 20px;}

/*핵심솔루션*/
.solution1 {gap: 20px; align-items: self-end;}

.card_list.cols-5 {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin-top:20px;}
.card_list.cols-5 .card_item {flex:0 0 calc((100% - 80px)/5); max-width:calc((100% - 80px)/5); text-align:center; border-radius:20px; padding:40px; overflow:hidden; background:#fbfbfb;}
.card_list.cols-5 .card_item.no_bg {background:none;}
.card_list.cols-5 .card_item .feature_icon {display:flex; justify-content:center; align-items:center; margin:0 auto 12px;}
.card_list.cols-5 .card_item .feature_icon img {max-width:56px; max-height:56px; object-fit:contain; display:block;}
.card_list.cols-5 .card_desc {color:#0078E9; font-weight:700;}

.wrap.panels {display:flex; flex-wrap:wrap; gap:40px; justify-content:center; margin-top:70px;}
.panel {flex:1 1 45%; min-width:300px; background:#fff; border-radius:20px; padding:60px; box-shadow:0 4px 20px rgba(0,0,0,.05);}
.panel_icons {display:flex; justify-content: space-between; align-items:center; margin:35px 0;}
.panel_icons i {font-size: 24px; margin-top: -40px;}
.panel_item {text-align:center;}
.panel_item .icon_wrap {width:125px; height:125px; border-radius:50%; background:#E6F3FF; display:flex; justify-content:center; align-items:center; }

.panel_item span {display:block; font-size: 18px; font-weight:700; color:#363636; margin-top: 20px;}
.panel_features {display:flex; flex-wrap:wrap; gap:12px;}
.panel_features > div {flex:1 1 calc(50% - 6px); background:#f7f9fc; padding:20px; border-radius:10px; text-align:center; font-weight:700; font-size: 18px; color:#363636;}
.panel.cloud .panel_features > div {display: flex; justify-content: center; align-items: center; flex: 1; padding: 40px 0; line-height: 1.3;}

.wrap.compare {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; align-items:stretch; }
.cmp_card {display:flex; flex-direction:column; border: 1px solid #ccc; border-radius: 20px; overflow: hidden; padding-bottom: 10px; flex: 1; transition: .3s ease; justify-content: space-between;}
.cmp_head {height: 80px; flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; background: #647E97; color: #fff; font-size: 20px; font-weight: 700; line-height: 1; padding: 20px; transition: .3s ease;}
.cmp_head .sub {display:block; margin-top:.35em; font-size: 14px; font-weight:500; opacity:.9; overflow:hidden;}
.cmp_flow {display:flex; align-items: flex-start; justify-content: center; gap:10px; margin: 40px 0 20px;}
.cmp_step {text-align:center; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.cmp_step .cmp_icon {width: 80px; height: 80px; background: #f6f6f6; border-radius: 50%; display: flex; justify-content: center; align-items: center;}
.cmp_step .cmp_icon.highlight {background: #E6F3FF;}
.cmp_step span {font-size:16px; color:#aaa; font-weight:500; margin-top: 20px;}
.cmp_flow i {font-size:24px; color:#ccc;}
.cmp_list {padding:12px 22px 22px; display:flex; flex-direction:column; gap:12px;}
.cmp_list li {display:flex; align-items:center; gap:14px; line-height:1.45;}
.cmp_list li em {display: inline-block; width: 6.2em; padding: .3em 0; border-radius:999px; background:#647E97; color:#fff; font-weight:700; font-style: normal; text-align: center; white-space: nowrap;}
.cmp_arrow {display: flex; flex-direction: column; align-items: center; justify-content: center;}
.cmp_arrow span {font-size: 14px; color: #aaa; font-weight: 500;}
.tone-1 .cmp_head, .tone-1 .cmp_list em {background: #003365;}

.cmp_flow.col {flex-direction: column; justify-content: center; align-items: center;}
.cmp_flow.col .ri-arrow-right-long-line {transform: rotate(90deg);}
.cmp_text.en {height: 150px;}

/*전기사고 예측*/
.tab_panels {width:100%;}
.solution_con {display:none;}
.solution_con.active {display:block;}
.solution_con.show {animation:fadeIn .25s ease;}

/*배터리 화재 안전*/
.wrap.compare.cols-2 {display:flex; flex-wrap:wrap; gap:20px; align-items:stretch;}
.wrap.compare.cols-2 .cmp_card {justify-content: start; flex:0 0 calc((100% - 40px)/2); max-width:calc((100% - 40px)/2);}

.wrap.compare.cols-3 {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; align-items:stretch;}
.wrap.compare.cols-3 .cmp_card {flex:0 0 calc((100% - 40px)/3); max-width:calc((100% - 40px)/3);}
.cmp_item {display:flex; align-items: stretch; gap:20px; padding: 40px 20px 0; flex-wrap:wrap;}
.cmp_card.fire:hover {border-color: #003365;}
.cmp_card.fire:hover .cmp_head {background: #003365;}
.cmp_card.top {justify-content: flex-start;}
.cmp_item > img {margin: 0 auto; flex:0 0 auto;}
.cmp_item.row > img {width: 55%;}
.cmp_item.row {display: flex; width: 100%; justify-content: space-between; align-items: center; padding: 0;}
.cmp_group {width: 35%; display:flex; gap:10px; flex-wrap: wrap;}
.cmp_item .cmp_mini {width: 43%; display:flex; justify-content:center; flex-direction:column; align-items:center;}
.cmp_item .cmp_mini span {display:flex; justify-content:center; align-items:center; background:#EAF6FD; width:40px; height:40px; border-radius:8px; font-weight:700;}
.cmp_item .cmp_mini span img {max-width:30px;}
.cmp_item .cmp_mini h5 {margin-top:10px; font-size:16px;}
.cmp_text {flex:0 0 100%; width:90%; height: 100px; text-align:center; font-size:16px; margin-top:10px; border-top:1px dashed #ccc; padding-top:30px;}


.fire .cmp_head {height: 60px; text-align: center; padding: 30px 20px;}
.cmp_group.en {width: 100%; display: flex; align-items: flex-start; text-align: center;}
.cmp_item .cmp_group.en .cmp_mini {flex: 1;}

/*배터리 재자원화 설비*/
.bg_title {width: 100%; padding: 10px; border-radius: 10px; background: #003365; color: #fff; text-align: center; font-size: 18px; font-weight: 700;}
.step_list {list-style:none; margin:0; padding:0; counter-reset:step; margin-bottom: 40px;}
.step_list.cols-3 {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; align-items:stretch;}
.step_list.cols-3 .step_card {flex:0 0 calc((100% - 40px)/3); max-width:calc((100% - 40px)/3);}

.step_card {display:flex; align-items:flex-start; gap:14px; padding: 30px 20px; border-radius:16px; background:#EFF2F5; counter-increment:step;}

.step_badge {flex:0 0 44px; width: 40px; height: 40px; border-radius: 10px; display:flex; justify-content:center; align-items:center; background:#2779C9;}
.step_badge::before {content:counter(step, decimal-leading-zero); font-weight: 700; font-size: 20px; color:#fff;}

.step_body {flex:1; min-width:0; margin-top: 6px;}
.step_title {font-size:18px; font-weight:700; color:#2779C9; margin:0 0 6px;}
.step_desc {font-size: 18px; line-height: 1.3;}

.img_group {display: flex; gap: 20px; margin: 30px 0;}
.img_group p {width: 100%; text-align: center; background: #003365; margin-top: 20px; padding: 10px; border-radius: 10px; color: #fff; font-weight: 700; font-size: 18px;}

/*배터리 전주기 프로세스*/
/* 3D Carousel */
.scene {width:400px; height:250px; position:relative; perspective:1200px; perspective-origin:center; margin:100px auto 30px;}
.carousel {width:100%; height:100%; position:absolute; transform-style:preserve-3d; transition:transform .5s;}
.carousel_card {position:absolute; width:400px; height:200px; font-size:20px; color:#fff; font-weight:800; display:flex; align-items:center; justify-content:center; opacity:.95; transition:transform .5s, opacity .2s; border-radius:20px; box-shadow:0 4px 16px rgba(0,0,0,.05); pointer-events:none; background-size:cover; background-position:center; background-repeat:no-repeat; overflow:hidden;}
.carousel_card::before {content:''; position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.4); border-radius:20px; z-index:1;}
.carousel_card span {position:relative; z-index:2;}

.carousel_card:nth-child(1) {background-image: url(../../images/thema/sub/solution/card01.jpg);}
.carousel_card:nth-child(2) {background-image: url(../../images/thema/sub/solution/card02.jpg);}
.carousel_card:nth-child(3) {background-image: url(../../images/thema/sub/solution/card03.jpg);}
.carousel_card:nth-child(4) {background-image: url(../../images/thema/sub/solution/card04.jpg);}

/* Carousel image wrapper */
.carousel_img {display: flex; justify-content: center; align-items: center; max-width:1100px; width:100%; aspect-ratio:16/9; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,.05); margin:0 auto; text-align: center; padding: 40px;}
.carousel_img img {height: auto;}

/*연구개발*/
.tri_research {position:relative; width:520px; height:520px; margin:40px auto; overflow:visible;}
.tri_research::after {content: ''; position: absolute; left: 50%; bottom: -100px; width: 1100px; height: 300px; transform: translateX(-50%); background: url('../../images/thema/sub/rnd/rnd_bg.png') no-repeat center / contain; z-index: 0; pointer-events: none;}

.tri_center {position:absolute; left:50%; top:50%; width:400px; height:400px; transform:translate(-50%,-50%); border-radius:50%; background:#fff; display:flex; align-items:center; border:1px dashed #ccc; justify-content:center; z-index:1;}
.tri_center_inner {position:absolute; width:280px; height:280px; border-radius:50%; background:#f6f6f6;}
.tri_center strong {position:relative; font-size:36px; font-weight:700;}
.tri_node {position:absolute; width:200px; height:200px; border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; gap:8px; z-index:1;}
.tri_node.top {left:50%; top: -50px; transform:translate(-50%,0); background:#3ABDE7;}
.tri_node.left {left: -20px; bottom: 30px; background:#0A66B7;}
.tri_node.right {right: -20px; bottom: 30px; background:#2AA7E8;}
.tri_node img {width: 48px; height: 48px; margin-bottom: 10px;}
.tri_node span {display:block; font-size:18px; font-weight:800; letter-spacing:-.2px; text-align:center; line-height:1.2;}

.topic_group {display:flex; gap:20px; justify-content:center; margin-top:40px;}
.topic_item {max-width: 360px; flex:1; border:1px solid #ddd; border-radius: 20px; padding: 50px 30px 30px; position: relative; background:#fff;}

.topic_title {position:absolute; top:-20px; left:50%; transform:translateX(-50%); width: 15em; background:#d7efff; color:#0078E9; font-size:18px; font-weight:700; padding: 10px 20px; border-radius:50px; text-align: center;}
.topic_title.title01 {background: #DBF6FF; color: #3ABDE7;}
.topic_title.title02 {background: #CEEBFF; color: #0082DA;}
.topic_title.title03 {background: #D0E1F2; color: #125FAD;}

.topic_list_item {font-size:16px; line-height:1.3; margin-bottom: 10px; text-indent: -.8em;}
.topic_list_item::before {content:'· '; padding-right: 5px;}

.imgcards.stats {width: 100%; gap: 20px; display: flex;}
.imgcards.stats .imgcard.stat {flex-direction: column; flex:0 0 calc((100% - 48px)/3); max-width: calc((100% - 48px)/3); aspect-ratio: 16 / 9; display: flex; align-items: stretch; justify-content:space-between; padding: 30px; border-radius: 20px; box-shadow: 0 0 20px rgb(136, 178, 217, .35); position: relative;}
.imgcards.stats .imgcard.overlay::before {background:rgba(0,0,0,0.7);}
.imgcards.stats .stat_head {display: flex; align-items: center; text-align: left; gap: 20px; font-size: 24px; font-weight:700; color:#fff;}
.imgcards.stats .stat_head img {display:inline-block;}
.imgcards.stats .stat_num {margin-left:auto; font-size: 40px; font-weight:900; color:#fff;}


.imgcards.stats .imgcard.bg01 {background-image: url(../../images/thema/sub/rnd/card01.jpg);}
.imgcards.stats .imgcard.bg02 {background-image: url(../../images/thema/sub/rnd/card02.jpg);}
.imgcards.stats .imgcard.bg03 {background-image: url(../../images/thema/sub/rnd/card03.jpg);}

.ipr {position:relative; margin-top:0; padding: 100px 0; background:url(../../images/thema/sub/rnd/ipr_bg.jpg) center center/cover no-repeat;}
.ipr.overlay {background:linear-gradient(0deg, rgba(0,0,0,.68) 0%, rgba(0,0,0,0) 100%), linear-gradient(rgba(0,0,0,.4), rgba(0,0,0,.4)), url(../../images/thema/sub/rnd/ipr_bg.jpg) center center/cover no-repeat;}

/*채용안내*/
.steps_flow {width:100%; display:flex; justify-content:center; align-items:center; margin:20px 0;}
.steps {display:flex; align-items:center; gap:60px; padding:0; margin:0; list-style:none;}
.step {display:flex; align-items:center; justify-content:center;}
.circle {width: 340px; height: 340px; border: 6px solid rgba(39, 121, 201, .25); border-radius:50%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#fff; text-align: center;}
.circle:hover {transform:translateY(-3px); transition:.2s;}
.step_num {margin: 20px 0 10px; font-size: 20px; font-weight: 800; color:#0078E9; letter-spacing:.05em;}
.step_title {display:block; font-size: 18px; font-weight: 700; color:#363636;}
.arrow {display:flex; align-items:center; justify-content:center;}
.bubble {display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:#e8f2ff; color:#0078E9;}

.card_list.benefit.cols-4 {display:flex; flex-wrap:wrap; gap:20px; justify-content:center; margin-top:20px;}
.card_list.benefit.cols-4 .card_item {flex:0 0 calc((100% - 60px)/4); max-width:calc((100% - 60px)/4); background:#fff; border:1px solid #eee; border-radius: 20px; padding: 40px; text-align:center; box-shadow:0 2px 10px rgba(0,0,0,.04); min-height:220px; transition: .3s ease;}
.benefit_icon {width: 85px; height: 85px; border-radius:50%; background:#EAF3FF; display:flex; justify-content:center; align-items:center; margin: 0 auto 20px;}

.card_list.benefit.cols-4 .card_item:hover {box-shadow: 0 4px 20px rgba(39, 121, 201, 0.27);}
.benefit .card_title {font-size: 20px; font-weight: 700; color: #0082FF; margin-bottom: 15px;}
.benefit .card_desc {font-size: 18px; font-weight: 500; color: #555; line-height: 1.5;}

@media (min-width:1025px) {
  .vision.imgcards .imgcard {flex:0 0 calc((100% - 20px)/2); max-width:calc((100% - 20px)/2);

}}

@media (max-width: 1240px) {
  .map_wrap, .map_wrap .map_con, .map_wrap .root_daum_roughmap, .map_wrap .root_daum_roughmap_landing {width:100% !important; max-width:100% !important;}
}

@media (max-width: 1024px) {
  .ceo {gap: 50px;}
  .certificate_list {justify-content:center;}
  .crt_item {flex:0 0 calc((100% - 40px)/3); max-width:calc((100% - 40px)/3);}

  .card_list.cols-3, .card_list.cols-5 {flex-direction: row;}
  .card_list.cols-3 .card_item {flex:0 0 calc(50% - 10px); max-width:calc(50% - 10px);}
  .card_list.cols-5 .card_item {flex:0 0 calc((100% - 40px)/3); max-width:calc((100% - 40px)/3);}

  .two_col {flex-direction:column;}

  .solution1 {flex-direction: column;}
  .prd_img {width: 100%;}

  .wrap.panels { gap: 24px; }
  .panel {flex: 1 1 100%; padding: 40px 20px; }
  .panel_icons { margin: 24px 0; }
  .panel_icons i { font-size: 22px; margin-top: 0; }
  .panel_item .icon_wrap { width: 100px; height: 100px; }
  .panel_item span { font-size: 18px; }
  .panel_features > div { flex: 1 1 calc(50% - 6px); padding: 16px; font-size: 16px; }

  .side_tabs {display:none;}

  .step_list.cols-3 .step_card {flex:0 0 calc((100% - 20px)/2); max-width:calc((100% - 20px)/2);}

  .wrap.compare {flex-direction: column;}
  .wrap.compare .cmp_card {flex: 0 0 auto; max-width: 100%;}

  .wrap.compare.cols-3 {flex-direction: row;}
  .wrap.compare.cols-3 .cmp_card{flex:0 0 calc((100% - 20px)/2); max-width:calc((100% - 20px)/2);}

  .card_list.benefit.cols-4 .card_item {flex: 0 0 calc((100% - 20px) / 2); max-width: calc((100% - 20px) / 2);}

  .scene {width:320px; height:200px; margin:60px auto 24px;}
  .carousel_card {width:320px; height:160px; font-size:18px;}
  .carousel_img {max-width:100%;}

  .tri_research::after {width: 860px; height:260px; bottom: -150px;}
  .tri_center {width:320px; height:320px;}
  .tri_center_inner {width:220px; height:220px;}
  .tri_center strong {font-size:30px;}
  .tri_node {width:170px; height:170px; gap:6px;}
  .tri_node.top {top:-40px;}
  .tri_node.left {left:-10px; bottom:20px;}
  .tri_node.right {right:-10px; bottom:20px;}
  .tri_node img {width:56px; height: auto; margin-bottom:14px;}
  .tri_node span {font-size:16px;}

  .topic_group {gap:16px; margin-top:32px;}
  .topic_title {font-size:16px;}
  .topic_list_item {font-size:14px;}

  .steps_flow {flex-direction: column;}
  .circle {width: 240px; height: 240px;}
  .step_body {margin: 0;}
  .step_title {font-size: 22px; margin: 0;}
  .step_num {font-size: 18px;}
  .steps {flex-direction: column; gap: 40px;}

  .arrow svg {transform: rotate(90deg);}

  .imgcards.stats {gap:24px;}
  .imgcards.stats .imgcard.stat {flex:0 0 calc((100% - 24px)/2); max-width:calc((100% - 24px)/2); padding:24px;}
  .imgcards.stats .stat_head {font-size:20px; gap:16px;}
  .imgcards.stats .stat_num {font-size:36px;}
}

@media (max-width: 768px) {
  .sub.contents .sub_title h3 {font-size: 18px;}
  .img_box {padding: 20px;}
  .img_box img {width: 90%;}
  .content_section .img_box {padding: 50px; flex-direction: column;}

  .ceo {flex-direction: column;}
  .message_img {max-width: 100%;}

  .vision.imgcards .imgcard {width:100%;}
  
  /*조직도*/
  .org_chart {display:flex; flex-direction:column; align-items:center;}
  .org_chart .org_lineX {display:none;}
  .org_chart .org_ceo {margin-bottom: 0;}
  .org_chart .org_ceo::after {height: 600px; bottom: auto; top: 200px; left: 50%; transform: translateX(-50%);}
  .org_chart .org_group {display:contents;}
  .org_chart .org_block {order:0; width:100%; max-width:100%; align-items:center;}
  .org_chart .org_block:nth-child(1) {order:1;} /* 기술개발 */
  .org_chart .org_block:nth-child(2) {order:2;} /* 개발디자인 */
  .org_chart .org_group_sub {order:3; width:100%; display:flex; flex-direction:column; gap:12px; align-items:center; margin:0; z-index: 5}
  .org_chart .org_block:nth-child(3) {order:4;} /* 연구기획 (+ 내부 org_sub 바로 뒤) */
  .org_chart .org_block:nth-child(4) {order:5;} /* 연구관리 (+ 내부 org_sub 바로 뒤) */
  .org_chart .org_team {width:100%; margin-top: 30px;}
  .org_sub {width:100%; max-width:260px;}
  
  .org_chart .org_team::before {display:none;}

  #partner .swiper-slide {width: 240px !important; height: 100px; margin-right: 15px;}

  .tab_btn {width: 100%; font-size: 16px;}
  .direct_info {flex-direction: column; padding: 30px;}
  .direct_info .direct_title, .direct_info .direct_item {width: 100%;}
  .direct_info .direct_title {font-size: 24px;}
  .direct_info .direct_item {margin-top: 20px;}

  .direct_info .direct_item li {display:flex; flex-wrap:wrap; gap:6px 10px; align-items:center;}
  .direct_info .direct_item li i {flex:0 0 auto;}
  .direct_info .direct_item li span {flex:0 0 auto; width:auto;}
  .direct_info .direct_item li strong {flex:0 0 100%; margin-left: 33px; word-break:keep-all; overflow-wrap:anywhere;}

  /*주요연혁*/
  .history_desc {font-size: 20px;}
  .history_tabs {width: 90%;}

  .hs_thumb {padding-left: 0; width: 100%; flex: 100%;}
  .hs_thumb::before {content: none;}

  .hs_month {display:flex; align-items:flex-start; gap:10px; margin-bottom:14px;}
  .hs_month strong {flex:0 0 60px; margin-bottom:0;} /* 월 라벨 폭 조정 */
  .hs_item_list {flex:1;}
  .hs_item {margin:0 0 8px 0;}
  .hs_item::before {left:-10px;}

  .hs_item {margin:0 0 8px 0;}
  .hs_item::before {left:-12px;}

  .hs_desc {left: 40px;}
  .hs_desc h2 {font-size: 30px;}
  .hs_desc p {font-size: 20px;}

  /*인증 및 수상*/
  .certificate_list {width: 100%; flex-wrap: wrap;}
  .crt_item {flex:0 0 100%; max-width:100%;}

  .card_list {flex-direction: column;}
  .imgcard {flex: 100%; padding: 40px;}
  .card_list.cols-3 .card_item {flex:0 0 auto; max-width:100%;}
  .card_list.benefit.cols-4 .card_item {flex: 0 0 auto; max-width: 100%;}
  .card_list.cols-5 .card_item {flex: 0 0 100%; max-width: 100%;}
  .wrap.compare.cols-3 .cmp_card {flex: 100%; max-width:100%; }

  .cmp_item.row {flex-direction:column; align-items:center; padding:0;}
  .cmp_item.row > img {width:100%;}
  .cmp_group {width:100%;}
  
  .cmp_item .cmp_mini {width: 22%; gap: 10px;}

  .step_list.cols-3 .step_card {flex:0 0 100%; max-width:100%;}

  .panel_item .icon_wrap {width: 80px; height: 80px;}
  .panel_item .icon_wrap img {width: 40px; height: auto;}

  /*프로젝트 slider*/
  .project_detail .slide_inner {flex-direction: column; gap: 30px; align-items: flex-start;}
  .project_detail .slide_img {max-width: 100%; aspect-ratio: 16 / 9;}
  .project_detail .slide_text {max-width: 100%; text-align: left;}
  .project_detail .slide_tag {font-size: 14px; margin-bottom: 15px;}
  .project_detail .slide_title {font-size: 20px; margin-bottom: 20px;}
  .project_detail .slide_meta p {font-size: 14px; margin-bottom: 8px;}
  .project_detail .slide_label {margin-bottom: 10px; font-size: 14px; margin-right: 10px;}
  .project_detail .swiper-button-prev, .project_detail .swiper-button-next {display: none;}

  /*배터리 관리 시스템*/
  .link_tabs.cols-4 {width: 100%; max-width: 100%;}
  .link_tabs.cols-4 .link_tab_btn {flex: 50%; font-size: 16px;}
  .link_tabs.cols-4 .link_tab_btn:nth-child(2)::after {content: none;}

  .wrap.product {width: 100%; max-width: 100%; flex-direction: column; gap: 24px;}
  .wrap.product > img {width: 90%; max-width: 100%; height: auto; display: block;}

  .bms.sub.contents {overflow-x: hidden;}
  .bms .wrap.product {flex-direction: column; gap: 24px; width: 100%;}
  .bms .wrap.product > img {width: 100%; max-width: 100%; height: auto; flex: 0 0 auto; display: block;}
  .bms .prd_info {width: 100%; min-width: 0;}
  
  .bms .product .prd_desc {padding: 20px; border-radius: 16px;}
  .bms .product .prd_desc li {font-size: 15px; line-height: 1.6; margin-bottom: 8px;}
  .prd_title {font-size: 24px; padding-left: 20px;}
  .prd_title::before {height: 20px; top: 6px; left: 8px;}
  .prd_title_sm {font-size: 14px;}

  .prd_desc {padding: 20px; border-radius: 16px;}
  .prd_desc li {font-size: 15px; line-height: 1.6; margin-bottom: 8px;}

  .prd_tab_content {min-width: 100%; min-height: auto;}
  .prd_viewer.small {flex-direction: column; width:100%;}
  .prd_viewer.small .prd_tabs {width: 100%; flex-direction: row; justify-content: center;}

  .feature {gap: 12px;}
  .feature_item {width: 100%; padding: 20px; gap: 16px; border-radius: 16px;}
  .feature_icon {width: 64px; height: 64px;}
  .feature_title {font-size: 16px;}
  .feature_desc {font-size: 16px;}

  .composition {flex-direction: column; gap: 12px;}
  .composition .comp_item {width: 100%; font-size: 16px; padding: 20px; border-radius: 12px;}

  /*배터리 진단 시스템*/
  .BDS {overflow-x: hidden;}
  .prd_label {margin: 0 auto;}
  .product .prd_img {width: 100%;}
  .type_card .prd_title {text-align: center;}
  .prd_spec {gap: 16px;}
  .prd_spec .icon_item { flex: 1 1 calc(50% - 8px); }
  .prd_summary li, .icon_label { overflow-wrap: anywhere; word-break: break-word; }
  .icon_circle img { max-width: 64%; height: auto; }

  /*재사용 에너지 저장장치*/
  .pd_left200 {padding-left: 0;}
  .sub.contents .sub_title p {margin: 40px auto; font-size: 20px;}
  .prd_viewer.large {flex-direction: column;}
  .prd_viewer.large .prd_tab_content {min-width: 100%;}
  .prd_viewer.large .prd_tabs {flex-direction: row; flex-wrap: wrap;}

  /*전기사고 예측*/


  /*배터리 재자원화 설비*/
  .step_desc {line-height: 1.5; margin-top: 15px;}
  .img_group {flex-direction: column;}
  .img_group p {font-size: 16px;}

  /*배터리 전주기 프로세스*/
  .scene {width:260px; height:170px; margin:40px auto 20px;}
  .carousel_card {width:260px; height:140px; font-size:16px;}

  /*연구개발*/
  .tri_research {width: 90%; max-width:360px; height:360px; margin:24px auto;}
  .tri_research::after {width: 80%; bottom: -120px;}
  .tri_center {width:260px; height:260px;}
  .tri_center_inner {width:180px; height:180px;}
  .tri_center strong {font-size:22px;}
  .tri_node {width:140px; height:140px;}
  .tri_node.top {top:-30px;}
  .tri_node.left {left:-6px; bottom:14px;}
  .tri_node.right {right:-6px; bottom:14px;}
  .tri_node img {width:44px; margin-bottom:10px;}
  .tri_node span {font-size:14px;}
  
  .topic_group {flex-direction:column; gap:14px; margin-top:24px;}
  .topic_item {max-width: 100%; margin-top: 40px;}
  .topic_list_item {line-height:1.5;}

  .imgcards.stats {gap:14px;}
  .imgcards.stats .imgcard.stat {flex:0 0 100%; max-width:100%;}
  .imgcards.stats .stat_num {font-size:30px;}
}

@media screen and (max-width: 370px){
  .certificate_list .crt_item {width: 100%;}
  
  .card_list.cols-3 .card_item {flex:0 0 100%; max-width:100%;}

  .panel { padding: 20px; border-radius: 16px; }
  .panel_icons { margin: 14px 0; }
  .panel_icons i { font-size: 18px; }

  /* panel_item: 더 컴팩트하게 */
  .panel_item { display: flex; align-items: center; gap: 10px; text-align: left; }
  .panel_item .icon_wrap { width: 64px; height: 64px; }
  .panel_item span { margin-top: 0; font-size: 14px; }

  /* feature 칩은 1열 + 여백 축소 */
  .panel_features { gap: 8px; }
  .panel_features > div { flex: 1 1 100%; padding: 12px; font-size: 14px; }

}