/* 회사소개 > 회사 개요 "CMC테크 구조도" v3.2 (2026-10-28 Claude)
   - 깊은 남색 무대 위, 발광 구(球) 코어 하나와 유리 타일 6장. 타일은 코어를 도는 하나의 얇은 타원 궤도 위에 앉고,
     코어 테두리 고리의 포트에서 각 타일로 곧은 머리카락 선이 이어진다(휘어진 점선 없음). 첫 화면(hero-connected)의 궤도·조명 어법과 같은 계열.
   - 색은 청색 단계(#e8f4ff #bfe3ff #8fd0ff #5bb8ff #3d8cff #2f6bf0 #2a4fd0 #1e3a9e #142866 #0a1540 #050b24)와 흰색·회청색 글자만 쓴다.
   - 내용(코어의 회사 정보, 노드 6개의 번호·제목·설명)은 company-overview-v3.js 가 기존 마크업에서 그대로 읽어 온다(한/영 공통).
   - 모든 클래스 cv- 접두사. 기존 .company-overview-network 규칙은 .cov3 로 덮어쓴다. 조직도(.company-organization)는 건드리지 않는다. */
#companyFoundation .company-overview-network.cov3,.company-overview-network.cov3{--cv-ink:#eaf1ff;--cv-dim:#b7c6e2;--cv-base:#050b24;--cv-navy:#0a1540;--cv-deep:#142866;--cv-royal:#1e3a9e;--cv-blue:#2f6bf0;--cv-sky:#3d8cff;--cv-light:#5bb8ff;--cv-pale:#8fd0ff;--cv-ice:#bfe3ff;--live-c:transparent;position:relative;isolation:isolate;display:block;height:auto!important;min-height:0;max-height:none!important;aspect-ratio:1200/800;padding:0!important;overflow:hidden;background:var(--cv-base)!important;background-image:radial-gradient(ellipse 62% 70% at 50% 46%,#142866 0%,#0a1540 48%,#050b24 100%)!important;color:var(--cv-ink);font-family:'Noto Sans KR','Manrope',sans-serif;container-type:inline-size}
.company-overview-network.cov3::before{display:none!important}
/* ---- 배경: 부드러운 청색 조명 · 원근 바닥 격자 · 미세 입자 ---- */
.cv-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;perspective:900px}
.cv-aurora{position:absolute;border-radius:50%;filter:blur(64px);mix-blend-mode:screen;opacity:.34;width:48%;aspect-ratio:1;animation:cv-drift 26s ease-in-out infinite alternate}
.cv-a1{left:-14%;top:-34%;background:radial-gradient(circle,var(--cv-blue),transparent 64%)}
.cv-a2{right:-12%;top:-28%;background:radial-gradient(circle,var(--cv-sky),transparent 64%);animation-delay:-9s;animation-duration:31s}
.cv-a3{left:30%;bottom:-44%;background:radial-gradient(circle,var(--cv-light),transparent 64%);opacity:.22;animation-delay:-16s;animation-duration:36s}
@keyframes cv-drift{from{transform:translate(0,0) scale(1)}to{transform:translate(4%,3%) scale(1.12)}}
.cv-floor{position:absolute;left:-30%;right:-30%;bottom:-18%;height:66%;transform-origin:50% 100%;transform:rotateX(70deg);background-image:linear-gradient(#3d8cff1c 1px,transparent 1px),linear-gradient(90deg,#3d8cff1c 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(180deg,transparent 0,#000 55%,#000 100%);animation:cv-floor 9s linear infinite}
@keyframes cv-floor{from{background-position:0 0,0 0}to{background-position:0 72px,0 0}}
.cv-glow{position:absolute;left:50%;top:50%;width:70%;aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,#2f6bf02e 0%,#2f6bf012 32%,transparent 62%)}
.cv-dust{position:absolute;inset:0;background-image:radial-gradient(circle,#bfe3ff55 0 1px,transparent 1.5px),radial-gradient(circle,#e8f4ff3a 0 1px,transparent 1.5px);background-size:150px 150px,230px 230px;background-position:0 0,80px 50px;opacity:.5;mask-image:radial-gradient(ellipse at 50% 50%,#000 25%,transparent 80%)}
/* ---- 무대 ---- */
.cv-stage{position:absolute;inset:0;z-index:1;perspective:1600px;perspective-origin:50% 42%}
.cv-links{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* 궤도 타원 2개(타일이 앉는 궤도 + 바깥 희미한 궤도), 코어 포트 고리, 고리를 도는 밝은 호 */
.cv-orbit{fill:none;stroke:#8fd0ff;stroke-width:1;opacity:0;transition:opacity 1.4s ease .3s}
.cov3.is-in .cv-orbit{opacity:.26}
.cov3.is-in .cv-orbit-outer{opacity:.09}
.cv-rim{fill:none;stroke:#8fd0ff;stroke-width:1;opacity:.3}
.cv-rim-arc{fill:none;stroke:#bfe3ff;stroke-width:2;stroke-linecap:round;opacity:.8;filter:drop-shadow(0 0 4px #8fd0ff)}
/* 곧은 연결선: 포트에서 타일로, 등장 때 그려지고 강조 때 밝아진다 */
.cv-link{fill:none;stroke:#8fd0ff;stroke-width:1;opacity:.36;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s ease .55s,opacity .6s ease,stroke-width .6s ease}
.cov3.is-in .cv-link{stroke-dashoffset:0}
.cv-link.is-live{stroke:#e8f4ff;stroke-width:1.6;opacity:.95;filter:drop-shadow(0 0 5px #8fd0ff)}
.cv-port{fill:#0a1540;stroke:#8fd0ff;stroke-width:1.2;opacity:.75;transition:fill .5s,opacity .5s,r .5s}
.cv-port.is-live{fill:#e8f4ff;stroke:#e8f4ff;opacity:1;filter:drop-shadow(0 0 7px #bfe3ff)}
/* 궤도를 도는 위성 점 */
.cv-sat{fill:#e8f4ff;filter:drop-shadow(0 0 6px #8fd0ff) drop-shadow(0 0 14px #3d8cff)}
.cv-sat2{fill:#bfe3ff;opacity:.7}
/* ---- 코어 ---- */
.cv-core{position:absolute;left:50%;top:50%;width:clamp(240px,27cqw,330px);transform:translate(-50%,-50%);display:grid;place-items:center;text-align:center;opacity:0;scale:.86;transition:opacity 1s ease,scale 1s cubic-bezier(.2,.9,.3,1.05)}
.cov3.is-in .cv-core{opacity:1;scale:1}
.cv-core-halo{position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#3d8cff5c 0%,#2f6bf02e 34%,transparent 66%);filter:blur(18px);animation:cv-breathe 8s ease-in-out infinite}
@keyframes cv-breathe{0%,100%{opacity:.7;scale:1}50%{opacity:1;scale:1.05}}
.cv-core::after{content:'';position:absolute;inset:4%;border-radius:50%;z-index:-1;box-shadow:0 0 70px 16px color-mix(in srgb,var(--live-c,transparent) 34%,transparent);transition:box-shadow .9s ease;pointer-events:none}
.cv-core-body{position:relative;width:100%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(5px,.7cqw,9px);padding:9% 10%;box-sizing:border-box;background:radial-gradient(circle at 36% 26%,#1e3a9e 0%,#142866 38%,#0a1540 74%,#050b24 100%);border:1px solid #bfe3ff40;box-shadow:inset 0 0 0 1px #ffffff0a,inset -18px -24px 60px #050b24,inset 10px 12px 40px #3d8cff2e,0 30px 80px #050b24e6}
.cv-core-body::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 30% 18%,#ffffff38 0%,#ffffff0a 26%,transparent 50%);pointer-events:none}
/* 로고 칸은 고정 크기 블록: 이미지 비율로 칸이 커져 "SINCE 1994" 줄을 덮는 일이 없게 한다 */
.cv-core-logo{display:block;flex:none;width:clamp(116px,13cqw,160px);height:clamp(46px,5.4cqw,68px);margin-bottom:2px;overflow:hidden}
.cv-core-logo img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 10px #050b24) drop-shadow(0 0 16px #5bb8ff66)}
.cov3 .cv-core-name{margin:0;font-size:clamp(17px,2cqw,24px);font-weight:800;letter-spacing:-.03em;color:#fff!important;-webkit-text-fill-color:#fff;text-shadow:0 2px 16px #050b24}
.cov3 .cv-node h4{color:#fff!important;-webkit-text-fill-color:#fff}.cov3 .cv-core-facts dd{color:#eaf1ff!important}.cov3 .cv-node p{color:var(--cv-dim)!important}
.cv-core-sub{margin:0;font:700 clamp(8px,.78cqw,10px)/1 'Manrope',sans-serif;letter-spacing:.24em;color:#8fd0ff}
.cv-core-facts{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:5px 0 0;padding:0;text-align:left;font-size:clamp(9px,.95cqw,12px);line-height:1.45;width:max-content;max-width:100%;box-sizing:border-box}
.cv-core-facts dt{color:#8fd0ffd9;font-weight:700;letter-spacing:.04em;white-space:nowrap}
.cv-core-facts dd{margin:0;color:#eaf1ff;font-weight:600;word-break:keep-all}
.cv-core-facts dd span{color:#b7c6e2;font-weight:500}
/* ---- 노드 타일 ---- */
.cv-node{position:absolute;left:var(--x);top:var(--y);width:clamp(176px,20cqw,250px);min-height:clamp(118px,13.5cqw,164px);padding:clamp(12px,1.4cqw,18px) clamp(14px,1.6cqw,20px);box-sizing:border-box;border-radius:16px;color:var(--cv-ink);text-align:left;background:linear-gradient(160deg,#142866d9,#0a1540ea);border:1px solid #bfe3ff2e;box-shadow:0 24px 50px #050b24b3,inset 0 1px 0 #ffffff1f;backdrop-filter:blur(8px);transform-style:preserve-3d;transform:translate(-50%,-50%) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) translateZ(0);opacity:0;transition:transform .9s cubic-bezier(.2,.9,.3,1.05),opacity .9s ease,box-shadow .5s,border-color .5s;transition-delay:var(--d,0s)}
.cov3:not(.is-in) .cv-node{transform:translate(-50%,-50%) translate(var(--fx),var(--fy)) scale(.94)}
.cov3.is-in .cv-node{opacity:1;animation:cv-float 8s ease-in-out infinite;animation-delay:calc(var(--d,0s) * 4)}
@keyframes cv-float{0%,100%{margin-top:0}50%{margin-top:-5px}}
.cv-node::before{content:'';position:absolute;left:18px;right:18px;top:0;height:2px;border-radius:2px;background:linear-gradient(90deg,transparent,var(--c),transparent);opacity:.9}
.cv-node::after{content:'';position:absolute;inset:0;border-radius:16px;background:radial-gradient(ellipse at 18% 0%,color-mix(in srgb,var(--c) 22%,transparent),transparent 55%);pointer-events:none}
.cv-node:hover,.cv-node.is-live{transform:translate(-50%,-50%) rotateY(0deg) rotateX(0deg) translateZ(34px) scale(1.03);border-color:color-mix(in srgb,var(--c) 70%,#fff);box-shadow:0 34px 70px #050b24d9,0 0 0 1px color-mix(in srgb,var(--c) 55%,transparent),0 0 44px color-mix(in srgb,var(--c) 30%,transparent);z-index:5;transition-delay:0s}
.cv-node.is-live{animation:cv-float 8s ease-in-out infinite,cv-pop .6s ease-out 1}
.cv-node:hover .cv-node-icon,.cv-node.is-live .cv-node-icon{box-shadow:0 0 26px var(--c),inset 0 0 14px color-mix(in srgb,var(--c) 40%,transparent);background:color-mix(in srgb,var(--c) 30%,#0a1540)}
.cv-node.is-live h4{text-shadow:0 0 14px color-mix(in srgb,var(--c) 60%,transparent)}
.cv-node:hover .cv-node-dot,.cv-node.is-live .cv-node-dot{opacity:1;box-shadow:0 0 12px var(--c),0 0 24px color-mix(in srgb,var(--c) 60%,transparent)}
@keyframes cv-pop{0%{filter:brightness(1)}35%{filter:brightness(1.25)}100%{filter:brightness(1)}}
.cv-node-head{display:flex;align-items:center;gap:10px;margin-bottom:clamp(6px,.8cqw,10px)}
.cv-node-icon{flex:none;display:grid;place-items:center;width:clamp(34px,3.6cqw,44px);height:clamp(34px,3.6cqw,44px);border-radius:12px;background:color-mix(in srgb,var(--c) 16%,#0a1540);border:1px solid color-mix(in srgb,var(--c) 50%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--c) 28%,transparent),inset 0 0 12px color-mix(in srgb,var(--c) 22%,transparent);color:var(--c);transition:box-shadow .5s,background .5s}
.cv-node-icon svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cv-node-num{font:800 clamp(9px,.85cqw,11px)/1 'Manrope',sans-serif;letter-spacing:.22em;color:var(--c)}
.cv-node h4{margin:2px 0 0;font-size:clamp(14px,1.4cqw,18px);line-height:1.18;letter-spacing:-.03em;color:#fff;word-break:keep-all}
.cv-node h4 br{display:none}
.cv-node p{margin:0;font-size:clamp(10.5px,1cqw,13px);line-height:1.6;color:var(--cv-dim);word-break:keep-all}
.cv-node-dot{position:absolute;right:14px;bottom:14px;width:6px;height:6px;border-radius:50%;background:var(--c);opacity:.55;box-shadow:0 0 8px color-mix(in srgb,var(--c) 60%,transparent);transition:opacity .5s,box-shadow .5s}
/* 노드 배치(타원 궤도 위 6점) · 완만한 기울기(중앙을 향해 오목) · 등장 방향 */
.cv-node.cv-n1{--x:24%;--y:18%;--ry:9deg;--rx:-4deg;--d:.1s;--fx:10%;--fy:16%}
.cv-node.cv-n2{--x:76%;--y:18%;--ry:-9deg;--rx:-4deg;--d:.2s;--fx:-10%;--fy:16%}
.cv-node.cv-n3{--x:13%;--y:50%;--ry:12deg;--rx:0deg;--d:.3s;--fx:16%;--fy:0}
.cv-node.cv-n4{--x:87%;--y:50%;--ry:-12deg;--rx:0deg;--d:.4s;--fx:-16%;--fy:0}
.cv-node.cv-n5{--x:24%;--y:82%;--ry:9deg;--rx:4deg;--d:.5s;--fx:10%;--fy:-16%}
.cv-node.cv-n6{--x:76%;--y:82%;--ry:-9deg;--rx:4deg;--d:.6s;--fx:-10%;--fy:-16%}
.cv-caption{position:absolute;left:24px;bottom:16px;z-index:2;margin:0;font:700 clamp(9px,.8cqw,11px)/1 'Manrope',sans-serif;letter-spacing:.2em;color:#b7c6e299}
.cv-caption b{color:#bfe3ff}
/* ---- 반응형 ---- */
@media(max-width:1180px){.cv-node{--ry:0deg;--rx:0deg}}
@media(max-width:880px){
 #companyFoundation .company-overview-network.cov3,.company-overview-network.cov3{aspect-ratio:auto!important;max-height:none!important}
 .cv-stage{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:26px 16px 22px;perspective:none}
 .cv-links,.cv-floor{display:none}
 .cv-core{position:relative;left:auto;top:auto;grid-column:1/-1;width:min(100%,300px);max-width:100%;margin:0 auto 10px;transform:none}
 .cv-node{position:relative;left:auto;top:auto;width:100%;min-width:0;max-width:100%;min-height:0;transform:none!important;--fx:0;--fy:0}
 .cov3.is-in .cv-node{animation:none}
 .cv-node h4{font-size:15px}.cv-node p{font-size:11.5px}
 .cv-caption{position:relative;left:auto;bottom:auto;padding:0 16px 16px}
}
@media(max-width:480px){.cv-stage{grid-template-columns:1fr}.cv-core{width:min(100%,260px)}}
@media(prefers-reduced-motion:reduce){
 .cov3 *,.cov3 *::before,.cov3 *::after{animation:none!important;transition:none!important}
 .cov3 .cv-node,.cov3 .cv-core{opacity:1;scale:1;transform:translate(-50%,-50%)}
 .cov3 .cv-orbit{opacity:.26}.cov3 .cv-orbit-outer{opacity:.09}.cov3 .cv-link{stroke-dashoffset:0}
 .cov3 .cv-sat,.cov3 .cv-rim-arc{display:none}
}
@media(prefers-reduced-motion:reduce) and (max-width:880px){.cov3 .cv-node,.cov3 .cv-core{transform:none}}
