
.sub-header{position:relative;width:min(1880px,100% - 40px);height:clamp(280px,29vw,560px);margin:var(--hh,102px) auto 0;border-radius:20px;overflow:hidden;/* background:#001031; */color:#fff;
display:flex; align-items: center; justify-content: center;}
.sub-hero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,16,49,.1) 60%,rgba(0,16,49,.4)),linear-gradient(90deg,rgba(0,16,49,.2),transparent 80%)}
.sub-hero,.sub-header .visual{position:absolute;inset:0}
.sub-header .visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sub-header .visual[data-r]{transform:none}
.sub-header-txt{position:relative;z-index:2;width:100%;padding:0 clamp(20px,4vw,60px)}
.sub-header .breadcrumb{display:flex;flex-wrap:wrap;justify-content: center;align-items:center;gap:6px 10px;color:rgba(255,255,255,.7);font:500 clamp(13px,.9vw,16px) Poppins,'Pretendard Variable',Pretendard,sans-serif}
.sub-header .breadcrumb a{color:inherit;transition:color .3s}
.sub-header .breadcrumb a:hover{color:#fff}
.sub-header .breadcrumb>*:last-child{color:#fff}
.sub-tit{margin-bottom:clamp(12px,1.2vw,22px) ;font-weight:600; font-size:clamp(32px,3.6vw,68px); line-height: 1.15; letter-spacing:-.02em; text-align:center;}

@media(max-width:600px){
 .sub-header{width:calc(100% - 20px);height:260px;border-radius:16px}
 .sub-header-txt{padding:0 28px}
 .sub-tit{font-size:clamp(26px,7.4vw,32px); padding:0 20px;}
 .sub-header .breadcrumb{font-size:12px;}
 .sub-header .breadcrumbs{gap:6px}
}

.breadcrumbs{display:flex;flex-wrap:wrap; align-items:center;gap:6px 14px;color:#fff;font-weight:500; font-size:clamp(14px,1vw,18px); line-height: 1.4;}
.breadcrumbs-home{display:block;flex:none;width:clamp(18px,1.2vw,22px);aspect-ratio:1;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6 1.5 11.4l1.3 1.5L4 11.9V21h6.2v-6.2h3.6V21H20v-9.1l1.2 1 1.3-1.5z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.6 1.5 11.4l1.3 1.5L4 11.9V21h6.2v-6.2h3.6V21H20v-9.1l1.2 1 1.3-1.5z'/%3E%3C/svg%3E") center/contain no-repeat;transition:opacity .3s}
.breadcrumbs-home:hover{opacity:.7}
.breadcrumbs-bar{flex:none;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.7}
.breadcrumbs span{opacity:.8}
.breadcrumbs span:last-child{opacity:1;font-weight:600}

.contents_wrap {padding-top: var(--hh);}
.contents_wrap:has(>.sp-sec){padding:0;text-align:left}
.sub-header+.contents_wrap:has(>.sp-sec){padding-top:0}


/* 섹션 여백 + 콘텐츠 폭 */
.sp-sec{padding:clamp(70px,8vw,150px) 0 clamp(80px,9vw,170px);overflow:hidden}
.sp-sec .wrap{width:min(1400px,100% - 2*var(--gut))}

/* 상단 제목 (영문 라벨 + 큰 제목) */
.sp-hd{margin-bottom:clamp(44px,5.2vw,100px);text-align:center}
.sp-hd em{display:block;margin-bottom:clamp(14px,1.3vw,24px);color:var(--sky);font:600 clamp(14px,1.04vw,20px) Poppins,sans-serif;font-style:normal;letter-spacing:.14em}
.sp-hd h2{font-size:clamp(24px,2.6vw,50px);font-weight:500;line-height:1.35;letter-spacing:-.02em}
.sp-hd h2 b{display:block;font-weight:800}
.sp-hd h2 i{color:var(--blue);font-style:normal}
.sp-hd p{max-width:900px;margin:clamp(18px,1.8vw,32px) auto 0;color:#555;font-size:clamp(15px,1.15vw,22px);line-height:1.7}

/* 네이비 강조 카드 (하늘색 빛 번짐) */
.sp-sec .sp-nv{position:relative;overflow:hidden;background:linear-gradient(160deg,#123a78,#001031 70%);color:#fff}
.sp-sec .sp-nv::before{content:"";position:absolute;right:-30%;top:-60%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,162,243,.35),transparent 65%);pointer-events:none;transition:transform 1s var(--e)}
.sp-sec .sp-nv:hover::before{transform:scale(1.3)}
.sp-sec .sp-nv>*{position:relative}


/* 와이드 배경 섹션: .wrap 안에서 배경만 화면 양끝까지 (.dk = 이미지 + 네이비) */
.sp-band{position:relative;isolation:isolate;margin-top:clamp(80px,9vw,170px);padding:clamp(70px,8vw,150px) 0}
.sp-band::before,.sp-band>.sp-bg{position:absolute;top:0;bottom:0;left:calc(50% - 50vw);right:calc(50% - 50vw)}
.sp-band::before{content:"";z-index:-2;background:#f8f8f8}
.sp-hd+.sp-band,.sp-band+.sp-band{margin-top:0}
.sp-sec .wrap>.sp-band:last-child{margin-bottom:calc(-1*clamp(80px,9vw,170px))}
.sp-band.dk{color:#fff}
.sp-band.dk::before{background:#001031}
.sp-bg{z-index:-1;overflow:hidden}
.sp-bg::before{content:"IMAGE  " attr(data-size);position:absolute;inset:0;display:grid;place-items:center;color:rgba(255,255,255,.25);font:500 13px Poppins,sans-serif;letter-spacing:.1em}
.sp-bg img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.sp-bg::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,rgba(0,16,49,.94) 25%,rgba(0,16,49,.6))}


/* =========================================================
   인사말
   ========================================================= */
.gr-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,5.1vw,98px)}
.gr-im{position:relative;aspect-ratio:1/1.02;border-radius:20px;overflow:hidden;background:#001031}
.gr-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gr-im::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,16,49,.8))}
.gr-im p{position:absolute;left:clamp(24px,2.6vw,50px);bottom:clamp(24px,2.6vw,50px);z-index:2;color:#fff;font:500 clamp(22px,2.1vw,40px)/1.25 Poppins,sans-serif;letter-spacing:-.005em}
.gr-im p span{display:block}
.gr-lead{font-size:clamp(17px,1.35vw,26px);line-height:1.7;letter-spacing:-.01em}
.gr-lead b{font-weight:700}
.gr-lead .nw{white-space:nowrap}
.gr-sub{margin-top:clamp(28px,3vw,56px);padding-left:clamp(16px,1.3vw,24px);border-left:3px solid var(--blue);color:#444;font-size:clamp(15px,1.15vw,22px);line-height:1.8}
.gr-sub b{color:var(--ink);font-weight:700}
.gr-sign{display:flex;align-items:baseline;flex-wrap:wrap;gap:14px;margin-top:clamp(30px,3.6vw,70px)}
.gr-sign span{color:rgba(15,15,17,.5);font-size:clamp(14px,.95vw,18px)}
.gr-sign b{font-size:clamp(22px,1.6vw,30px);font-weight:700;letter-spacing:.08em}
.gr-ft{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(60px,7vw,140px)}
.gr-fc{display:flex;flex-direction:column;min-height:clamp(230px,15vw,290px);padding:clamp(28px,2.6vw,50px);border-radius:20px}
.gr-fc .n{color:var(--sky);font:500 clamp(15px,1.04vw,20px) Poppins,sans-serif}
.gr-fc h3{margin-top:auto;padding-top:30px;font-size:clamp(20px,1.67vw,32px);font-weight:700}
.gr-fc p{margin-top:12px;color:rgba(255,255,255,.65);font-size:clamp(14px,.95vw,18px);line-height:1.6}
@media(max-width:820px){
 .gr-row,.gr-ft{grid-template-columns:1fr}
 .gr-im{aspect-ratio:4/3}
 .gr-fc{min-height:0}
}


/* =========================================================
   기업개요
   ========================================================= */
.ov-g{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.ov-c{position:relative;display:flex;flex-direction:column;gap:clamp(18px,1.6vw,30px);min-height:clamp(170px,11vw,210px);padding:clamp(24px,2.2vw,42px);border-radius:20px;background:#f8f8f8;overflow:hidden}
.ov-c.w2{grid-column:span 2}
.ov-c dt{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:clamp(15px,1.04vw,20px);font-weight:700}
.ov-c dt i{color:var(--sky);font:500 clamp(12px,.8vw,15px) Poppins,sans-serif;font-style:normal;letter-spacing:.06em}
.ov-c dd{margin-top:auto;font-size:clamp(15px,1.05vw,20px);line-height:1.6}
.ov-c .ov-big{display:block;font:600 clamp(28px,2.3vw,44px)/1.15 Poppins,'Pretendard Variable',Pretendard,sans-serif;letter-spacing:-.01em}
.ov-c .ov-big small{margin-left:4px;color:rgba(15,15,17,.5);font:500 .42em 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif}
.ov-ln{display:flex;align-items:baseline;gap:12px}
.ov-ln+.ov-ln{margin-top:8px}
.ov-tg{flex:none;padding:2px 10px;border-radius:6px;background:#001031;color:#fff;font-size:.78em;font-weight:600; text-align:center}
.ov-sales{display:flex;flex-wrap:wrap;gap:clamp(20px,3vw,60px)}
.ov-sales>div+div{padding-left:clamp(20px,3vw,60px);border-left:1px solid #e2e2e2}
.ov-sales span{display:block;margin-bottom:6px;color:rgba(15,15,17,.5);font-size:.85em}
.ov-chips{display:flex;flex-wrap:wrap;gap:8px}
.ov-chips span{padding:8px 16px;border-radius:999px;background:#fff;font-size:.9em;font-weight:500;white-space:nowrap}
.ov-tel{/* font:600 clamp(22px,1.6vw,30px) Poppins,'Pretendard Variable',Pretendard,sans-serif; */transition:color .3s}
.ov-tel:hover{color:var(--blue)}
.ov-end{display:flex;align-items:center;gap:clamp(24px,3vw,60px);margin-top:18px;padding:clamp(28px,2.6vw,50px);border-radius:20px}
.ov-end-h{flex:none;padding-right:clamp(24px,3vw,60px);border-right:1px solid rgba(255,255,255,.15)}
.ov-end-h h3{font-size:clamp(20px,1.67vw,32px);font-weight:700}
.ov-end-h em{display:block;margin-top:8px;color:var(--sky);font:500 clamp(13px,.9vw,17px) Poppins,sans-serif;font-style:normal;letter-spacing:.06em}
.ov-logos{flex:1;display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(8px,.8vw,14px)}
.ov-logos li{display:grid;place-items:center;height:auto;min-height:clamp(60px,4.4vw,84px);padding:10px 12px; border-radius:12px;background:#fff}
.ov-logos img{max-width:100%;max-height:46%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .4s,opacity .4s}
.ov-logos li:hover img{filter:none;opacity:1}
.ov-logos span{color:#001031;font:600 clamp(15px,.75vw,18px) Poppins,'Pretendard Variable',Pretendard,sans-serif;text-align:center; line-height:1.25}


.ov-c dd:has(> .ov-ln){display:grid;grid-template-columns:max-content 1fr;align-items:baseline;gap:8px 12px}
.ov-c dd:has(> .ov-ln) .ov-ln{display:contents}

.ov-en .ov-c .ov-big{font-size:clamp(22px,1.75vw,32px)}


/* 기업개요 - 매출 및 수주 추이 */
.ov-trend{margin-top:18px;padding:clamp(24px,2.2vw,42px);border-radius:20px;background:#f8f8f8}
.ov-trend-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px 24px;margin-bottom:clamp(36px,3.4vw,64px)}
.ov-trend-h h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:clamp(15px,1.04vw,20px);font-weight:700}
.ov-trend-h h3 i{color:var(--sky);font:500 clamp(12px,.8vw,15px) Poppins,sans-serif;font-style:normal;letter-spacing:.06em}
.ov-lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;color:#555;font-size:clamp(13px,.85vw,15px)}
.ov-lg span{display:flex;align-items:center;gap:7px;font-weight:600}
.ov-lg span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.ov-lg small{color:rgba(15,15,17,.45);font-size:1em}
.ov-trend .s{--c:linear-gradient(160deg,#123a78,#001031 70%)}
.ov-trend .o{--c:#cfd8e6}

.ov-chart{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,40px)}
.ov-chart li{display:flex;flex-direction:column;align-items:center}
.ov-bars{display:flex;align-items:flex-end;justify-content:center;gap:clamp(4px,.5vw,10px);width:100%;height:clamp(180px,18vw,320px);border-bottom:1px solid #d6d6d6}
.ov-bars span{position:relative;width:min(56px,38%);height:calc(var(--v) / 62 * 100%)}
.ov-bars span::before{content:"";position:absolute;inset:0;border-radius:8px 8px 0 0;background:var(--c);transform:scaleY(0);transform-origin:bottom;transition:transform 1.2s var(--e) calc(.3s + var(--i,0) * .12s)}
.ov-bars em{position:absolute;bottom:100%;left:50%;margin-bottom:6px;color:#001031;font:600 clamp(12px,.9vw,16px) Poppins,sans-serif;font-style:normal;white-space:nowrap;opacity:0;transform:translateX(-50%);transition:opacity .6s ease calc(1.1s + var(--i,0) * .12s)}
.ov-chart li>b{display:flex;flex-direction:column;align-items:center;margin-top:12px;font:600 clamp(15px,1.1vw,20px) Poppins,sans-serif}
.ov-chart li>b small{margin-top:6px;padding:2px 10px;border-radius:999px;background:var(--sky);color:#fff;font:600 clamp(11px,.75vw,13px) 'Pretendard Variable',Pretendard,sans-serif}
.ov-bars .o em{color:#9aa6b8}
.ov-chart .goal .s::after{content:"";position:absolute;inset:0;border-radius:8px 8px 0 0;background:radial-gradient(circle at 70% 0,rgba(0,162,243,.45),transparent 70%);opacity:0;transition:opacity .8s ease 1.4s}
.ov-trend.in .goal .s::after{opacity:1}

.ov-trend.in .ov-bars span::before{transform:none}
.ov-trend.in .ov-bars em{opacity:1}


@media(max-width:1100px){
 .ov-g{grid-template-columns:repeat(2,1fr)}
 .ov-end{flex-direction:column;align-items:stretch}
 .ov-end-h{padding:0 0 20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
 .ov-logos{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:600px){
 .ov-g{grid-template-columns:1fr}
 .ov-c.w2{grid-column:auto}
 .ov-c{min-height:0}
 .ov-logos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ov-sales>div+div{width:100%;padding:14px 0 0;border-left:0;border-top:1px solid #e2e2e2}
 .ov-trend-h{flex-direction:column;align-items:flex-start}
 .ov-bars span{width:42%}
}


/* =========================================================
   연혁
   ========================================================= */
.hs{--lx:clamp(180px,22%,320px);--yf:clamp(36px,3.3vw,64px)}
.hs-tl{position:relative}
.hs-ln{position:absolute;left:var(--lx);top:0;bottom:0;width:1px;background:#e2e2e2}
.hs-bar{position:absolute;inset:0;background:var(--sky);transform:scaleY(0);transform-origin:top;transition:transform .25s linear}
.hs-yr{position:relative;display:grid;grid-template-columns:var(--lx) 1fr;padding-bottom:clamp(50px,5.2vw,100px)}
.hs-yr:last-child{padding-bottom:0}
.hs-dot{position:absolute;left:var(--lx);top:calc(var(--yf)/2 - 7px);z-index:2;width:14px;height:14px;margin-left:-7px;border:2px solid #cfd6e2;border-radius:50%;background:#fff;transition:border-color .5s,background .5s,box-shadow .5s}
.hs-yr.on .hs-dot{border-color:var(--sky);background:var(--sky);box-shadow:0 0 0 6px rgba(0,162,243,.15)}
.hs-y{position:sticky;top:calc(var(--hh,102px) + 40px);align-self:start;color:#d5dae2;font:600 var(--yf)/1 Poppins,sans-serif;letter-spacing:-.01em;transition:color .6s,opacity 1.1s ease var(--d,0s),transform 1.2s var(--e) var(--d,0s)}
.hs-yr.on .hs-y{color:#001031}
.hs-list{padding-left:clamp(36px,5.2vw,100px)}
.hs-list li{padding:clamp(16px,1.3vw,24px) 0;border-bottom:1px solid #eee;color:#444;font-size:clamp(15px,1.1vw,20px);line-height:1.6}
.hs-list li:first-child{padding-top:calc(var(--yf)/2 - .8em)}
.hs-list li:last-child{border-bottom:0}
.hs-list b{color:var(--ink);font-weight:700}
@media(max-width:820px){
 .hs{--lx:0px;--yf:32px}
 .hs-tl{padding-left:28px}
 .hs-ln{left:6px}
 .hs-yr{grid-template-columns:1fr}
 .hs-dot{left:-22px}
 .hs-y{position:static;margin-bottom:12px}
 .hs-list{padding-left:0}
 .hs-list li:first-child{padding-top:0}
}


/* =========================================================
   조직도
   ========================================================= */
.org{--ln:#cfd6e2;--stem:clamp(40px,4vw,70px);--h:clamp(40px,4vw,70px)}
.org-ceo{position:relative;display:flex;justify-content:center;padding-bottom:var(--stem)}
.org-ceo::after{content:"";position:absolute;left:50%;bottom:0;width:1px;height:var(--stem);background:var(--ln)}
.org-top{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:clamp(240px,17vw,320px);padding:clamp(24px,2vw,36px) 40px;border-radius:20px;text-align:center;box-shadow:0 20px 40px rgba(0,16,49,.18)}
.org-top i{color:var(--sky);font:600 clamp(13px,.9vw,16px) Poppins,sans-serif;font-style:normal;letter-spacing:.14em}
.org-top strong{font-size:clamp(20px,1.5vw,28px);font-weight:700}
.org-top span{color:rgba(255,255,255,.6);font-size:clamp(14px,.9vw,17px)}
.org-depts{position:relative;display:grid;grid-template-columns:repeat(4,1fr);padding-top:var(--h)}
.org-depts[data-r]{opacity:1;transform:none}
.org-depts::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:1px;background:var(--ln);transform:scaleX(0);transition:transform 1.2s var(--e) .3s}
.org-depts.in::before{transform:scaleX(1)}
.org-dept{position:relative;padding:0 9px}
.org-dept::before{content:"";position:absolute;left:50%;top:calc(var(--h)*-1);width:1px;height:var(--h);background:var(--ln)}
.org-dept::after{content:"";position:absolute;left:50%;top:0;z-index:2;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--sky);transform:translate(-50%,-50%)}
.org-bx{position:relative;height:100%;padding:clamp(24px,2.2vw,40px);border-radius:20px;background:#f8f8f8;transition:transform .6s var(--e),box-shadow .6s}
.sp-band .org-bx{background:#fff}
.org-bx:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,16,49,.08)}
.org-bx .n{color:var(--sky);font:500 clamp(14px,.95vw,18px) Poppins,sans-serif}
.org-bx h3{margin-top:clamp(14px,1.2vw,22px);font-size:clamp(19px,1.45vw,28px);font-weight:700}
.org-bx em{display:block;margin-top:6px;color:rgba(15,15,17,.45);font:500 clamp(13px,.85vw,16px) Poppins,sans-serif;font-style:normal}
.org-bx ul{display:flex;flex-direction:column;gap:10px;margin-top:clamp(20px,1.8vw,34px);padding-top:clamp(18px,1.5vw,28px);border-top:1px solid #e2e2e2}
.org-bx li{position:relative;padding-left:14px;color:#444;font-size:clamp(14px,.95vw,18px);line-height:1.5}
.org-bx li::before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--sky)}
@media(max-width:1024px){
 .org{--sp:24px}
 .org-top{width:100%;min-width:0}
 .org-ceo::after{left:var(--sp)}
 .org-depts{grid-template-columns:1fr;padding-top:0}
 .org-depts::before{display:none}
 .org-dept{padding:0 0 14px calc(var(--sp) + 22px)}
 .org-dept:last-child{padding-bottom:0}
 .org-dept::before{left:var(--sp);top:0;bottom:0;height:auto}
 .org-dept:last-child::before{bottom:auto;height:40px}
 .org-dept::after{left:var(--sp);top:40px}
 .org-bx::before{content:"";position:absolute;left:-22px;top:40px;width:22px;height:1px;background:var(--ln)}
}


/* =========================================================
   경영이념
   ========================================================= */
.vs-g{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.vs-c{position:relative;aspect-ratio:4/5;border-radius:20px;overflow:hidden;background:#001031;color:#fff}
.vs-c img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--e)}
.vs-c:hover img{transform:scale(1.06)}
.vs-c::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,16,49,.15) 35%,rgba(0,16,49,.88))}
.vs-c .n{position:absolute;z-index:2;left:clamp(24px,2.6vw,50px);top:clamp(24px,2.6vw,46px);color:var(--sky);font:500 clamp(15px,1.04vw,20px) Poppins,sans-serif}
.vs-tx{position:absolute;z-index:2;left:clamp(24px,2.6vw,50px);right:clamp(24px,2.6vw,50px);bottom:clamp(26px,2.8vw,54px)}
.vs-tx h3{font:600 clamp(30px,2.6vw,50px)/1.1 Poppins,sans-serif;letter-spacing:.01em}
.vs-tx h3::after{content:"";display:block;width:30px;height:2px;margin-top:clamp(14px,1.2vw,22px);background:var(--sky);transition:width .6s var(--e)}
.vs-c:hover .vs-tx h3::after{width:60px}
.vs-tx p{margin-top:clamp(12px,1vw,18px);color:rgba(255,255,255,.8);font-size:clamp(15px,1.1vw,21px);line-height:1.5}
@media(max-width:900px){
 .vs-g{grid-template-columns:1fr}
 .vs-c{aspect-ratio:16/10}
}


/* =========================================================
   주요 고객사
   ========================================================= */
.cl-mc{position:relative;padding:clamp(20px,2.4vw,46px);border-radius:20px;background:#f8f8f8}
.sp-band .cl-mc{padding:0;background:none}
.sp-band .cl-c:not(.sp-nv){background:#fff}
.sp-band .cl-c:not(.sp-nv) li{background:#f8f8f8}
.cl-legend{display:flex;gap:18px;margin-bottom:clamp(10px,1vw,18px);color:#555;font-size:clamp(13px,.85vw,15px)}
.cl-legend span{display:flex;align-items:center;gap:7px}
.cl-legend span::before{content:"";width:12px;height:12px;border-radius:50%}
.cl-legend .m::before{background:linear-gradient(160deg,#123a78,#001031)}
.cl-legend .f::before{border:1px solid #d5dbe5;background:#fff}

.cl-map{position:relative;aspect-ratio:3/1}
.cl-bg,.cl-ln{position:absolute;inset:0;width:100%;height:100%}
.cl-ln{overflow:visible;pointer-events:none}
.cl-ln path{fill:none;stroke:#3fa6e6;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:1 2;stroke-dashoffset:1;transition:stroke-dashoffset .8s var(--e) calc(.5s + var(--i)*.22s)}
.cl-mc.in .cl-ln path{stroke-dashoffset:0}

.cl-pin{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);z-index:2;width:12px;height:12px;margin:-6px 0 0 -6px;border:2px solid #fff;border-radius:50%;background:#001031;box-shadow:0 0 0 1px #001031;opacity:0;transform:scale(0);transition:opacity .4s .2s,transform .6s var(--e) .2s}
.cl-pin::after{content:"";position:absolute;inset:-8px;border-radius:50%;background:rgba(0,162,243,.3);animation:clp 2s ease-out infinite}
.cl-pin b{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);padding:3px 10px;border-radius:999px;background:#001031;color:#fff;font:600 clamp(10px,.7vw,13px) Poppins,sans-serif;white-space:nowrap}
.cl-mc.in .cl-pin{opacity:1;transform:none}
@keyframes clp{from{transform:scale(.4);opacity:1}to{transform:scale(1.6);opacity:0}}

.cl-lg{position:absolute;left:calc(var(--x)*1%);top:calc(var(--y)*1%);z-index:3;display:grid;place-items:center;place-content:center;width:7.5%;aspect-ratio:1;container-type:inline-size;border-radius:50%;background:#fff;box-shadow:0 10px 24px rgba(0,16,49,.1);text-align:center;opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .4s ease calc(.9s + var(--i)*.22s),transform .7s cubic-bezier(.34,1.56,.64,1) calc(.9s + var(--i)*.22s)}
.cl-mc.in .cl-lg{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cl-lg img{max-width:78%;max-height:60%;object-fit:contain}
.cl-lg span{color:#001031;font:600 11cqw/1.15 Poppins,'Pretendard Variable',Pretendard,sans-serif;letter-spacing:.02em}
.cl-lg.m{background:linear-gradient(160deg,#123a78,#001031 70%);box-shadow:0 10px 24px rgba(0,16,49,.25)}
.cl-lg.m span{color:#fff;font:700 12.5cqw/1.2 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;letter-spacing:-.02em}
.cl-lg.m small{display:block;font-size:.75em;font-weight:500;opacity:.7}

.cl-g{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-top:clamp(18px,2.4vw,46px)}
.cl-c{display:flex;flex-direction:column;gap:clamp(18px,1.6vw,28px);padding:clamp(24px,2.2vw,42px);border-radius:20px;background:#f8f8f8}
.cl-c h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-size:clamp(19px,1.45vw,28px);font-weight:700}
.cl-c h3 i{color:var(--sky);font:500 clamp(12px,.8vw,15px) Poppins,sans-serif;font-style:normal;letter-spacing:.06em}
.cl-c ul{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.cl-c li{padding:8px 16px;border-radius:999px;background:#fff;font-size:clamp(14px,.9vw,17px);font-weight:500}
.cl-c.sp-nv li{background:rgba(255,255,255,.12);color:#fff}
.cl-rg{display:grid;grid-template-columns:repeat(3,1fr)}
.cl-rg>div{display:flex;flex-direction:column;gap:12px;padding:0 clamp(14px,1.4vw,26px)}
.cl-rg>div:first-child{padding-left:0}
.cl-rg>div+div{border-left:1px solid #e2e2e2}
.cl-rg dt{color:var(--sky);font:600 clamp(13px,.85vw,16px) Poppins,sans-serif;letter-spacing:.06em}
@media(max-width:900px){
 .cl-g{grid-template-columns:1fr}
 .cl-lg{width:8.5%}
}
@media(max-width:640px){
 .cl-lg,.cl-ln{display:none}
 .cl-pin b{top:auto;bottom:calc(100% + 8px)}
 .cl-legend{display:none}
 .cl-mc{padding:30px 14px 14px}
 .sp-band .cl-mc{padding:24px 0 0}
 .cl-rg{grid-template-columns:1fr}
 .cl-rg>div{padding:14px 0}
 .cl-rg>div:first-child{padding-top:0}
 .cl-rg>div+div{border-left:0;border-top:1px solid #e2e2e2}
 .cl-rg ul{flex-direction:row;flex-wrap:wrap}
}


/* =========================================================
   사업장
   ========================================================= */
.lc-g{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lc-c{display:flex;flex-direction:column;padding:clamp(14px,1vw,20px);border-radius:20px;background:#f8f8f8}
.lc-map{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#e9edf3}
.lc-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lc-info{display:flex;flex-direction:column;gap:clamp(10px,.9vw,16px);padding:clamp(22px,2vw,38px) clamp(10px,1.2vw,24px) clamp(10px,1vw,18px)}
.lc-t{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.lc-t em{padding:5px 14px;border-radius:999px;background:#fff;font-size:clamp(13px,.85vw,16px);font-weight:700;font-style:normal}
.lc-c.hq .lc-t em{background:linear-gradient(160deg,#123a78,#001031);color:#fff}
.lc-t h3{font:600 clamp(19px,1.45vw,28px) Poppins,'Pretendard Variable',Pretendard,sans-serif}
.lc-ad{color:#444;font-size:clamp(15px,1.05vw,20px);line-height:1.6}
.lc-btn{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.lc-btn a{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:999px;background:#fff;font-size:clamp(13px,.85vw,15px);font-weight:500;transition:background .3s,color .3s}
.lc-btn a::after{content:"";width:6px;height:6px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
.lc-btn a:hover{background:#001031;color:#fff}
.lc-cta-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:30px clamp(30px,4vw,80px)}
.lc-cta em{display:block;color:var(--sky);font:600 clamp(13px,.9vw,17px) Poppins,sans-serif;font-style:normal;letter-spacing:.14em}
.lc-cta h3{margin-top:clamp(10px,1vw,16px);font-size:clamp(24px,2.1vw,40px);font-weight:700}
.lc-cta p{margin-top:clamp(10px,1vw,16px);color:rgba(255,255,255,.7);font-size:clamp(15px,1.05vw,20px);line-height:1.6}
.lc-cta-r{display:flex;align-items:center;flex-wrap:wrap;gap:16px clamp(24px,2.6vw,48px)}
.lc-tel{color:#fff;font:600 clamp(24px,2vw,38px) Poppins,sans-serif}
.lc-go{display:inline-flex;align-items:center;gap:44px;height:52px;padding:0 24px;border-radius:8px;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);color:#fff;font:500 clamp(16px,1.04vw,20px) Poppins,sans-serif;transition:background .4s,gap .5s var(--e)}
.lc-go:hover{background:rgba(255,255,255,.3);gap:60px}
@media(max-width:900px){
 .lc-g{grid-template-columns:1fr}
 .lc-map{aspect-ratio:4/3}
}


/* =========================================================
   사업영역 공통 (금형 및 생산 / 2차전지 재사용 / 자동차 부품 개발 / 조선 선박 부품)
   ========================================================= */
.bz-img{position:relative;overflow:hidden;border-radius:20px;background:#eef1f5}
.bz-img::before{content:"IMAGE  " attr(data-size);position:absolute;inset:0;display:grid;place-items:center;border:1px dashed #c9d2df;border-radius:inherit;color:#9aa6b8;font:500 13px Poppins,sans-serif;letter-spacing:.1em}
.bz-img img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}
.bz-vis{aspect-ratio:3/1}

/* 블록 */
.bz-blk{margin-top:clamp(80px,9vw,170px)}
.bz-tt{margin-bottom:clamp(28px,3vw,56px)}
.bz-tt em{display:block;color:var(--sky);font:600 clamp(13px,.9vw,17px) Poppins,sans-serif;font-style:normal;letter-spacing:.14em}
.bz-tt h3{margin-top:clamp(10px,1vw,16px);font-size:clamp(24px,2.1vw,40px);font-weight:700;letter-spacing:-.02em}
.bz-tt p{margin-top:clamp(12px,1.2vw,20px);color:#555;font-size:clamp(15px,1.05vw,20px);line-height:1.7}
.sp-nv .bz-tt p{color:rgba(255,255,255,.7)}
.bz-sub{margin:clamp(28px,2.6vw,48px) 0 14px;font-size:clamp(16px,1.15vw,21px);font-weight:700}

/* 카드 그리드 */
.bz-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bz-cards.c3{grid-template-columns:repeat(3,1fr)}
.bz-cards.c5{grid-template-columns:repeat(5,1fr)}
.bz-card{display:flex;flex-direction:column;border-radius:20px;background:#f8f8f8;overflow:hidden}
.bz-card>.bz-img{aspect-ratio:4/3;border-radius:0}
.bz-cb{flex:1;padding:clamp(22px,2vw,36px)}
.bz-cb .n{color:var(--sky);font:500 clamp(14px,.95vw,18px) Poppins,sans-serif}
.bz-cb h4{margin-top:clamp(10px,1vw,16px);font-size:clamp(18px,1.35vw,26px);font-weight:700;line-height:1.35}
.bz-cb em{display:block;margin-top:4px;color:rgba(15,15,17,.45);font:500 clamp(13px,.85vw,16px) Poppins,sans-serif;font-style:normal}
.bz-cb p{margin-top:14px;color:#444;font-size:clamp(14px,.95vw,18px);line-height:1.6}
.bz-cb .bz-ls{margin-top:clamp(16px,1.4vw,24px);padding-top:clamp(16px,1.4vw,24px);border-top:1px solid #e2e2e2}

/* 점 목록 */
.bz-ls{display:flex;flex-direction:column;gap:8px}
.bz-ls li{position:relative;padding-left:14px;color:#444;font-size:clamp(14px,.95vw,18px);line-height:1.5}
.bz-ls li::before{content:"";position:absolute;left:0;top:.65em;width:5px;height:5px;border-radius:50%;background:var(--sky)}

/* 이미지 + 글*/
.bz-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,5.1vw,98px)}
.bz-row>.bz-img{aspect-ratio:5/4}
.bz-row.rev>.bz-img{order:2}
.bz-two{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,3vw,60px);margin-top:clamp(36px,3.6vw,64px)}
.bz-row>*,.bz-two>*{min-width:0}

/* 흐름 */
.bz-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.bz-flow li{display:flex;align-items:center;gap:10px}
.bz-flow li:not(:last-child)::after{content:"";width:7px;height:7px;border-top:1.5px solid var(--sky);border-right:1.5px solid var(--sky);transform:rotate(45deg)}
.bz-flow span{display:inline-flex;flex-direction:column;padding:10px 18px;border-radius:14px;background:#f8f8f8;font:600 clamp(14px,.95vw,17px)/1.35 Poppins,'Pretendard Variable',Pretendard,sans-serif}
.bz-flow small{color:rgba(15,15,17,.5);font:500 .8em 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif}
.bz-flow.lg span{padding:clamp(16px,1.4vw,24px) clamp(22px,2vw,36px);font-size:clamp(17px,1.35vw,26px)}
.sp-nv .bz-flow span{background:rgba(255,255,255,.1);color:#fff}
.sp-nv .bz-flow small{color:rgba(255,255,255,.6)}
.bz-row .bz-flow,.bz-row .bz-chk{margin-top:clamp(24px,2.4vw,40px)}

/* 체크*/
.bz-chk{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}
.bz-chk.c1{grid-template-columns:1fr}
.bz-chk li{position:relative;padding-left:30px;font-size:clamp(15px,1.05vw,19px);font-weight:500;line-height:1.55}
.bz-chk li::before{content:"";position:absolute;left:0;top:.2em;width:20px;height:20px;border-radius:50%;background:var(--sky)}
.bz-chk li::after{content:"";position:absolute;left:7px;top:calc(.2em + 4px);width:5px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
.bz-chk b{font-weight:700}
.sp-nv .bz-chk li{color:rgba(255,255,255,.88);font-weight:400}
.sp-nv .bz-chk b{color:#fff}

/* 태그 */
.bz-tags{display:flex;flex-wrap:wrap;gap:8px}
.bz-tags span{padding:8px 16px;border-radius:999px;background:#f8f8f8;font-size:clamp(14px,.9vw,17px);font-weight:500}
.sp-nv .bz-tags span{background:rgba(255,255,255,.12);color:#fff}
.bz-tags .k{background:#001031;color:#fff}

/* 와이드 배경 */
.sp-band .bz-card,.sp-band .bz-case li,.sp-band .bz-tags span,.sp-band .bz-flow span{background:#fff}
.dk .bz-tt p{color:rgba(255,255,255,.7)}
.dk .bz-flow span,.dk .bz-tags span{background:rgba(255,255,255,.1);color:#fff}
.dk .bz-flow small{color:rgba(255,255,255,.6)}
.dk .bz-chk li{color:rgba(255,255,255,.88);font-weight:400}
.dk .bz-chk b{color:#fff}
.dk .bz-row{align-items:start}
.dk .bz-row .bz-flow{margin-top:0}

/* 네이비 블록 - 공정, BSS  */
.bz-nv{padding:clamp(32px,4vw,80px);border-radius:20px}

/* 공정 단계 */
.bz-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(10px,1vw,16px)}
.bz-steps li{position:relative;display:flex;flex-direction:column;min-height:clamp(150px,11vw,200px);padding:clamp(18px,1.6vw,28px);border-radius:16px;overflow:hidden;background:linear-gradient(160deg,#123a78,#001031 75%);color:#fff;transition:opacity 1.1s ease var(--d,0s),transform 1.2s var(--e) var(--d,0s),box-shadow .5s}
.bz-steps li::before{content:"";position:absolute;right:-40%;top:-60%;width:90%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(0,162,243,.3),transparent 65%);pointer-events:none;transition:transform 1s var(--e)}
.bz-steps li:hover{box-shadow:0 18px 36px rgba(0,16,49,.25)}
.bz-steps li:hover::before{transform:scale(1.4)}
/* .bz-steps li:last-child{background:linear-gradient(160deg,#18b2ff,#0070c9 80%)} */
.bz-steps li>*{position:relative}
.bz-steps .n{color:var(--sky);font:600 clamp(18px,1.4vw,26px)/1 Poppins,sans-serif}
.bz-steps .ic{position:absolute;top:clamp(16px,1.4vw,24px);right:clamp(16px,1.4vw,24px);width:clamp(28px,2.1vw,40px);height:auto;fill:none;stroke:var(--sky);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s var(--e)}
/* .bz-steps li:last-child .n,.bz-steps li:last-child .ic{color:#fff;stroke:#fff} */
.bz-steps li:hover .ic{transform:translateY(-3px)}
.bz-steps p{margin-top:auto;padding-top:24px;color:rgba(255,255,255,.9);font-size:clamp(14px,1vw,18px);font-weight:500;line-height:1.5}

/* 사양 표 */
.bz-tw{overflow-x:auto;border:1px solid #e6e6e6;border-radius:16px;background:#fff}
.bz-tbl{width:100%;min-width:460px;border-collapse:collapse;font-size:clamp(14px,.95vw,17px);line-height:1.5}
.bz-tbl th,.bz-tbl td{padding:clamp(12px,1vw,16px) clamp(14px,1.2vw,20px);border-bottom:1px solid #eee;text-align:left;vertical-align:middle}
.bz-tbl thead th{background:#001031;color:#fff;font-weight:600}
.bz-tbl tbody th{background:#f8f8f8;font-weight:600;white-space:nowrap}
.bz-tbl td{color:#333}
.bz-tbl tr:last-child>*{border-bottom:0}
.bz-tbl [rowspan]{border-right:1px solid #eee}

/* 적용 사례 */
.bz-case{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.bz-case li{border-radius:20px;background:#f8f8f8;overflow:hidden}
.bz-case .bz-img{aspect-ratio:4/3;border-radius:0}
.bz-case .b{padding:clamp(18px,1.6vw,28px)}
.bz-case strong{display:block;font:600 clamp(22px,1.7vw,32px)/1.1 Poppins,'Pretendard Variable',Pretendard,sans-serif}
.bz-case .v{display:block;margin-top:6px;color:var(--sky);font:600 clamp(15px,1.05vw,19px) Poppins,sans-serif}
.bz-case small{display:block;margin-top:10px;color:rgba(15,15,17,.5);font-size:clamp(13px,.85vw,15px)}
.bz-note{margin-top:14px;color:#888;font-size:14px;text-align:right}
.bz-more{margin-top:clamp(24px,2.4vw,40px);padding:clamp(22px,2vw,36px) clamp(22px,2.2vw,40px);border-radius:20px;background:#fff}
.bz-more h4{margin-bottom:clamp(12px,1.2vw,20px);font-size:clamp(15px,1.05vw,19px);font-weight:700}
.bz-more ul{display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(16px,2vw,40px)}
.bz-more li{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:12px 0;border-top:1px solid #eee}
.bz-more b{font:600 clamp(15px,1.05vw,19px) Poppins,'Pretendard Variable',Pretendard,sans-serif}
.bz-more span{color:var(--sky);font:600 clamp(14px,.95vw,17px) Poppins,sans-serif}
.bz-more small{margin-left:auto;color:rgba(15,15,17,.5);font-size:clamp(13px,.85vw,15px)}
@media(max-width:1100px){.bz-more ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.bz-more ul{grid-template-columns:1fr}}

/* 정의 목록 (항목, 내용) */
.bz-dl>div{display:grid;grid-template-columns:clamp(90px,8vw,140px) 1fr;gap:16px;padding:clamp(16px,1.4vw,24px) 0;border-bottom:1px solid #eee;font-size:clamp(15px,1.05vw,20px);line-height:1.6}
.bz-dl>div:first-child{border-top:2px solid #001031}
.bz-dl dt{font-weight:700}
.bz-dl dd{color:#444}

@media(max-width:1100px){
 .bz-cards,.bz-cards.c3{grid-template-columns:repeat(2,1fr)}
 .bz-cards.c5,.bz-case{grid-template-columns:repeat(3,1fr)}
 .bz-steps{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
 .bz-row,.bz-two{grid-template-columns:1fr}
 .bz-row.rev>.bz-img{order:0}
 .bz-vis{aspect-ratio:4/3}
}
@media(max-width:600px){
 .bz-cards,.bz-cards.c3{grid-template-columns:1fr}
 .bz-cards.c5,.bz-case{grid-template-columns:repeat(2,1fr)}
 .bz-chk{grid-template-columns:1fr}
 .bz-steps{grid-template-columns:repeat(2,1fr)}
 .bz-steps li{min-height:140px}
 .bz-flow li{width:100%;flex-direction:column;align-items:center}
 .bz-flow li:not(:last-child)::after{margin-left:0;transform:rotate(135deg)}
 .bz-flow span{flex:none;width:100%;align-items:center;text-align:center}
}


/* =========================================================
   인증 현황
   ========================================================= */
.ct-grp+.ct-grp,.ct-grp.sp-band+.ct-grp{margin-top:clamp(80px,9vw,170px)}

/* 그룹 헤더 */
.ct-hd{display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:10px clamp(20px,2.4vw,44px);margin-bottom:clamp(18px,1.6vw,28px);padding-bottom:clamp(18px,1.6vw,28px);border-bottom:2px solid #001031}
.ct-org b{display:block;color:#001031;font:700 clamp(30px,2.6vw,50px)/1 Poppins,sans-serif;letter-spacing:-.01em}
.ct-org span{display:block;margin-top:10px;font-size:clamp(15px,1.05vw,20px);font-weight:700}
.ct-hd p{color:#666;font-size:clamp(14px,.95vw,17px);line-height:1.5}
.ct-tot{color:rgba(15,15,17,.5);font:500 clamp(13px,.9vw,16px) Poppins,sans-serif;font-style:normal;white-space:nowrap}
.ct-tot span{margin-left:6px;color:var(--sky);font-weight:600}

/* 테이블 */
.ct-tw{overflow:hidden;border-radius:16px}
.ct-tbl{width:100%;border-collapse:collapse;font-size:clamp(14px,.95vw,17px);line-height:1.5}
.ct-tbl th{padding:clamp(13px,1vw,16px) 14px;background:#f8f8f8;color:#333;font-weight:600;white-space:nowrap; text-align:center;}
.ct-tbl td{padding:clamp(16px,1.3vw,22px) 14px;border-bottom:1px solid #eee;color:#555;text-align:center}
.ct-tbl td.l{color:var(--ink);font-weight:500;text-align:left}
.ct-tbl tr:last-child td{border-bottom:0}
.ct-tbl tbody tr{transition:background .3s}
.ct-tbl tbody tr:hover{background:#fafbfd}
.sp-band .ct-tbl{background:#fff}
.sp-band .ct-tbl th{background:#001031;color:#fff}

/* 인증서 버튼 */
.ct-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid #001031;border-radius:999px;background:#fff;color:#001031;font:600 clamp(13px,.85vw,15px) 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s}
.ct-btn::after{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") center/contain no-repeat}
.ct-btn:hover,.ct-btn:focus-visible{background:#001031;color:#fff}

/* 팝업 */
.ct-md{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;background:rgba(0,10,30,.8);backdrop-filter:blur(6px)}
.ct-md[hidden]{display:none}
.ct-md-bx{display:flex;flex-direction:column;width:min(460px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 30px 60px rgba(0,0,0,.35);animation:ctin .45s var(--e)}
@keyframes ctin{from{opacity:0;transform:translateY(24px)}}
.ct-md-hd{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 18px 26px;background:linear-gradient(160deg,#123a78,#001031 70%);color:#fff}
.ct-md-hd h4{font-size:clamp(16px,1.15vw,20px);font-weight:700;line-height:1.4}
.ct-md-hd p{margin-top:2px;color:var(--sky);font-size:clamp(13px,.85vw,15px)}
.ct-x{position:relative;flex:none;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.12);cursor:pointer;transition:background .3s}
.ct-x:hover{background:rgba(255,255,255,.25)}
.ct-x::before,.ct-x::after{content:"";position:absolute;left:50%;top:50%;width:18px;height:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.ct-x::after{transform:translate(-50%,-50%) rotate(-45deg)}
.ct-md-im{min-height:0;overflow:auto;padding:clamp(16px,2vw,28px);background:#f8f8f8}
.ct-md-im img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 10px 24px rgba(0,16,49,.12)}
.ct-md-im.empty img{display:none}
.ct-md-im.empty::before{content:"IMAGE  " attr(data-size);display:grid;place-items:center;aspect-ratio:600/850;max-height:60vh;margin:0 auto;background:#fff;color:#9aa6b8;font:500 13px Poppins,sans-serif;letter-spacing:.08em}

@media(max-width:820px){
 .ct-hd{grid-template-columns:1fr;align-items:start}
 .ct-tw{border-radius:0}
 .ct-tbl thead{display:none}
 .ct-tbl,.ct-tbl tbody,.ct-tbl tr,.ct-tbl td{display:block;width:100%}
 .ct-tbl tr{padding:16px 0;border-bottom:1px solid #e2e2e2}
 .sp-band .ct-tbl tr{padding:16px 18px}
 .ct-tbl td{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:4px 0;border:0;text-align:left}
 .ct-tbl td::before{content:attr(data-label);color:#999;font-size:13px}
 .ct-tbl td:last-child{display:block;margin-top:12px}
 .ct-tbl td:last-child::before{display:none}
 .ct-btn{width:100%;justify-content:center}
 .sp-band .ct-tbl{border-radius:16px}
}


/* =========================================================
   설비 보유 현황 (프레스 / 레이디얼·밀링 / 기타)
   ========================================================= */
.sp-hd .eq-total{color:var(--blue);font-weight:700}
.eq-g{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,28px)}
.eq-c{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:#f8f8f8;transition:opacity 1.1s ease var(--d,0s),transform 1.2s var(--e) var(--d,0s),box-shadow .5s}
.eq-c:hover{box-shadow:0 18px 36px rgba(0,16,49,.1)}
.eq-im{position:relative;aspect-ratio:1;margin:clamp(10px,.9vw,16px) clamp(10px,.9vw,16px) 0;border-radius:14px;overflow:hidden;background:#fff}
.eq-im::before{content:"IMAGE  " attr(data-size);position:absolute;inset:0;display:grid;place-items:center;border:1px dashed #d3dae5;border-radius:inherit;color:#9aa6b8;font:500 12px Poppins,sans-serif;letter-spacing:.08em}
.eq-im img{position:absolute;inset:0;z-index:1;width:100%;height:100%;padding:7%;object-fit:contain;background:#fff;transition:transform .8s var(--e)}
.eq-c:hover .eq-im img{transform:scale(1.04)}
.eq-tx{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:clamp(18px,1.6vw,28px) clamp(18px,1.8vw,30px) clamp(20px,1.8vw,30px)}
.eq-tx em{display:block;margin-bottom:8px;color:var(--sky);font:600 clamp(12px,.8vw,14px) Poppins,sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.eq-tx h4{font:600 clamp(19px,1.45vw,26px)/1.3 Poppins,'Pretendard Variable',Pretendard,sans-serif}
.eq-tx p{margin-top:6px;color:rgba(15,15,17,.5);font:500 clamp(13px,.9vw,16px)/1.4 Poppins,'Pretendard Variable',Pretendard,sans-serif}
.eq-q{flex:none;display:inline-flex;align-items:baseline;gap:3px;padding:8px 14px;border-radius:999px;background:#001031;color:#fff;font:600 clamp(15px,1.05vw,19px)/1 Poppins,sans-serif}
.eq-q small{font:500 .75em 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif;opacity:.8}
@media(max-width:820px){.eq-g{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.eq-g{grid-template-columns:1fr} .eq-im{aspect-ratio:1/1}}


/* =========================================================
   보유기술
   ========================================================= */
/* 핵심 역량 (3×2) */
.tc-core{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.4vw,24px)}
.tc-c{position:relative;padding:clamp(26px,2.4vw,44px);border-radius:20px;background:#f8f8f8;transition:opacity 1.1s ease var(--d,0s),transform 1.2s var(--e) var(--d,0s),box-shadow .5s,background .5s}
.tc-c:hover{background:#fff;box-shadow:0 20px 40px rgba(0,16,49,.08)}
.tc-ic{display:grid;place-items:center;width:clamp(52px,3.8vw,68px);aspect-ratio:1;border-radius:50%;background:linear-gradient(160deg,#123a78,#001031 70%)}
.tc-ic svg{width:46%;fill:none;stroke:var(--sky);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tc-c .n{position:absolute;top:clamp(26px,2.4vw,44px);right:clamp(26px,2.4vw,44px);color:#d5dae2;font:600 clamp(20px,1.6vw,30px)/1 Poppins,sans-serif}
.tc-c h4{margin-top:clamp(20px,1.8vw,32px);font-size:clamp(19px,1.45vw,26px);font-weight:700}
.tc-c em{display:block;margin-top:4px;color:var(--sky);font:600 clamp(12px,.8vw,14px) Poppins,sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.tc-c p{margin-top:clamp(12px,1vw,18px);color:#555;font-size:clamp(14px,.95vw,17px);line-height:1.65}

/* 성형해석: CAD·CAM·CAE 다이어그램 */
.tc-venn{position:relative;width:min(100%,460px);aspect-ratio:1;margin:0 auto}
.tc-ring{position:absolute;inset:14%;border:1.5px dashed #b9c4d6;border-radius:50%}
.tc-venn i{position:absolute;display:grid;place-items:center;width:34%;aspect-ratio:1;border-radius:50%;color:#fff;font:600 clamp(16px,1.4vw,24px) Poppins,sans-serif;font-style:normal;mix-blend-mode:multiply}
.tc-venn .cae{left:33%;top:18%;background:#2f8f9d}
.tc-venn .cam{left:21%;top:42%;background:#355fab}
.tc-venn .cad{left:46%;top:42%;background:#3fb3d8}

.tc-venn b{position:absolute;padding:8px 16px;border-radius:999px;background:#fff;box-shadow:0 6px 16px rgba(0,16,49,.08);color:var(--ink);font:600 clamp(12px,.9vw,15px) Poppins,sans-serif;white-space:nowrap}
.tc-venn .p1{left:0;bottom:6%}
.tc-venn .p2{right:0;top:6%}
.tc-venn .p3{right:0;bottom:6%}
.tc-venn .p4{left:0;top:6%}
.tc-shots{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,1.4vw,24px);margin-top:clamp(40px,4vw,80px)}
.tc-shots .bz-img{aspect-ratio:16/10;background:#fff}

/* 특허 */
.tc-pat{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.4vw,24px)}
.tc-p{display:flex;flex-direction:column;min-height:clamp(220px,15vw,280px);padding:clamp(26px,2.4vw,44px);border-radius:20px}
.tc-st{align-self:flex-start;padding:5px 12px;border-radius:999px;background:rgba(0,162,243,.18);color:var(--sky);font:600 clamp(12px,.8vw,14px) 'Pretendard Variable',Pretendard,'Noto Sans KR',sans-serif}
.tc-p strong{margin-top:auto;padding-top:28px;font:600 clamp(22px,1.8vw,34px)/1.2 Poppins,'Pretendard Variable',Pretendard,sans-serif}
.tc-p p{margin-top:12px;color:rgba(255,255,255,.75);font-size:clamp(15px,1.05vw,19px);line-height:1.55}

/* 연구개발 */
.tc-rd{display:flex;flex-direction:column;gap:12px;margin-top:clamp(24px,2.4vw,40px)}
.tc-rd li{padding:clamp(20px,1.8vw,30px);border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(255,255,255,.06)}
.tc-rd span{color:var(--sky);font-size:clamp(12px,.82vw,14px);font-weight:600}
.tc-rd b{display:block;margin-top:8px;font-size:clamp(17px,1.25vw,22px);font-weight:700;line-height:1.4}
.tc-rd p{margin-top:6px;color:rgba(255,255,255,.65);font-size:clamp(14px,.95vw,17px)}
.dk .bz-sub{/* margin-top:0; */color:#fff}

.tc-sw{table-layout:fixed}
.tc-sw th,.tc-sw td{text-align:center}

@media(max-width:1100px){
 .tc-core,.tc-pat{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:820px){
 .tc-venn{width:min(100%,380px)}
}
@media(max-width:600px){
 .tc-core,.tc-pat,.tc-shots{grid-template-columns:1fr}
 .tc-p{min-height:0}
}