﻿@charset "utf-8";
/* doc.css는 디자인페이지 스타일을 정의합니다. */

/* 회사개요 */
.overview {display:flex; flex-direction:column; gap:var(--space-80);}
.overview-visual {position:relative; height:clamp(280px, calc(500 / var(--inner) * 100vw), 500px); border-radius:var(--radius-16); overflow:hidden; background:url("/images/sub/overview.jpg") 50% 50% / cover no-repeat;}
.overview-visual-txt {position:relative; z-index:1; display:flex; flex-direction:column; justify-content:flex-end; gap:var(--space-30); height:100%; padding:var(--space-60); color:#fff;}
.overview-visual-txt h3 {font-size:var(--font-size-48); font-weight:600; line-height:1.2em; letter-spacing:-0.05em;}
.overview-visual-txt p {font-size:var(--font-size-24); font-weight:400; line-height:1.35em; letter-spacing:-0.03em;}

.overview-info table {width:100%; border-collapse:collapse; border-spacing:0; border-top:1px solid #121212;}
.overview-info th,
.overview-info td {border:1px solid #ddd; vertical-align:middle;}
.overview-info tr th:first-child,
.overview-info tr td:first-child {border-left:0;}
.overview-info tr th:last-child,
.overview-info tr td:last-child {border-right:0;}
.overview-info th {width:clamp(140px, calc(450 / var(--inner) * 100vw), 450px); padding:var(--space-28) var(--space-20); color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; line-height:1.1em; letter-spacing:-0.03em; text-align:center;}
.overview-info td {padding:var(--space-28) var(--space-80); color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.3em; letter-spacing:-0.03em; text-align:left;}

/* CEO 인사말 */
.greetings {display:flex; align-items:flex-start; gap:clamp(40px, calc(100 / var(--inner) * 100vw), 100px); overflow:hidden;}
.greetings-photo {flex-shrink:0; width:clamp(280px, calc(720 / var(--inner) * 100vw), 720px);}
.greetings-body {flex:1; display:flex; flex-direction:column; gap:var(--space-50); min-width:0;}
.greetings-content {display:flex; flex-direction:column; gap:var(--space-50);}
.greetings-lead {color:#2c2c2c; font-size:var(--font-size-40); font-weight:400; line-height:1.3em; letter-spacing:-0.03em;}
.greetings-lead em {font-style:normal; font-weight:600; color:var(--color-primary);}
.greetings-desc {display:flex; flex-direction:column; gap:1.6em; max-width:824px; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.03em;}
.greetings-desc strong {font-weight:600;}
.greetings-sign {display:flex; align-items:center; gap:10px; color:#2c2c2c; letter-spacing:-0.04em;}
.greetings-sign .tit {font-size:var(--font-size-24); font-weight:600; line-height:1.25em;}
.greetings-sign .name img {height:36px; display:block;}

/* 경영이념 */
.philosophy {display:flex; flex-direction:column; gap:var(--space-120);}
.philosophy-intro {padding:var(--space-60) var(--space-40); border-radius:var(--radius-16); background:#f4f5f9;}
.philosophy-intro h3 {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.25em; letter-spacing:-0.05em; text-align:center;}
.philosophy-intro h3 em {font-style:normal; color:var(--color-primary);}
.philosophy-intro:after {content:""; display:block; width:100%; height:clamp(120px, calc(171 / var(--inner) * 100vw), 171px); background:url("/images/sub/philosophy-hands.png") 50% 50%/contain no-repeat;}
.philosophy-diagram {display:flex; justify-content:center;}
.philosophy-diagram img {display:block; width:100%; max-width:822px; height:auto;}
.philosophy-boxes {display:flex; gap:var(--space-60);}
.philosophy-box {flex:1; min-width:0; overflow:hidden; border-radius:8px;}
.philosophy-box h3 {display:flex; align-items:center; justify-content:center; min-height:81px; padding:var(--space-20); background:var(--color-primary); color:#fff; font-size:var(--font-size-24); font-weight:700; line-height:1.3em; letter-spacing:-0.03em; text-align:center;}
.philosophy-box p {display:flex; align-items:center; justify-content:center; min-height:104px; padding:var(--space-40) var(--space-20); border:1px solid #ddd; border-top:0; border-radius:0 0 8px 8px; background:#fff; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; text-align:center;}

/* 출자회사 */
.investor {display:flex; flex-direction:column; gap:var(--space-120);}
.investor-item {display:flex; align-items:center; gap:clamp(40px, calc(97 / var(--inner) * 100vw), 97px);}
.investor-item.reverse {flex-direction:row-reverse;}
.investor-photo {flex:0 0 clamp(280px, calc(900 / var(--inner) * 100vw), 900px); width:clamp(280px, calc(900 / var(--inner) * 100vw), 900px); height:clamp(300px, calc(600 / var(--inner) * 100vw), 600px); border-radius:var(--radius-16); overflow:hidden;}
.investor-photo img {display:block; width:100%; height:100%; object-fit:cover;}
.investor-info {flex:1; min-width:0; max-width:800px;}
.investor-info h3 {padding-bottom:var(--space-30); border-bottom:1px solid #121212; color:#2c2c2c; font-size:var(--font-size-48); font-weight:700; line-height:1.3em; letter-spacing:-0.03em;}
.investor-info dl > div {display:flex; align-items:flex-start; gap:var(--space-60); padding:var(--space-30) 0 var(--space-30) var(--space-20); border-bottom:1px solid #ddd; font-size:var(--font-size-20); line-height:1.5em; letter-spacing:-0.03em;}
.investor-info dl > div:last-child {border-bottom:0;}
.investor-info dt {flex-shrink:0; width:4.25em; color:#2c2c2c; font-weight:600;}
.investor-info dd {flex:1; min-width:0; color:#454545; font-weight:400;}
.investor-item.reverse .investor-info {margin-left:auto;}
.investor-item.reverse .investor-info h3 {text-align:right;}
.investor-item.reverse .investor-info dl > div {flex-direction:row-reverse; justify-content:flex-start; padding-left:0; padding-right:var(--space-20); text-align:right;}
.investor-item.reverse .investor-info dt {text-align:right;}

/* 오시는길 */
.directions {position:relative; overflow:hidden; padding:var(--space-150) var(--space-container); background:#eef0f7;}
.directions-visual {position:relative; max-width:1800px; margin:0 auto;}
.directions-map {position:relative; width:clamp(240px, calc(473 / var(--inner) * 100vw), 473px); margin:0 auto;}
.directions-map img {display:block;  pointer-events:none;}
.directions-line {position:absolute; z-index:2; display:block;}
.directions-line:before {content:''; position:absolute;}
.directions-line:after {content:''; position:absolute; top:-9px; left:-9px; width:18px; height:22px; background:url('/images/sub/directions-map-dot.svg') 50% 50%/contain no-repeat;}
.directions-line.n1 {left:31%; top:19%;}
.directions-line.n2 {left:23%; top:18%;}
.directions-line.n3 {left:73%; top:60%;}
.directions-line.n4 {left:78%; top:60%;}
.directions-line.n1:before {top:9px; right:0; width:clamp(120px, calc(277 / var(--inner) * 100vw), 277px); height:34px; border-right:1px solid var(--color-primary); border-bottom:1px solid var(--color-primary);}
.directions-line.n2:before {bottom:8px; left:0; width:clamp(180px, calc(471 / var(--inner) * 100vw), 471px); height:18px; border-left:1px solid var(--color-primary); border-top:1px solid var(--color-primary);}
.directions-line.n3:before {top:9px; right:0; width:clamp(160px, calc(440 / var(--inner) * 100vw), 440px); height:clamp(60px, calc(109 / var(--inner) * 100vw), 109px); border-right:1px solid var(--color-primary); border-bottom:1px solid var(--color-primary);}
.directions-line.n4:before {top:9px; left:0; width:clamp(100px, calc(190 / var(--inner) * 100vw), 190px); height:clamp(70px, calc(137 / var(--inner) * 100vw), 137px); border-left:1px solid var(--color-primary); border-bottom:1px solid var(--color-primary);}
.directions-card {position:absolute; z-index:3; display:flex; flex-direction:column; gap:var(--space-30); width:clamp(280px, calc(573 / var(--inner) * 100vw), 573px); padding:var(--space-40); background:#fff; box-shadow:0 6px 6px rgba(0,0,0,0.1);}
.directions-card.n1 {left:0; top:0;}
.directions-card.n2 {right:0; top:0;}
.directions-card.n3 {left:0; bottom:0;}
.directions-card.n4 {right:0; bottom:0;}
.directions-card h3 {color:var(--color-primary); font-size:var(--font-size-28); font-weight:700; line-height:1.2em; letter-spacing:-0.03em;}
.directions-addr {display:flex; flex-direction:column; gap:var(--space-20);}
.directions-addr .road {color:#2c2c2c; font-size:var(--font-size-20); font-weight:600; line-height:1.4em; letter-spacing:-0.03em;}
.directions-addr .detail {display:flex; flex-wrap:wrap; gap:10px; color:#878787; font-size:var(--font-size-16); font-weight:400; line-height:1.4em; letter-spacing:-0.03em;}
.directions-contact {display:flex; flex-wrap:wrap; gap:var(--space-10) var(--space-40); padding-top:var(--space-30); border-top:1px solid #ddd;}
.directions-contact > div {display:flex; align-items:center; gap:10px; font-size:var(--font-size-18); line-height:1.3em;}
.directions-contact dt {width:4em; color:#2c2c2c; font-weight:700;}
.directions-contact dd {color:#454545; font-weight:400;}

/* 사업분야 공통 (사업부 소개) */
.biz-sector {display:flex; flex-direction:column; gap:var(--space-150);}
.biz-lead {display:flex; flex-direction:column; gap:var(--space-40);}
.biz-lead-txt {display:flex; flex-direction:column; gap:var(--space-30);}
.biz-lead-txt h3 {color:#2c2c2c; font-size:clamp(32px, calc(70 / var(--inner) * 100vw), 70px); font-weight:600; line-height:1.3em; letter-spacing:-0.05em;}
.biz-lead-txt h3.biz-lead-head {color:#2c2c2c; font-size:clamp(26px, calc(58 / var(--inner) * 100vw), 58px); font-weight:700; line-height:1.24em; letter-spacing:-0.05em;}
.biz-lead-txt p {color:#454545; font-size:var(--font-size-24); font-weight:400; line-height:1.75em; letter-spacing:-0.03em;}
.biz-video {position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:clamp(240px, calc(800 / var(--inner) * 100vw), 800px); overflow:hidden; background:#ccc;}
.biz-video video {display:block; width:100%; height:100%; object-fit:cover;}
.biz-video-play {display:flex; align-items:center; justify-content:center; width:60px; height:60px; padding:0; border:0; background:none; cursor:pointer;}
.biz-video-play img {display:block; width:100%; height:100%; object-fit:contain;}

.biz-lineup {display:flex; flex-direction:column; gap:var(--space-60);}
.biz-tabs {display:flex; flex-wrap:wrap; justify-content:center; gap:10px;}
.biz-tabs button {flex:1 1 0; min-width:140px; max-width:249px; padding:16px 20px; border:1px solid #ddd; border-radius:var(--radius-4); background:#fff; color:#2c2c2c; font-size:var(--font-size-18); font-weight:400; line-height:1.67em; letter-spacing:-0.03em; text-align:center; cursor:pointer;}
.biz-tabs button.active {border-color:transparent; background:#eef0f7; color:var(--color-primary); font-weight:600;}
.biz-slider {width:100%;}
.biz-slider .swiper-slide {height:auto;}
.biz-item {display:flex; align-items:flex-end; gap:clamp(40px, calc(100 / var(--inner) * 100vw), 100px);}
.biz-photo {flex:0 0 clamp(280px, calc(1070 / var(--inner) * 100vw), 1070px); width:clamp(280px, calc(1070 / var(--inner) * 100vw), 1070px); height:clamp(280px, calc(700 / var(--inner) * 100vw), 700px); overflow:hidden; border-radius:0 var(--radius-16) var(--radius-16) 0;}
.biz-photo img {display:block; width:100%; height:100%; object-fit:cover;}
.biz-info {flex:1; display:flex; flex-direction:column; gap:var(--space-120); max-width:690px; min-width:0; padding-right:var(--space-container); padding-bottom:var(--space-20);}
.biz-body {display:flex; flex-direction:column; gap:var(--space-60);}
.biz-body h3 {color:#2c2c2c; font-size:clamp(32px, calc(70 / var(--inner) * 100vw), 70px); font-weight:600; line-height:1.15em; letter-spacing:-0.05em;}
.biz-body p {color:#454545; font-size:var(--font-size-22); font-weight:400; line-height:1.64em; letter-spacing:-0.03em;}
.biz-more {display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding-bottom:var(--space-20); border-bottom:1px solid #2c2c2c; color:#2c2c2c; font-size:var(--font-size-30); font-weight:500; line-height:1.2em;}
.biz-more i {display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex-shrink:0; transform:rotate(-90deg);}
.biz-more img {display:block; width:100%; height:100%; object-fit:contain;}
.biz-ctrl {display:flex; align-items:center; justify-content:center; gap:30px; margin-top:20px;}
.biz-prev,
.biz-next {display:flex; align-items:center; justify-content:center; width:48px; height:48px; padding:0; border:1px solid #2c2c2c; border-radius:50%; background:#fff; cursor:pointer; transition:background .2s ease, border-color .2s ease;}
.biz-prev:hover,
.biz-next:hover {border-color:var(--color-primary); background:var(--color-primary);}
.biz-prev i,
.biz-next i {display:block; width:24px; height:24px; background:#2c2c2c; -webkit-mask:url("/images/sub/parking/parking-nav-arrow.svg") 50% 50% / contain no-repeat; mask:url("/images/sub/parking/parking-nav-arrow.svg") 50% 50% / contain no-repeat; transition:background .2s ease;}
.biz-prev i {transform:scaleX(-1);}
.biz-prev:hover i,
.biz-next:hover i {background:#fff;}
.biz-paging {display:flex; align-items:center; gap:12px; color:#2c2c2c; font-size:var(--font-size-32); font-weight:400; letter-spacing:-0.05em; line-height:1;}
.biz-paging .cur {text-align:right;}
.biz-paging .total {opacity:0.48;}
.biz-paging > i {display:block; width:1px; height:1em; background:#2c2c2c;}

/* 사업분야 공통 (모델 상세) */
.biz-tit {color:#2c2c2c; font-size:var(--font-size-48); font-weight:700; line-height:1.3em; letter-spacing:-0.03em;}
.biz-model {display:flex; flex-direction:column; gap:var(--space-150);}
.biz-model.gap-100 {gap:var(--space-100);}
.biz-unit {display:flex; flex-direction:column; gap:var(--space-100);}
.biz-unit > .contain,
.biz-lead > .contain,
.biz-lineup > .contain {width:100%;}
.biz-unit-head {display:flex; flex-direction:column; gap:var(--space-30); text-align:center;}
.biz-unit-head h3 {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.3em; letter-spacing:-0.05em;}
.biz-unit-head p {color:#454545; font-size:var(--font-size-24); font-weight:400; line-height:1.75em; letter-spacing:-0.03em;}
.biz-clips {display:flex; gap:1px; width:100%;}
.biz-clip {flex:1; position:relative; aspect-ratio:640/700; overflow:hidden; color:#fff;}
.biz-clip img {display:block; width:100%; height:100%; object-fit:cover; aspect-ratio:640/700; transition:transform .3s ease;}
.biz-clip:hover img {transform:scale(1.05);}
.biz-clip:before {content:""; position:absolute; inset:0; z-index:1; background:rgba(0,0,0,0.5); pointer-events:none;}
.biz-clip-cap {position:absolute; left:clamp(20px, calc(40 / var(--inner) * 100vw), 40px); bottom:clamp(24px, calc(48 / var(--inner) * 100vw), 48px); z-index:2; display:flex; flex-direction:column; gap:var(--space-20); align-items:flex-start;}
.biz-clip-cap strong {font-size:var(--font-size-32); font-weight:600; line-height:1.25em; letter-spacing:-0.03em;}
.biz-clip-more {display:inline-flex; align-items:center; gap:10px; color:#fff; font-size:var(--font-size-16); font-weight:500; line-height:1.5em; letter-spacing:-0.03em;}
.biz-clip-more:after {content:""; display:block; width:28px; height:28px; border:1px solid #fff; border-radius:50%; background:url("/images/main/arrow.svg") 50% 50% no-repeat;}
.biz-points {display:flex; flex-direction:column;}
.biz-points li {display:flex; align-items:center; gap:var(--space-50); padding:var(--space-50) 0; border-top:1px solid #ddd;}
.biz-points li:last-child {border-bottom:1px solid #ddd;}
.biz-points .num {flex-shrink:0; width:25px; color:var(--color-primary); font-size:var(--font-size-16); font-weight:700; line-height:1.2em;}
.biz-points .txt {color:#2c2c2c; font-size:var(--font-size-28); font-weight:400; line-height:1.1em; letter-spacing:-0.03em;}
.biz-gallery {display:flex; gap:20px;}
.biz-gallery-main {flex:1 1 0; min-width:0; aspect-ratio:890 / 1179; border-radius:var(--radius-16); overflow:hidden;}
.biz-gallery-main img,
.biz-gallery-side img {display:block; width:100%; height:100%; object-fit:cover;}
.biz-gallery-side {flex:1 1 0; display:flex; flex-direction:column; gap:20px; min-width:0;}
.biz-gallery-side > div {flex:1 1 0; min-height:0; border-radius:var(--radius-16); overflow:hidden;}

/* 공조시스템 사업부 소개 */
.biz-visual {display:flex; flex-direction:column; gap:var(--space-60); width:100%;}
.biz-visual-slider {width:100%; border:1px solid #2c2c2c; border-radius:var(--radius-16);}
.biz-visual-frame {display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1800/800; overflow:hidden;}
.biz-visual-frame img {display:block; width:100%; height:100%; object-fit:contain;}
.biz-visual .biz-ctrl {margin-top:0;}

.biz-about > .contain {display:flex; flex-direction:column; gap:var(--space-80);}
.biz-about-top {display:flex; flex-direction:column; gap:var(--space-50);}
.biz-about-box {display:flex; flex-direction:column; gap:var(--space-40); padding:var(--space-60); border-radius:var(--radius-16); background:#f2f4f9;}
.biz-about-bar {display:block; width:60px; height:3px; background:var(--color-primary);}
.biz-about-body {display:flex; flex-direction:column; gap:var(--space-60);}
.biz-about-lead {color:#2c2c2c; font-size:var(--font-size-32); font-weight:600; line-height:1.5em; letter-spacing:-0.03em;}
.biz-about-txt {display:flex; flex-direction:column; gap:var(--space-20); color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.03em;}

.biz-benefit {display:flex; flex-direction:column;}
.biz-benefit h3 {margin-bottom:var(--space-30); color:#2c2c2c; font-size:var(--font-size-32); font-weight:600; line-height:1.3em; letter-spacing:-0.03em;}
.biz-benefit-list {display:flex; flex-direction:column; border-top:1px solid #ddd;}
.biz-benefit-list li {display:flex; flex-direction:column; gap:var(--space-24); padding:var(--space-50) 0; border-bottom:1px solid #ddd;}
.biz-benefit-head {display:flex; align-items:center; gap:var(--space-50);}
.biz-benefit-head .num {flex-shrink:0; width:25px; color:var(--color-primary); font-size:var(--font-size-16); font-weight:700; line-height:1.2em;}
.biz-benefit-head strong {color:#2c2c2c; font-size:var(--font-size-28); font-weight:500; line-height:1.1em; letter-spacing:-0.03em;}
.biz-benefit-list p {padding-left:75px; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}

.biz-cert {overflow:hidden;}
.biz-cert > .contain {display:flex; flex-direction:column; gap:var(--space-50);}
.biz-cert-head {display:flex; align-items:center; justify-content:space-between; gap:var(--space-20);}
.biz-cert-nav {display:flex; align-items:center; gap:30px; flex-shrink:0;}
.biz-cert-slider {width:100%; overflow:visible;}
.biz-cert-slider .swiper-wrapper {align-items:stretch;}
.biz-cert-slider .swiper-slide {width:clamp(220px, calc(320 / var(--inner) * 100vw), 320px); height:auto;}
.biz-cert-card {display:flex; align-items:center; justify-content:center; width:100%; height:clamp(300px, calc(436 / var(--inner) * 100vw), 436px); padding:20px; border:1px solid #ddd; border-radius:var(--radius-4); background:#fff; overflow:hidden;}
.biz-cert-card img {display:block; width:100%; height:100%; object-fit:contain;}
.biz-cert-note {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.03em; text-align:center;}


.biz-lead-cap {color:#454545; font-size:var(--font-size-24); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; text-align:center;}
.biz-lead:has(.biz-lead-cap) > .contain {display:flex; flex-direction:column; gap:var(--space-80);}
.biz-lead:has(.biz-lead-cap) .biz-visual {gap:var(--space-60);}

.biz-detail {display:flex; flex-direction:column; gap:var(--space-40);}
.biz-detail-cap {color:#2c2c2c; font-size:var(--font-size-32); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; text-align:center;}
.biz-diagram {width:100%; overflow:hidden; padding:var(--space-30); border:1px solid #ddd; border-radius:var(--radius-16); text-align:center;}

.biz-spec {width:100%; border-top:2px solid #2c2c2c;}
.biz-spec table {width:100%; border-collapse:collapse; table-layout:fixed;}
.biz-spec thead th {padding:30px 20px; border-bottom:1px solid #ddd; background:#f2f4f9; color:#454545; font-size:var(--font-size-20); font-weight:600; line-height:1.5em; letter-spacing:-0.03em; text-align:left;}
.biz-spec thead th:first-child {border-right:1px solid #ddd;}
.biz-spec tbody th,
.biz-spec tbody td {padding:30px 20px; border-bottom:1px solid #ddd; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; text-align:left; vertical-align:middle;}
.biz-spec tbody th {border-right:1px solid #ddd; font-weight:400;}
.biz-spec tbody td {border-right:1px solid #ddd;}
.biz-spec tbody td:last-child {border-right:0;}
.biz-spec tbody td.arrow {text-align:center;}
.biz-spec tbody td a {color:inherit;}
.biz-spec-note {padding:40px 20px; border-bottom:1px solid #ddd; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em; text-align:center;}
.biz-spec.is-center thead th,
.biz-spec.is-center tbody th,
.biz-spec.is-center tbody td {text-align:center;}
.biz-spec.is-center thead th {border-right:1px solid #ddd;}
.biz-spec.is-center thead th:last-child {border-right:0;}
.biz-spec.none-border thead th,
.biz-spec.none-border thead th:first-child,
.biz-spec.none-border thead th:last-child,
.biz-spec.none-border tbody th,
.biz-spec.none-border tbody td {border-left:0; border-right:0;}

.biz-package > .contain {display:flex; flex-direction:column; gap:var(--space-60);}
.biz-package-head {display:flex; flex-direction:column; gap:var(--space-30); text-align:center;}
.biz-package-head .biz-tit {text-align:center;}
.biz-package-head p {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.03em;}
.biz-consult {display:flex; flex-direction:column; gap:var(--space-40); align-items:center; width:100%;}
.biz-consult-tit {color:#2c2c2c; font-size:var(--font-size-32); font-weight:600; line-height:1.3em; letter-spacing:-0.03em; text-align:center;}
.biz-consult-list {display:flex; gap:30px; width:100%;}
.biz-consult-list li {flex:1 1 0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--space-20); min-width:0; padding:var(--space-50); border-radius:var(--radius-16); background:rgba(37,61,149,0.06);}
.biz-consult-list .label {color:#8f8f8f; font-size:var(--font-size-20); font-weight:600; line-height:1.6em; letter-spacing:-0.02em;}
.biz-consult-list i {display:block; width:30px; height:2px; background:#ddd;}
.biz-consult-list a {color:var(--color-primary); font-size:var(--font-size-32); font-weight:600; line-height:1.3em; letter-spacing:-0.03em; word-break:break-all; text-align:center;}

/* 공조 모델 공통 — 특징 / 갤러리 */
.biz-feature > .contain {display:flex; align-items:center; gap:var(--space-100);}
.biz-feature-media {width:clamp(280px, calc(1010 / var(--inner) * 100vw), 1010px); overflow:hidden; border:1px solid #2c2c2c; border-radius:var(--radius-16); text-align:center;}
.biz-feature-media.width-840 {width:50%; max-width:840px; border:0; padding:0;}
.biz-feature-body {flex:1; display:flex; flex-direction:column; gap:var(--space-60); min-width:0; flex-shrink:0;}
.biz-feature-txt {display:flex; flex-direction:column; gap:var(--space-20); color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.8em; letter-spacing:-0.03em;}

.biz-album > .contain {display:flex; flex-direction:column; gap:var(--space-50);}
.biz-album-body {display:flex; flex-direction:column; gap:var(--space-20);}
.biz-album-list {display:flex; gap:20px;}
.biz-album-list li {flex:1 1 0; min-width:0;}
.biz-album-list figure {display:flex; flex-direction:column; align-items:center; gap:20px;}
.biz-album-photo {width:100%; overflow:hidden; border-radius:var(--radius-16);}
.biz-album-photo img {display:block; width:100%;}
.biz-album-photo.is-lined {border:1px solid #121212; box-sizing:border-box;}
.biz-album-list figcaption,
.biz-album-note {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.4em; letter-spacing:-0.03em; text-align:center;}
.biz-chart {display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-20); width:100%;}
.biz-chart-frame {width:100%; overflow:hidden; border:1px solid #121212; border-radius:var(--radius-16); background:#fff;}
.biz-chart-frame img {display:block; width:100%;}
.biz-chart-note {color:#757575; font-size:var(--font-size-16); font-weight:400; line-height:1; letter-spacing:-0.03em; text-align:center;}
.biz-chart-note .point {color:var(--color-primary);}

/* 기전·설비 — 리드박스 / 특징목록 / 장비프레임 */
.biz-lead-box {width:100%; padding:var(--space-50); border-radius:var(--radius-16); background:rgba(37,61,149,0.06); color:#454545; font-size:var(--font-size-24); font-weight:400; line-height:1.75em; letter-spacing:-0.03em; text-align:center;}
.biz-feats > .contain {display:flex; flex-direction:column; gap:var(--space-50);}
.biz-feats-list {display:flex; flex-direction:column;}
.biz-feats-list li {display:flex; flex-direction:column; gap:20px; padding:var(--space-50) 0; border-top:1px solid #ddd;}
.biz-feats-list li:last-child {border-bottom:1px solid #ddd;}
.biz-feats-head {display:flex; align-items:center; gap:var(--space-50);}
.biz-feats-head .num {flex-shrink:0; width:25px; color:var(--color-primary); font-size:var(--font-size-16); font-weight:700; line-height:1.2em;}
.biz-feats-head .tit {color:#2c2c2c; font-size:var(--font-size-28); font-weight:500; line-height:1.1em; letter-spacing:-0.03em;}
.biz-feats-list p {padding-left:75px; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.biz-equip {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:40px 20px;}
.biz-equip.cols-2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.biz-equip li {min-width:0;}
.biz-equip li.is-full {grid-column:1 / -1;}
.biz-equip figure {display:flex; flex-direction:column; align-items:center; gap:var(--space-20);}
.biz-equip figcaption {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.4em; letter-spacing:-0.03em; text-align:center;}
.biz-album-frame {width:100%; overflow:hidden; border:1px solid #2c2c2c; border-radius:var(--radius-16);}
.biz-feats-extra {display:flex; flex-direction:column; gap:5px; padding-left:75px; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.biz-feats-extra .sub {color:#2c2c2c; font-weight:500;}
.biz-feats-list .biz-feats-extra p {padding-left:0;}
.biz-lead > .contain:has(.biz-feats-list) {display:flex; flex-direction:column; gap:var(--space-30);}
.biz-summary {display:flex; flex-direction:column; gap:var(--space-80);}
.biz-summary .contain {width:100%;}

/* 주차 CS — A/S 관리 체계 */
.cs-as {display:flex; flex-direction:column; gap:var(--space-30); width:100%;}
.cs-as-flow {display:flex; align-items:center; justify-content:center; gap:var(--space-60); width:100%;}
.cs-as-core {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:300px; height:300px; border-radius:50%; background:var(--color-primary); color:#fff; font-size:var(--font-size-24); font-weight:700; line-height:1.5em; letter-spacing:-0.03em; text-align:center; box-sizing:border-box;}
.cs-as-line {flex-shrink:0; width:100px; height:1px; background:#2c2c2c;}
.cs-as-grid {display:flex; flex-wrap:wrap; gap:20px; width:700px; max-width:100%; margin:0; padding:0; list-style:none;}
.cs-as-grid li {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; width:220px; height:220px; border:1px solid #c5cce0; border-radius:50%; box-sizing:border-box; color:#2c2c2c; font-size:var(--font-size-20); font-weight:400; line-height:1.4em; letter-spacing:-0.03em; text-align:center;}
.cs-as-grid .num,
.cs-as-grid .txt {display:block;}


.biz-sub-tit {color:#2c2c2c; font-size:var(--font-size-40); font-weight:600; line-height:1.25em; letter-spacing:-0.03em;}
.biz-feature-body.is-compact {gap:var(--space-30);}
.biz-sect-head {display:flex; flex-direction:column; gap:var(--space-24);}
.biz-sect-head > p {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.biz-album-frame.is-soft {border-color:#ddd; height:auto;}
.biz-award{width:100%; overflow:hidden; border:1px solid #121212; border-radius:var(--radius-16); background:#fff; text-align:center;}
.biz-note-box {display:flex; flex-direction:column; gap:20px; width:100%; padding:var(--space-50) 75px; border:1px solid #ddd; border-radius:var(--radius-16); box-sizing:border-box;}
.biz-note-box .tit {color:#2c2c2c; font-size:var(--font-size-28); font-weight:500; line-height:1.1em; letter-spacing:-0.03em;}
.biz-note-box p {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.biz-note-box.is-center {align-items:center; text-align:center;}
.biz-note-box.is-center .tit {font-weight:400;}
.biz-feature-media.is-cover {border:0;}
.biz-block {display:flex; flex-direction:column; gap:var(--space-50);}
.biz-block > .biz-tit {margin:0;}
.biz-block.gap-80 {gap:var(--space-80);}
.biz-feature.is-reverse > .contain {flex-direction:row-reverse;}
.biz-panel {padding:var(--space-150) 0; background:#f9f9f9;}
.biz-panel-list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px;}
.biz-panel-item {display:flex; flex-direction:column; gap:var(--space-50); min-width:0;}
.biz-panel-txt {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.8em; letter-spacing:-0.03em;}
.biz-panel-media {display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:101/60; overflow:hidden; border:1px solid #ddd; border-radius:var(--radius-16); background:#fff; box-sizing:border-box;}
.biz-panel-media img {display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain;}

/* 승강장안전문 — 종류 */
.psd-kind-list {display:flex; flex-direction:column; gap:var(--space-100);}
.psd-kind-item {display:flex; align-items:center; gap:var(--space-100);}
.psd-kind-item.is-flip {flex-direction:row-reverse;}
.psd-kind-media {width:50%; max-width:840px;}
.psd-kind-media img {width:100%; display:block; border-radius:var(--radius-16);}
.psd-kind-body {flex-shrink:0; flex:1; display:flex; flex-direction:column; gap:var(--space-60); min-width:0;}
.psd-kind-copy {display:flex; flex-direction:column; gap:var(--space-50);}
.psd-kind-head {display:flex; flex-direction:column; gap:10px;}
.psd-kind-en {color:var(--color-primary); font-size:var(--font-size-24); font-weight:600; line-height:1.25em; letter-spacing:-0.03em;}
.psd-kind-name {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.3em; letter-spacing:-0.03em;}
.psd-kind-desc {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.03em;}
.psd-kind-meta {display:flex; flex-direction:column; gap:var(--space-20); width:100%; padding:var(--space-40); border-radius:var(--radius-8); background:#fafafa; box-sizing:border-box;}
.psd-kind-meta > div {display:flex; gap:10px;}
.psd-kind-meta dt {flex-shrink:0; width:135px; color:#9b9b9b; font-size:var(--font-size-20); font-weight:600; line-height:1.5em; letter-spacing:-0.03em;}
.psd-kind-meta dd {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}

/* ESG경영 */
.esg {display:flex; flex-direction:column; gap:var(--space-150);}
.esg-intro-txt {display:flex; flex-direction:column; gap:var(--space-30);}
.esg-intro-txt h3 {color:#2c2c2c; font-size:clamp(32px, calc(70 / var(--inner) * 100vw), 70px); font-weight:600; line-height:1.3em; letter-spacing:-0.05em;}
.esg-intro-txt p {color:#454545; font-size:var(--font-size-24); font-weight:400; line-height:1.75em; letter-spacing:-0.03em;}
.esg-diagram {padding:var(--space-80) 0; background:#eef0f7;}

.esg-diagram {text-align:center;}

.esg-cert > .contain {display:flex; flex-direction:column; gap:var(--space-60);}
.esg-cert h3 {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.3em; letter-spacing:-0.05em; text-align:center;}
.esg-cert ul {display:grid; grid-template-columns:repeat(6, 1fr); gap:24px;}

/* 윤리경영 */
.ethics {display:flex; flex-direction:column; gap:var(--space-150);}
.ethics-declare {position:relative; overflow:hidden; padding:var(--space-60) var(--space-50); border:1px solid #2c2c2c; border-radius:var(--radius-16); box-sizing:border-box;}
.ethics-declare-inner {position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:var(--space-30);}
.ethics-bar {display:block; width:60px; height:3px; background:var(--color-primary);}
.ethics-declare h3 {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.15em; letter-spacing:-0.05em; text-align:center;}
.ethics-declare p {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em; letter-spacing:-0.05em; text-align:center; word-break:keep-all;}
.ethics-mark {position:absolute; right:clamp(20px, 7%, 109px); top:50%; z-index:0; width:clamp(180px, 24%, 424px); pointer-events:none; transform:translateY(-50%);}
.ethics-charter {display:flex; flex-direction:column; gap:var(--space-40);}
.ethics-charter h3 {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.3em; letter-spacing:-0.05em;}
.ethics-report {display:flex; flex-direction:column; align-items:center; gap:var(--space-80);}
.ethics-cta {display:inline-flex; align-items:center; justify-content:center; gap:15px; min-width:250px; height:80px; padding:0 40px; border:0; border-radius:var(--radius-4); background:var(--color-primary); color:#fff; font-size:var(--font-size-24); font-weight:600; line-height:1.25em; letter-spacing:-0.03em; transition:.2s;}
.ethics-cta:after {content:""; display:block; width:8px; height:14px; background:url('/images/sub/btn-arrow-white.svg') 50% 50% / contain no-repeat;}
.ethics-cta:hover {opacity:0.9;}

/* 안전보건경영 */
.safety-sign {justify-content:flex-start; flex-wrap:wrap; margin-top:var(--space-30);}
.safety-sign .name img {height:48px; filter:invert(1);}
.safety-goal > .contain {display:flex; flex-direction:column; gap:var(--space-60);}
.safety-goal-diagram {margin:0; text-align:center;}
.safety-goal-diagram img {display:block; width:100%; max-width:960px; margin:0 auto; height:auto; border-radius:var(--radius-16);}
.safety-goal-cards {display:grid; grid-template-columns:repeat(3, 1fr); gap:var(--space-30); list-style:none;}
.safety-goal-card {display:flex; flex-direction:column; gap:var(--space-24); padding:var(--space-40); border-radius:var(--radius-16); background:#f2f4f9;}
.safety-goal-card-head {display:flex; align-items:center; gap:var(--space-20); padding-bottom:var(--space-20); border-bottom:1px solid rgba(37, 61, 149, 0.12);}
.safety-goal-card-head .num {flex-shrink:0; color:var(--color-primary); font-size:var(--font-size-16); font-weight:700; line-height:1.2em;}
.safety-goal-card-head strong {color:#2c2c2c; font-size:var(--font-size-28); font-weight:500; line-height:1.1em; letter-spacing:-0.03em;}
.safety-goal-detail {display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none; color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.safety-goal-detail li {position:relative; padding-left:14px;}
.safety-goal-detail li::before {content:"·"; position:absolute; left:0; color:var(--color-primary); font-weight:700;}
.safety-cert > .contain {display:flex; flex-direction:column; gap:var(--space-50);}
.safety-cert-lead {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.5em; letter-spacing:-0.03em;}
.safety-cert-figure {margin:0; max-width:480px;}
.safety-cert-figure img {display:block; width:100%; height:auto; border:1px solid #ddd; border-radius:var(--radius-4); background:#fff;}

/* 상담 및 제보 */
.report-intro {padding:var(--space-60) var(--space-50); border-radius:var(--radius-16);  background:#EEF0F7; margin-bottom:var(--space-100);}
.report-intro .tit {color:#2c2c2c; font-size:var(--font-size-24); font-weight:600; line-height:1.33em; letter-spacing:-0.03em; margin-bottom:1.33em;}
.report-intro .txt {color:#454545; font-size:var(--font-size-20); font-weight:400; line-height:1.6em;}
.report-intro .txt ol {list-style:decimal; margin-left:1em;}

/* 인재채용 */
.recruit {display:flex; flex-direction:column; gap:var(--space-80);}
.recruit-lead {color:#2c2c2c; font-size:var(--font-size-48); font-weight:600; line-height:1.2em; letter-spacing:-0.05em;}
.recruit-list > li {gap:var(--space-20);}
.recruit-tags {display:flex; flex-wrap:wrap; gap:10px; padding-left:75px;}
.recruit-tags li {display:inline-flex; align-items:center; justify-content:center; min-width:164px; padding:16px 10px; border:1px solid #ddd; border-radius:var(--radius-4); box-sizing:border-box; color:#454545; font-size:var(--font-size-18); font-weight:400; line-height:1em; letter-spacing:-0.05em; text-align:center; word-break:keep-all;}
.recruit-tags li.is-wide {min-width:338px; padding-left:15px; padding-right:15px;}
.recruit .biz-consult-list a {font-size:var(--font-size-24);}
