*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--green:#129E7B;--green-h:#1DAC86;--green-50:#EDFCF6;--green2:#76BE57;--blue:#19B5FE;--blue-50:#F0F9FF;--bg:#FFFFFF;--bg2:#F7F7F5;--fg1:#111111;--fg2:#6B7280;--muted:#AAAAAA;--border:#E8E8E6;--font:'Pretendard Variable','Pretendard',-apple-system,sans-serif;--max-w:1400px}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--fg1);-webkit-font-smoothing:antialiased}
/* Voucher page consistent section structure */
.v-section{padding:80px 80px;min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box}
.v-section.v-hero{padding:50px 80px 0;min-height:clamp(720px,calc(100vh - 68px),920px);display:flex;flex-direction:column;justify-content:flex-end;align-items:center;box-sizing:border-box;background:linear-gradient(180deg,#FFFFFF 0%,#F5FDF9 70%,#EDFCF6 100%);position:relative;overflow:hidden}
.v-section.v-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 900px 500px at 15% 100%,rgba(18,158,123,.14) 0%,transparent 70%),radial-gradient(ellipse 700px 400px at 85% 95%,rgba(118,190,87,.12) 0%,transparent 72%);z-index:0}
.v-section.v-hero .v-section-inner{position:relative;z-index:1}
.v-section.v-bg2{background:var(--bg2);border-top:.5px solid var(--border)}
.v-section-inner{width:100%;max-width:var(--max-w);margin:0 auto}
/* 로고 카드 & 강조 배너 — 지원프로그램과 동일하게 max-width 자체 고정 */
.v-logo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:0 auto 32px;max-width:var(--max-w);width:100%;box-sizing:border-box}
.v-logo-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:36px 24px;display:flex;align-items:center;justify-content:center;min-height:120px;box-sizing:border-box;overflow:hidden}
.v-logo-card img{max-width:100%;max-height:60px;width:auto;height:auto;object-fit:contain;display:block}
.v-cta-emphasis{background:linear-gradient(135deg,var(--green) 0%,#0a7a5c 100%);border-radius:18px;padding:36px 44px;display:flex;align-items:center;gap:20px;box-shadow:0 12px 40px rgba(18,158,123,.25);margin:0 auto;max-width:var(--max-w);width:100%;box-sizing:border-box}
a{text-decoration:none;color:inherit}
nav{position:sticky;top:0;z-index:300;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:.5px solid var(--border);padding:0 80px;height:68px;display:flex;align-items:center}
.nav-logo{flex-shrink:0}
.nav-center{display:flex;align-items:center;gap:104px;flex:1;justify-content:center}
.nav-btn{font-size:15px;font-weight:500;color:var(--fg2);padding:8px 14px;border-radius:9px;cursor:pointer;transition:color 150ms,background 150ms;background:none;border:none;font-family:var(--font);display:flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.nav-btn:hover{color:var(--green);background:var(--green-50)}
.nav-btn.active{color:var(--green);background:var(--green-50)}
.nav-right{display:flex;align-items:center;gap:24px;flex-shrink:0}
.nav-cta{padding:11px 24px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms}
.nav-cta:hover{background:var(--green-h)}
.mega-wrap{position:fixed;top:68px;left:0;right:0;z-index:299}
.mega-panel{position:relative;z-index:2;background:#fff;border-bottom:.5px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.07);padding:20px 0 24px;display:none}
.mega-wrap.open .mega-panel{display:block;animation:megaSlide 180ms ease}
@keyframes megaSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mega-inner{max-width:var(--max-w);margin:0 auto;position:relative;padding:4px 80px 20px;min-height:20px}
.mega-col{position:absolute;top:0;min-width:160px;display:none;box-sizing:border-box;padding-right:12px}
.mega-col:first-child{min-width:170px}
.mega-col .mega-item,.mega-col .mega-simple{word-break:keep-all;overflow-wrap:break-word}
.mega-wrap.open .mega-col{display:block}
.mega-item{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;color:var(--fg1);font-size:14px;font-weight:500;margin-bottom:2px;line-height:1.3;position:relative;text-decoration:none;cursor:pointer}
.mega-item:hover{background:var(--green-50);color:var(--green)}
.mega-item:hover .mega-item-sub{color:rgba(18,158,123,.75)}
.mega-item-sub{display:block;font-size:12px;color:rgba(0,0,0,.35);margin-top:3px;font-weight:400;transition:color 180ms}
.mega-simple{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;font-size:14px;font-weight:500;color:var(--fg1);margin-bottom:2px;text-decoration:none;cursor:pointer}
.mega-simple:hover{background:var(--green-50);color:var(--green)}
.mega-overlay{position:fixed;inset:0;top:0;z-index:1;display:none}
.mega-wrap.open .mega-overlay{display:block}
.nav-burger{display:none;background:none;border:none;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:4px;padding:0}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--fg1);border-radius:2px;transition:transform 200ms,opacity 150ms}
.nav-burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mobile-drawer{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:295;overflow-y:auto;padding:24px 20px 40px;flex-direction:column;gap:4px}
.mobile-drawer.open{display:flex;animation:megaSlide 200ms ease}
.md-group{padding:8px 0;border-bottom:.5px solid var(--border)}
.md-group:last-child{border-bottom:none}
.md-head{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;margin-bottom:4px}
.md-link{display:block;font-size:16px;font-weight:500;color:var(--fg1);padding:12px;border-radius:10px}
.md-link:hover{background:var(--green-50);color:var(--green)}
.md-link-sub{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}
.md-cta{margin-top:24px;padding:14px;text-align:center;background:var(--green);color:#fff;border-radius:999px;font-weight:500;font-size:16px;display:block;text-decoration:none}

@media (max-width:768px){.nav-center{display:none}.nav-burger{display:flex}nav{padding:0 20px}}
footer{background:#111;padding:64px 80px}
.foot-inner{max-width:var(--max-w);margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;margin-bottom:48px;padding-bottom:48px;border-bottom:.5px solid rgba(255,255,255,.07)}
.foot-tagline{font-size:14px;color:rgba(255,255,255,.35);line-height:1.8;margin-top:14px}
.foot-col-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.35);margin-bottom:18px}
.foot-links{display:flex;flex-direction:column;gap:12px}
.foot-links a{font-size:15px;color:rgba(255,255,255,.5);transition:color 150ms}
.foot-links a:hover{color:rgba(255,255,255,.85)}
.foot-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.foot-info{font-size:12px;color:rgba(255,255,255,.22);line-height:1.9}
.foot-copy{font-size:12px;color:rgba(255,255,255,.18)}
.btn-p{padding:13px 28px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-p:hover{background:var(--green-h)}
.btn-g{padding:13px 28px;background:transparent;color:var(--fg1);border:.5px solid var(--border);border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:border-color 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-g:hover{border-color:#999}
.page-hero{padding:68px 80px 80px;max-width:var(--max-w);margin:0 auto}
.page-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:20px}
.h1{font-size:64px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1)}
.h1 .m{color:var(--muted)}
.lead{font-size:18px;color:var(--fg2);line-height:1.75;margin-top:24px;max-width:500px}
.btns{display:flex;gap:12px;margin-top:36px}
.tag{display:inline-flex;align-items:center;gap:6px;background:var(--green-50);border:.5px solid rgba(18,158,123,.2);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;color:var(--green);margin-bottom:28px}
.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.pain-section{background:var(--bg2);padding:80px 80px;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.pain-inner{max-width:var(--max-w);margin:0 auto}
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.pain-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:28px}
.pain-num{font-size:11px;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.pain-title{font-size:18px;font-weight:700;color:var(--fg1);margin-bottom:10px;letter-spacing:0.01em}
.pain-desc{font-size:14px;color:var(--fg2);line-height:1.7}
.feature-section{padding:100px 80px}
.feature-inner{max-width:var(--max-w);margin:0 auto}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:56px}
.feat-card{background:var(--bg2);border:.5px solid var(--border);border-radius:16px;padding:28px;transition:border-color 200ms,transform 200ms}
.feat-card:hover{border-color:rgba(18,158,123,.3);transform:translateY(-2px)}
.feat-icon{width:44px;height:44px;border-radius:11px;background:var(--green-50);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.feat-title{font-size:17px;font-weight:700;color:var(--fg1);margin-bottom:8px}
.feat-desc{font-size:14px;color:var(--fg2);line-height:1.7}
.split-section{padding:100px 80px;background:var(--bg2)}
.split-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-section.alt{background:#fff}
.stats-banner{padding:80px 80px;background:#fff;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.stats-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-col{padding:0 40px;border-right:.5px solid var(--border)}
.stat-col:first-child{padding-left:0}
.stat-col:last-child{border-right:none;padding-right:0}
.stat-big{font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--fg1)}
.stat-big .g{color:var(--green)}
.stat-arrow{font-size:28px;color:var(--muted)}
.stat-lbl{font-size:13px;color:var(--green);font-weight:500;margin-top:6px}
.stat-note{font-size:13px;color:var(--fg2);margin-top:4px;line-height:1.5}
.cta-banner{position:relative;overflow:hidden;padding:160px 80px;background:#FFFFFF url('/theme/basic/assets/Shadow.png') center center / cover no-repeat}
.cta-inner{max-width:var(--max-w);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-h{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1)}
.cta-m{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--muted)}
.mockup{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 24px rgba(0,0,0,.04)}
.mock-head{font-size:13px;font-weight:700;color:var(--fg1);margin-bottom:16px}
.mock-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:.5px solid var(--bg2)}
.mock-row:last-child{border-bottom:none}
.mock-label{font-size:13px;color:var(--fg2)}
.mock-val{font-size:13px;font-weight:600;color:var(--fg1)}
.bar-track{height:6px;background:var(--bg2);border-radius:999px;overflow:hidden;margin:4px 0}
.bar-fill{height:6px;border-radius:999px;background:var(--green)}
.pill{font-size:11px;font-weight:500;padding:4px 12px;border-radius:999px}
.pill-g{background:var(--green-50);color:var(--green)}
.pill-b{background:var(--blue-50);color:var(--blue)}
.pill-y{background:#FFF8E1;color:#D97706}
.sh{font-size:52px;font-weight:700;line-height:1.05;color:var(--fg1);word-break:keep-all;overflow-wrap:break-word}
.sm{font-size:52px;font-weight:700;line-height:1.05;color:var(--muted);word-break:keep-all;overflow-wrap:break-word}
/* Hero centered layout */
.v-section.v-hero{padding-top:60px;padding-bottom:0}
.v-section.v-hero .sh{font-size:40px;letter-spacing:-1.2px}
.v-section.v-hero .sm{font-size:40px;letter-spacing:-1.2px;margin-top:10px}
.v-section.v-hero .eyebrow{color:var(--green)}
.v-hero-centered{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;width:100%;min-height:clamp(660px,calc(100vh - 128px),860px);gap:48px}
.v-hero-top{max-width:720px;margin:0 auto auto;padding-top:0;flex-shrink:0}
.v-hero-visual{display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:1200px;margin:auto auto 0;flex-shrink:0}
.v-hero-visual .cl-dash{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none;width:100%;box-shadow:0 -18px 50px rgba(16,98,73,.12),0 -4px 14px rgba(0,0,0,.04);margin-bottom:0;height:auto;min-height:auto}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* === Hero CarbonLink Dashboard Mockup (Topbar + Sidebar + Widgets) === */
.cl-dash{background:#fff;border:.5px solid var(--border);border-radius:14px;box-shadow:0 18px 50px rgba(16,98,73,.12),0 4px 14px rgba(0,0,0,.04);overflow:hidden;width:100%;display:grid;grid-template-columns:144px 1fr;grid-template-rows:34px 1fr;text-align:left}
/* Topbar */
.cl-topbar{grid-column:1 / -1;border-bottom:.5px solid var(--border);display:flex;align-items:center;padding:0 10px;gap:10px;background:#fff}
.cl-tb-logo{width:134px;flex-shrink:0;display:flex;align-items:center}
.cl-tb-logo img{height:14px;width:auto;display:block}
.cl-tb-crumb{display:flex;align-items:center;gap:5px;font-size:8.5px;color:var(--fg2);font-weight:600}
.cl-tb-crumb .sep{color:#CBD5E1}
.cl-tb-crumb .ic{width:9px;height:9px;color:var(--fg2)}
.cl-tb-search{margin-left:6px;background:#F1F1EF;border-radius:999px;padding:3px 9px;font-size:8px;color:var(--fg2);width:140px;display:flex;align-items:center;gap:5px}
.cl-tb-right{margin-left:auto;display:flex;align-items:center;gap:8px}
.cl-tb-bell{position:relative;width:14px;height:14px;display:flex;align-items:center;justify-content:center}
.cl-tb-bell .dot{position:absolute;top:-1px;right:-2px;width:9px;height:9px;border-radius:50%;background:#FF5A48;color:#fff;font-size:6px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cl-tb-user{font-size:8.5px;font-weight:600;color:var(--fg1);display:flex;align-items:center;gap:3px}
.cl-tb-user .av{width:14px;height:14px;border-radius:50%;background:#E2E8F0;color:#475569;font-size:7px;font-weight:800;display:flex;align-items:center;justify-content:center}
/* Sidebar */
.cl-side{border-right:.5px solid var(--border);padding:7px 6px 8px;background:#fff;display:flex;flex-direction:column;gap:0;overflow:hidden;min-width:0}
.cl-side-search-row{display:flex;align-items:center;gap:4px;margin-bottom:4px}
.cl-side-search{flex:1;min-width:0;background:#fff;border:.5px solid var(--border);border-radius:6px;padding:4px 7px;font-size:7.5px;color:var(--fg2);display:flex;align-items:center;gap:4px;white-space:nowrap;overflow:hidden}
.cl-side-collapse{width:18px;height:18px;border:.5px solid var(--border);border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--green);background:#fff;flex-shrink:0}
.cl-side-head{font-size:6.5px;font-weight:800;color:#94A3B8;letter-spacing:.04em;padding:7px 6px 3px;white-space:nowrap}
.cl-side-item{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;color:var(--fg1);font-size:8.5px;font-weight:500;cursor:default;letter-spacing:-.25px;white-space:nowrap;overflow:hidden;min-width:0;line-height:1.3}
.cl-side-item.active{background:var(--green-50);color:var(--green);font-weight:700}
.cl-side-item .ic{width:11px;height:11px;flex-shrink:0;color:currentColor}
.cl-side-item .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cl-side-footer{margin-top:auto;padding-top:10px}
.cl-side-user{display:flex;align-items:center;gap:7px;padding:6px 7px;border-radius:7px;background:var(--bg2);border:.5px solid var(--border)}
.cl-side-user-av{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--green),#0a7a5c);color:#fff;font-size:9px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.cl-side-user-info{min-width:0;overflow:hidden;flex:1}
.cl-side-user-name{font-size:8.5px;font-weight:700;color:var(--fg1);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-side-user-org{font-size:6.5px;color:var(--fg2);line-height:1.25;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-side-user-arrow{color:var(--fg2);flex-shrink:0}
/* Main canvas */
.cl-main{padding:8px;background:#F7F7F5;display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:7px;align-content:stretch;align-items:stretch;overflow:hidden}
.cl-w{background:#fff;border:.5px solid var(--border);border-radius:9px;padding:8px 9px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.cl-w.span2{grid-column:span 2}
.cl-w.span3{grid-column:span 3}
.cl-w-head{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:3px}
.cl-w-title{font-size:8.5px;font-weight:800;color:var(--fg1);line-height:1.25;letter-spacing:-.2px}
.cl-w-sub{font-size:7px;color:var(--fg2);font-weight:600;margin-top:1px}
.cl-w-ctrl{display:flex;gap:3px;align-items:center;flex-shrink:0}
.cl-w-sel{font-size:6.5px;padding:2px 5px;border-radius:3px;border:.5px solid var(--border);color:var(--fg1);background:#fff;display:inline-flex;align-items:center;gap:2px}
.cl-w-sel .ar{color:var(--fg2)}
.cl-w-meta{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:4px}
.cl-w-pill{font-size:6px;padding:1.5px 5px;border-radius:999px;background:var(--green-50);color:var(--green);font-weight:700;letter-spacing:-.2px}
.cl-w-pill.b{background:var(--blue-50);color:var(--blue)}
.cl-w-pill.g{background:#E8F5E9;color:#2E7D32}
.cl-w-pill.y{background:#FEF3C7;color:#D97706}
.cl-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px;margin-bottom:6px;align-items:center}
.cl-legend .it{display:flex;align-items:center;gap:5px;color:var(--fg2);font-weight:600}
.cl-legend .sw{width:9px;height:9px;border-radius:2px}
/* Stacked bar chart — bottom-anchored on baseline, fills card */
.cl-sbar{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;flex:1;min-height:120px;padding:0 6px;margin-bottom:20px;position:relative;border-bottom:.5px solid #E5E7EB}
.cl-sbar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative;min-width:0}
.cl-sbar-stack{width:100%;max-width:28px;display:flex;flex-direction:column-reverse;height:100%;justify-content:flex-start}
.cl-sbar-seg{width:100%;animation:clBarGrow 1.6s cubic-bezier(.22,1,.36,1) forwards;height:0}
.cl-sbar-seg:last-child{border-radius:3px 3px 0 0}
.cl-sbar-yr{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:7.5px;color:var(--fg2);font-weight:600;padding-top:5px;letter-spacing:-.2px}
@keyframes clBarGrow{from{height:0}to{height:var(--h)}}
/* Single-series bar chart — bottom-anchored on baseline, fills card */
.cl-bar{display:flex;align-items:flex-end;justify-content:space-around;gap:10px;flex:1;min-height:120px;padding:0 6px;margin-bottom:20px;position:relative;border-bottom:.5px solid #E5E7EB}
.cl-bar-col{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;position:relative;min-width:0}
.cl-bar-fill{width:100%;max-width:28px;height:0;background:#F26830;border-radius:3px 3px 0 0;animation:clBarGrow 1.6s cubic-bezier(.22,1,.36,1) forwards}
.cl-bar-fill.g{background:#76BE57}
.cl-bar-fill.b{background:#19B5FE}
.cl-bar-yr{position:absolute;top:100%;left:0;right:0;text-align:center;font-size:7.5px;color:var(--fg2);font-weight:600;padding-top:5px;letter-spacing:-.2px}
/* Pie chart (SVG slice-by-slice fill) */
.cl-pie-wrap{display:flex;align-items:center;justify-content:center;gap:10px;flex:1;min-height:110px}
.cl-pie-svg{width:96px;height:96px;flex-shrink:0;filter:drop-shadow(0 4px 14px rgba(15,23,42,.08));overflow:visible}
.cl-pie-svg .cl-slice{fill:none;stroke-width:20;stroke-dasharray:0 100;animation:pieFill 1.1s cubic-bezier(.22,1,.36,1) forwards}
@keyframes pieFill{
  from{stroke-dasharray:0 100}
  to{stroke-dasharray:var(--len) 100}
}
.cl-pie-svg .cl-slice:nth-child(2){animation-delay:.18s}
.cl-pie-svg .cl-slice:nth-child(3){animation-delay:.36s}
.cl-pie-svg .cl-slice:nth-child(4){animation-delay:.54s}
.cl-pie-svg .cl-slice:nth-child(5){animation-delay:.72s}
.cl-pie-svg .cl-slice:nth-child(6){animation-delay:.90s}
.cl-pie-svg .cl-slice:nth-child(7){animation-delay:1.08s}
.cl-pie-svg .cl-slice:nth-child(8){animation-delay:1.26s}
.cl-pie-svg .cl-slice:nth-child(9){animation-delay:1.44s}
/* Table widget */
.cl-table-wrap{overflow:hidden;flex:1;min-height:0;display:flex;flex-direction:column}
.cl-table{width:100%;border-collapse:collapse;font-size:7.5px}
.cl-table tbody{display:table-row-group}
.cl-table tbody tr{height:auto}
.cl-table thead th{font-size:7px;font-weight:700;color:var(--fg2);text-align:right;padding:5px 6px;border-bottom:.5px solid #E5E7EB;background:#FAFBFC}
.cl-table thead th:first-child{text-align:left}
.cl-table tbody td{padding:6px 6px;text-align:right;font-variant-numeric:tabular-nums;color:var(--fg1);border-bottom:.5px solid #F1F5F9;line-height:1.4}
.cl-table tbody td:first-child{text-align:left;font-weight:600}
/* Pie legend dot list */
.cl-pie-leg{display:flex;flex-direction:column;gap:6px;font-size:9px}
.cl-pie-leg .it{display:flex;align-items:center;gap:6px;color:var(--fg2);font-weight:600;white-space:nowrap}
.cl-pie-leg .sw{width:9px;height:9px;border-radius:2px;flex-shrink:0}

/* === Section 3: 지원 프로그램 — 3 Equal Cards === */
.v-section.v-programs{background:#fff}
.v-programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.v-prog-card{background:#fff;border:.5px solid var(--border);border-radius:20px;padding:36px 30px;display:flex;flex-direction:column;transition:transform 240ms ease,box-shadow 240ms ease,border-color 240ms ease;position:relative;overflow:hidden;min-height:320px;box-shadow:0 4px 6px rgba(0,0,0,.04),0 10px 24px rgba(0,0,0,.07),0 1px 2px rgba(0,0,0,.06)}
.v-prog-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.14),0 4px 12px rgba(0,0,0,.08);border-color:rgba(18,158,123,.3)}
.v-prog-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;margin-bottom:22px}
.v-prog-title{font-size:25px;font-weight:700;color:var(--fg1);letter-spacing:-.4px;margin-bottom:12px;line-height:1.3}
.v-prog-desc{font-size:17px;color:var(--fg2);line-height:1.7;margin-bottom:18px}
.v-prog-fit{font-size:17px;color:var(--green);font-weight:700;margin-top:auto;padding-top:14px;padding-bottom:0;border-top:.5px dashed rgba(18,158,123,.25);text-align:center;display:flex;align-items:center;justify-content:center}

/* Section text alignment overrides */
.v-section.v-bg2 .v-section-inner{text-align:left}.v-section.v-bg2 .v-section-inner > p{text-align:center !important;margin-left:auto !important;margin-right:auto !important}
.v-section.v-target .v-section-inner,
.v-section.v-process .v-section-inner{text-align:center}
.v-section.v-target .v-section-inner > .sh,
.v-section.v-process .v-section-inner > .sh{display:block}
/* === Section 4: 대상 기업 — Editorial Magazine Style === */
.v-section.v-target{background:var(--bg2);border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.v-target-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:24px}
.v-target-item{padding:56px 36px;text-align:center;position:relative;background:#fff;border:.5px solid var(--border);border-radius:24px;transition:transform 280ms ease,box-shadow 280ms ease,border-color 280ms ease}
.v-target-item:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(0,0,0,.06);border-color:rgba(18,158,123,.25)}
.v-target-num{font-size:14px;font-weight:700;color:var(--fg2);letter-spacing:.12em;margin-bottom:24px;display:inline-block;padding:6px 14px;background:#F1F1EF;border-radius:999px}
.v-target-icon{width:88px;height:88px;border-radius:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 28px}
.v-target-title{font-size:20px;font-weight:500;color:var(--fg1);line-height:1.4;max-width:320px;margin:0 auto;word-break:keep-all;overflow-wrap:break-word}

/* === Section 5: 신청 절차 — Horizontal Stepper / Timeline === */
.v-section.v-process{background:linear-gradient(180deg,#fff 0%,#EDFCF6 100%);position:relative;overflow:hidden}
.v-section.v-process::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 800px 400px at 50% 100%,rgba(18,158,123,.08) 0%,transparent 70%);pointer-events:none}
.v-process-inner{position:relative;z-index:1}
.v-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;position:relative}
.v-stepper::before{content:"";position:absolute;top:48px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,rgba(18,158,123,.45) 0,rgba(18,158,123,.45) 6px,transparent 6px,transparent 14px);z-index:0}
.v-step{position:relative;z-index:1;padding:0 18px;text-align:center;display:flex;flex-direction:column;align-items:center}
.v-step-badge{width:96px;height:96px;border-radius:50%;background:linear-gradient(135deg,var(--green) 0%,#0a7a5c 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 32px rgba(18,158,123,.32);margin-bottom:20px;border:6px solid #fff;transition:transform 280ms ease}
.v-step:hover .v-step-badge{transform:scale(1.06)}
.v-step-num{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.12em;margin-bottom:10px;display:inline-block;padding:4px 12px;background:var(--green-50);border-radius:999px}
.v-step-title{font-size:18px;font-weight:700;color:var(--fg1);letter-spacing:-.3px;margin-bottom:10px}
.v-step-desc{font-size:14px;color:var(--fg2);line-height:1.7;max-width:240px}

/* === Responsive: Hero === */
@media (max-width:1100px){
  .v-section.v-hero .sh{font-size:36px}
  .v-section.v-hero .sm{font-size:36px}
}

/* === Responsive: Mobile breakpoints for new sections === */
@media (max-width:1024px){
  .v-section{padding:60px 32px;min-height:auto}
  .v-programs-grid{grid-template-columns:1fr;gap:20px}
  .v-prog-card{min-height:auto;padding:28px 24px}
  .v-target-grid{grid-template-columns:1fr;gap:16px}
  .v-target-item{padding:40px 24px}
  .v-stepper{grid-template-columns:1fr;gap:32px}
  .v-stepper::before{display:none}
  .v-step{flex-direction:row;align-items:flex-start;text-align:left;gap:20px;padding:0}
  .v-step-badge{width:72px;height:72px;font-size:22px;flex-shrink:0;margin-bottom:0}
  .v-step-desc{max-width:none}
  .cl-dash{grid-template-columns:1fr;grid-template-rows:32px auto 1fr}
  .cl-side{display:none}
  .cl-main{grid-template-columns:repeat(2,1fr)}
  .cl-w.span2,.cl-w.span3{grid-column:span 2}
}

/* === 바우처 페이지 수정사항 — 모바일/데스크탑 공통 === */
/* 1. 메인 상단 이미지(v-hero-visual / cl-dash) 삭제 + 텍스트 중앙 정렬 + 폰트 키움 */
.v-section.v-hero .v-hero-visual{display:none !important}
.v-section.v-hero{justify-content:center !important;padding:120px 80px !important;min-height:calc(100vh - 68px) !important;align-items:center !important;text-align:center !important}
.v-hero-centered{justify-content:center !important;align-items:center !important;text-align:center !important;min-height:auto !important;gap:24px !important}
.v-hero-top{margin:0 auto !important;text-align:center !important;max-width:880px !important}
.v-section.v-hero .sh{font-size:64px !important;letter-spacing:-2px !important;line-height:1.15 !important}
.v-section.v-hero .sm{font-size:64px !important;letter-spacing:-2px !important;line-height:1.15 !important;margin-top:8px !important;color:var(--green) !important}
.v-section.v-hero .lead{font-size:20px !important;line-height:1.7 !important;margin:0 auto !important;max-width:760px !important;color:var(--fg2) !important}
@media (max-width:768px){
  .v-section.v-hero{padding:80px 20px !important;min-height:calc(100vh - 60px) !important}
  .v-section.v-hero .sh{font-size:38px !important;letter-spacing:-1.2px !important}
  .v-section.v-hero .sm{font-size:38px !important;letter-spacing:-1.2px !important}
  .v-section.v-hero .lead{font-size:15px !important}
}

/* 3. 바우처 안내 */
.v-section.v-bg2 .v-cta-emphasis{background:transparent !important;box-shadow:none !important;justify-content:center !important;text-align:center !important;padding:32px 0 0 !important;border-radius:0 !important}
.v-section.v-bg2 .v-cta-emphasis > div:first-child{display:none !important}
.v-section.v-bg2 .v-cta-emphasis > div:last-child > div:first-child{display:none !important}
.v-section.v-bg2 .v-cta-emphasis > div:last-child > div:last-child{color:var(--fg1) !important;font-size:32px !important;font-weight:400 !important;letter-spacing:-.4px !important;line-height:1.5 !important}
.v-section.v-bg2 .v-cta-emphasis span{color:var(--green) !important;font-weight:700 !important}
@media (max-width:768px){
  .v-section.v-bg2 .v-cta-emphasis > div:last-child > div:last-child{font-size:22px !important}
  .v-section.v-bg2 .v-cta-emphasis span{font-size:24px !important}
}

/* 4-5. 대상 기업 — 숫자 칩 삭제, 글자 레귤러, 카드↔폰트 간격 띄우기 */
.v-section.v-target .v-target-num{display:none !important}
.v-section.v-target .v-target-title{letter-spacing:0 !important}
.v-section.v-target{padding-top:120px !important;padding-bottom:120px !important}
.v-section.v-target .v-target-grid{margin-top:64px !important}

/* 6. 신청 절차 — 카드↔폰트 간격, 타이틀/서브 텍스트 키움 */
.v-section.v-process{padding-top:120px !important;padding-bottom:120px !important}
.v-section.v-process .v-stepper{margin-top:80px !important}
.v-section.v-process .v-step-title{font-size:22px !important;margin-bottom:14px !important;letter-spacing:-.4px !important}
.v-section.v-process .v-step-desc{font-size:16px !important;line-height:1.75 !important;max-width:280px !important}
.v-section.v-process .v-step-num{font-size:14px !important;padding:5px 14px !important;margin-bottom:12px !important}

.cta-btn-row{display:flex;gap:14px;align-items:center;justify-content:center}

@media(max-width:768px){.voucher-eyebrow{margin-top:0 !important}.v-prog-title{font-size:22px !important}.v-prog-fit{font-size:12px !important}.v-prog-fit span{font-size:12px !important}.v-target-title{font-size:18px !important}}

@keyframes globePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}
@keyframes bellShake{0%,100%{transform:rotate(0)}15%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}75%{transform:rotate(4deg)}}
@keyframes coinBounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}

/* === Mobile common fixes (append-only) === */
@media (max-width: 1024px) {
  html, body { overflow-x: hidden; max-width: 100vw; }
  img, svg, video, canvas { max-width: 100%; height: auto; }
  h1, h2, h3, .h1, .h2, .h3, .page-hero .h1, .hero-title { white-space: normal; word-break: keep-all; }
}

/* === voucher 모바일 (data 페이지 폰트 통일 + 대시보드 mockup overflow 방지) === */
@media (max-width: 768px) {
  /* Hero */
  /* .page-hero { padding: 20px 20px !important; min-height: auto !important; } */
  .page-hero-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
  .h1 { font-size: 28px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; }
  .lead { font-size: 14px !important; margin-top: 14px !important; line-height: 1.5 !important; max-width: 100% !important; }

  /* ── 배너 (case-study 모바일 동일) ── */
  [style*="padding:100px 80px 80px"] { padding: 0px 20px 40px !important; }
  body > [style*="padding:100px 80px 80px"] .sh { font-size: 26px !important; letter-spacing: -0.5px !important; line-height: 1.2 !important; word-break: keep-all !important; }
  body > [style*="padding:100px 80px 80px"] .sm { font-size: 22px !important; letter-spacing: -0.4px !important; line-height: 1.3 !important; word-break: keep-all !important; }
  [style*="padding:100px 80px 80px"] p { font-size: 14px !important; margin-top: 16px !important; line-height: 1.6 !important; max-width: 100% !important; }

  /* Section headings */
  .sh, .sm { font-size: 26px !important; letter-spacing: -0.5px !important; line-height: 1.2 !important; word-break: keep-all !important; }
  /* v-section padding 통일 */
  .v-section { padding: 60px 20px !important; }
  .v-hero { padding: 40px 20px !important; min-height: auto !important; height: auto !important; }
  /* Dashboard mockup — overflow 컨테이너 안쪽으로 */
  .cl-dash {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .cl-side { display: none !important; }  /* 사이드바 모바일 숨김 */
  .cl-main { padding: 10px !important; }
  /* 상단 탭(Topbar) 모바일 최적화 — 폭 확보 + 자간 조정 */
  .cl-topbar { padding: 0 8px !important; gap: 7px !important; min-height: 34px !important; flex-wrap: nowrap !important; }
  .cl-tb-logo { width: 82px !important; flex-shrink: 0 !important; }
  .cl-tb-crumb {
    font-size: 7.5px !important;
    gap: 4px !important;
    white-space: nowrap !important;
    letter-spacing: -0.3px !important;
    flex-shrink: 1 !important;
    overflow: hidden !important;
    min-width: 0 !important;
  }
  .cl-tb-search {
    width: 100px !important;
    flex-shrink: 1 !important;
    font-size: 7.5px !important;
    letter-spacing: -0.2px !important;
    padding: 3px 7px !important;
  }
  .cl-tb-right { gap: 6px !important; flex-shrink: 0 !important; }
  /* Task 3: 히어로 두 번째 파이차트(에너지원별 추이) 숨김 */
  .cl-w:has(.cl-pie-svg.energy) { display: none !important; }
  /* 스코프 1,2,3 비율 파이차트 모바일 숨김 */
  .cl-w:has(.cl-pie-svg.s123) { display: none !important; }

  /* Task 4: 바우처 안내 로고 2×2 + 크게 */
  .v-logo-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 16px !important; max-width: 100% !important; }
  .v-logo-card { min-height: 110px !important; padding: 24px 20px !important; }
  .v-logo-card img { max-height: 80px !important; }

  /* Task 5: 신청 절차 세로 1열 (각 step은 뱃지 위, 텍스트 아래 중앙정렬) */
  .v-stepper { grid-template-columns: 1fr !important; gap: 32px !important; }
  .v-stepper::before { display: none !important; }
  .v-step { flex-direction: column !important; align-items: center !important; text-align: center !important; gap: 0 !important; }
  .v-step-badge { width: 72px !important; height: 72px !important; flex-shrink: 0 !important; margin-bottom: 16px !important; }
  .v-step-desc { max-width: none !important; text-align: center !important; }

  /* Programs grid */
  .v-programs-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .v-prog-card { padding: 20px !important; min-height: auto !important; }

  /* ── CTA ── */
  .cta-banner { padding: 60px 20px !important; }
  .cta-h, .cta-m { font-size: 24px !important; }
  .cta-btn-row { justify-content: center !important; flex-wrap: wrap !important; }
  .cta-btn-row .btn-p { font-size: 12px !important; padding: 14px 20px !important; justify-content: center!important; flex-wrap: wrap !important; }
  .cta-btn-row .btn-g { background: #fff; font-size: 12px!important; padding: 14px 20px!important; justify-content: center!important; border: 1px solid var(--green); color: var(--green); }
}

.mob-br { display: none; }
@media (max-width: 768px) { .mob-br { display: inline; } }
.cta-inner .sh, .cta-inner .sm { text-align: left; }
.v-hero-wrap { padding-top: 68px; }
@media(max-width:768px){ .v-hero-wrap { padding-top: 136px !important; } }
@media (max-width: 768px) {
  .cta-inner .sh, .cta-inner .sm { text-align: center; }
  .v-section-inner p { font-size: 14px !important; color: var(--fg2) !important; line-height: 1.5 !important; max-width: 800px !important; margin-top: 40px !important; margin-bottom: 48px !important; }
}