/* 웰텍 와이어프레임 — 회색 톤, 구조만 */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Pretendard",-apple-system,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;color:#222;background:#fff;font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0 0 .4em;font-weight:700;line-height:1.3}
p{margin:0 0 .6em}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}

/* 와이어프레임 바 */
.wfbar{position:sticky;top:0;z-index:100;background:#1b1b1b;color:#ddd;font-size:12px;padding:6px 16px;display:flex;gap:16px;align-items:center}
.wftag{background:#f5a623;color:#000;font-weight:800;padding:2px 8px;border-radius:3px;letter-spacing:.5px}
.wfpos{margin-left:auto;color:#fff}
.wfnav a{color:#9cf;margin-left:10px}

/* 유틸·헤더 */
.util{background:#f3f3f3;border-bottom:1px solid #ddd;font-size:12px}
.util .wrap{display:flex;justify-content:flex-end;gap:18px;padding-top:5px;padding-bottom:5px}
.util a:nth-last-child(2){border:1px solid #999;padding:0 6px;border-radius:3px}
.hd{border-bottom:2px solid #333;background:#fff;position:relative;z-index:50}
.hd .wrap{display:flex;align-items:center;height:76px;gap:40px}
.logo{font-weight:900;font-size:22px;letter-spacing:1px;border:2px dashed #999;padding:6px 14px}
.logo small{font-weight:400;font-size:11px;color:#888;margin-left:6px}
.gnb{flex:1}
.gnb>ul{display:grid;grid-template-columns:repeat(8,1fr);list-style:none;margin:0;padding:0}
.gnb>ul>li{position:relative}
.gnb>ul>li>a{display:block;padding:26px 6px;font-weight:700;font-size:15px;letter-spacing:-.2px}
.gnb>ul>li.on>a{border-bottom:3px solid #333}
.gnb>ul>li>ul{list-style:none;margin:0;padding:24px 6px 30px;display:none;position:absolute;left:0;top:76px;width:100%}
.gnb>ul>li>ul li.grp{display:none}
.gnb>ul>li>ul li a{display:block;padding:6px 0;font-size:13px;line-height:1.35;color:#444;transition:color .2s,padding .2s}.gnb>ul>li>ul li a:hover{color:var(--accent);padding-left:4px;text-decoration:none}
.gnb>ul>li>ul li a:hover{text-decoration:underline}
.mega-bg{display:none;position:absolute;left:0;right:0;top:76px;background:#fafafa;border-bottom:1px solid #ccc;height:var(--mh,320px);z-index:-1}
.gnb:hover .mega-bg,.gnb:hover>ul>li>ul{display:block}
.ham{display:none;font-size:24px}

/* 서브 비주얼·LNB */
.subvis{background:repeating-linear-gradient(45deg,#e9e9e9 0 10px,#e2e2e2 10px 20px);border-bottom:1px solid #ccc}
.subvis .wrap{padding-top:48px;padding-bottom:48px}
.subvis h2{font-size:32px}
.subvis p{color:#666;font-size:12px}
.lnbwrap{border-bottom:1px solid #ddd;background:#fff}
.lnb{display:flex;overflow-x:auto}
.lnb a{padding:14px 18px;white-space:nowrap;border-right:1px solid #eee;font-size:14px}
.lnb a.on{font-weight:800;border-bottom:3px solid #333}
.phead{position:relative;padding:36px 0 10px}
.crumb{font-size:12px;color:#888;margin-bottom:6px}
.phead h1{font-size:28px}
.pnote{position:absolute;right:0;top:36px;width:280px;background:#fff8e6;border:1px solid #f0c060;font-size:12px;padding:10px 12px;border-radius:4px}
.pnote b{display:block;margin-bottom:4px}
.pnote div span{display:inline-block;width:56px;color:#a06000}
@media(max-width:1100px){.pnote{position:static;width:auto;margin-top:10px}}

/* 블록 */
main.sub{padding-bottom:60px}
main.main{max-width:1280px;margin:0 auto;padding:0 24px 60px}
.blk{border:1px solid #cfcfcf;background:#fff;margin:22px 0;padding:18px 20px;position:relative;border-radius:4px}
.blk-hero{border-color:#999}
.btitle{font-weight:800;font-size:17px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #eee}
.bnote{margin-top:12px;font-size:12px;color:#b05a00;background:#fff4e5;padding:6px 10px;border-left:3px solid #f5a623}
.ph{background:repeating-linear-gradient(135deg,#eee 0 12px,#e4e4e4 12px 24px);border:1px dashed #999;display:flex;align-items:center;justify-content:center;color:#666;font-size:13px;border-radius:3px;width:100%}
.ph.video{background:repeating-linear-gradient(135deg,#ddd 0 12px,#d3d3d3 12px 24px)}
.ph.chart{background:#f5f5f5}
.ph.diag{background:#f7f7f7}
.ph.inline{display:inline-flex;width:120px;min-height:40px!important;vertical-align:middle;margin-left:10px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.four{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cards{display:grid;gap:16px}
.cols-2{grid-template-columns:repeat(2,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-5{grid-template-columns:repeat(5,1fr)}.cols-6{grid-template-columns:repeat(3,1fr)}
.card{border:1px solid #ddd;padding:14px;border-radius:4px;background:#fff}
.card h4{margin:10px 0 4px;font-size:15px}
.card p{font-size:13px;color:#555;margin:0}
.card.news ul{list-style:none;padding:0;margin:0 0 10px}
.card.news li{border-bottom:1px solid #eee;padding:6px 0;font-size:13px;display:flex;justify-content:space-between}
.card.news small{color:#999}
.btns{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-block;border:1px solid #333;padding:7px 16px;font-size:13px;border-radius:3px;background:#fff}
.btn.primary{background:#333;color:#fff}
.btn.sm{padding:3px 10px;font-size:12px}
.stats{display:flex;gap:12px;flex-wrap:wrap}
.stat{flex:1;min-width:120px;text-align:center;border:1px solid #ddd;padding:18px 8px;border-radius:4px}
.stat .num{font-size:26px;font-weight:900}
.stat .lbl{font-size:12px;color:#666;margin-top:4px}
.steps{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.steps li{flex:1;min-width:120px;display:flex;gap:8px;align-items:flex-start;border:1px solid #ddd;padding:10px;border-radius:4px}
.steps .no{background:#333;color:#fff;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.steps small{display:block;color:#777;font-size:12px}
.tabs{display:flex;gap:0;margin-bottom:14px;border-bottom:2px solid #333}
.tabs span{padding:9px 18px;border:1px solid #ccc;border-bottom:0;background:#f5f5f5;font-size:13px}
.tabs span.on{background:#333;color:#fff;border-color:#333}
.filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.chip{border:1px solid #999;border-radius:14px;padding:3px 12px;font-size:12px}
.badges{display:flex;gap:6px;flex-wrap:wrap}
.badge{border:1px solid #777;padding:4px 10px;font-size:12px;border-radius:3px;background:#f7f7f7}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{border:1px solid #ddd;padding:8px 10px;text-align:left;vertical-align:top}
th{background:#f3f3f3;font-weight:700}
table.board td:first-child,table.board th:first-child{width:60px;text-align:center}
table.board td:nth-child(3),table.board td:nth-child(4){width:100px;color:#666}
.bsearch{display:flex;gap:6px;justify-content:flex-end;margin-bottom:10px}
.bsearch .ctl{width:auto;min-width:120px}
.pager{text-align:center;margin-top:14px;letter-spacing:6px;color:#555}
.dl{list-style:none;margin:0;padding:0}
.dl li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #eee;padding:10px 4px}
.dl li span:first-child{flex:1}
.tag{font-size:11px;border:1px solid #bbb;padding:1px 6px;border-radius:3px;color:#666}
.tl{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid #ccc}
.tl li{position:relative;padding:4px 0 4px 16px;font-size:13px}
.tl li:before{content:"";position:absolute;left:-19px;top:11px;width:8px;height:8px;background:#333;border-radius:50%}
.tl b{display:inline-block;width:80px;color:#333}
.form{max-width:720px}
.frow{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;margin-bottom:8px}
.frow label{font-size:13px;font-weight:600}
.ctl{border:1px solid #bbb;background:#fafafa;padding:8px 10px;font-size:13px;color:#888;border-radius:3px;width:100%}
.ctl.ta{min-height:110px}
.ctl.chk{background:#fff;border:0;color:#333}
.quote{text-align:center;font-size:30px;font-weight:900;padding:26px;border:1px dashed #999}
.quote small{display:block;font-size:14px;font-weight:400;color:#666;margin-top:6px}
.vision-hd{position:relative}
.vision-hd h2{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0}
.ceo h3{font-size:20px;margin-bottom:14px}
.ceo p{font-size:15px;line-height:1.8}
.sign{text-align:right;font-weight:700;margin-top:20px}
.hero-copy{padding:26px 0 0}
.hero-copy h1{font-size:40px}
.hero-copy p{font-size:16px;color:#555;max-width:720px}
.cta{text-align:center;padding:16px}
.cta p{font-size:18px;font-weight:700}
.cta .btns{justify-content:center}
.logos{display:flex;gap:10px;flex-wrap:wrap}
.logo.logo{border:1px dashed #aaa}
.logos .logo{font-size:12px;color:#888;padding:16px 28px;font-weight:400;letter-spacing:0}
.num{padding-left:22px}.num li{margin:4px 0}
.toc{columns:2;padding-left:20px}.toc li{margin:4px 0}
.doc h4{margin-top:16px}
.smap{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.smap div{border:1px solid #ddd;padding:12px;border-radius:4px}
.smap b{display:block;border-bottom:1px solid #333;padding-bottom:6px;margin-bottom:8px}
.smap a{display:block;font-size:13px;padding:3px 0;color:#444}
.smap a:hover{text-decoration:underline}

/* 플로팅·푸터 */
.float{position:fixed;right:18px;bottom:40px;display:flex;flex-direction:column;gap:6px;z-index:90}
.fbtn{border:1px solid #333;background:#fff;padding:9px 12px;font-size:12px;border-radius:4px;text-align:center}
.fbtn.primary{background:#333;color:#fff}
.ft{background:#2b2b2b;color:#ccc;font-size:12px;margin-top:40px}
.ft .wrap{padding:30px 24px}
.fsitemap{display:grid;grid-template-columns:repeat(8,1fr);gap:12px;padding-bottom:20px;border-bottom:1px solid #444;margin-bottom:20px}
.fsitemap b{display:block;color:#fff;margin-bottom:6px}
.fsitemap a{display:block;color:#aaa;padding:2px 0;font-size:11px}
.fbot{display:flex;justify-content:space-between;gap:30px;line-height:1.8}
.fbot a{text-decoration:underline}
.ft .badge{border-color:#666;background:transparent;color:#aaa}

@media(max-width:1366px){.gnb>ul>li>a{font-size:14px;padding:26px 5px}.gnb>ul>li>ul{padding-left:5px}.gnb>ul>li>ul li a{font-size:12.5px}}
@media(max-width:900px){
 .hd .wrap{gap:12px}.gnb{display:none}.ham{display:block;margin-left:auto}
 .two,.four,.cards,.smap{grid-template-columns:1fr 1fr}
 .fsitemap{grid-template-columns:repeat(2,1fr)}.frow{grid-template-columns:1fr}
}
@media(max-width:600px){.two,.four,.cards,.smap{grid-template-columns:1fr}.hero-copy h1{font-size:26px}.wfnav{display:none}.pnote{display:none}}

/* ====================== 모션 (세아제강 벤치마킹) ====================== */
:root{--accent:#2f6fe4;--ease:cubic-bezier(.4,0,.2,1);--dur:.6s}
.wftoggle{cursor:pointer;border:1px solid #666;padding:1px 8px;border-radius:3px;color:#fff;margin-left:10px}
body{opacity:0;transition:opacity .4s;overflow-x:hidden}body.in{opacity:1}
body.lock{overflow:hidden}

/* 2. 스크롤 리빌 */
.js .rv{opacity:0;transform:translateY(40px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}
.js .rv.on{opacity:1;transform:none}
.js .rv .cards>.card,.js .rv .stat,.js .rv .steps>li,.js .rv .tl>li,.js .rv tbody tr,.js .rv .dl>li,.js .rv .four>.card{opacity:0;transform:translateY(28px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js .rv.on .cards>.card,.js .rv.on .stat,.js .rv.on .steps>li,.js .rv.on .tl>li,.js .rv.on tbody tr,.js .rv.on .dl>li,.js .rv.on .four>.card{opacity:1;transform:none}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(1){transition-delay:.1s}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(2){transition-delay:.2s}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(3){transition-delay:.3s}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(4){transition-delay:.4s}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(5){transition-delay:.5s}
.js .rv.on :is(.cards,.steps,.tl,tbody,.dl,.four,.stats)>*:nth-child(n+6){transition-delay:.6s}
.js .rv .tl{position:relative}.js .rv .tl:before{content:"";position:absolute;left:-2px;top:0;width:2px;background:#333;height:0;transition:height 1.2s var(--ease)}.js .rv.on .tl:before{height:100%}
.js .rv .steps .no{transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1) .3s}.js .rv.on .steps .no{transform:scale(1)}

/* 3. 카운트업 숫자 */
.stat .num{font-variant-numeric:tabular-nums}

/* 4. 헤더 축소·서브 비주얼 패럴랙스 */
.hd{position:sticky;top:30px;transition:box-shadow .3s}
.hd .wrap,.gnb>ul>li>a,.logo{transition:height .3s var(--ease),padding .3s var(--ease),font-size .3s}
.hd.small .wrap{height:58px}.hd.small .gnb>ul>li>a{padding:17px 6px;font-size:14px}.hd.small .logo{font-size:18px;padding:3px 10px}
.hd.small{box-shadow:0 4px 16px rgba(0,0,0,.08)}
.hd.small .gnb>ul>li>ul,.hd.small .mega-bg{top:58px}
.subvis{overflow:hidden;position:relative}
.subvis .wrap{transform:translateY(calc(var(--py,0)*40px));opacity:calc(1 - var(--py,0)*.6)}
.subvis h2{animation:rise .7s var(--ease) both .1s}.subvis p{animation:rise .7s var(--ease) both .3s}
.phead h1{animation:rise .6s var(--ease) both .2s}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.lnbwrap{position:sticky;top:106px;z-index:40}.hd.small~.lnbwrap{top:88px}
.lnb a{position:relative}.lnb a:after{content:"";position:absolute;left:18px;right:18px;bottom:-1px;height:3px;background:#333;transform:scaleX(0);transition:transform .3s var(--ease);transform-origin:left}
.lnb a.on:after,.lnb a:hover:after{transform:scaleX(1)}.lnb a.on{border-bottom:0}

/* 5. 메가메뉴 등장·서랍 */
.gnb>ul>li>ul li{opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.gnb:hover>ul>li>ul li{opacity:1;transform:none}
.gnb:hover>ul>li>ul li:nth-child(2){transition-delay:.04s}.gnb:hover>ul>li>ul li:nth-child(3){transition-delay:.08s}.gnb:hover>ul>li>ul li:nth-child(4){transition-delay:.12s}.gnb:hover>ul>li>ul li:nth-child(5){transition-delay:.16s}.gnb:hover>ul>li>ul li:nth-child(6){transition-delay:.2s}.gnb:hover>ul>li>ul li:nth-child(n+7){transition-delay:.24s}
.mega-bg{transform-origin:top;transform:scaleY(.6);opacity:0;transition:transform .35s var(--ease),opacity .25s}.gnb:hover .mega-bg{transform:none;opacity:1}
.gnb>ul>li>a{position:relative}.gnb>ul>li>a:after{content:"";position:absolute;left:6px;width:26px;bottom:18px;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.gnb>ul>li:hover>a:after{transform:scaleX(1)}
.ham{display:block;cursor:pointer;margin-left:10px;width:34px;height:34px;display:flex;flex-direction:column;justify-content:center;gap:5px;font-size:0}
.ham i{display:block;height:2px;background:#333;transition:transform .4s,opacity .3s,width .3s}
.ham i:nth-child(2){width:70%}.ham:hover i:nth-child(2){width:100%}
.allmenu,.quickpanel{position:fixed;inset:0;z-index:200;pointer-events:none}
.allmenu .dbg,.quickpanel .dbg{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:opacity .8s}
.allmenu .dwrap,.quickpanel .dwrap{position:absolute;top:0;right:0;bottom:0;background:#f4f4f4;transform:translateX(100%);transition:transform .4s var(--ease);overflow:auto}
.allmenu .dwrap{width:50%;min-width:520px;padding:60px 70px}
.quickpanel .dwrap{width:420px;background:#fff;padding:40px 34px;box-shadow:-10px 0 40px rgba(0,0,0,.1)}
.allmenu.open,.quickpanel.open{pointer-events:auto}
.allmenu.open .dbg,.quickpanel.open .dbg{opacity:1}.allmenu.open .dwrap,.quickpanel.open .dwrap{transform:none}
.dclose{position:absolute;top:22px;right:28px;font-size:26px;cursor:pointer;border:0;background:none}
.amenu{list-style:none;margin:40px 0 0;padding:0}
.amenu>li{display:flex;gap:40px;padding:14px 0;border-bottom:1px solid #ddd;opacity:0;transform:translateX(30px);transition:opacity .4s,transform .4s}
.allmenu.open .amenu>li{opacity:1;transform:none}
.allmenu.open .amenu>li:nth-child(1){transition-delay:.25s}.allmenu.open .amenu>li:nth-child(2){transition-delay:.3s}.allmenu.open .amenu>li:nth-child(3){transition-delay:.35s}.allmenu.open .amenu>li:nth-child(4){transition-delay:.4s}.allmenu.open .amenu>li:nth-child(5){transition-delay:.45s}.allmenu.open .amenu>li:nth-child(6){transition-delay:.5s}.allmenu.open .amenu>li:nth-child(7){transition-delay:.55s}
.amenu>li>a{font-size:26px;font-weight:800;color:#888;width:170px;transition:color .3s;letter-spacing:-.5px}
.amenu>li.on>a,.amenu>li:hover>a{color:#111}
.amenu ul{list-style:none;margin:0;padding:6px 0 0;display:flex;flex-wrap:wrap;gap:4px 18px;flex:1;opacity:.35;transition:opacity .3s}
.amenu>li.on ul,.amenu>li:hover ul{opacity:1}
.amenu ul a{font-size:13px;color:#444;position:relative;padding-left:0;transition:padding .3s}
.amenu ul a:hover{padding-left:10px;color:var(--accent)}.amenu ul a:hover:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;background:var(--accent);border-radius:50%;transform:translateY(-50%)}
.dfoot{position:absolute;bottom:26px;left:70px;font-size:12px;color:#777}
.quickpanel h3{font-size:22px;margin-bottom:4px}.quickpanel .qdesc{font-size:12px;color:#777;margin-bottom:18px}
.quickpanel .form{max-width:none}.quickpanel .frow{grid-template-columns:1fr;gap:4px;margin-bottom:10px}

/* 6. 버튼·카드 호버 (화살표 모션 + 포인트색 플래시) */
.btn{position:relative;transition:color .3s,background .3s,border-color .3s,transform .2s}
.btn:after{content:"→";display:inline-block;margin-left:8px;transition:transform .3s}
.btn:hover{border-color:var(--accent);color:var(--accent)}.btn.primary:hover{background:var(--accent);color:#fff}
.btn:hover:after{animation:arrow .8s ease-in-out}
@keyframes arrow{0%{transform:translateX(0)}30%{transform:translateX(-5px)}45%{transform:translateX(0)}70%{transform:translateX(4px)}100%{transform:translateX(0)}}
.btn.sm:after,.form .btn:after,.bsearch .btn:after{content:none}
.card{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;overflow:hidden}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.08);border-color:#bbb}
.card .ph{transition:transform .8s var(--ease)}.card:hover .ph{transform:scale(1.04)}
.card h4{position:relative}.card h4:after{content:"";display:block;width:0;height:2px;background:var(--accent);transition:width .4s var(--ease);margin-top:4px}.card:hover h4:after{width:36px}
.stat{transition:background .3s}.stat:hover{background:#f7f7f7}
.chip,.badge{transition:background .3s,color .3s,border-color .3s;cursor:pointer}.chip:hover,.badge:hover{background:#333;color:#fff;border-color:#333}
.fbtn{transition:transform .3s,background .3s,color .3s}.fbtn:hover{transform:translateX(-4px)}.fbtn.quick{background:var(--accent);color:#fff;border-color:var(--accent);writing-mode:vertical-rl;padding:16px 10px;letter-spacing:2px}
.fbtn.top{opacity:0;transform:translateY(10px);pointer-events:none}.fbtn.top.show{opacity:1;transform:none;pointer-events:auto}
.tabs span{cursor:pointer;transition:background .25s,color .25s}.tabs span:hover{background:#e5e5e5}

/* 7. 메인 — 풀스크린 KV + 축소, 제품 패널 */
.kv{height:100vh;min-height:620px;position:relative;overflow:hidden;background:#d8d8d8;width:100vw;margin-left:calc(50% - 50vw)}
.kv .ph{position:absolute;inset:0;min-height:0!important;transform:scale(calc(1 - var(--p,0)*.3));opacity:calc(1 - var(--p,0)*.7);transform-origin:center;transition:none;border:0;border-radius:0}
.kv .hero-copy{position:absolute;left:0;right:0;bottom:14vh;max-width:1280px;margin:0 auto;padding:0 24px;box-sizing:content-box;color:#111;transform:translateY(calc(var(--p,0)*-120px));opacity:calc(1 - var(--p,0)*1.5)}
.kv .hero-copy h1 span{display:block;overflow:hidden}.kv .hero-copy h1 span i{display:block;font-style:normal;transform:translateY(110%);animation:up .8s var(--ease) forwards}
.kv .hero-copy h1 span:nth-child(2) i{animation-delay:.25s}.kv .hero-copy p{animation:rise .8s var(--ease) both .7s}.kv .hero-copy .btns{animation:rise .8s var(--ease) both 1s}
@keyframes up{to{transform:none}}
.kv .scrollhint{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);width:26px;height:42px;border:2px solid #333;border-radius:13px}
.kv .scrollhint:before{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;background:#333;border-radius:2px;animation:wheel 1.6s infinite}
@keyframes wheel{0%{transform:translateY(0);opacity:1}70%{transform:translateY(16px);opacity:0}100%{opacity:0}}
.kv .kvnote{position:absolute;top:20px;left:24px;background:#fff4e5;border-left:3px solid #f5a623;padding:6px 10px;font-size:12px;color:#b05a00;max-width:520px}
.panels{display:flex;height:72vh;min-height:480px;gap:4px;width:100vw;margin-left:calc(50% - 50vw)}
.panel{flex:1;position:relative;overflow:hidden;background:#cfcfcf;transition:flex 1s var(--ease);cursor:pointer}
.panels.hovering .panel{flex:.75}.panels .panel.on{flex:1.6}
.panel .ph{position:absolute;inset:0;min-height:0!important;transition:transform .8s var(--ease);border:0;border-radius:0}
.panel:hover .ph{transform:scale(1.04)}
.panel .ptxt{position:absolute;left:36px;right:36px;top:34%;color:#111}
.panel .ptxt h3{font-size:28px;margin-bottom:8px;transform:translateY(40px);opacity:0;transition:all .5s var(--ease)}
.panel .ptxt p{transform:translateY(40px);opacity:0;transition:all .5s var(--ease) .1s}
.panel .ptxt .btns{transform:translateY(40px);opacity:0;transition:all .5s var(--ease) .3s}
.rv.on .panel:nth-child(1) .ptxt>*{transition-delay:.1s}.rv.on .panel:nth-child(1) .ptxt .btns{transition-delay:.3s}
.rv.on .panel:nth-child(2) .ptxt h3{transition-delay:.3s}.rv.on .panel:nth-child(2) .ptxt p{transition-delay:.4s}.rv.on .panel:nth-child(2) .ptxt .btns{transition-delay:.6s}
.rv.on .panel:nth-child(3) .ptxt h3{transition-delay:.6s}.rv.on .panel:nth-child(3) .ptxt p{transition-delay:.7s}.rv.on .panel:nth-child(3) .ptxt .btns{transition-delay:.9s}
.rv.on .panel .ptxt>*{transform:none;opacity:1}
.panel .pbtns{position:absolute;left:36px;bottom:30px;opacity:0;transform:translateY(10px);transition:all .4s var(--ease) 1s}
.rv.on .panel .pbtns{opacity:1;transform:none}
.apps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.apps .card{display:block;padding:0;overflow:hidden;background:#fff;border:1px solid #ddd}.apps .card .ph{border:0;border-bottom:1px solid #e5e5e5}.apps .card h4{margin:14px 16px 4px;font-size:17px}.apps .card p{margin:0 16px 8px;font-size:12px;color:#666;min-height:34px}.apps .card .more{display:block;margin:0 16px 16px;font-size:12px;font-weight:700;color:var(--accent)}
.apps .card{transition:transform .5s var(--ease),box-shadow .5s,opacity .6s var(--ease)}.apps .card:hover{transform:translateY(-6px);box-shadow:0 14px 30px rgba(0,0,0,.1)}.apps .card .ph{transition:transform .8s var(--ease)}.apps .card:hover .ph{transform:scale(1.04)}
.js .rv.on .apps>.card:nth-child(2){transition-delay:.1s}.js .rv.on .apps>.card:nth-child(3){transition-delay:.2s}.js .rv.on .apps>.card:nth-child(4){transition-delay:.3s}.js .rv.on .apps>.card:nth-child(5){transition-delay:.4s}
.main .lead{font-size:16px;color:#555;margin:-10px 0 22px}
.marquee{overflow:hidden;white-space:nowrap}.marquee .logos{display:inline-flex;flex-wrap:nowrap;animation:mq 22s linear infinite}.marquee:hover .logos{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.sectit{font-size:30px;font-weight:800;margin:70px 0 24px;letter-spacing:-.5px}.sectit small{display:block;font-size:12px;color:var(--accent);letter-spacing:2px;font-weight:700;margin-bottom:6px}
.main .blk{border:0;padding:0;margin:0}.main .btitle{display:none}

/* 모션 기획 표 */
.mtable td:nth-child(1){width:40px;text-align:center;font-weight:700}.mtable td:nth-child(3){width:28%}
.mtag{display:inline-block;font-size:11px;padding:1px 6px;border-radius:3px;background:#e8f0ff;color:#1d4fb8;margin-right:4px}
.mtag.off{background:#eee;color:#777}

/* 모션 끔 (prefers-reduced-motion 또는 토글) */
.reduce *,.reduce *:before,.reduce *:after{animation:none!important;transition:none!important}
.reduce .rv,.reduce .rv *,.reduce .panel .ptxt>*,.reduce .panel .pbtns,.reduce .gnb>ul>li>ul li,.reduce .mega-bg{opacity:1!important;transform:none!important}
.reduce .kv .ph,.reduce .kv .hero-copy,.reduce .subvis .wrap{transform:none!important;opacity:1!important}
.reduce .kv .hero-copy h1 span i{transform:none}
@media(max-width:900px){.allmenu .dwrap{width:100%;min-width:0;padding:50px 24px}.amenu>li{flex-direction:column;gap:8px}.quickpanel .dwrap{width:100%}.panels{flex-direction:column;height:auto}.panel{height:260px}.apps{grid-template-columns:1fr 1fr}.kv{height:70vh}}

/* ====================== v0.2 메인 강화 모션 ====================== */
/* M12 막 열림 */
.curtain{position:fixed;inset:0;background:#1b1b1b;z-index:300;display:flex;align-items:center;justify-content:center;animation:curtain 1.1s var(--ease) .5s forwards;pointer-events:none}
.curtain span{color:#fff;font-size:34px;font-weight:900;letter-spacing:6px;animation:logoin .6s var(--ease) both}
@keyframes logoin{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes curtain{to{transform:translateY(-100%)}}
html.seen .curtain{display:none}
/* M13 3D 강관 */
.kv{perspective:1200px}
.pipe3d{position:absolute;left:50%;top:40%;width:min(900px,70vw);height:170px;transform:translate(-50%,-50%) translateX(calc(var(--p,0)*60vw));opacity:calc(1 - var(--p,0)*1.3);animation:pipein 1.4s var(--ease) .9s both}
@keyframes pipein{from{opacity:0;transform:translate(-50%,-50%) translateX(-60vw) scaleX(.6)}to{opacity:1;transform:translate(-50%,-50%) translateX(0) scaleX(1)}}
.pipe{position:absolute;inset:0;border-radius:85px/85px;background:linear-gradient(180deg,#8d9399 0%,#d7dbdf 18%,#f2f4f6 30%,#b7bcc2 55%,#4f565c 85%,#2e3337 100%);box-shadow:0 30px 60px rgba(0,0,0,.25);overflow:hidden;animation:tilt 8s ease-in-out infinite}
.pipe i{position:absolute;top:0;bottom:0;width:4px;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(255,255,255,.3),rgba(0,0,0,.35));animation:seam 6s linear infinite}
.pipe i:nth-child(2){animation-delay:-2s}.pipe i:nth-child(3){animation-delay:-4s}
.pipe:after{content:"";position:absolute;top:0;bottom:0;width:30%;left:-40%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:sweep 3.2s ease-in-out infinite 1.5s}
@keyframes sweep{0%{left:-40%}60%{left:110%}100%{left:110%}}
@keyframes seam{from{left:-2%}to{left:102%}}
@keyframes tilt{0%,100%{transform:rotateX(0) rotateZ(-1.5deg)}50%{transform:rotateX(4deg) rotateZ(1.5deg)}}
.flow{position:absolute;left:8%;right:8%;top:50%;height:2px;background:repeating-linear-gradient(90deg,var(--accent) 0 18px,transparent 18px 36px);opacity:.5;animation:flow 1.2s linear infinite;mix-blend-mode:multiply}
@keyframes flow{to{background-position:36px 0}}
.kv .ph span{position:absolute;top:24px;right:24px;font-size:12px;background:rgba(255,255,255,.7);padding:4px 8px}
/* M10 바로가기 아이콘 */
.quickicons{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.quickicons.small{grid-template-columns:repeat(4,1fr)}
.qi{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 10px;border:1px solid #ddd;border-radius:6px;text-align:center;transition:transform .3s,border-color .3s,box-shadow .3s}
.qi .ico{width:64px;height:64px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;font-size:26px;transition:transform .6s var(--ease),background .3s}
.qi b{font-size:14px}.qi small{color:#777;font-size:12px}
.qi:hover{transform:translateY(-6px);border-color:var(--accent);box-shadow:0 12px 24px rgba(0,0,0,.08)}.qi:hover .ico{transform:rotate(360deg);background:var(--accent);color:#fff}
.js .rv .qi{opacity:0;transform:translateY(30px) scale(.8);transition:all .5s cubic-bezier(.34,1.56,.64,1)}.js .rv.on .qi{opacity:1;transform:none}
.js .rv.on .qi:nth-child(2){transition-delay:.08s}.js .rv.on .qi:nth-child(3){transition-delay:.16s}.js .rv.on .qi:nth-child(4){transition-delay:.24s}.js .rv.on .qi:nth-child(5){transition-delay:.32s}.js .rv.on .qi:nth-child(6){transition-delay:.4s}
/* M3 숫자 바 */
.stat{position:relative;overflow:hidden}.stat:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--accent);transition:width 1.4s var(--ease) .3s}.rv.on .stat:after{width:100%}
/* M14 기술 애니메이션 */
.anim{position:relative;height:200px;background:#f4f4f4;border:1px dashed #bbb;border-radius:4px;overflow:hidden;margin-bottom:12px}
.anim .lbl{position:absolute;left:0;right:0;bottom:8px;display:flex;justify-content:space-around;font-size:11px;color:#666}
.rir .tube{position:absolute;left:6%;right:6%;top:46px;height:84px;border-radius:42px;background:linear-gradient(180deg,#9aa0a6,#e6e8ea 40%,#6b7177);overflow:hidden;border:2px solid #555}
.rir .rust{position:absolute;inset:8px;border-radius:40px;background:repeating-linear-gradient(45deg,#a0623a 0 8px,#7a4a2a 8px 16px)}
.rir .lining{position:absolute;inset:8px;border-radius:40px;background:linear-gradient(180deg,#bfe0ff,#5aa9ea);clip-path:inset(0 100% 0 0)}
.rir .head{position:absolute;top:4px;bottom:4px;width:40px;left:-10%;background:#333;border-radius:6px;box-shadow:0 0 0 4px rgba(47,111,228,.35)}
.rir .head:before{content:"";position:absolute;inset:6px;border:2px dashed #fff;border-radius:4px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.rv.on .rir .head{animation:head 4s ease-in-out infinite}.rv.on .rir .lining{animation:lining 4s ease-in-out infinite}
@keyframes head{0%{left:-10%}80%{left:100%}100%{left:100%}}
@keyframes lining{0%{clip-path:inset(0 100% 0 0)}80%{clip-path:inset(0 0% 0 0)}92%{clip-path:inset(0 0% 0 0)}100%{clip-path:inset(0 100% 0 0)}}
.lp3{display:block}
.lp3 .core{position:absolute;left:14%;top:70px;width:72%;height:60px;border-radius:30px;background:linear-gradient(180deg,#9aa0a6,#e6e8ea 40%,#6b7177);border:2px solid #555}
.lp3 .layer{position:absolute;left:12%;width:76%;top:60px;height:80px;border-radius:40px;opacity:0;transform:translateX(70%);border:2px solid rgba(0,0,0,.15)}
.lp3 .layer b{position:absolute;right:-6px;top:-22px;font-size:11px;background:#fff;padding:1px 6px;border:1px solid #999;border-radius:3px}
.lp3 .l1{background:rgba(120,170,90,.75);top:62px;height:76px;left:13%;width:74%}
.lp3 .l2{background:rgba(230,190,80,.75);top:55px;height:90px;left:11%;width:78%}
.lp3 .l3{background:rgba(60,110,200,.55);top:46px;height:108px;left:8%;width:84%}
.lp3 .inner{position:absolute;left:20%;top:88px;width:60%;height:24px;border-radius:12px;background:rgba(180,90,60,.7);opacity:0}
.lp3 .inner b{position:absolute;left:0;right:0;top:-20px;text-align:center;font-size:11px}
.rv.on .lp3 .l1{animation:layer .6s var(--ease) .2s forwards}.rv.on .lp3 .l2{animation:layer .6s var(--ease) .7s forwards}.rv.on .lp3 .l3{animation:layer .6s var(--ease) 1.2s forwards}.rv.on .lp3 .inner{animation:fadein .5s 1.8s forwards}
@keyframes layer{to{opacity:1;transform:none}}@keyframes fadein{to{opacity:1}}
/* M16 대형 타이포 띠 */
.bigtype{overflow:hidden;margin:80px -24px 0;width:100vw;margin-left:calc(50% - 50vw);border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;padding:14px 0}
.bigtype .track{display:flex;white-space:nowrap;animation:mq 30s linear infinite}
.bigtype span{font-size:80px;font-weight:900;letter-spacing:2px;color:transparent;-webkit-text-stroke:1.5px #c9c9c9;padding-right:40px}
/* M15 섹션 인디케이터 */
.secdots{position:fixed;right:88px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:12px;z-index:80}
.secdots a{position:relative;width:10px;height:10px;border-radius:50%;background:#ccc;transition:background .3s,transform .3s}
.secdots a.on{background:var(--accent);transform:scale(1.4)}
.secdots a span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:11px;white-space:nowrap;color:#555;opacity:0;transition:opacity .3s}
.secdots a.on span,.secdots a:hover span{opacity:1}
/* 패널 자동 강조 */
.panels .panel.auto{flex:1.5}.panels.autocycle .panel:not(.auto){flex:.8}
/* 모자이크·범위표·기타 */
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:12px}
.mosaic .card{position:relative;padding:0}.mosaic .card .ph{position:absolute;inset:0;min-height:0!important}.mosaic .card h4,.mosaic .card p{position:relative;z-index:1;margin:0;padding:0 12px}.mosaic .card h4{padding-top:12px}
.mosaic .m1{grid-column:span 2;grid-row:span 2}.mosaic .m4{grid-row:span 2}
.rangegrid table td{height:28px;padding:0;text-align:center}.rangegrid td.ok{background:#c7d8f7}.rangegrid td:first-child{padding:0 10px;font-weight:600;background:#f3f3f3;text-align:left}
.fnews{display:flex;gap:20px;align-items:center;padding-bottom:16px;border-bottom:1px solid #444;margin-bottom:16px;font-size:12px;flex-wrap:wrap}
.fnews b{color:#fff}.fnews a{color:#ccc}.fnews small{color:#888;margin-left:6px}.fnews .bnote{font-size:11px;padding:3px 8px}
.smap a.kid{padding-left:14px;color:#777;font-size:12px}
.tcard .btns{margin-top:8px}p.small{font-size:12px;color:#777}
a.card{display:block}
.reduce .curtain,.reduce .pipe3d,.reduce .bigtype .track{animation:none!important}.reduce .pipe3d{opacity:1;transform:translate(-50%,-50%)}
.reduce .rir .lining{clip-path:inset(0 0 0 0)}.reduce .lp3 .layer,.reduce .lp3 .inner{opacity:1;transform:none}
@media(max-width:900px){.quickicons{grid-template-columns:repeat(3,1fr)}.quickicons.small{grid-template-columns:repeat(2,1fr)}.apps{grid-template-columns:1fr 1fr}.secdots{display:none}.bigtype span{font-size:40px}.mosaic{grid-template-columns:1fr 1fr}.pipe3d{height:90px;width:80vw}}

.stat .num.long{font-size:19px;letter-spacing:-.5px}

/* ====================== v0.3 스크롤 연동 효과 (3D·기술 애니메이션 제거) ====================== */
.pipe3d,.curtain{display:none!important}
/* S-E 진행 바 */
.progress{position:fixed;left:0;top:30px;height:3px;width:0;background:var(--accent);z-index:150;transition:width .1s linear}
/* S-A 이미지 와이프 */
.js .rv .ph{clip-path:inset(100% 0 0 0);transition:clip-path .9s var(--ease),transform .8s var(--ease)}
.js .rv.on .ph{clip-path:inset(0 0 0 0)}
.js .rv .ph span{transform:scale(1.08);transition:transform 1.2s var(--ease)}.js .rv.on .ph span{transform:none}
.js .rv .card .ph{transition:clip-path .9s var(--ease),transform .8s var(--ease)}
.pwrap{overflow:hidden;border-radius:3px}.pwrap .ph{will-change:transform}
/* S-B 좌우·확대 리빌 */
.js .rv.rv-left{transform:translateX(-60px)}.js .rv.rv-right{transform:translateX(60px)}.js .rv.rv-scale{transform:scale(.92)}
.js .rv.rv-left,.js .rv.rv-right,.js .rv.rv-scale{transition-duration:.7s}
.js .rv.on.rv-left,.js .rv.on.rv-right,.js .rv.on.rv-scale{transform:none}
/* S-C 패럴랙스 */
[data-speed]{will-change:transform}

.pwrap[data-speed]{transform:translateY(var(--py,0px))}
/* S-D 섹션 배경 */
body{transition:background-color .8s var(--ease),opacity .4s}
body[data-bg="gray"]{background:#f1f1f1}body[data-bg="tint"]{background:#eef3fb}
.main .blk{background:transparent}
.msec{padding-bottom:30px}
/* S-F 타이포 띠 */
.bigtype .track{animation:none;transform:translateX(calc(var(--sx,0) * -1px));transition:transform .15s linear}
/* S-G 제목 라인 */
.sectit{position:relative;padding-bottom:12px}.sectit:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--accent);transition:width .6s var(--ease) .3s}.sectit.on:after{width:60px}
.js .sectit small{opacity:0;transform:translateY(10px);transition:all .4s var(--ease)}.js .sectit.on small{opacity:1;transform:none}
/* 대표 기술 카드 사진 크게 */
.techs .card .ph{min-height:300px}
.reduce .rv .ph,.reduce .rv .ph span{clip-path:none!important;transform:none!important}
.reduce [data-speed],.reduce .pwrap{transform:none!important}

/* ===== v0.4 메뉴 정리: 고객지원 신설·메가메뉴 소제목·용도 그리드(.apps), 계단식(.stepped) 제거 ===== */

/* ===== v0.5 블록 키트 + 정돈 (메모 기본 숨김, 블록 상자 제거) ===== */
html:not(.notes) .bnote,html:not(.notes) .pnote{display:none}
.wfnotes{cursor:pointer;border:1px solid #666;padding:1px 8px;border-radius:3px;color:#fff;margin-left:6px}html.notes .wfnotes{background:#f5a623;color:#111;border-color:#f5a623}
.blk{border:0;padding:0;margin:44px 0;border-radius:0;background:transparent}
.blk-hero{margin-top:10px}
.btitle{font-size:22px;font-weight:800;border:0;padding:0 0 0 14px;margin-bottom:18px;position:relative;letter-spacing:-.3px}
.btitle:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:4px;background:var(--accent);border-radius:2px}
.ph{background:#eceef2;border:1px solid #dfe3ea;color:#8a919c;border-radius:4px;font-size:13px}
.ph.video{background:#e3e6ec}
.stit{font-size:18px;font-weight:800;margin:28px 0 12px;display:flex;flex-direction:column;gap:2px}.stit small{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}
.leadtxt{font-size:17px;line-height:1.7;color:#444;max-width:860px;margin:0 0 20px}
.hero2{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}.hero2.rev{grid-template-columns:1.1fr 1fr}
.hero2 h2{font-size:34px;line-height:1.25;letter-spacing:-.5px;margin-bottom:16px}.hero2 p{font-size:16px;line-height:1.75;color:#444}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin-top:32px;border-top:1px solid #ddd;border-bottom:1px solid #ddd}
.kpi{padding:20px 10px;text-align:center;border-right:1px solid #eee}.kpi:last-child{border-right:0}.kpi b{display:block;font-size:30px;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums}.kpi span{font-size:12px;color:#666}
dl.kvl{display:grid;gap:0;margin:0}dl.kvl.cols-1{grid-template-columns:1fr}dl.kvl.cols-2{grid-template-columns:1fr 1fr}dl.kvl.cols-3{grid-template-columns:repeat(3,1fr)}
dl.kvl>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid #e5e5e5;padding:12px 6px;font-size:14px}dl.kvl dt{color:#777;font-weight:600}dl.kvl dd{margin:0}
.icons{display:grid;gap:16px}.icons.cols-3{grid-template-columns:repeat(3,1fr)}.icons.cols-4{grid-template-columns:repeat(4,1fr)}.icons.cols-5{grid-template-columns:repeat(5,1fr)}.icons.cols-6{grid-template-columns:repeat(6,1fr)}
.ic{border:1px solid #e3e3e3;border-radius:6px;padding:22px 18px;background:#fff;transition:transform .35s var(--ease),box-shadow .35s}.ic:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.07)}
.ic .ico{display:inline-flex;width:48px;height:48px;border-radius:50%;background:#eef3fb;align-items:center;justify-content:center;font-size:22px;margin-bottom:12px}.ic h4{font-size:15px;margin:0 0 6px}.ic p{font-size:13px;color:#666;margin:0;line-height:1.55}
.pull{margin:24px 0;padding:22px 28px;border-left:4px solid var(--accent);background:#f6f8fc;font-size:18px;line-height:1.7;font-weight:500}.pull p{margin:0}.pull cite{display:block;margin-top:10px;font-size:13px;color:#666;font-style:normal}
.numbered{list-style:none;margin:0;padding:0;counter-reset:n}.numbered li{display:grid;grid-template-columns:44px 220px 1fr;gap:14px;align-items:baseline;padding:14px 0;border-bottom:1px solid #e5e5e5;counter-increment:n}
.numbered li:before{content:"0" counter(n);font-size:20px;font-weight:900;color:var(--accent)}.numbered li b{font-size:15px}.numbered li span{font-size:13px;color:#555}
.acc details{border-bottom:1px solid #e3e3e3}.acc summary{padding:14px 8px;font-weight:700;cursor:pointer;list-style:none;position:relative}.acc summary:after{content:"+";position:absolute;right:10px;color:#888}.acc details[open] summary:after{content:"–"}.acc details>div{padding:0 8px 16px;font-size:14px;color:#555;line-height:1.7}
.infobox{border:1px solid #d5dce8;background:#f6f8fc;padding:14px 18px;font-size:13px;color:#444;border-radius:4px;margin:12px 0}.infobox.warn{border-color:#f0c060;background:#fff8e6}
.gal .card p{font-size:12px;color:#666;margin:8px 0 0}
.pflow{display:flex;flex-wrap:wrap;row-gap:16px;align-items:stretch}.fstep{flex:1 1 150px;min-width:120px;position:relative;padding:18px 26px 18px 16px;border:1px solid #ddd;background:#fff;margin-right:14px;border-radius:4px}
.fstep:after{content:"›";position:absolute;right:-13px;top:50%;transform:translateY(-50%);font-size:22px;color:#aaa;background:#fff;width:14px;text-align:center}.fstep:last-child{margin-right:0}.fstep:last-child:after{display:none}
.fstep .no{display:inline-block;background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;line-height:24px;text-align:center;font-size:12px;margin-bottom:8px}.fstep b{display:block;font-size:14px}.fstep small{display:block;color:#666;font-size:12px;line-height:1.5;margin-top:4px}
.pflow.compact .fstep{padding:12px 20px 12px 12px;min-width:90px}
svg.chart{width:100%;height:auto;display:block;font-family:inherit;font-size:12px;fill:#444}svg.chart .grid{stroke:#e6e6e6}svg.chart .ax{font-size:11px;fill:#888}svg.chart .cat{font-size:12px;fill:#555}svg.chart .val{font-size:11px;fill:#333;font-weight:700}svg.chart .big{font-size:14px;font-weight:800}
.ccap{font-size:12px;color:#777;margin-top:8px;text-align:right}
svg.org{width:100%;height:auto;display:block;font-size:12px}svg.org .lv1{fill:#1f2937}svg.org .lv2{fill:#2f6fe4}svg.org .lv3{fill:#f3f5f9;stroke:#cfd6e2}svg.org .t1{fill:#fff;font-weight:800;font-size:14px}svg.org .t2{fill:#fff;font-weight:700}svg.org .t3{fill:#333}svg.org .ln{stroke:#b8bfcb;stroke-width:1.5}
svg.kmap,svg.wmap{width:100%;max-width:900px;margin:0 auto;height:auto;display:block;font-size:12px}svg.kmap .land{fill:#e9edf3;stroke:#c9d1dd;stroke-width:1.5}svg.kmap .pin,svg.wmap .pin{fill:var(--accent)}svg.kmap .pulse{fill:var(--accent);opacity:.18}svg.kmap .pl,svg.wmap .pl{font-weight:700;fill:#222}
svg.kmap .lg{fill:#fff;stroke:#dfe3ea}svg.kmap .lgt{font-weight:700;fill:#222;font-size:11.5px}svg.kmap .lgd{font-size:10.5px;fill:#666}svg.kmap .pn{fill:#fff;font-size:10px;font-weight:800}svg.wmap .arc{fill:none;stroke:var(--accent);stroke-width:1.2;opacity:.5;stroke-dasharray:3 3}
.eras{display:grid;gap:24px}.eras.cols-3{grid-template-columns:repeat(3,1fr)}.eras.cols-2{grid-template-columns:1fr 1fr}.eras.cols-4{grid-template-columns:repeat(4,1fr)}
.era .ehead{border-top:3px solid #222;padding:12px 0 8px}.era .ehead b{font-size:18px;display:block}.era .ehead span{font-size:12px;color:var(--accent);font-weight:700;letter-spacing:1px}
.era ul{list-style:none;margin:0;padding:0}.era li{display:grid;grid-template-columns:70px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid #eee;font-size:13px}.era li b{color:#333;font-variant-numeric:tabular-nums}.era li span{color:#555}
.mapph{position:relative}.mapph .mpin{position:absolute;left:50%;top:45%;font-size:34px;transform:translate(-50%,-100%)}
.cal{border:1px solid #e3e3e3;border-radius:4px;overflow:hidden}.calh{background:#222;color:#fff;padding:10px;text-align:center;font-weight:700}
.calg{display:grid;grid-template-columns:repeat(7,1fr)}.calg i{font-style:normal;font-size:11px;color:#888;text-align:center;padding:6px 0;border-bottom:1px solid #eee}
.calg>div{min-height:54px;border-right:1px solid #f0f0f0;border-bottom:1px solid #f0f0f0;padding:4px 6px;font-size:12px}.calg>div.has{background:#eef3fb}.calg>div span{color:#555}.calg>div small{display:block;font-size:10px;color:var(--accent);font-weight:700;line-height:1.2;margin-top:2px}
.evl{list-style:none;margin:0;padding:0}.evl li{padding:10px 4px;border-bottom:1px solid #eee;font-size:13px}.evl li b{display:inline-block;width:100px;color:var(--accent)}
.tl{border-left:2px solid #cfd6e2}.tl li:before{background:var(--accent)}
table thead th{background:#f3f5f9;font-weight:700}
.stat{border-color:#e3e3e3}
@media(max-width:900px){.hero2,.hero2.rev{grid-template-columns:1fr}.icons.cols-4,.icons.cols-5,.icons.cols-6{grid-template-columns:1fr 1fr}.eras.cols-3,.eras.cols-4{grid-template-columns:1fr}.numbered li{grid-template-columns:40px 1fr}.numbered li span{grid-column:2}dl.kvl.cols-2,dl.kvl.cols-3{grid-template-columns:1fr}}
.two>div>.ph+.ph{margin-top:10px}.card.news .tag{color:var(--accent);font-size:11px;font-weight:700;margin-right:6px}.tabpanel{padding:6px 0 0}
a.ic,a.card,a.qi{color:inherit;text-decoration:none;display:block}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media(max-width:900px){.three{grid-template-columns:1fr}.two{grid-template-columns:1fr!important}}
.blk>.kpis:first-child{margin-top:0}
svg.org .t4{font-size:11px;fill:#666}svg.org .lv3.gone{stroke-dasharray:4 3;fill:#fff}
table.board.wide td:nth-child(3),table.board.wide td:nth-child(4){width:auto;color:inherit}
.hero2 h2 small{display:block;font-size:12px;letter-spacing:2px;color:var(--accent);font-weight:700;margin-bottom:8px}
.filters .chip.on{background:#222;color:#fff;border-color:#222}
.quickicons .qi small{display:block;font-size:11px;color:#777;margin-top:4px;font-weight:400}
.js .rv .icons>.ic,.js .rv .kpis>.kpi{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .rv.on .icons>.ic,.js .rv.on .kpis>.kpi{opacity:1;transform:none}
.js .rv.on .icons>.ic:nth-child(2),.js .rv.on .kpis>.kpi:nth-child(2){transition-delay:.1s}.js .rv.on .icons>.ic:nth-child(3),.js .rv.on .kpis>.kpi:nth-child(3){transition-delay:.2s}.js .rv.on .icons>.ic:nth-child(4),.js .rv.on .kpis>.kpi:nth-child(4){transition-delay:.3s}.js .rv.on .icons>.ic:nth-child(n+5),.js .rv.on .kpis>.kpi:nth-child(n+5){transition-delay:.4s}
.reduce .icons>.ic,.reduce .kpis>.kpi{opacity:1!important;transform:none!important}
.blk .blk{margin:0}.chip.on{background:#222;color:#fff;border-color:#222}
svg.wmap .pn{fill:#fff;font-size:9px;font-weight:800}svg.wmap .pin.home{fill:#1f2937}
.wlegend{list-style:none;margin:14px auto 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px 16px;max-width:900px}.wlegend li{display:grid;grid-template-columns:22px 1fr;gap:2px 8px;align-items:center;font-size:12px;border-bottom:1px solid #eee;padding:6px 0}.wlegend b{display:inline-flex;width:20px;height:20px;border-radius:50%;background:var(--accent);color:#fff;font-size:10px;align-items:center;justify-content:center;grid-row:span 2}.wlegend span{font-weight:700}.wlegend small{color:#777;font-size:11px}
@media(max-width:900px){.wlegend{grid-template-columns:1fr 1fr}}
