:root{color-scheme:light;--green-50:#ECF8F1;--green-100:#D3EEDD;--green-200:#A8DDBC;--green-300:#74C797;--green-400:#41AE72;--green-500:#209050;--green-600:#1A7A43;--green-700:#156537;--green-800:#114F2C;--green-900:#0C3A20;--forest:#0F6E5C;--forest-700:#0B5648;--ink-900:#1A1D1C;--ink-800:#2A2D2C;--ink-700:#434946;--ink-600:#5C625F;--ink-500:#767C79;--ink-400:#9AA09D;--ink-300:#C3C8C5;--ink-200:#E4E7E6;--ink-150:#EBEEED;--ink-100:#F1F3F2;--ink-50:#F7F9F8;--white:#FFFFFF;--bg-1:var(--white);--bg-2:var(--ink-50);--bg-3:var(--ink-100);--fg-1:var(--ink-900);--fg-2:var(--ink-700);--fg-3:var(--ink-500);--border:var(--ink-200);--border-strong:var(--ink-300);--accent:var(--green-500);--accent-hover:var(--green-600);--esg-e:#209050;--esg-s:#2E6FE0;--esg-g:#C7892B;--font-sans:"Pretendard","Pretendard Variable",-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Segoe UI",Roboto,sans-serif;--fs-display:66px;--fs-h1:48px;--fs-h2:40px;--fs-h3:28px;--fs-h4:22px;--fs-lead:20px;--fs-body:17px;--fs-sm:15.5px;--fs-xs:14px;--fs-caption:13px;--lh-tight:1.12;--lh-snug:1.28;--lh-normal:1.55;--lh-relaxed:1.7;--ls-tight:-0.02em;--ls-snug:-0.01em;--ls-wide:0.06em;--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;--r-pill:999px;--shadow-xs:0 1px 2px rgba(20,35,28,.06);--shadow-sm:0 1px 3px rgba(20,35,28,.08),0 1px 2px rgba(20,35,28,.04);--shadow-md:0 4px 12px rgba(20,35,28,.08),0 2px 4px rgba(20,35,28,.04);--shadow-lg:0 12px 28px rgba(20,35,28,.10),0 4px 10px rgba(20,35,28,.05);--shadow-xl:0 24px 56px rgba(20,35,28,.14);--ring-accent:0 0 0 3px rgba(32,144,80,.22);--maxw:1200px;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;background:var(--bg-1);color:var(--fg-2);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-normal);font-weight:400;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;color:var(--fg-1);font-family:var(--font-sans);text-wrap:balance}h1{font-size:var(--fs-h1);font-weight:800;line-height:var(--lh-tight);letter-spacing:var(--ls-tight)}h2{font-size:var(--fs-h2);font-weight:700;line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}h3{font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug);letter-spacing:var(--ls-snug)}h4{font-size:var(--fs-h4);font-weight:600;line-height:var(--lh-snug)}p{margin:0}a{color:inherit;text-decoration:none}:focus-visible{outline:none;box-shadow:var(--ring-accent);border-radius:var(--r-sm)}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 32px}section{padding:88px 0;position:relative;scroll-margin-top:66px}.tint{background:var(--bg-2)}.hl{color:var(--green-600)}.band-green .hl,.band-dark .hl,.final .hl{color:var(--green-200)}.eyebrow{display:inline-flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:22px}.eyebrow i{width:46px;height:3px;border-radius:2px;background:var(--green-500);flex:none}.eyebrow em{font-style:normal;font-size:19px;font-weight:700;letter-spacing:.005em;color:var(--green-600)}.band-green .eyebrow i,.band-dark .eyebrow i{background:var(--green-300)}.band-green .eyebrow em{color:var(--green-200)}.band-dark .eyebrow em{color:var(--green-300)}.final .eyebrow i{background:rgba(255,255,255,.7)}.final .eyebrow em{color:#fff}.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;line-height:1.1;border-radius:var(--r-md);border:1px solid transparent;cursor:pointer;transition:all .18s var(--ease);white-space:nowrap;padding:14px 26px;font-size:16px}.btn-primary{background:var(--green-500);color:#fff}.btn-primary:hover{background:var(--green-600)}.btn-secondary{background:#fff;color:var(--fg-1);border-color:var(--border-strong)}.btn-secondary:hover{border-color:var(--green-500);color:var(--green-700)}.btn-onDark{background:#fff;color:var(--green-700)}.btn-onDark:hover{background:var(--green-50)}.btn-outlineDark{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn-outlineDark:hover{border-color:#fff;background:rgba(255,255,255,.08)}.tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:5px 11px;border-radius:var(--r-pill);background:var(--green-50);color:var(--green-700)}.tag-line{background:transparent;border:1px solid var(--border);color:var(--fg-3)}.logo-gdin{height:26px;width:auto;display:block}.logo-iesg{height:24px;width:auto;display:block}.lockup{display:inline-flex;align-items:center;gap:16px}.lockup .x{font-size:14px;font-weight:500;color:var(--fg-3)}.lockup.on-dark .x{color:rgba(255,255,255,.55)}.org-logo{height:30px;width:auto;display:block;margin-bottom:20px}.org-logo.iesg{height:34px;border-radius:6px}.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav .in{display:flex;align-items:center;justify-content:space-between;height:66px;gap:24px}.wordmark{display:flex;align-items:baseline;gap:10px}.wordmark b{font-size:21px;font-weight:800;letter-spacing:-.03em;color:var(--fg-1)}.wordmark span{font-size:11.5px;font-weight:500;color:var(--fg-3);letter-spacing:.01em}@media (max-width:1180px){.wordmark span{display:none}}.nav nav{display:flex;gap:26px;font-size:15.5px;font-weight:500;color:var(--fg-2)}.nav nav a:hover{color:var(--green-600)}.hero{padding:84px 0 88px;overflow:hidden;background:var(--bg-1)}.hero::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,rgba(32,144,80,.13) 1px,transparent 0);background-size:22px 22px;-webkit-mask-image:radial-gradient(75% 60% at 50% 22%,#000 0%,transparent 72%);mask-image:radial-gradient(75% 60% at 50% 22%,#000 0%,transparent 72%)}.hero::after{content:"";position:absolute;left:50%;top:-140px;transform:translateX(-50%);width:900px;height:520px;pointer-events:none;background:radial-gradient(closest-side,rgba(32,144,80,.13),transparent 70%)}.hero .in{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}.hero h1{font-size:clamp(30px,4.9vw,58px);margin:20px 0 0;max-width:none;text-wrap:nowrap}@media (max-width:760px){.hero h1{text-wrap:balance}}.hero .lead{margin-top:22px;font-size:var(--fs-lead);line-height:var(--lh-relaxed);color:var(--fg-2);max-width:60ch}.hero .lead b{color:var(--fg-1);font-weight:600}.cta-row{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap;justify-content:center}.mock{margin:60px auto 0;max-width:1060px;border:1px solid var(--border);border-radius:var(--r-xl);background:#fff;box-shadow:var(--shadow-xl);overflow:hidden;position:relative;z-index:2;text-align:left}.mock-bar{display:flex;align-items:center;gap:7px;padding:11px 16px;border-bottom:1px solid var(--border);background:var(--ink-50)}.mock-bar i{width:9px;height:9px;border-radius:50%;background:var(--ink-300);flex:none}.mock-bar .url{margin-left:10px;font-size:11.5px;color:var(--fg-3);background:#fff;border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 12px}.app{display:grid;grid-template-columns:172px 1fr;min-height:520px}.side{border-right:1px solid var(--border);background:var(--ink-50);padding:18px 12px}.side .brand{font-size:13px;font-weight:700;color:var(--fg-1);padding:0 10px 14px;letter-spacing:-.01em;border-bottom:1px solid var(--border);margin-bottom:12px}.side .brand span{display:block;font-size:10.5px;font-weight:500;color:var(--fg-3);margin-top:3px}.side a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--r-sm);font-size:12.5px;color:var(--fg-2);margin-bottom:2px}.side a.on{background:var(--green-50);color:var(--green-700);font-weight:600}.side a svg{flex:none;opacity:.85}.main{padding:20px 24px 24px;min-width:0}.mhd{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.mhd h4{font-size:15.5px}.mhd .sb{font-size:11.5px;color:var(--fg-3);margin-top:3px}.chips{display:flex;gap:6px}.chip2{font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--r-pill);border:1px solid var(--border);color:var(--fg-3);background:#fff}.chip2.on{background:var(--green-500);border-color:var(--green-500);color:#fff;font-weight:600}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.tile{border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px}.tile .l{font-size:11px;color:var(--fg-3);font-weight:500}.tile .v{font-size:22px;font-weight:700;color:var(--fg-1);margin-top:4px;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}.tile .v em{font-style:normal;font-size:12px;font-weight:600;color:var(--fg-3);margin-left:2px}.tile .d{font-size:11px;font-weight:600;color:var(--green-600);margin-top:3px}.panes{display:grid;grid-template-columns:1.32fr 1fr;gap:12px;margin-bottom:12px}.pane{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px 10px;position:relative}.pane .ph{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.pane .pt{font-size:12.5px;font-weight:600;color:var(--fg-1)}.pane .pn{font-size:11px;color:var(--fg-3)}.cv{width:100%;height:auto;display:block;overflow:visible}.gl{stroke:var(--ink-150);stroke-width:1}.ql{stroke:var(--ink-300);stroke-width:1;stroke-dasharray:3 3}.qt{font-size:9.5px;fill:var(--fg-3);text-anchor:end}.ax{font-size:9.5px;fill:var(--fg-3)}.ar{text-anchor:end}.am{text-anchor:middle}.axl{font-size:10px;fill:var(--fg-3);font-weight:500}.dot{stroke:#fff;stroke-width:2;cursor:pointer;transform-box:fill-box;transform-origin:center;opacity:0;transform:scale(.2);transition:opacity .45s var(--ease),transform .55s var(--ease),r .15s var(--ease)}.mock.lit .dot{opacity:1;transform:scale(1)}.dot.other{fill:var(--ink-300)}.dot.cert{fill:var(--green-500)}.dot:hover{r:8}.rl{font-size:11px;fill:var(--fg-2);font-weight:500}.dbl{stroke:var(--ink-200);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset .85s var(--ease)}.mock.lit .dbl{stroke-dashoffset:0!important}.d1{fill:var(--ink-300);opacity:0;transition:opacity .4s var(--ease)}.mock.lit .d1{opacity:1}.d2{fill:var(--green-500);stroke:#fff;stroke-width:2;transform-box:fill-box;transform-origin:center;transform:translateX(var(--dx));opacity:0;transition:transform .85s var(--ease),opacity .3s var(--ease)}.mock.lit .d2{transform:translateX(0);opacity:1}.dv{font-size:12px;fill:var(--fg-1);font-weight:700;font-variant-numeric:tabular-nums;opacity:0;transition:opacity .4s var(--ease)}.mock.lit .dv{opacity:1}.dd{font-size:10px;fill:var(--green-600);font-weight:600;opacity:0;transition:opacity .4s var(--ease)}.mock.lit .dd{opacity:1}.lgd{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}.lgd span{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--fg-3)}.lgd i{width:8px;height:8px;border-radius:50%;flex:none}.clus{border:1px solid var(--border);border-radius:var(--r-md);padding:14px 16px}.clus .ph{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.crow{display:grid;grid-template-columns:118px 1fr 62px;align-items:center;gap:12px;margin-bottom:9px}.crow:last-child{margin-bottom:0}.crow .cn{font-size:11.5px;color:var(--fg-2);font-weight:500}.ctrack{height:14px;background:var(--ink-100);border-radius:3px;overflow:hidden}.cfill{height:100%;border-radius:3px;width:0;transition:width .9s var(--ease)}.crow .cv2{font-size:11.5px;font-weight:600;color:var(--fg-1);font-variant-numeric:tabular-nums}.crow .cv2 em{font-style:normal;font-weight:500;color:var(--fg-3);margin-left:4px;font-size:10.5px}.tip{position:absolute;z-index:10;background:var(--ink-900);color:#fff;font-size:11px;padding:6px 10px;border-radius:var(--r-sm);pointer-events:none;opacity:0;transition:opacity .12s;white-space:nowrap;transform:translate(-50%,-140%)}.tip.on{opacity:1}@media (max-width:900px){.app{grid-template-columns:1fr}.side{display:none}.panes{grid-template-columns:1fr}}.sec-h{text-align:center;max-width:840px;margin:0 auto 60px}.sec-h h2{margin-top:0}.sec-h p{margin-top:22px;font-size:var(--fs-lead);line-height:var(--lh-relaxed);color:var(--fg-2)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--shadow-sm);transition:all .22s var(--ease)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}.card .ico{width:42px;height:42px;border-radius:var(--r-md);background:var(--green-50);display:flex;align-items:center;justify-content:center;color:var(--green-600);margin-bottom:18px}.card h4{margin-bottom:10px}.card p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--fg-2)}.card p b{color:var(--fg-1);font-weight:600}.card .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.gain-ic{width:64px;height:64px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;background:var(--green-50);color:var(--green-600);border:1px solid var(--green-200);margin-bottom:20px}.card.gain h4{font-size:21px;margin-bottom:12px;letter-spacing:-.02em;color:var(--green-700)}.grid-note{text-align:center;margin-top:28px;font-size:var(--fs-sm);color:var(--fg-3)}.pain-ic{width:64px;height:64px;border-radius:var(--r-lg);display:flex;align-items:center;justify-content:center;background:var(--ink-100);color:var(--ink-500);border:1px solid var(--border);margin-bottom:20px}.card.pain h4{font-size:21px;margin-bottom:12px;letter-spacing:-.02em}.card.pain p{color:var(--fg-2)}.q-no{font-size:14px;font-weight:700;color:var(--green-600);letter-spacing:var(--ls-wide);margin-bottom:12px}.band-green{background:linear-gradient(160deg,var(--green-800) 0%,var(--forest-700) 100%);color:#fff;position:relative;overflow:hidden}.band-green::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);background-size:24px 24px}.band-green .in{position:relative;z-index:2}.band-green h2,.band-green h4{color:#fff}.band-green .sec-h p{color:rgba(255,255,255,.82)}.band-green .eyebrow{color:var(--green-200)}.band-green .eyebrow i{background:var(--green-300)}.rail{position:relative;margin-top:14px}.asset{text-align:center;position:relative;z-index:2}.asset-hd{display:inline-flex;align-items:center;gap:13px;justify-content:center}.asset-hd svg{color:var(--green-300);flex:none;opacity:0;transform:scale(.7);transition:all .55s var(--ease) 2.5s}.rail.on .asset-hd svg{opacity:1;transform:none}.asset-hd b{font-size:clamp(23px,2.9vw,32px);font-weight:800;color:#fff;letter-spacing:-.025em;opacity:.45;transition:opacity .55s var(--ease) 2.5s}.rail.on .asset-hd b{opacity:1}.asset::before{content:"";position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:620px;height:200px;pointer-events:none;z-index:-1;opacity:0;background:radial-gradient(closest-side,rgba(116,199,151,.3),transparent 72%);transition:opacity 1s var(--ease) 2.2s}.rail.on .asset::before{opacity:1}.merge{display:block;width:100%;height:96px;overflow:visible;margin-top:16px;opacity:0;transition:opacity .8s var(--ease) 1.4s}.rail.on .merge{opacity:1}.spark{fill:rgba(205,240,222,.85);filter:drop-shadow(0 0 2px rgba(150,215,180,.35))}.steps{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.steps::before{content:"";position:absolute;top:16px;left:12.5%;right:12.5%;height:3px;background:rgba(255,255,255,.16);border-radius:3px}.steps::after{content:"";position:absolute;top:16px;left:12.5%;width:0;height:3px;background:var(--green-300);border-radius:2px;transition:width 1.5s cubic-bezier(.4,0,.2,1) .25s}.rail.on .steps::after{width:75%}.fstep{text-align:center;padding:0 12px;position:relative;z-index:2}.fstep .num{width:34px;height:34px;border-radius:50%;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;background:var(--green-800);border:2px solid rgba(255,255,255,.28);color:rgba(255,255,255,.7);transition:all .45s var(--ease)}.rail.on .fstep .num{background:var(--green-300);border-color:var(--green-300);color:var(--green-900)}.fstep h4{font-size:17.5px;color:#fff;line-height:1.42;letter-spacing:-.015em;font-weight:600;opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.rail.on .fstep h4{opacity:1;transform:none}.pulse{position:absolute;top:13px;left:12.5%;width:0;height:9px;border-radius:5px;z-index:1;background:linear-gradient(90deg,transparent,rgba(214,242,226,.95),transparent);opacity:0}.rail.on .pulse{animation:flow 3s cubic-bezier(.4,0,.6,1) 2.2s infinite}@keyframes flow{0%{width:0;opacity:0}8%{width:110px;opacity:1}85%{opacity:1}100%{width:110px;opacity:0;transform:translateX(calc(1136px * 0.75 - 110px))}}.band-dark{background:var(--ink-900);color:#fff}.band-dark h2{color:#fff}.band-dark .sec-h p{color:rgba(255,255,255,.72)}.orgs{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.org{border:1px solid rgba(255,255,255,.15);border-radius:var(--r-xl);padding:34px 32px 32px;background:rgba(255,255,255,.045);display:flex;flex-direction:column}.org-logo{height:38px;width:auto;max-width:230px;object-fit:contain;object-position:left;display:block;margin-bottom:20px}.org .full{font-size:12.5px;font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--green-300);margin-bottom:14px}.org p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:rgba(255,255,255,.78);flex:1}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.15)}.stat{text-align:left}.stat .v{font-size:30px;font-weight:800;color:var(--green-300);letter-spacing:-.025em;font-variant-numeric:tabular-nums;line-height:1.05;white-space:nowrap}.stat .l{font-size:13px;color:rgba(255,255,255,.6);margin-top:8px;line-height:1.45}.cmp{display:grid;grid-template-columns:132px 1fr 1.15fr;gap:0 18px;align-items:stretch;max-width:1060px;margin:0 auto}.cmp-h{padding:0 0 18px;display:flex;align-items:center;gap:10px}.cmp-h .t{font-size:var(--fs-h4);font-weight:600;letter-spacing:-.02em;color:var(--fg-3)}.cmp-h.win .t{color:var(--green-700)}.cmp-lbl{display:flex;align-items:center;font-size:var(--fs-sm);font-weight:700;color:var(--fg-1);letter-spacing:-.01em;padding:22px 0;border-top:1px solid var(--ink-150)}.cmp-cell{display:flex;align-items:center;gap:12px;padding:20px 22px;border-top:1px solid var(--ink-150)}.cmp-cell.a{color:var(--fg-3);font-size:var(--fs-sm)}.cmp-cell.b{background:var(--green-50);border-top-color:var(--green-100);color:var(--fg-1);font-size:var(--fs-sm);font-weight:600}.cmp-cell.b.first{border-radius:var(--r-lg) var(--r-lg) 0 0;border-top-color:transparent;box-shadow:0 -1px 0 var(--green-200)}.cmp-cell.b.last{border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:0 1px 0 var(--green-200)}.cmp-cell .mk{flex:none}.mk{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%}.mk.x{background:var(--ink-200);color:var(--ink-500)}.mk.o{background:var(--green-500);color:#fff}@media (max-width:860px){.cmp{grid-template-columns:1fr;max-width:520px;gap:0}.cmp-h{padding:20px 0 10px}.cmp-h.win{padding-top:28px}.cmp-lbl{padding:16px 0 6px;border-top:1px solid var(--ink-150);font-size:13.5px;color:var(--fg-3)}.cmp-cell{padding:10px 14px;border-top:0}.cmp-cell.b{border-radius:var(--r-md)!important;box-shadow:none!important;margin-bottom:6px}}.proc{position:relative;margin-top:8px}.proc-line{position:absolute;top:24px;left:12.5%;right:12.5%;height:2px;background:var(--ink-200);border-radius:2px;overflow:hidden}.proc-line span{display:block;height:100%;width:0;background:var(--green-500);transition:width 1.7s cubic-bezier(.4,0,.2,1) .3s}.proc.on .proc-line span{width:100%}.proc-grid{display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:2}.pstep{text-align:center;padding:0 18px;opacity:.35;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.proc.on .pstep{opacity:1;transform:none}.pstep .n{width:48px;height:48px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;background:#fff;border:2px solid var(--border-strong);color:var(--fg-3);transition:all .45s var(--ease)}.proc.on .pstep .n{border-color:var(--green-500);background:var(--green-500);color:#fff;box-shadow:0 0 0 5px rgba(32,144,80,.12)}.pstep h4{font-size:var(--fs-h4);margin-bottom:10px;letter-spacing:-.015em}.pstep p{font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--fg-2)}.faq{max-width:860px;margin:0 auto}details{border:1px solid var(--border);border-radius:var(--r-lg);background:#fff;margin-bottom:10px;overflow:hidden;transition:border-color .2s var(--ease)}details[open]{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}summary{list-style:none;cursor:pointer;padding:24px 56px 24px 26px;position:relative;font-size:19px;font-weight:600;color:var(--fg-1);line-height:1.4}summary::-webkit-details-marker{display:none}summary::after{content:"";position:absolute;right:24px;top:50%;width:11px;height:11px;margin-top:-6px;border-right:2px solid var(--green-600);border-bottom:2px solid var(--green-600);transform:rotate(45deg);transition:transform .22s var(--ease)}details[open] summary::after{transform:rotate(-135deg);margin-top:-2px}.ans{padding:0 26px 24px;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--fg-2)}.ans p+p{margin-top:12px}.ans b{color:var(--fg-1);font-weight:600}.final{background:linear-gradient(135deg,var(--green-700) 0%,var(--green-500) 55%,var(--forest) 100%);color:#fff;text-align:center;position:relative;overflow:hidden}.final::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.45;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.18) 1px,transparent 0);background-size:26px 26px}.final .in{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center}.final .tag{background:rgba(255,255,255,.16);color:#fff}.final h2{color:#fff;margin-top:20px;font-size:clamp(28px,3.6vw,42px);max-width:20ch}.final p{margin-top:20px;color:rgba(255,255,255,.88);max-width:56ch;font-size:var(--fs-lead);line-height:var(--lh-relaxed)}.contact{display:flex;gap:44px;margin-top:44px;padding-top:28px;border-top:1px solid rgba(255,255,255,.26);flex-wrap:wrap;justify-content:center}.contact .l{font-size:11px;font-weight:600;letter-spacing:var(--ls-wide);text-transform:uppercase;color:rgba(255,255,255,.66);margin-bottom:6px}.contact .v{font-size:17px;font-weight:600;color:#fff}footer{background:var(--ink-900);color:var(--ink-400);padding:28px 0;font-size:var(--fs-xs)}footer .in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}footer{padding:34px 0}.rv{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.rv.in{opacity:1;transform:none}@media (max-width:1000px){.tiles,.grid-4{grid-template-columns:repeat(2,1fr)}.mock-cols,.orgs{grid-template-columns:1fr}}@media (max-width:760px){section{padding:64px 0}.wrap{padding:0 20px}.grid-3,.tiles,.grid-4,.steps{grid-template-columns:1fr}.proc-grid{grid-template-columns:1fr;gap:26px}.proc-line{display:none}.rail-line{display:none}.fstep{padding:0 0 22px;text-align:left;display:flex;align-items:center;gap:16px}.fstep .num{margin:0;flex:none}.merge{height:44px}.fstep h4{font-size:14.5px}.nav nav{display:none}.contact{gap:26px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv{opacity:1;transform:none}.dot,.d1,.d2,.dv,.dd{opacity:1!important;transform:none!important}.dbl{stroke-dashoffset:0!important}}.gcm{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.gcm[hidden]{display:none}.gcm-bd{position:absolute;inset:0;background:rgba(12,42,28,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .24s var(--ease)}.gcm.on .gcm-bd{opacity:1}.gcm-panel{position:relative;z-index:2;width:100%;max-width:560px;max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);padding:38px 40px 34px;opacity:0;transform:translateY(14px) scale(.985);transition:opacity .26s var(--ease),transform .3s var(--ease)}.gcm.on .gcm-panel{opacity:1;transform:none}.gcm-x{position:absolute;top:15px;right:15px;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-3);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .18s var(--ease),color .18s var(--ease)}.gcm-x:hover{background:var(--ink-100);color:var(--fg-1)}.gcm-hd{margin-bottom:24px}.gcm-hd .eyebrow{align-items:flex-start;gap:10px;margin-bottom:12px}.gcm-hd h3{font-size:26px;font-weight:700;letter-spacing:-.025em}.gcm-hd p{margin-top:11px;font-size:var(--fs-sm);line-height:var(--lh-relaxed);color:var(--fg-2)}.gcm .w-form{margin:0}.gcm form{margin:0}.gcm label{display:block;font-size:13.5px;font-weight:600;color:var(--fg-1);letter-spacing:-.01em;margin:18px 0 7px}.gcm form>label:first-child{margin-top:0}.gcm label i{font-style:normal;color:var(--green-600);margin-left:3px}.gcm .w-input,.gcm .w-select,.gcm textarea,.gcm select{display:block;width:100%;height:auto;min-height:0;max-width:none;margin:0;padding:12px 14px;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--fg-1);background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}.gcm .w-input::placeholder,.gcm textarea::placeholder{color:var(--ink-400)}.gcm .w-input:focus,.gcm .w-select:focus,.gcm textarea:focus,.gcm select:focus{border-color:var(--green-500);box-shadow:var(--ring-accent);outline:none}.gcm textarea{min-height:92px;resize:vertical;line-height:1.6}.gcm .w-button{display:block;width:100%;margin-top:26px;padding:14px 22px;font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1.1;color:#fff;background:var(--green-500);border:0;border-radius:var(--r-md);cursor:pointer;transition:background .18s var(--ease)}.gcm .w-button:hover{background:var(--green-600)}.gcm .w-form-done,.gcm .w-form-fail{display:none;margin:0;padding:22px;border-radius:var(--r-md);font-size:var(--fs-sm);line-height:var(--lh-relaxed);text-align:left}.gcm .w-form-done{background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200)}.gcm .w-form-fail{background:#FDECEC;color:#9B2C2C;border:1px solid #F3C9C9}.gcm-note{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);font-size:12.5px;line-height:1.65;color:var(--fg-3)}body.gcm-lock{overflow:hidden}@media (max-width:600px){.gcm{padding:0}.gcm-panel{max-width:none;max-height:100vh;height:100%;border-radius:0;padding:58px 22px 30px}.gcm-hd h3{font-size:23px}}
#gcert-form-host{display:none}

/* ---- G-Cert Global (EN) : additions on top of gcert-v3.css ---- */
.nav{top:env(safe-area-inset-top,0px)}
.wordmark span{display:inline}
@media (max-width:1180px){.wordmark span{display:none}}

.tag-up{text-transform:uppercase;letter-spacing:var(--ls-wide);font-size:11.5px;padding:6px 13px}
.hero .tag-up{margin-bottom:6px}

/* hero key stats */
.hstats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 26px;width:100%;max-width:960px;margin:40px auto 0;text-align:left}
.hstat{padding-left:16px;border-left:2px solid var(--green-200)}
.hstat .v{font-size:27px;font-weight:800;color:var(--green-700);letter-spacing:-.025em;line-height:1.1;font-variant-numeric:tabular-nums}
.hstat .v em{font-style:normal;font-size:15px;font-weight:700;color:var(--green-600);letter-spacing:-.01em}
.hstat .l{margin-top:7px;font-size:13px;line-height:1.5;color:var(--fg-3)}
.mock-cap{text-align:center;margin-top:14px;font-size:12.5px;color:var(--fg-3)}

/* framework cards */
.card .tag-line{margin-bottom:12px}
.card.roi h4{font-size:19px;letter-spacing:-.02em;margin-bottom:10px}

/* three-step rail on the green band */
.steps.s3{grid-template-columns:repeat(3,1fr)}
.steps.s3::before,.steps.s3::after{left:16.66%}
.steps.s3::before{right:16.66%}
.rail.on .steps.s3::after{width:66.68%}
.fstep p{margin-top:11px;font-size:14.5px;line-height:1.62;color:rgba(255,255,255,.76);opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rail.on .fstep p{opacity:1;transform:none}
.grid-note.on-dark{color:rgba(255,255,255,.78)}

/* partners */
.band-dark .tag-line{background:transparent;border-color:rgba(255,255,255,.3);color:rgba(255,255,255,.76)}
.org .chips{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}

/* inquiry form card on the closing band */
.fcard{width:100%;max-width:720px;margin:40px auto 0;padding:34px 36px 28px;background:#fff;border-radius:var(--r-xl);box-shadow:var(--shadow-xl);text-align:left;color:var(--fg-2)}
.fcard .frow{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.fcard .fld{margin-bottom:17px}
.fcard label{display:block;font-size:13.5px;font-weight:600;color:var(--fg-1);letter-spacing:-.01em;margin:0 0 7px}
.fcard label i{font-style:normal;color:var(--green-600);margin-left:3px}
.fcard .w-input,.fcard .w-select,.fcard textarea,.fcard select{display:block;width:100%;height:auto;margin:0;padding:12px 14px;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--fg-1);background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
.fcard .w-input::placeholder,.fcard textarea::placeholder{color:var(--ink-400)}
.fcard .w-input:focus,.fcard .w-select:focus,.fcard textarea:focus,.fcard select:focus{border-color:var(--green-500);box-shadow:var(--ring-accent);outline:none}
.fcard .w-input.err,.fcard .w-select.err{border-color:#C0392B;box-shadow:0 0 0 3px rgba(192,57,43,.14)}
.fcard textarea{min-height:92px;resize:vertical;line-height:1.6}
.fcard .w-button{display:block;width:100%;margin-top:9px;padding:15px 22px;font-family:var(--font-sans);font-size:16px;font-weight:600;line-height:1.1;color:#fff;background:var(--green-500);border:0;border-radius:var(--r-md);cursor:pointer;transition:background .18s var(--ease)}
.fcard .w-button:hover{background:var(--green-600)}
.fdone[hidden],#gc-form[hidden]{display:none}
.fdone{display:flex;flex-direction:column;gap:9px;padding:24px;border-radius:var(--r-md);background:var(--green-50);border:1px solid var(--green-200)}
.fdone b{font-size:17px;font-weight:700;color:var(--green-700)}
.fdone span{font-size:14.5px;line-height:1.65;color:var(--fg-2)}
.fdone a{color:var(--green-700);font-weight:600;text-decoration:underline}
.final .fcard .gcm-note{margin-top:18px;color:var(--fg-3)}
.final .contact{margin-top:46px}

@media (max-width:900px){
  .hstats{grid-template-columns:repeat(2,1fr);gap:20px 22px;max-width:520px}
}
@media (max-width:760px){
  .steps.s3{grid-template-columns:1fr}
  .steps.s3::before,.steps.s3::after{display:none}
  .fstep{display:block;text-align:left;padding:0 0 26px}
  .fstep .num{margin:0 0 12px}
  .fstep h4{font-size:18px}
  .fcard{padding:26px 20px 22px;border-radius:var(--r-lg)}
  .fcard .frow{grid-template-columns:1fr}
}
@media (max-width:520px){
  .hstats{grid-template-columns:1fr;max-width:none}
}

/* ===== v2: 마이크로 카피 전환 ===== */
.hero .cta-row{margin-top:30px}
.hstats{margin:38px auto 0}

/* The Need : 2×2 대조 카드 */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card.vs{padding:24px 26px 26px}
.vs-lbl{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-3);margin-bottom:15px}
.vs-row{display:flex;gap:13px;align-items:flex-start;padding:14px 16px;border-radius:var(--r-md)}
.vs-row.old{background:var(--ink-50)}
.vs-row.new{background:var(--green-50);margin-top:9px}
.vs-row .mk{margin-top:1px}
.vs-row b{display:block;font-size:16px;font-weight:700;letter-spacing:-.015em;line-height:1.32}
.vs-row.old b{color:var(--fg-3)}
.vs-row.new b{color:var(--green-700)}
.vs-row div span{display:block;margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--fg-3)}

/* Framework : 불릿 3개 */
.bul{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bul li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5;color:var(--fg-2)}
.bul li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--green-400)}

/* Delivery : 단계 라벨 + 캘아웃 바 */
.fstep .st-k{display:block;font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--green-300);margin-bottom:8px;opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.rail.on .fstep .st-k{opacity:1;transform:none}
.callout{max-width:900px;margin:48px auto 0;padding:17px 30px;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.07);border-radius:var(--r-lg);text-align:center;font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.8)}
.callout b{color:#fff;font-weight:600}

/* ROI : 키워드형 카드 */
.card.roi .k{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--green-600);margin-bottom:7px}
.card.roi h4{font-size:18px;margin-bottom:9px;letter-spacing:-.02em}

@media (max-width:860px){
  .grid-2{grid-template-columns:1fr}
}

/* ===== v3: 히어로 인터랙티브 비주얼 (데이터 통합 컨셉) ===== */
.dataviz{margin:56px auto 0;max-width:1060px;background:#fff;border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);overflow:hidden;position:relative;z-index:2;text-align:left}
.dv-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px 22px;border-bottom:1px solid var(--border);background:var(--ink-50)}
.dv-t{font-size:14.5px;font-weight:600;color:var(--fg-1);letter-spacing:-.01em}
.dv-toggle{display:inline-flex;gap:2px;background:#fff;border:1px solid var(--border-strong);border-radius:var(--r-pill);padding:3px}
.dv-toggle button{border:0;background:transparent;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--fg-3);padding:7px 16px;border-radius:var(--r-pill);cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}
.dv-toggle button:hover{color:var(--fg-1)}
.dv-toggle button.on{background:var(--green-500);color:#fff}
canvas#dvc{display:block;width:100%;height:380px;touch-action:pan-y}
.dv-legend{display:flex;flex-wrap:wrap;align-items:center;gap:9px 20px;padding:14px 22px 18px;border-top:1px solid var(--ink-150)}
.dv-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--fg-3)}
.dv-legend i{width:9px;height:9px;border-radius:2px;flex:none}
.dv-legend .dv-hint{margin-left:auto;color:var(--ink-400);font-size:12px}
#framework .mock{margin-top:44px}
@media (max-width:760px){
  canvas#dvc{height:300px}
  .dv-legend .dv-hint{display:none}
}

/* 리빌 클래스 분리: 사이트 레이아웃 클래스 .hero .in / .final .in 과의 충돌 방지 */
.rv.rv-in{opacity:1;transform:none}

/* ===== v4: 지구본 비주얼 + Adoption Roadmap ===== */
.dv-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dv-count{font-size:12.5px;font-weight:700;color:var(--green-700);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
canvas#dvc{height:440px;touch-action:none}
.dataviz .dv-head{padding:14px 20px}
.nav nav{gap:22px;font-size:15px}
@media (max-width:1300px){.wordmark span{display:none}}

/* Adoption roadmap */
.phases{position:relative}
.card.phase{padding:28px 26px;position:relative}
.card.phase::after{content:"";position:absolute;top:50%;right:-14px;width:12px;height:12px;border-top:2px solid var(--green-300);border-right:2px solid var(--green-300);transform:translateY(-50%) rotate(45deg)}
.card.phase:last-child::after{display:none}
.ph-n{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);background:var(--green-50);border-radius:var(--r-pill);padding:5px 12px;margin-bottom:14px}
.card.phase h4{font-size:20px;letter-spacing:-.02em;margin-bottom:8px}
.card.phase .ph-lead{font-size:15px;font-weight:700;color:var(--green-700);margin-bottom:9px;line-height:1.4}
.card.phase p{font-size:14.5px;line-height:1.62}

@media (max-width:1180px){.nav nav{gap:16px;font-size:14px}}
@media (max-width:1000px){.nav nav{display:none}}
@media (max-width:860px){.card.phase::after{top:auto;bottom:-15px;right:50%;transform:translateX(50%) rotate(135deg)}}
@media (max-width:760px){canvas#dvc{height:330px}.dv-count{display:none}}

.dataviz{max-width:820px}
canvas#dvc{height:500px}
@media (max-width:760px){canvas#dvc{height:340px}}

/* ===== v5: 다크 파이프라인 패널 ===== */
.dataviz.dark{max-width:1060px;background:#0B1512;border-color:#1D352A;box-shadow:0 30px 70px rgba(10,30,22,.26)}
.dataviz.dark .dv-head{background:rgba(255,255,255,.035);border-bottom-color:rgba(255,255,255,.09)}
.dataviz.dark .dv-t{color:#fff}
.dataviz.dark .dv-toggle{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}
.dataviz.dark .dv-toggle button{color:rgba(255,255,255,.62)}
.dataviz.dark .dv-toggle button:hover{color:#fff}
.dataviz.dark .dv-toggle button.on{background:var(--green-400);color:#06130D}
.dataviz.dark .dv-legend{border-top-color:rgba(255,255,255,.09)}
.dataviz.dark .dv-legend span{color:rgba(255,255,255,.58)}
.dataviz.dark .dv-legend .dv-hint{color:rgba(255,255,255,.34)}
canvas#dvc{height:400px;touch-action:pan-y}
@media (max-width:760px){canvas#dvc{height:320px}}

canvas#dvc{height:360px}
@media (max-width:760px){canvas#dvc{height:300px}}

/* ==========================================================================
   v6 — GDIN brand theme (navy #0C133E / blue #377DFF / gold #F9B934)
   ========================================================================== */
:root{
  --green-50:#EFF5FF;--green-100:#DBE8FF;--green-200:#B7CEFF;--green-300:#84AAFF;
  --green-400:#5A8FFF;--green-500:#377DFF;--green-600:#2563E0;--green-700:#1B4CB8;
  --green-800:#15347F;--green-900:#0C133E;
  --forest:#14224F;--forest-700:#0C133E;
  --ink-900:#0E1428;--ink-800:#1B2238;--ink-700:#3B4361;--ink-600:#555E7A;
  --ink-500:#717A93;--ink-400:#98A0B4;--ink-300:#C2C8D6;--ink-200:#E2E6EF;
  --ink-150:#EAEDF4;--ink-100:#F1F4F9;--ink-50:#F7F9FD;
  --ring-accent:0 0 0 3px rgba(55,125,255,.25);
  --shadow-xs:0 1px 2px rgba(12,19,62,.06);
  --shadow-sm:0 1px 3px rgba(12,19,62,.08),0 1px 2px rgba(12,19,62,.04);
  --shadow-md:0 4px 12px rgba(12,19,62,.09),0 2px 4px rgba(12,19,62,.04);
  --shadow-lg:0 12px 28px rgba(12,19,62,.11),0 4px 10px rgba(12,19,62,.05);
  --shadow-xl:0 24px 56px rgba(12,19,62,.15);
  --gold:#F9B934;--gold-600:#E0A22A;--gold-50:#FFF6E4;
}
.hero::before{background-image:radial-gradient(circle at 1px 1px,rgba(55,125,255,.14) 1px,transparent 0)}
.hero::after{background:radial-gradient(closest-side,rgba(55,125,255,.14),transparent 70%)}

/* ---- Hero: full-bleed navy ---- */
.hero.navy{background:linear-gradient(175deg,#0B1132 0%,#14224F 52%,#0C1740 100%);color:#fff;padding:92px 0 0}
.hero.navy::before{background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.10) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(80% 62% at 50% 16%,#000 0%,transparent 76%);mask-image:radial-gradient(80% 62% at 50% 16%,#000 0%,transparent 76%)}
.hero.navy::after{left:50%;top:-220px;width:1100px;height:620px;background:radial-gradient(closest-side,rgba(55,125,255,.34),transparent 72%)}
.hero.navy h1{color:#fff;font-size:clamp(32px,5.1vw,62px)}
.hero.navy .hl{color:var(--green-300)}
.hero.navy .lead{color:rgba(255,255,255,.74);max-width:58ch}
.hero.navy .tag-up{background:rgba(249,185,52,.14);color:var(--gold);border:1px solid rgba(249,185,52,.28)}
.btn-gold{background:var(--gold);color:#0C133E}
.btn-gold:hover{background:var(--gold-600);color:#0C133E}
.hero.navy .btn-outlineDark{color:#fff;border-color:rgba(255,255,255,.34)}
.hero.navy .btn-outlineDark:hover{border-color:#fff;background:rgba(255,255,255,.08)}

.hero.navy .hstats{max-width:none;margin:0;padding:30px 0 56px;gap:0;border-top:1px solid rgba(255,255,255,.12)}
.hero.navy .hstat{border-left:1px solid rgba(255,255,255,.14);padding:2px 0 2px 24px}
.hero.navy .hstat:first-child{border-left:0;padding-left:0}
.hero.navy .hstat .v{color:#fff;font-size:30px}
.hero.navy .hstat .v em{color:var(--gold)}
.hero.navy .hstat .l{color:rgba(255,255,255,.55)}

/* ---- Full-bleed flow strip ---- */
.flow{position:relative;z-index:2;margin-top:54px;border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.025)}
.flow-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px}
.flow-t{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.8);letter-spacing:-.01em}
.flow canvas{display:block;width:100%;height:330px;touch-action:pan-y}
.flow-legend{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;padding-bottom:18px}
.flow-legend span{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:rgba(255,255,255,.55)}
.flow-legend i{width:9px;height:9px;border-radius:2px;flex:none}
.flow-legend .dv-hint{margin-left:auto;color:rgba(255,255,255,.34);font-size:12px}
.flow .dv-toggle{display:inline-flex;gap:2px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.17);border-radius:var(--r-pill);padding:3px}
.flow .dv-toggle button{border:0;background:transparent;font-family:var(--font-sans);font-size:12.5px;font-weight:600;color:rgba(255,255,255,.6);padding:6px 15px;border-radius:var(--r-pill);cursor:pointer;transition:all .18s var(--ease)}
.flow .dv-toggle button:hover{color:#fff}
.flow .dv-toggle button.on{background:var(--green-500);color:#fff}

@media (max-width:900px){
  .hero.navy .hstats{grid-template-columns:repeat(2,1fr);gap:22px 0;max-width:520px;margin:0 auto}
  .hero.navy .hstat:nth-child(odd){border-left:0;padding-left:0}
  .flow canvas{height:300px}
}
@media (max-width:520px){
  .hero.navy .hstats{grid-template-columns:1fr}
  .hero.navy .hstat{border-left:0;padding-left:0}
  .flow canvas{height:260px}
}

:root{--esg-e:#17A398;--esg-s:#377DFF;--esg-g:#F9B934}

/* 지구본 높이 */
.flow canvas{height:430px}
@media (max-width:900px){.flow canvas{height:360px}}
@media (max-width:520px){.flow canvas{height:300px}}

/* ==========================================================================
   v8 — light globe hero (editorial) + scroll motion
   ========================================================================== */
.hero.globe{background:#F4F7FB;padding:96px 0 0;overflow:hidden}
.hero.globe::before{background-image:radial-gradient(circle at 1px 1px,rgba(12,19,62,.07) 1px,transparent 0);background-size:26px 26px}
.hero.globe::after{background:radial-gradient(closest-side,rgba(55,125,255,.12),transparent 70%)}
.hero.globe h1{font-size:clamp(32px,5.2vw,64px);letter-spacing:-.035em}
.hero.globe .lead{max-width:56ch}
.hero.globe .tag-up{background:#fff;color:var(--green-700);border:1px solid var(--ink-200);box-shadow:var(--shadow-xs)}

.stage{position:relative;width:100%;max-width:1120px;margin:34px auto 0;padding:0 20px}
.stage canvas{display:block;width:100%;height:560px;touch-action:pan-y}
.pill{position:absolute;transform:translate(-50%,-50%);background:#fff;border-radius:var(--r-pill);
  padding:8px 15px;font-family:var(--font-sans);font-size:12px;letter-spacing:-.01em;
  color:var(--ink-700);box-shadow:0 6px 18px rgba(12,19,62,.10);white-space:nowrap;pointer-events:none;
  opacity:0;animation:pillIn .7s var(--ease) forwards}
.pill:nth-of-type(2){animation-delay:.08s}.pill:nth-of-type(3){animation-delay:.16s}
.pill:nth-of-type(4){animation-delay:.24s}.pill:nth-of-type(5){animation-delay:.32s}
.pill:nth-of-type(6){animation-delay:.4s}.pill:nth-of-type(7){animation-delay:.48s}
.pill:nth-of-type(8){animation-delay:.56s}.pill:nth-of-type(9){animation-delay:.64s}
@keyframes pillIn{from{opacity:0;transform:translate(-50%,calc(-38% + var(--py,0px)))}to{opacity:1;transform:translate(-50%,calc(-50% + var(--py,0px)))}}
.pill.hubpill{background:#0C133E;color:#fff}
.pill.live{left:50%;top:92%;font-weight:700;color:var(--ink-900);animation-delay:.72s;box-shadow:0 8px 24px rgba(12,19,62,.14)}
.pill.live i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:1px}
.seg{position:absolute;left:50%;top:78%;transform:translate(-50%,-50%);display:inline-flex;gap:2px;background:#fff;
  border-radius:var(--r-pill);padding:4px;box-shadow:0 8px 24px rgba(12,19,62,.14)}
.seg button{border:0;background:transparent;font-family:var(--font-sans);font-size:12px;
  font-weight:600;color:var(--ink-500);padding:8px 16px;border-radius:var(--r-pill);cursor:pointer;transition:all .18s var(--ease)}
.seg button:hover{color:var(--ink-900)}
.seg button.on{background:var(--ink-900);color:#fff}
.hero.globe .hstats{margin:46px auto 0;padding-bottom:78px;max-width:1080px}

@media (max-width:900px){
  .stage canvas{height:420px}
  .pill{font-size:11px;padding:7px 12px}
  .pill[data-d="0.28"],.pill[data-d="0.12"],.pill[data-d="0.26"]{display:none}
}
@media (max-width:560px){
  .stage canvas{height:330px}
  .pill:not(.live):not(.hubpill){display:none}
}

/* scroll motion */
.sm{opacity:0;transform:translateY(26px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.sm.sm-in{opacity:1;transform:none}
.wordfade span{color:var(--ink-300);transition:color .45s var(--ease)}
.wordfade span.lit{color:var(--ink-900)}
.wordfade span.hl-w.lit{color:var(--green-600)}
#sprog{position:fixed;left:0;top:0;height:2px;width:0;background:linear-gradient(90deg,var(--green-500),var(--gold));z-index:80;transition:width .1s linear}

.stage canvas{height:640px}
@media (prefers-reduced-motion:reduce){.pill{opacity:1!important}}
@media (max-width:900px){.stage canvas{height:440px}}
@media (max-width:560px){.stage canvas{height:340px}}

/* 캔버스 높이: 이전 #dvc 규칙(ID 우선순위)을 덮어씀 */
#dvc{height:660px}
@media (max-width:900px){#dvc{height:460px}}
@media (max-width:560px){#dvc{height:350px}}
canvas#dvc{height:660px}
@media (max-width:900px){canvas#dvc{height:460px}}
@media (max-width:560px){canvas#dvc{height:350px}}

/* ==========================================================================
   v9 — editorial sections (no card template)
   ========================================================================== */
section{padding:124px 0}
.sec-lead{max-width:860px;margin:0 0 72px}
.sec-lead.center{margin-left:auto;margin-right:auto;text-align:center}
.eyeline{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);
  font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);margin-bottom:24px}
.eyeline::before{content:"";width:26px;height:1px;background:var(--green-500)}
.eyeline.light{color:var(--green-200)}
.eyeline.light::before{background:var(--green-300)}
h2.big{font-size:clamp(30px,4.3vw,54px);line-height:1.1;letter-spacing:-.035em;font-weight:800;color:var(--ink-900);text-wrap:balance}
h2.big.light{color:#fff}
h2.big .hl{color:var(--green-500)}
.band-green h2.big .hl,.band-dark h2.big .hl{color:var(--green-300)}
.lead-sm{margin-top:22px;font-size:18px;line-height:1.65;color:var(--fg-2);max-width:56ch}
.sec-lead.center .lead-sm{margin-left:auto;margin-right:auto}
.lead-sm.light{color:rgba(255,255,255,.74)}

/* The Need — 4 shifts, hairlines only */
.shifts{border-top:1px solid var(--ink-200)}
.shift{display:grid;grid-template-columns:150px 1fr 1.05fr;gap:0 40px;align-items:start;
  padding:34px 0;border-bottom:1px solid var(--ink-200);position:relative}
.sh-k{font-family:var(--font-sans);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-400);padding-top:4px}
.sh-a b,.sh-b b{display:block;font-size:20px;letter-spacing:-.022em;line-height:1.3;font-weight:700}
.sh-a b{color:var(--ink-400);text-decoration:line-through;text-decoration-thickness:1px;text-decoration-color:var(--ink-300)}
.sh-b b{color:var(--ink-900)}
.sh-a em,.sh-b em{display:block;margin-top:7px;font-style:normal;font-size:14.5px;line-height:1.55;color:var(--fg-3)}
.sh-b{position:relative;padding-left:34px}
.sh-b::before{content:"";position:absolute;left:0;top:9px;width:16px;height:1px;background:var(--green-500)}
.sh-b::after{content:"";position:absolute;left:12px;top:5px;width:8px;height:8px;border-top:1.5px solid var(--green-500);
  border-right:1.5px solid var(--green-500);transform:rotate(45deg)}
.sh-b em{color:var(--green-700)}

/* Framework — sticky split */
.split{display:grid;grid-template-columns:0.9fr 1.1fr;gap:0 80px;align-items:start}
.split-l .sticky{position:sticky;top:120px}
.split-l .sec-lead{margin-bottom:0}
.erow{padding:34px 0;border-top:1px solid var(--ink-200)}
.split-r .erow:first-child{border-top:0;padding-top:0}
.erow-k{display:inline-block;font-family:var(--font-sans);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);margin-bottom:12px}
.erow h3{font-size:25px;letter-spacing:-.025em;font-weight:700;color:var(--ink-900);margin-bottom:14px}
.erow .bul{margin-top:0}
#framework .mock{margin-top:88px}

/* Delivery — ghost numerals */
.bigsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;margin-top:8px}
.bstep{position:relative;padding:34px 0 0;border-top:1px solid rgba(255,255,255,.22)}
.ghost{display:block;font-size:66px;font-weight:800;letter-spacing:-.05em;line-height:1;
  color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.34);margin-bottom:22px}
.bstep h4{font-size:23px;letter-spacing:-.025em;color:#fff;margin-bottom:12px;font-weight:700}
.bstep p{font-size:15px;line-height:1.66;color:rgba(255,255,255,.72)}

/* Roadmap — timeline */
.tline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;position:relative}
.tline::before{content:"";position:absolute;top:7px;left:0;right:0;height:1px;background:var(--ink-200)}
.tline li{position:relative;padding:38px 0 0}
.tline li::before{content:"";position:absolute;top:0;left:0;width:15px;height:15px;border-radius:50%;
  background:#fff;border:2px solid var(--green-500)}
.tline li:first-child::before{background:var(--green-500)}
.tl-n{display:block;font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--green-600);margin-bottom:12px}
.tline h3{font-size:26px;letter-spacing:-.028em;font-weight:800;color:var(--ink-900);margin-bottom:10px}
.tl-lead{font-size:17px;font-weight:700;color:var(--green-700);margin-bottom:12px}
.tline p{font-size:15px;line-height:1.66;color:var(--fg-2)}

/* Impact — 2×2 hairline grid */
.impacts{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;border-top:1px solid var(--ink-200)}
.imp{padding:38px 0;border-bottom:1px solid var(--ink-200)}
.imp-k{display:block;font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--green-600);margin-bottom:12px}
.imp h3{font-size:27px;letter-spacing:-.028em;font-weight:800;color:var(--ink-900);margin-bottom:10px}
.imp p{font-size:15.5px;line-height:1.62;color:var(--fg-2);max-width:42ch}

/* Partners — big stats */
.orgs2{display:grid;grid-template-columns:1fr 1fr;gap:0 80px;border-top:1px solid rgba(255,255,255,.16)}
.org2{padding:48px 0 0}
.org2 .org-logo{height:30px;width:auto;margin-bottom:26px}
.org-line{font-size:17px;line-height:1.6;color:rgba(255,255,255,.76);max-width:40ch;margin-bottom:38px}
.bigstats{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bigstats b{display:block;font-size:40px;font-weight:800;letter-spacing:-.04em;color:#fff;line-height:1;font-variant-numeric:tabular-nums}
.bigstats b i{font-style:normal;color:var(--gold)}
.bigstats span{display:block;margin-top:12px;font-size:12.5px;line-height:1.5;color:rgba(255,255,255,.55)}

@media (max-width:1000px){
  .split{grid-template-columns:1fr;gap:56px}
  .split-l .sticky{position:static}
  .bigsteps,.tline,.impacts,.orgs2{grid-template-columns:1fr;gap:0}
  .tline::before{display:none}
  .tline li{padding:34px 0;border-bottom:1px solid var(--ink-200)}
  .tline li::before{top:36px}
  .bstep{margin-bottom:34px}
  .org2{padding-bottom:44px}
  .impacts{gap:0}
}
@media (max-width:760px){
  section{padding:80px 0}
  .sec-lead{margin-bottom:48px}
  .shift{grid-template-columns:1fr;gap:16px;padding:26px 0}
  .sh-b{padding-left:26px}
  .bigstats{grid-template-columns:repeat(2,1fr)}
}

/* ==========================================================================
   v10 — explanatory diagrams
   ========================================================================== */
.shift{grid-template-columns:130px 1fr 150px 1.05fr;gap:0 32px}
.nviz{width:150px;height:56px;align-self:center;overflow:visible}
.sh-b{padding-left:0}
.sh-b::before,.sh-b::after{display:none}

.imp{display:grid;grid-template-columns:64px 1fr;gap:0 22px;align-items:start}
.iviz{width:64px;height:64px;margin-top:2px}

.scale{margin:0 0 18px}
.scale .dviz{display:block;width:100%;max-width:150px;height:auto}
.scale em{display:block;margin-top:10px;font-family:var(--font-sans);
  font-size:10.5px;letter-spacing:.02em;color:var(--ink-400);font-style:normal;line-height:1.5}
.tline h3{margin-top:2px}

.bigsteps{position:relative}
.pipe{position:absolute;top:-1px;left:0;right:0;height:1px;background:rgba(255,255,255,.22);overflow:visible}
.pipe i{position:absolute;top:-2.5px;left:0;width:6px;height:6px;border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 4px rgba(249,185,52,.22);animation:pipeRun 7s linear infinite}
@keyframes pipeRun{0%{left:0}100%{left:100%}}
.bstep{border-top:0}
@media (prefers-reduced-motion:reduce){.pipe i{animation:none;left:34%}}

@media (max-width:1100px){
  .shift{grid-template-columns:120px 1fr 1.05fr;gap:0 26px}
  .nviz{display:none}
}
@media (max-width:760px){
  .shift{grid-template-columns:1fr;gap:14px}
  .imp{grid-template-columns:52px 1fr;gap:0 16px}
  .iviz{width:52px;height:52px}
}
/* 도식 위치 정렬: 라벨 | 현행 | 도식 | 도입 후 */
.sh-k{grid-column:1}
.sh-a{grid-column:2}
.nviz{grid-column:3}
.sh-b{grid-column:4}

.shift{align-items:center}

/* 네비 로고 락업 */
.brandlock{display:inline-flex;align-items:center;gap:13px}
.bl-gdin{height:21px;width:auto;display:block}
.bl-iesg{height:19px;width:auto;display:block}
.bl-x{font-size:13px;color:var(--ink-300);font-weight:400}
@media (max-width:520px){.bl-gdin{height:18px}.bl-iesg{height:16px}}

/* 로고 크기 균형 */
.bl-gdin{height:22px}
.bl-iesg{height:27px}
@media (max-width:520px){.bl-gdin{height:18px}.bl-iesg{height:22px}}

.bl-gdin{height:22px}
.bl-iesg{height:22px}
@media (max-width:520px){.bl-gdin{height:18px}.bl-iesg{height:18px}}

/* ==========================================================================
   v11 — cinematic hero (generated globe backdrop)
   ========================================================================== */
.hero.shot{position:relative;background:#060C22;color:#fff;padding:120px 0 0;overflow:hidden;isolation:isolate}
.hero.shot::before,.hero.shot::after{display:none}
.hero-bg{position:absolute;inset:-6% 0 -10%;background-image:url("https://cdn.prod.website-files.com/68bd153ca2afb504e48ba294/6ab17228f618fbd0966be32a_gcert-global-hero.jpg");
  background-size:cover;background-position:center 78%;background-repeat:no-repeat;z-index:-2;will-change:transform}
.hero.shot .wrap{position:relative;z-index:1}
.hero.shot .hero-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(6,12,34,.92) 0%,rgba(6,12,34,.72) 34%,rgba(6,12,34,.35) 58%,rgba(6,12,34,.62) 100%)}
.hero.shot h1{color:#fff;font-size:clamp(34px,5.4vw,66px);letter-spacing:-.035em;text-shadow:0 2px 40px rgba(6,12,34,.5)}
.hero.shot .hl{color:var(--green-300)}
.hero.shot .lead{color:rgba(255,255,255,.78);max-width:56ch;text-shadow:0 1px 20px rgba(6,12,34,.6)}
.hero.shot .tag-up{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(6px)}
.hero.shot .cta-row{margin-top:34px}
.hero.shot .hstats{max-width:none;margin:0;padding:34px 0 84px;gap:0;border-top:1px solid rgba(255,255,255,.16)}
.hero.shot .hstat{border-left:1px solid rgba(255,255,255,.16);padding:2px 0 2px 26px}
.hero.shot .hstat:first-child{border-left:0;padding-left:0}
.hero.shot .hstat .v{color:#fff;font-size:31px}
.hero.shot .hstat .v em{color:var(--gold)}
.hero.shot .hstat .l{color:rgba(255,255,255,.62)}
.hero.shot .in{padding-bottom:210px}

@media (max-width:900px){
  .hero.shot{padding-top:84px}
  .hero.shot .in{padding-bottom:150px}
  .hero.shot .hstats{grid-template-columns:repeat(2,1fr);gap:24px 0;max-width:520px;margin:0 auto;padding-bottom:64px}
  .hero.shot .hstat:nth-child(odd){border-left:0;padding-left:0}
}
@media (max-width:520px){
  .hero.shot .hstats{grid-template-columns:1fr}
  .hero.shot .hstat{border-left:0;padding-left:0}
  .hero-bg{background-position:center 88%}
}

/* ==========================================================================
   v12 — Why G-Cert (3-second read)
   ========================================================================== */
.why{padding:104px 0 96px}
.why .big{margin-bottom:0;max-width:18ch}
.why .eyeline{margin-bottom:22px}
.whytwo{display:grid;grid-template-columns:1fr 1fr;gap:0 64px;margin-top:52px;border-top:1px solid var(--ink-200);padding-top:34px}
.wcol{position:relative;padding-left:0}
.wcol + .wcol{padding-left:64px;border-left:1px solid var(--ink-200)}
.wk{display:block;font-family:var(--font-sans);font-size:11.5px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--green-600);margin-bottom:14px}
.wcol p{font-size:19px;line-height:1.55;letter-spacing:-.015em;color:var(--ink-900);font-weight:600;max-width:34ch}
@media (max-width:860px){
  .why{padding:72px 0 64px}
  .whytwo{grid-template-columns:1fr;gap:28px}
  .wcol + .wcol{padding-left:0;border-left:0;border-top:1px solid var(--ink-200);padding-top:26px}
  .wcol p{font-size:17px}
}
.why .big{max-width:22ch;margin-bottom:0}
.why .lead-sm{margin-top:26px;max-width:62ch}
.why .whytwo{margin-top:46px}

.why .big{max-width:36ch}
@media (max-width:860px){.why .big{max-width:none}}

/* Background — what G-Cert actually is */
.whatis{display:grid;grid-template-columns:repeat(3,1fr);gap:0 56px;margin-top:52px;
  border-top:1px solid var(--ink-200);padding-top:36px}
.whatis .wcol + .wcol{padding-left:56px;border-left:1px solid var(--ink-200)}
.wviz{width:64px;height:40px;display:block;margin-bottom:18px}
.whatis .wk{display:block;font-family:var(--font-sans);font-size:11.5px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);margin-bottom:12px}
.whatis .wcol p{font-size:15.5px;line-height:1.62;color:var(--fg-2);font-weight:400;max-width:34ch}
.whatis .wcol p b{color:var(--ink-900);font-weight:700}
@media (max-width:980px){
  .whatis{grid-template-columns:1fr;gap:30px;padding-top:30px}
  .whatis .wcol + .wcol{padding-left:0;border-left:0;border-top:1px solid var(--ink-200);padding-top:28px}
  .whatis .wcol p{max-width:none}
}

/* Background — Venn: both are required */
.venn{position:relative;width:100%;max-width:820px;height:330px;margin:56px auto 8px}
.v-el{position:absolute;top:0;width:480px;height:330px;border-radius:50%;display:flex;flex-direction:column;
  justify-content:center;align-items:center;text-align:center}
.v-left{left:0;border:1.5px solid var(--ink-300);background:rgba(12,19,62,.035);padding-right:170px}
.v-right{right:0;border:1.5px solid var(--green-400);background:rgba(55,125,255,.07);padding-left:170px}
.vk{font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:12px}
.v-left .vk{color:var(--ink-500)}
.v-right .vk{color:var(--green-600)}
.vt{font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.02em;color:var(--ink-900)}
.vn{margin-top:10px;font-size:13px;line-height:1.5;color:var(--fg-3);max-width:20ch}
.v-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;text-align:center;
  display:flex;flex-direction:column;align-items:center;width:210px}
.vc-k{font-family:var(--font-sans);font-size:10.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--green-700);margin-bottom:9px}
.vc-t{font-size:17px;font-weight:800;line-height:1.35;letter-spacing:-.02em;color:var(--green-700)}
.v-core::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.72);z-index:-1}

@media (max-width:900px){
  .venn{height:auto;max-width:460px;display:grid;gap:14px;margin-top:44px}
  .v-el{position:static;width:100%;height:auto;border-radius:var(--r-lg);padding:26px 22px}
  .v-left,.v-right{padding-left:22px;padding-right:22px}
  .v-core{position:static;transform:none;width:100%;padding:22px;border-radius:var(--r-lg);
    background:var(--green-50);border:1px solid var(--green-200)}
  .v-core::before{display:none}
  .vn{max-width:none}
}
/* Venn — sweet spot core */
.venn{max-width:880px;height:340px}
.v-el{width:510px;height:340px}
.v-left{padding-right:190px}
.v-right{padding-left:190px}
.v-core{width:230px}
.v-core::before{width:218px;height:218px;background:rgba(255,255,255,.82)}
.vc-t{font-size:18px;line-height:1.3}
.vc-n{margin-top:10px;font-size:12.5px;line-height:1.45;color:var(--green-600);
  font-family:var(--font-sans);letter-spacing:-.01em}
.why .lead-sm{max-width:68ch}
@media (max-width:900px){
  .venn{max-width:460px;height:auto}
  .v-el{width:100%;height:auto}
  .vc-n{color:var(--green-700)}
}

/* Venn v2 — filled intersection as the focal point */
.why .lead-sm.brk{max-width:none}
.venn{max-width:900px;height:340px;margin:58px auto 10px}
.v-el{width:570px;height:340px}
.v-left{padding-right:275px}
.v-right{padding-left:275px}
.v-left .vt,.v-right .vt{font-size:17.5px}
.v-core{width:238px;height:238px;border-radius:50%;padding:0 26px;justify-content:center;
  background:linear-gradient(150deg,#377DFF 0%,#2563E0 55%,#1B4CB8 100%);
  box-shadow:0 18px 40px rgba(27,76,184,.28),0 0 0 6px rgba(255,255,255,.55)}
.v-core::before{display:none}
.vc-seal{width:19px;height:19px;color:rgba(255,255,255,.9);margin-bottom:10px}
.vc-k{font-family:var(--font-sans);font-size:9.5px;letter-spacing:.11em;
  text-transform:uppercase;color:rgba(255,255,255,.72);margin-bottom:9px}
.vc-t{font-size:19px;font-weight:800;line-height:1.24;letter-spacing:-.025em;color:#fff}
.vc-n{margin-top:10px;font-size:11.5px;line-height:1.45;color:rgba(255,255,255,.78);
  font-family:var(--font-sans);letter-spacing:0}
@media (max-width:900px){
  .why .lead-sm.brk br{display:none}
  .venn{max-width:460px;height:auto}
  .v-el{width:100%;height:auto;padding:26px 22px}
  .v-core{width:100%;height:auto;border-radius:var(--r-lg);padding:28px 24px;border:0;
    box-shadow:0 14px 30px rgba(27,76,184,.22)}
  .vc-t{font-size:20px}
  .vc-n{font-size:13px}
}

/* ==========================================================================
   v13 — one message per screen
   ========================================================================== */
html{scroll-snap-type:y proximity}
.hero,#why,#need,#framework,#dashboard,#delivery,#adoption,#roi,#partners,#contact{
  scroll-snap-align:start;scroll-margin-top:0}
#why,#need,#framework,#dashboard,#delivery,#adoption,#roi,#partners{
  min-height:100svh;display:grid;align-content:center;
  padding-block:clamp(52px,7vh,92px)}
#why > .wrap,#need > .wrap,#framework > .wrap,#dashboard > .wrap,#delivery > .wrap,
#adoption > .wrap,#roi > .wrap,#partners > .wrap{width:100%}
.hero.shot{min-height:100svh}

/* 높이 압축 */
.sec-lead{margin-bottom:clamp(38px,5vh,60px)}
h2.big{font-size:clamp(28px,3.9vw,48px)}
.lead-sm{margin-top:18px;font-size:17px}
.why .lead-sm{font-size:16.5px;line-height:1.6}
.venn{margin-top:clamp(28px,4vh,48px);height:300px;max-width:840px}
.v-el{width:540px;height:300px}
.v-left{padding-right:258px}.v-right{padding-left:258px}
.v-core{width:218px;height:218px}
.shift{padding:clamp(18px,2.6vh,30px) 0}
.sh-a b,.sh-b b{font-size:18.5px}
.erow{padding:clamp(20px,2.8vh,32px) 0}
.erow h3{font-size:23px;margin-bottom:10px}
.bul{gap:8px}
.whatis,.whytwo{margin-top:clamp(30px,4vh,48px)}
.bigsteps{gap:0 44px}
.ghost{font-size:clamp(44px,5vw,62px);margin-bottom:16px}
.bstep{padding-top:28px}
.tline li{padding-top:32px}
.scale{margin-bottom:14px}
.scale .dviz{max-width:132px}
.impacts .imp{padding:clamp(22px,3vh,34px) 0}
.imp h3{font-size:24px}
.org2{padding-top:clamp(28px,4vh,44px)}
.org2 .org-line{margin-bottom:26px;font-size:16px}
.bigstats b{font-size:34px}
#dashboard .mock{margin:0 auto}
#dashboard .mock-cap{margin-top:16px}
.dash{background:var(--ink-50)}

@media (max-width:900px){
  html{scroll-snap-type:none}
  #why,#need,#framework,#dashboard,#delivery,#adoption,#roi,#partners{min-height:0;display:block}
}
/* 높이 추가 압축 — 한 화면에 들어오도록 */
#need .shift{padding:clamp(13px,2vh,22px) 0}
#need .sh-a b,#need .sh-b b{font-size:17.5px}
#need .sh-a em,#need .sh-b em{margin-top:5px;font-size:14px}
#need .nviz{height:48px}
#need .sec-lead{margin-bottom:clamp(26px,3.6vh,44px)}
#dashboard .mock{max-width:900px}
#dashboard .app{min-height:0}
#contact{padding-block:clamp(48px,6vh,80px)}
#contact h2{font-size:clamp(26px,3.2vw,38px);margin-top:16px}
#contact > .wrap > p{margin-top:14px;font-size:17px}
.fcard{margin-top:28px;padding:26px 30px 20px}
.fcard .fld{margin-bottom:13px}
.fcard textarea{min-height:68px}
.fcard .w-button{margin-top:6px;padding:13px 22px}
.final .fcard .gcm-note{margin-top:14px;padding-top:12px}
.final .contact{margin-top:28px;padding-top:22px}
/* 마지막 압축: 대시보드 / 문의 섹션 */
#dashboard .mock{max-width:820px}
#dashboard .mock-cap{margin-top:12px;font-size:12px}
#contact .fcard{max-width:660px;margin-top:24px;padding:24px 28px 18px}
#contact .fcard .fld{margin-bottom:12px}
#contact .fcard textarea{min-height:60px}
#contact .gcm-note{margin-top:12px;padding-top:10px;font-size:11.5px}
.final .contact{margin-top:22px;padding-top:18px;gap:26px}
.final .contact .v{font-size:15px}
.final .contact .l{font-size:10px;margin-bottom:4px}
/* 낮은 뷰포트(노트북 13~14인치)에서도 한 화면 유지 */
@media (min-width:900px) and (max-height:880px){
  h2.big{font-size:clamp(26px,3.3vw,40px)}
  .sec-lead{margin-bottom:30px}
  .lead-sm{margin-top:14px;font-size:16px}
  #need .shift{padding:10px 0}
  #need .sh-a b,#need .sh-b b{font-size:16.5px}
  #need .sh-a em,#need .sh-b em{font-size:13px;margin-top:4px}
  #need .nviz{height:42px}
  .venn{height:266px;max-width:760px;margin-top:26px}
  .v-el{width:486px;height:266px}
  .v-left{padding-right:232px}.v-right{padding-left:232px}
  .v-core{width:196px;height:196px}
  .vc-t{font-size:17px}
  #dashboard .mock{max-width:700px}
  #contact .fcard{max-width:600px;padding:20px 24px 16px;margin-top:20px}
  #contact .fcard textarea{min-height:52px}
  #contact .fcard .fld{margin-bottom:10px}
  .final .contact{margin-top:16px;padding-top:14px}
  .bigstats b{font-size:30px}
  .org2 .org-line{margin-bottom:20px}
  .imp h3{font-size:22px}
  .tline h3{font-size:23px}
  .scale .dviz{max-width:118px}
}
@media (min-width:900px) and (max-height:880px){
  #dashboard .mock{max-width:1000px;zoom:.86}
  #contact .fcard{max-width:570px}
  #contact h2{font-size:clamp(24px,3vw,34px)}
  .final .contact > div:nth-child(2){display:none}
}
@media (min-width:900px) and (max-height:790px){
  #dashboard .mock{zoom:.78}
  #contact .fcard textarea{min-height:44px}
  .final .contact{margin-top:12px;padding-top:12px}
  #contact > .wrap > p{font-size:16px}
}
@media (min-width:900px) and (max-height:800px){
  .hero.shot{padding-top:64px}
  .hero.shot .in{padding-bottom:104px}
  .hero.shot .hstats{padding:24px 0 52px}
  .hero.shot h1{font-size:clamp(30px,4.4vw,48px)}
  .hero.shot .lead{font-size:17px}
  #contact .fcard{max-width:540px}
  .final .contact{display:none}
}

/* ==========================================================================
   v14 — 고정 네비 높이를 뺀 정확한 한 화면
   ========================================================================== */
:root{--navh:66px}
#why,#need,#framework,#dashboard,#delivery,#adoption,#roi,#partners{
  min-height:calc(100svh - var(--navh));scroll-margin-top:var(--navh)}
#contact{scroll-margin-top:var(--navh)}

/* 히어로: 텍스트는 위, 지표는 화면 하단에 고정되도록 그리드 2행 */
.hero.shot{min-height:calc(100svh - var(--navh));display:grid;grid-template-rows:auto 1fr;
  padding:clamp(56px,7.5vh,96px) 0 clamp(16px,2.4vh,32px);scroll-margin-top:var(--navh)}
.hero.shot > .wrap:last-of-type{align-self:end}
.hero.shot .in{padding-bottom:0}
.hero.shot .hstats{padding:clamp(16px,2.2vh,28px) 0 0;margin:0}
@media (min-width:900px) and (max-height:800px){
  .hero.shot{padding-top:clamp(44px,6vh,72px)}
  .hero.shot .in{padding-bottom:0}
  .hero.shot .hstats{padding-top:18px}
}
@media (max-width:900px){
  .hero.shot{display:block;min-height:0;padding:84px 0 0}
  .hero.shot .hstats{padding:30px 0 64px}
}

/* ==========================================================================
   v15 — Venn: 교집합(렌즈)을 실제로 채운 버전
   ========================================================================== */
.venn2{position:relative;width:100%;max-width:900px;margin:clamp(26px,4vh,46px) auto 0;aspect-ratio:900/340}
.vsvg{display:block;width:100%;height:100%}
.vlab{position:absolute;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;
  align-items:center;text-align:center}
.vlab-l{left:2.2%;width:25%}
.vlab-r{right:2.2%;width:25%}
.vlab-c{left:50%;transform:translate(-50%,-50%);width:26%}
.vlab .vk{font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:12px}
.vlab-l .vk{color:var(--ink-500)}
.vlab-r .vk{color:var(--green-600)}
.vlab .vt{font-size:clamp(15px,1.28vw,18px);font-weight:700;line-height:1.38;letter-spacing:-.02em;color:var(--ink-900)}
.vlab-c .vc-seal{width:19px;height:19px;color:rgba(255,255,255,.88);margin-bottom:9px}
.vlab-c .vc-k{font-family:var(--font-sans);font-size:9.5px;letter-spacing:.11em;
  text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:8px}
.vlab-c .vc-t{font-size:clamp(16px,1.42vw,20px);font-weight:800;line-height:1.24;letter-spacing:-.025em;color:#fff}
.vlab-c .vc-n{margin-top:9px;font-size:clamp(10.5px,0.86vw,12px);line-height:1.45;color:rgba(255,255,255,.8)}

@media (max-width:900px){
  .venn2{aspect-ratio:auto;max-width:460px;display:grid;gap:12px;margin-top:34px}
  .vsvg{display:none}
  .vlab{position:static;transform:none;width:100%;padding:24px 20px;border-radius:var(--r-lg);align-items:flex-start;text-align:left}
  .vlab-l{background:#F4F6FA;border:1px solid var(--ink-200)}
  .vlab-r{background:rgba(55,125,255,.07);border:1px solid var(--green-200)}
  .vlab-c{background:linear-gradient(150deg,#377DFF,#1B4CB8);border:0}
  .vlab .vt,.vlab-c .vc-t{font-size:18px}
  .vlab-c .vc-n{font-size:13px}
}
/* 라벨을 각 원의 '단독 영역' 중앙에 정확히 배치 */
.vlab-l{left:19%;right:auto;width:23%;transform:translate(-50%,-50%)}
.vlab-r{left:81%;right:auto;width:23%;transform:translate(-50%,-50%)}
@media (max-width:900px){
  .vlab-l,.vlab-r,.vlab-c{left:auto;right:auto;width:100%;transform:none}
}

/* ==========================================================================
   v16 — A + B = 결과 (벤 다이어그램 대체)
   ========================================================================== */
.eqrow{display:grid;grid-template-columns:1fr auto 1fr auto 1.15fr;align-items:stretch;gap:0 22px;
  margin-top:clamp(30px,4.5vh,52px)}
.eq-card{border:1px solid var(--ink-200);border-radius:var(--r-lg);background:#fff;
  padding:clamp(22px,3vh,30px) clamp(20px,2vw,26px);display:flex;flex-direction:column;justify-content:center}
.eq-card-b{border-color:var(--green-200);background:rgba(55,125,255,.045)}
.eq-k{font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-500);margin-bottom:14px}
.eq-card-b .eq-k{color:var(--green-600)}
.eq-t{font-size:clamp(17px,1.35vw,19.5px);font-weight:700;line-height:1.4;letter-spacing:-.022em;color:var(--ink-900)}
.eq-n{margin-top:10px;font-size:13.5px;line-height:1.5;color:var(--fg-3)}
.eq-op{display:flex;align-items:center;justify-content:center;color:var(--ink-300);width:26px}
.eq-op svg{width:22px;height:22px}
.eq-out{position:relative;border-radius:var(--r-lg);padding:clamp(22px,3vh,30px) clamp(22px,2.2vw,30px);
  background:linear-gradient(150deg,#377DFF 0%,#2563E0 52%,#1B4CB8 100%);color:#fff;
  box-shadow:0 16px 34px rgba(27,76,184,.24);display:flex;flex-direction:column;justify-content:center}
.eq-seal{display:inline-flex;align-items:center;gap:8px;margin-bottom:13px;
  font-family:var(--font-sans);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:rgba(255,255,255,.8)}
.eq-seal svg{width:17px;height:17px;color:var(--gold);flex:none}
.eq-out-t{font-size:clamp(19px,1.72vw,25px);font-weight:800;line-height:1.22;letter-spacing:-.03em;color:#fff}
.eq-out-n{margin-top:12px;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.82)}

@media (max-width:980px){
  .eqrow{grid-template-columns:1fr;gap:12px}
  .eq-op{width:100%;height:26px;transform:rotate(0)}
  .eq-out{box-shadow:0 12px 26px rgba(27,76,184,.22)}
}

/* 히어로 지표: 하단에서 띄우기 */
.hero.shot{padding-bottom:clamp(48px,7vh,86px)}
.hero.shot .hstats{padding-top:clamp(18px,2.4vh,30px)}
@media (min-width:900px) and (max-height:800px){
  .hero.shot{padding-bottom:clamp(34px,5vh,60px)}
}
@media (max-width:900px){.hero.shot{padding-bottom:0}}
@media (min-width:900px) and (max-height:860px){
  #dashboard .mock{zoom:.80}
  #contact .fcard{max-width:540px}
  .final .contact{display:none}
}
@media (min-width:900px) and (max-height:770px){
  #why,#need,#framework,#dashboard,#delivery,#adoption,#roi,#partners{padding-block:clamp(24px,3.4vh,48px)}
  h2.big{font-size:clamp(23px,2.9vw,33px)}
  .sec-lead{margin-bottom:22px}
  .lead-sm{margin-top:12px;font-size:15px}
  #need .shift{padding:7px 0}
  #need .sh-a b,#need .sh-b b{font-size:15.5px}
  #need .sh-a em,#need .sh-b em{font-size:12.5px}
  #need .nviz{height:36px}
  #dashboard .mock{zoom:.70}
  .eq-card,.eq-out{padding:17px 19px}
  .eq-t{font-size:16.5px}.eq-out-t{font-size:18px}
  .eq-n,.eq-out-n{margin-top:7px;font-size:12.5px}
  .erow{padding:16px 0}.erow h3{font-size:20px;margin-bottom:8px}
  .bul li{font-size:13.5px}
  .ghost{font-size:44px;margin-bottom:12px}
  .bstep h4{font-size:19px}.bstep p{font-size:14px}
  .tline li{padding-top:24px}.tline h3{font-size:20px}.tl-lead{font-size:15px}.tline p{font-size:14px}
  .scale{margin-bottom:10px}.scale .dviz{max-width:104px}
  .impacts .imp{padding:15px 0}.imp h3{font-size:20px}.imp p{font-size:14px}
  .iviz{width:50px;height:50px}
  .org2{padding-top:24px}.bigstats b{font-size:26px}.org2 .org-line{font-size:14.5px;margin-bottom:16px}
  #contact .fcard{max-width:520px;padding:18px 22px 14px}
  #contact .fcard textarea{min-height:40px}
}
@media (min-width:900px) and (max-height:880px){
  #need .shift{padding:9px 0}
  #dashboard .mock{zoom:.76}
  #contact{padding-block:clamp(30px,4vh,56px)}
  #contact h2{font-size:clamp(22px,2.6vw,30px)}
  #contact > .wrap > p{font-size:15px;margin-top:10px}
  #contact .fcard{margin-top:18px}
}
@media (min-width:900px) and (max-height:770px){
  #dashboard .mock{zoom:.66}
  #contact{padding-block:22px}
  #contact .tag-up{display:none}
  #contact .fcard{margin-top:14px;max-width:500px}
  #contact .fcard label{margin-bottom:5px;font-size:12.5px}
  #contact .fcard .w-input,#contact .fcard .w-select,#contact .fcard textarea{padding:9px 12px;font-size:14px}
  #contact .fcard .w-button{padding:11px 18px;font-size:15px}
}
@media (min-width:900px) and (max-height:700px){
  #dashboard .mock{zoom:.58}
  #contact .fcard .fld:last-of-type{display:none}
}
@media (min-width:900px) and (max-height:700px){
  #need .shift{padding:5px 0}
  #need .sh-a b,#need .sh-b b{font-size:14.5px}
  #need .sh-a em,#need .sh-b em{display:none}
  #need .nviz{height:32px}
  #need .sec-lead .lead-sm{display:none}
}
/* 히어로 지표: 하단에서 더 띄우기 */
.hero.shot{padding-bottom:clamp(88px,13vh,152px)}
@media (min-width:900px) and (max-height:800px){.hero.shot{padding-bottom:clamp(64px,10vh,104px)}}
@media (min-width:900px) and (max-height:700px){.hero.shot{padding-bottom:52px}}
@media (max-width:900px){.hero.shot{padding-bottom:0}}
/* 히어로 상단 블록도 아래로 내리기 */
.hero.shot{padding-top:clamp(98px,15vh,168px)}
@media (min-width:900px) and (max-height:800px){.hero.shot{padding-top:clamp(76px,12vh,122px)}}
@media (min-width:900px) and (max-height:700px){.hero.shot{padding-top:64px}}
@media (max-width:900px){.hero.shot{padding-top:84px}}

/* ==========================================================================
   v17 — What G-Cert is (3 pillars)
   ========================================================================== */
#gcert{min-height:calc(100svh - var(--navh));display:grid;align-content:center;
  padding-block:clamp(52px,7vh,92px);scroll-snap-align:start;scroll-margin-top:var(--navh)}
#gcert > .wrap{width:100%}
.dash{background:#fff}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;
  margin-top:clamp(34px,5vh,58px);border-top:1px solid var(--ink-200);padding-top:clamp(26px,3.4vh,38px)}
.pil{position:relative}
.pil + .pil{padding-left:48px;border-left:1px solid var(--ink-200)}
.pil-n{display:block;font-family:var(--font-sans);font-size:26px;font-weight:700;
  line-height:1;letter-spacing:-.04em;color:var(--green-200);margin-bottom:14px}
.pil-k{display:block;font-family:var(--font-sans);font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);margin-bottom:12px}
.pil-t{font-size:clamp(18px,1.5vw,21px);font-weight:800;line-height:1.32;letter-spacing:-.028em;
  color:var(--ink-900);margin-bottom:12px}
.pil-d{font-size:14.5px;line-height:1.62;color:var(--fg-2);max-width:34ch}
.bridge{display:flex;align-items:center;gap:9px;margin-top:clamp(28px,4vh,46px);
  font-family:var(--font-sans);font-size:12.5px;letter-spacing:-.01em;color:var(--fg-3)}
.bridge svg{width:15px;height:15px;color:var(--green-500);flex:none}

@media (max-width:980px){
  .pillars{grid-template-columns:1fr;gap:26px;padding-top:24px}
  .pil + .pil{padding-left:0;border-left:0;border-top:1px solid var(--ink-200);padding-top:24px}
  .pil-d{max-width:none}
  #gcert{min-height:0;display:block}
}
@media (min-width:900px) and (max-height:860px){
  .pil-n{font-size:22px;margin-bottom:10px}
  .pil-t{font-size:18px;margin-bottom:9px}
  .pil-d{font-size:13.5px}
  .bridge{margin-top:24px}
}
@media (min-width:900px) and (max-height:770px){
  #gcert{padding-block:clamp(24px,3.4vh,48px)}
  .pil-n{display:none}
  .pil-t{font-size:16.5px}
  .pil-d{font-size:13px}
  .pillars{margin-top:24px;padding-top:20px}
}
/* Pillars: 숫자 → 도식 */
.pil-n{display:none}
.pviz{width:76px;height:44px;display:block;margin-bottom:16px}
.pil-k{display:flex;align-items:center;gap:8px}
.pil-k i{font-style:normal;display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:var(--green-50);
  color:var(--green-600);font-size:10.5px;font-weight:700;letter-spacing:.04em}
.pil-d{max-width:none;font-size:14.5px;line-height:1.6}
@media (min-width:900px) and (max-height:860px){.pviz{height:38px;margin-bottom:12px}}
@media (min-width:900px) and (max-height:770px){.pviz{height:34px;margin-bottom:10px}}
@media (max-width:980px){.pil-d br{display:none}}
/* Pillars v2 — 미니 차트 + 2줄 고정 본문 */
.pillars{gap:0 40px}
.pil + .pil{padding-left:40px}
.pviz{width:100%;max-width:150px;height:auto;margin-bottom:18px}
.pil-d{font-size:13.5px;line-height:1.62;letter-spacing:-.005em;white-space:normal}
@media (min-width:900px) and (max-height:860px){.pviz{max-width:136px;margin-bottom:14px}.pil-d{font-size:13px}}
@media (min-width:900px) and (max-height:770px){.pviz{max-width:122px;margin-bottom:10px}.pil-d{font-size:12.5px}}
@media (max-width:980px){.pviz{max-width:150px}}

/* ==========================================================================
   v18 — 레퍼런스(/g-cert) 언어: 폭을 가로지르는 곡선 흐름 + 스파크
   ========================================================================== */
.fan{position:relative;text-align:center;margin-top:clamp(26px,4vh,44px)}
.fan-node{display:inline-flex;align-items:center;gap:11px;padding:11px 20px;border-radius:var(--r-pill);
  background:#fff;border:1px solid var(--green-200);box-shadow:0 8px 22px rgba(12,19,62,.10);
  font-size:15px;font-weight:700;letter-spacing:-.02em;color:var(--ink-900);position:relative;z-index:2}
.fan-node svg{width:20px;height:20px;color:var(--green-500);flex:none}
.fan::before{content:"";position:absolute;left:50%;top:6px;transform:translate(-50%,-50%);
  width:420px;height:150px;border-radius:50%;background:radial-gradient(closest-side,rgba(55,125,255,.16),transparent 72%);
  z-index:0;pointer-events:none}
.fanflow{display:block;width:100%;height:clamp(64px,9vh,110px);margin-top:-4px;overflow:visible}
.fspark{fill:#377DFF;filter:drop-shadow(0 0 3px rgba(55,125,255,.45))}
@media (prefers-reduced-motion:reduce){.fspark{display:none}}

.pillars{margin-top:0;border-top:0;padding-top:0}
.pil + .pil{border-left:0;padding-left:40px}
.pil{text-align:center;padding:0 8px}
.pil-k{justify-content:center}
.pil-d{margin-left:auto;margin-right:auto}
.pil-t{margin-bottom:10px}

@media (max-width:980px){
  .fanflow{display:none}
  .fan{margin-bottom:22px}
  .pil{text-align:left;padding:0}
  .pil-k{justify-content:flex-start}
  .pil + .pil{padding-left:0;border-top:1px solid var(--ink-200);padding-top:24px}
}
.fspark{fill:#2563E0}
.fanflow{height:clamp(72px,10vh,120px)}
.pil-d{max-width:none}

.fanflow{overflow:hidden}

/* ==========================================================================
   v19 — 3단 구분 + 확실한 아이콘 타일
   ========================================================================== */
.pillars{grid-template-columns:repeat(3,1fr);gap:0 48px;
  border-top:1px solid var(--ink-200);padding-top:clamp(26px,3.4vh,40px);
  margin-top:clamp(32px,4.6vh,54px)}
.pil{text-align:left;padding:0}
.pil + .pil{padding-left:48px;border-left:1px solid var(--ink-200)}
.pil-ico{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:16px;
  background:var(--green-50);border:1px solid var(--green-100);margin-bottom:20px}
.pil-ico svg{width:34px;height:34px}
.pil-k{justify-content:flex-start;margin-bottom:12px}
.pil-t{font-size:clamp(18px,1.5vw,21px);margin-bottom:12px}
.pil-d{margin:0;font-size:13.8px}

@media (min-width:900px) and (max-height:860px){
  .pil-ico{width:56px;height:56px;border-radius:14px;margin-bottom:14px}
  .pil-ico svg{width:30px;height:30px}
}
@media (min-width:900px) and (max-height:770px){
  .pil-ico{width:48px;height:48px;border-radius:12px;margin-bottom:10px}
  .pil-ico svg{width:26px;height:26px}
}
@media (max-width:980px){
  .pillars{grid-template-columns:1fr;gap:24px}
  .pil + .pil{padding-left:0;border-left:0;border-top:1px solid var(--ink-200);padding-top:24px}
  .pil-d br{display:none}
}
.pil-ico{width:72px;height:72px;border-radius:18px}
.pil-ico svg{width:40px;height:40px}
.pil-d{font-size:13.2px;letter-spacing:-.008em;line-height:1.6}
@media (min-width:900px) and (max-height:860px){.pil-ico{width:62px;height:62px;border-radius:16px}.pil-ico svg{width:34px;height:34px}}
@media (min-width:900px) and (max-height:770px){.pil-ico{width:52px;height:52px;border-radius:13px}.pil-ico svg{width:29px;height:29px}}

#gcert .lead-sm.brk{max-width:none}
@media (max-width:980px){#gcert .lead-sm.brk br{display:none}}

/* ==========================================================================
   v20 — G-Cert 효용 불릿 + Strategic advantage
   ========================================================================== */
#advantage{min-height:calc(100svh - var(--navh));display:grid;align-content:center;
  padding-block:clamp(52px,7vh,92px);scroll-snap-align:start;scroll-margin-top:var(--navh)}
#advantage > .wrap{width:100%}
.dash.tint{background:var(--bg-2)}

/* 효용 불릿 */
.pil .bul{margin-top:0;gap:9px}
.pil .bul li{font-size:14px;line-height:1.55;padding-left:17px;color:var(--fg-2)}
.pil .bul li::before{top:7px;width:5px;height:5px;background:var(--green-400)}
.pil-k{margin-bottom:14px}

/* 의사결정 근거 3행 */
.drivers{margin-top:clamp(30px,4.4vh,50px);border-top:1px solid var(--ink-200)}
.drv{display:grid;grid-template-columns:78px 1fr;gap:0 24px;align-items:baseline;
  padding:clamp(18px,2.6vh,28px) 0;border-bottom:1px solid var(--ink-200)}
.drv-n{font-family:var(--font-sans);font-size:20px;font-weight:700;
  letter-spacing:-.03em;color:var(--green-300)}
.drv-t{font-size:clamp(19px,1.6vw,23px);font-weight:800;letter-spacing:-.028em;color:var(--ink-900);margin-bottom:8px}
.drv-d{font-size:15.5px;line-height:1.6;color:var(--fg-2);max-width:72ch}

/* 이 두 섹션은 낮은 뷰포트에서도 글자 크기를 줄이지 않는다 */
@media (min-width:900px) and (max-height:770px){
  #gcert .pil-t,#gcert .pil-d,#gcert .bul li,#advantage .drv-t,#advantage .drv-d{font-size:inherit}
  #gcert .bul li{font-size:14px}
  #advantage .drv-d{font-size:15.5px}
  #gcert,#advantage{padding-block:clamp(28px,4vh,56px)}
  .drv{padding:14px 0}
}
@media (max-width:980px){
  #advantage{min-height:0;display:block}
  .drv{grid-template-columns:1fr;gap:6px}
  .drv-n{font-size:16px}
}

#advantage .lead-sm.brk{max-width:none}
@media (max-width:980px){#advantage .lead-sm.brk br{display:none}}

/* ==========================================================================
   v21 — 타이포 역할 통일 + 섹션별 시각 보강
   섹션 공통 역할:  eyeline(태그) / h2.big(헤드라인) / lead-sm(서브헤드)
                   item-k(분류 라벨) / item-t(항목 제목) / item-d(항목 본문)
   ========================================================================== */
.item-t,.pil-t,.eq-t,.drv-t,.eq-out-t{
  font-size:clamp(19px,1.62vw,23px);font-weight:800;line-height:1.28;letter-spacing:-.028em;color:var(--ink-900)}
.eq-out-t{color:#fff}
.item-k,.eq-k,.wk,.vk,.imp-k,.erow-k,.tl-n,.sh-k{
  font-family:var(--font-sans);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.item-d,.pil-d,.eq-n,.drv-d,.pil .bul li{font-size:15px;line-height:1.6;color:var(--fg-2)}

/* 항목 번호 */
.item-n,.drv-n{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.06em;
  color:var(--green-600);background:var(--green-50);border-radius:6px;padding:4px 8px;margin-bottom:12px}
.drv-n{margin-bottom:0}

/* G-Cert 3열: 아이콘 → 번호 → 큰 제목 → 불릿 */
.pil .item-t{margin-bottom:14px}
.pil .bul{margin-top:0;gap:10px}
.pil .bul li{padding-left:18px}
.pil-ico{width:64px;height:64px;border-radius:16px;margin-bottom:18px}
.pil-ico svg{width:36px;height:36px}

/* Why 입력 카드 아이콘 */
.item-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:var(--green-50);border:1px solid var(--green-100);margin-bottom:16px}
.item-ico svg{width:28px;height:28px}
.eq-card{justify-content:flex-start}
.eq-out{justify-content:center}

/* Strategic advantage 행: 아이콘 + 번호 + 제목 + 본문 */
.drv{grid-template-columns:52px 60px 1fr;gap:0 20px;align-items:center}
.drv-ico{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:var(--green-50);border:1px solid var(--green-100)}
.drv-ico svg{width:28px;height:28px}
.drv-b{align-self:center}
.drv-t{margin-bottom:6px}

@media (min-width:900px) and (max-height:860px){
  .pil-ico{width:56px;height:56px;margin-bottom:14px}
  .pil-ico svg{width:32px;height:32px}
  .item-ico,.drv-ico{width:46px;height:46px}
  .item-ico svg,.drv-ico svg{width:25px;height:25px}
}
@media (min-width:900px) and (max-height:770px){
  .pil-ico{width:48px;height:48px;margin-bottom:10px}
  .pil-ico svg{width:27px;height:27px}
  .item-ico,.drv-ico{width:42px;height:42px;margin-bottom:12px}
  .item-ico svg,.drv-ico svg{width:23px;height:23px}
  .drv{grid-template-columns:42px 52px 1fr;gap:0 16px}
}
@media (max-width:980px){
  .drv{grid-template-columns:52px 1fr;gap:0 16px}
  .drv-n{display:none}
}

/* ==========================================================================
   v22 — 단일 서체(Pretendard). 라벨은 대문자 + 자간 + 굵기로 구분
   ========================================================================== */
.eyeline,.item-k,.eq-k,.wk,.vk,.imp-k,.erow-k,.tl-n,.sh-k,.pil-k,.item-n,.drv-n,.ph .pn,.mock .brand span{
  font-family:var(--font-sans);font-weight:700;letter-spacing:.1em}
.eyeline{font-size:11.5px}
.item-k,.eq-k,.wk,.vk,.imp-k,.erow-k,.tl-n,.sh-k{font-size:11px}
.item-n,.drv-n{letter-spacing:.06em;font-size:11.5px}
.dv-hint,.flow-legend,.mock-cap{font-family:var(--font-sans)}
.bridge{font-family:var(--font-sans);letter-spacing:0}

/* ==========================================================================
   v23 — 랜딩 서피스 복원: 카드 · 중앙 헤더 · 틴트 대조 · 깊이
   ========================================================================== */
.sec-lead.center{margin-left:auto;margin-right:auto;text-align:center;max-width:860px}
.sec-lead.center .lead-sm{margin-left:auto;margin-right:auto}
.sec-lead.center .eyeline{justify-content:center}
.eyeline{display:inline-flex}
#why .big,#gcert .big,#advantage .big{max-width:none}

/* 카드 서피스 공통 */
.pil,.erow,.imp,.drv,.tline li{
  background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);
  box-shadow:var(--shadow-sm);transition:box-shadow .22s var(--ease),transform .22s var(--ease),border-color .22s var(--ease)}
.pil:hover,.erow:hover,.imp:hover,.drv:hover,.tline li:hover{
  box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}

/* G-Cert 3축 카드 */
.pillars{border-top:0;padding-top:0;gap:22px}
.pil{padding:30px 28px 32px;text-align:left}
.pil + .pil{padding-left:28px;border-left:1px solid var(--border)}

/* Framework 3카드 */
.erows{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.erow{padding:30px 28px 32px;border-top:0}
.erow .erow-k{display:inline-block;background:var(--green-50);color:var(--green-600);
  padding:5px 10px;border-radius:6px;margin-bottom:14px}
.erow h3{font-size:clamp(19px,1.62vw,23px);font-weight:800;letter-spacing:-.028em}

/* Impact 4카드 */
.impacts{grid-template-columns:repeat(2,1fr);gap:22px;border-top:0}
.imp{padding:26px 28px;border-bottom:0;grid-template-columns:56px 1fr;gap:0 20px;align-items:center}
.iviz{width:56px;height:56px}

/* Advantage 3행 카드 */
.drivers{border-top:0;display:grid;gap:14px;margin-top:clamp(26px,3.6vh,44px)}
.drv{padding:22px 26px;border-bottom:0}

/* Roadmap 카드 + 커넥터 */
.tline{gap:0 22px}
.tline li{padding:28px 26px 30px;border-bottom:0}
.tline li::before{top:-7px;left:26px}
.tline::before{top:-7px;left:6%;right:6%}

/* The Need: '도입 후' 셀을 블루 틴트로 */
.shifts{border-top:0}
.shift{border-bottom:0;padding:10px 0;grid-template-columns:120px 1fr 130px 1.05fr;gap:0 20px}
.sh-a,.sh-b{padding:18px 22px;border-radius:var(--r-md);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.sh-a{background:var(--ink-50);border:1px solid var(--border)}
.sh-b{background:rgba(55,125,255,.06);border:1px solid var(--green-200)}
.sh-b b{color:var(--green-700)}
.sh-k{align-self:center}

@media (min-width:900px) and (max-height:860px){
  .pil,.erow{padding:24px 24px 26px}
  .imp{padding:20px 22px}
  .drv{padding:17px 22px}
  .tline li{padding:22px 22px 24px}
  .sh-a,.sh-b{padding:13px 18px}
}
@media (min-width:900px) and (max-height:770px){
  .pil,.erow{padding:20px 20px 22px}
  .imp{padding:16px 18px}
  .drv{padding:14px 18px}
  .tline li{padding:18px 18px 20px}
  .sh-a,.sh-b{padding:10px 16px}
  .shift{padding:7px 0}
}
@media (max-width:980px){
  .erows,.impacts,.tline{grid-template-columns:1fr}
  .pil + .pil{padding-left:28px;border-left:1px solid var(--border);border-top:0;padding-top:30px}
  .tline li::before{left:22px}
}

/* ==========================================================================
   v24 — The Need 행 정렬 복구(자동배치로 2행 분리되던 문제) + 한 화면 압축
   ========================================================================== */
@media (min-width:1101px){
  .shift{grid-template-columns:112px 1fr 116px 1.05fr;gap:0 18px;align-items:stretch}
  .shift > .sh-k{grid-area:1 / 1}
  .shift > .sh-a{grid-area:1 / 2}
  .shift > .nviz{grid-area:1 / 3;align-self:center;width:116px}
  .shift > .sh-b{grid-area:1 / 4}
}
@media (max-width:1100px){
  .shift{grid-template-columns:112px 1fr 1.05fr;gap:0 20px}
  .shift > .sh-k{grid-area:1 / 1}
  .shift > .sh-a{grid-area:1 / 2}
  .shift > .sh-b{grid-area:1 / 3}
}
@media (max-width:760px){
  .shift{grid-template-columns:1fr;gap:12px}
  .shift > .sh-k,.shift > .sh-a,.shift > .sh-b{grid-area:auto}
}

@media (min-width:900px) and (max-height:735px){
  .pil{padding:16px 18px 18px}
  .pil + .pil{padding-left:18px}
  .imp{padding:13px 16px;gap:0 16px;grid-template-columns:46px 1fr}
  .iviz{width:46px;height:46px}
  .erow{padding:16px 18px 18px}
  .drv{padding:12px 16px}
  .tline li{padding:15px 16px 17px}
}
@media (min-width:900px) and (max-height:735px){
  #gcert .sec-lead{margin-bottom:18px}
  #gcert .pil .bul{gap:7px}
  #gcert .pil .bul li{font-size:13.5px;line-height:1.5}
  #gcert .pil-ico{width:52px;height:52px;border-radius:13px;margin-bottom:12px}
  #gcert .pil-ico svg{width:30px;height:30px}
  #gcert .pil .item-t{margin-bottom:10px}
  #gcert .item-n{margin-bottom:8px}
  #gcert .item-t{font-size:19px}
  #roi .impacts{gap:12px}
  #roi .sec-lead{margin-bottom:18px}
}

/* ==========================================================================
   v25 — Impact 카드 배치 복구(4자식이 2×2로 흩어지던 문제)
   ========================================================================== */
.imp{align-items:start;row-gap:0}
.imp > .iviz{grid-area:1 / 1 / 4 / 2;align-self:center;margin-top:0}
.imp > .imp-k{grid-area:1 / 2}
.imp > h3{grid-area:2 / 2}
.imp > p{grid-area:3 / 2}
.imp > h3{margin-bottom:6px}
.imp > .iviz{background:var(--green-50);border-radius:14px;box-sizing:border-box;padding:4px}
@media (min-width:900px) and (max-height:735px){.imp > .iviz{border-radius:11px}}

/* ==========================================================================
   v26 — Roadmap: 3카드 제목 기준선 정렬 + 커넥터를 1·3 마커 사이로
   ========================================================================== */
.tline .scale{display:flex;flex-direction:column;justify-content:flex-end;
  min-height:132px;margin:0 0 16px}
.tline::before{left:26px;right:calc(33.333% - 40px)}
@media (min-width:900px) and (max-height:860px){.tline .scale{min-height:116px;margin-bottom:12px}}
@media (min-width:900px) and (max-height:770px){.tline .scale{min-height:100px;margin-bottom:10px}}
@media (min-width:900px) and (max-height:735px){.tline .scale{min-height:88px;margin-bottom:8px}}
@media (max-width:980px){.tline .scale{min-height:0}.tline::before{display:none}}

/* ==========================================================================
   v27 — Why 입력 카드 2장 표면 통일 + 설명줄 하단 정렬
   ========================================================================== */
.eq-card{background:#fff;border-color:var(--border);box-shadow:var(--shadow-sm);
  display:flex;flex-direction:column;
  transition:box-shadow .22s var(--ease),transform .22s var(--ease),border-color .22s var(--ease)}
.eq-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-2px)}
.eq-card-b{background:#fff;border-color:var(--border)}
.eq-card .eq-n{margin-top:auto;padding-top:12px}

/* ==========================================================================
   v28 — 대시보드 패널 캡션 크기 복구 + Advantage 행폭 정리
   ========================================================================== */
.ph .pn{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
.drivers{max-width:1000px;margin-left:auto;margin-right:auto}
#gcert .sec-lead.center{max-width:1060px}
#gcert .sec-lead.center .lead-sm{max-width:none}

/* ==========================================================================
   v30 — 섹션 명암 리듬 복원
   hero(다크) · why(화이트) · gcert(네이비) · advantage(화이트) · need(블루틴트)
   framework(화이트) · dashboard(블루틴트) · delivery(블루밴드) · adoption(화이트)
   roi(블루틴트) · partners(네이비) · contact(블루그라디언트)
   ========================================================================== */

/* 1) 틴트를 '거의 흰색'에서 블루 워시로 */
.tint{background:linear-gradient(180deg,#EEF3FD 0%,#F5F8FE 62%,#EEF3FD 100%)}
.tint::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at 1px 1px,rgba(55,125,255,.13) 1px,transparent 0);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
.tint > .wrap{position:relative;z-index:2}
.tint .sh-a{background:#fff;border-color:var(--border)}
.tint .sh-b{background:rgba(55,125,255,.10);border-color:var(--green-200)}

/* 2) G-Cert 섹션을 네이비 슬래브로 */
#gcert{background:linear-gradient(170deg,#0B1236 0%,#131F5C 58%,#0D1640 100%);color:#fff;
  overflow:hidden}
#gcert::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.14) 1px,transparent 0);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(90% 70% at 50% 40%,#000 0%,transparent 78%);
  mask-image:radial-gradient(90% 70% at 50% 40%,#000 0%,transparent 78%)}
#gcert > .wrap{position:relative;z-index:2}
#gcert .eyeline{color:#84AAFF}
#gcert .eyeline::before{background:rgba(132,170,255,.55)}
#gcert h2.big{color:#fff}
#gcert h2.big .hl{color:#84AAFF}
#gcert .lead-sm{color:rgba(255,255,255,.74)}
#gcert .pil{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.13);
  box-shadow:none;backdrop-filter:blur(2px)}
#gcert .pil:hover{background:rgba(255,255,255,.085);border-color:rgba(132,170,255,.42);
  box-shadow:0 18px 40px rgba(4,10,38,.45);transform:translateY(-3px)}
#gcert .pil + .pil{border-left:1px solid rgba(255,255,255,.13)}
#gcert .pil-ico{background:rgba(55,125,255,.20);border:1px solid rgba(132,170,255,.28)}
#gcert .item-n{background:rgba(132,170,255,.18);color:#A9C4FF}
#gcert .item-t{color:#fff}
#gcert .bul li{color:rgba(255,255,255,.76)}
#gcert .bul li::before{background:#84AAFF}

/* ==========================================================================
   v31 — Dashboard를 네이비 슬래브로. 흰 대시보드 목업이 떠 보이게
   ========================================================================== */
#dashboard,#dashboard.dash.tint{
  background:linear-gradient(180deg,#0A1030 0%,#101A4E 55%,#0C1338 100%);overflow:hidden}
#dashboard::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.13) 1px,transparent 0);
  background-size:26px 26px;
  -webkit-mask-image:radial-gradient(85% 70% at 50% 45%,#000 0%,transparent 76%);
  mask-image:radial-gradient(85% 70% at 50% 45%,#000 0%,transparent 76%)}
#dashboard > .wrap{position:relative;z-index:2}
#dashboard::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:900px;height:420px;pointer-events:none;
  background:radial-gradient(closest-side,rgba(55,125,255,.28),transparent 72%)}
#dashboard .mock{box-shadow:0 40px 90px rgba(3,8,32,.62),0 0 0 1px rgba(255,255,255,.08)}
#dashboard .mock-cap{color:rgba(255,255,255,.62)}

/* ==========================================================================
   v32 — 섹션 5개 삭제 후 명암 리듬 재배치
   hero(다크) · why(화이트) · gcert(네이비) · advantage(화이트)
   dashboard(블루틴트) · partners(네이비) · contact(블루그라디언트)
   ========================================================================== */
#dashboard,#dashboard.dash.tint{
  background:linear-gradient(180deg,#EEF3FD 0%,#F5F8FE 62%,#EEF3FD 100%)}
#dashboard::before{display:none}
#dashboard::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(circle at 1px 1px,rgba(55,125,255,.13) 1px,transparent 0);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);
  mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent)}
#dashboard .mock{box-shadow:0 30px 70px rgba(12,19,62,.16),0 0 0 1px rgba(12,19,62,.06)}
#dashboard .mock-cap{color:var(--fg-3)}
#dashboard .sec-lead{margin-bottom:clamp(22px,3vh,34px)}

/* Partners: 기관 정식 명칭 라인 */
.org-full{font-family:var(--font-sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:#84AAFF;margin:0 0 12px}
.org2 .org-line{margin-bottom:0}
@media (min-width:900px){#dashboard .mock{zoom:.82}}
@media (min-width:900px) and (max-height:880px){#dashboard .mock{zoom:.74}}
@media (min-width:900px) and (max-height:790px){#dashboard .mock{zoom:.66}}
@media (min-width:900px) and (max-height:770px){#dashboard .mock{zoom:.62}}
@media (min-width:900px) and (max-height:700px){#dashboard .mock{zoom:.54}}
@media (min-width:900px){
  #dashboard{padding-block:clamp(36px,5vh,64px)}
  #dashboard .app{min-height:0}
  #dashboard .mock{margin-top:0}
  #dashboard .sec-lead{margin-bottom:clamp(16px,2.4vh,26px)}
}
@media (min-width:900px){
  #dashboard .sec-lead{max-width:none;margin-bottom:clamp(14px,2vh,22px)}
  #dashboard h2.big{font-size:clamp(24px,2.3vw,32px);line-height:1.2}
  #dashboard .eyeline{margin-bottom:10px}
  #dashboard .mock{zoom:.70}
}
@media (min-width:900px) and (max-height:880px){#dashboard .mock{zoom:.68}}
@media (min-width:900px) and (max-height:790px){#dashboard .mock{zoom:.60}}
@media (min-width:900px) and (max-height:770px){#dashboard .mock{zoom:.57}}
@media (min-width:900px) and (max-height:700px){#dashboard .mock{zoom:.48}}
/* Partners 통계: 숫자형과 단어형 크기 분리 */
.org2 .org-line{margin-bottom:0}
.org2 .bigstats{margin-top:clamp(20px,3vh,32px)}
.bigstats .wstat b{font-size:clamp(19px,1.5vw,23px);letter-spacing:-.02em;line-height:1.15}
@media (min-width:900px) and (max-height:790px){.bigstats .wstat b{font-size:19px}}
.bigstats > div{display:flex;flex-direction:column}
.bigstats b{display:flex;align-items:flex-end;min-height:1em}
@media (min-width:900px){.bigstats b{min-height:34px}}
@media (min-width:900px) and (max-height:790px){.bigstats b{min-height:30px}}

/* Dashboard: 축소 대신 상단 크롭 + 페이드 (본문 가독성 유지) */
@media (min-width:900px){
  #dashboard .mock{zoom:.92;max-width:1160px;overflow:hidden;position:relative}
  #dashboard .mock::after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;
    pointer-events:none;background:linear-gradient(180deg,rgba(243,247,254,0) 0%,rgba(243,247,254,.92) 62%,#F3F7FE 100%)}
  #dashboard .mock{max-height:520px}
}
@media (min-width:900px) and (max-height:880px){#dashboard .mock{zoom:.92;max-height:500px}}
@media (min-width:900px) and (max-height:790px){#dashboard .mock{zoom:.86;max-height:440px}}
@media (min-width:900px) and (max-height:770px){#dashboard .mock{zoom:.84;max-height:415px}}
@media (min-width:900px) and (max-height:700px){#dashboard .mock{zoom:.80;max-height:350px}}

/* ==========================================================================
   v33 — 섹션별 도식/시각 요소 강화 (A안 유지)
   ========================================================================== */

/* ---- WHY: A + B = C 를 실제 흐름선으로 ---- */
.eqrow{position:relative}
.eq-op{position:relative;z-index:2}
.eq-op::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--border);
  box-shadow:var(--shadow-sm);z-index:-1}
.eq-op svg{position:relative;z-index:1}
.eqrow::before{content:"";position:absolute;left:24%;right:24%;top:50%;height:1px;
  background:linear-gradient(90deg,transparent,var(--green-200) 18%,var(--green-300) 50%,var(--green-400) 92%);
  z-index:0}
.eq-card,.eq-out{position:relative;z-index:1}
.eq-card::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--green-400)}
.eq-card-b::before{background:#8FB4F5}
.eq-out{box-shadow:0 20px 44px rgba(27,76,184,.28)}
.eq-out::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 90% at 12% 0%,rgba(255,255,255,.22),transparent 58%)}
@media (max-width:980px){.eqrow::before{display:none}}

/* ---- G-CERT: 파이프라인 · 고스트 넘버 · 애니메이션 다이어그램 ---- */
.pillars{position:relative}
.pilpipe{position:absolute;left:14%;right:14%;top:0;height:1px;
  background:rgba(255,255,255,.16);overflow:visible;z-index:1}
.pilpipe i{position:absolute;top:-2.5px;left:0;width:6px;height:6px;border-radius:50%;background:#7BA4FF;
  box-shadow:0 0 0 5px rgba(123,164,255,.18);animation:pilRun 6.5s linear infinite}
@keyframes pilRun{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
#gcert .pil{position:relative;overflow:hidden;z-index:2}
.pil-ghost{position:absolute;right:14px;top:6px;font-family:var(--font-sans);font-size:76px;font-weight:800;
  line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.4px rgba(255,255,255,.10);
  pointer-events:none;user-select:none}
#gcert .pil-ico{width:68px;height:68px;border-radius:19px}
#gcert .pil-ico svg{width:44px;height:44px}
.dg{overflow:visible}
.dg-arc{stroke-dasharray:100;stroke-dashoffset:100}
.dg-ndl{transform-origin:28px 40px;transform:rotate(-82deg)}
.dg-drop{transform:translateY(0);opacity:0}
.dg-b1,.dg-b2,.dg-b3{transform-origin:center bottom;transform:scaleY(.12)}
.dg-trend{stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
[data-viz].viz-on .dg-arc{animation:dgArc 1.5s var(--ease) .15s forwards}
[data-viz].viz-on .dg-ndl{animation:dgNdl 1.5s var(--ease) .15s forwards}
[data-viz].viz-on .dg-drop{animation:dgDrop 2.4s var(--ease) .3s infinite}
[data-viz].viz-on .dg-b1{animation:dgBar .8s var(--ease) .2s forwards}
[data-viz].viz-on .dg-b2{animation:dgBar .8s var(--ease) .38s forwards}
[data-viz].viz-on .dg-b3{animation:dgBar .8s var(--ease) .56s forwards}
[data-viz].viz-on .dg-trend{animation:dgTrend 1s var(--ease) .95s forwards}
@keyframes dgArc{to{stroke-dashoffset:29}}
@keyframes dgNdl{to{transform:rotate(45deg)}}
@keyframes dgDrop{0%{transform:translateY(0);opacity:0}18%{opacity:1}62%{transform:translateY(14px);opacity:1}
  76%{transform:translateY(14px);opacity:0}100%{transform:translateY(14px);opacity:0}}
@keyframes dgBar{to{transform:scaleY(1)}}
@keyframes dgTrend{to{stroke-dashoffset:0;opacity:1}}
@media (prefers-reduced-motion:reduce){
  .pilpipe i{animation:none;left:38%}
  .dg-arc{stroke-dashoffset:29}.dg-ndl{transform:rotate(45deg)}
  .dg-b1,.dg-b2,.dg-b3{transform:none}.dg-trend{stroke-dashoffset:0;opacity:1}.dg-drop{opacity:1}
}

/* ---- ADVANTAGE: 우측 마이크로 다이어그램 ---- */
.drv{grid-template-columns:52px 58px 1fr 170px;align-items:center}
.aviz{width:170px;height:56px;justify-self:end;align-self:center;overflow:visible}
@media (max-width:1100px){.drv{grid-template-columns:52px 58px 1fr}.aviz{display:none}}

/* ---- DASHBOARD: 목업 글로우 + 플로팅 스탯 카드 ---- */
#dashboard .wrap{position:relative}
#dashboard .mock{position:relative}
.mockglow{position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);width:940px;height:360px;
  border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(closest-side,rgba(55,125,255,.20),transparent 72%);filter:blur(6px)}
#dashboard .mock,#dashboard .mock-cap,#dashboard .sec-lead{position:relative;z-index:2}
.floatstat{position:absolute;z-index:3;background:#fff;border:1px solid var(--border);
  border-radius:14px;box-shadow:0 16px 34px rgba(12,19,62,.16);padding:14px 18px;text-align:left}
.floatstat b{display:block;font-size:26px;font-weight:800;letter-spacing:-.03em;color:var(--green-600);line-height:1}
.floatstat span{display:block;margin-top:5px;font-family:var(--font-sans);font-size:11px;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}
.floatstat.fs-l{left:-8px;bottom:12%}
.floatstat.fs-r{right:-8px;top:24%}
@media (max-width:1240px){.floatstat{display:none}}

/* ---- PARTNERS: 통계 하단 골드 헤어라인 ---- */
.bigstats > div{position:relative;padding-bottom:2px}
.bigstats > div::after{content:"";position:absolute;left:0;bottom:-14px;width:26px;height:2px;
  background:rgba(249,185,52,.55);border-radius:2px}

/* ==========================================================================
   v34 — 도식 마감: 파이프라인 · 등식 결과 강조 · 대시보드 플로팅 카드 앵커
   ========================================================================== */
/* G-Cert 파이프라인: 카드 위쪽으로 */
.pilpipe{top:-9px;left:16%;right:16%;height:1px;background:rgba(255,255,255,.24);z-index:3}
.pilpipe::before,.pilpipe::after{content:"";position:absolute;top:-2.5px;width:6px;height:6px;
  border-radius:50%;background:rgba(255,255,255,.34)}
.pilpipe::before{left:-3px}.pilpipe::after{right:-3px}
.pilpipe i{box-shadow:0 0 0 5px rgba(123,164,255,.22)}
@media (max-width:980px){.pilpipe{display:none}}

/* Why 등식: 결과 블록 골드 강조 + 연산자 토큰 확대 */
.eq-out::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;
  border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--gold);z-index:2}
.eq-card::before{height:3px;background:var(--green-500)}
.eq-card-b::before{background:#96B9F7}
.eq-op{width:42px}
.eq-op::before{width:40px;height:40px;border-color:var(--border-strong)}
.eq-op svg{width:17px;height:17px;color:var(--fg-3)}

/* Dashboard 플로팅 카드: 목업 박스 기준 */
.mockwrap{position:relative}
.floatstat b i{font-style:normal;font-size:15px;font-weight:700;color:var(--fg-3);margin-left:2px}
.floatstat.fs-l{left:-22px;bottom:9%;top:auto}
.floatstat.fs-r{right:-22px;top:-20px;bottom:auto}
.mockglow{top:52%}
@media (max-width:1240px){.floatstat{display:none}}

/* 720 높이 보정 */
@media (min-width:900px) and (max-height:700px){
  #gcert .pil-ico{width:52px;height:52px;border-radius:14px}
  #gcert .pil-ico svg{width:34px;height:34px}
  .pil-ghost{font-size:56px;top:4px}
}
/* Advantage 도식: 틴트 패널로 시각 비중 확보 */
.drv{grid-template-columns:52px 58px 1fr 228px}
.aviz{width:212px;height:78px;padding:7px 8px;box-sizing:border-box;
  background:linear-gradient(180deg,#F5F8FE,#EDF3FD);border:1px solid #DFE7F6;border-radius:13px}
@media (min-width:900px) and (max-height:770px){
  .drv{grid-template-columns:52px 58px 1fr 200px}
  .aviz{width:186px;height:66px}
}
@media (max-width:1180px){.drv{grid-template-columns:52px 58px 1fr}.aviz{display:none}}

/* ==========================================================================
   v35 — CLEAN PASS. i-esg.io/g-cert 기준으로 표면 정리
   원칙: 배경은 플랫 솔리드 / 장식 텍스처·글로우·고스트 제거 /
         그림자 최소 / 반경 14px 통일 / 여백 확대 / 액센트 절제
   ========================================================================== */

/* 1) 배경 전부 플랫 솔리드 */
.tint{background:#F4F7FC}
.tint::after{display:none}
#dashboard,#dashboard.dash.tint{background:#F4F7FC}
#dashboard::after,#dashboard::before{display:none}
.mockglow{display:none}
#gcert{background:#0C133E}
#gcert::after{display:none}
.band-dark{background:#0B1026}

/* 2) 장식 제거 */
.pil-ghost{display:none}
.eq-card::before,.eq-out::before,.eq-out::after{display:none}

/* 3) 그림자 최소화 · 반경 통일 */
:root{--r-lg:14px;--r-md:10px}
.pil,.erow,.imp,.drv,.eq-card,.tline li{box-shadow:0 1px 2px rgba(12,19,62,.05)}
.pil:hover,.erow:hover,.imp:hover,.drv:hover,.eq-card:hover,.tline li:hover{
  box-shadow:0 6px 18px rgba(12,19,62,.09);transform:translateY(-2px)}
#gcert .pil{box-shadow:none}
#gcert .pil:hover{box-shadow:none;border-color:rgba(132,170,255,.34);background:rgba(255,255,255,.075)}
.eq-out{box-shadow:0 10px 26px rgba(27,76,184,.16)}
#dashboard .mock{box-shadow:0 12px 34px rgba(12,19,62,.10),0 0 0 1px rgba(12,19,62,.05)}
#dashboard .mock::after{background:linear-gradient(180deg,rgba(244,247,252,0) 0%,rgba(244,247,252,.94) 62%,#F4F7FC 100%)}
.floatstat{border-radius:12px;box-shadow:0 8px 20px rgba(12,19,62,.10);padding:13px 17px}
.floatstat b{font-size:24px}

/* 4) 아이콘 타일 축소 · 경량화 */
#gcert .pil-ico{width:52px;height:52px;border-radius:13px;
  background:rgba(132,170,255,.13);border:1px solid rgba(132,170,255,.22)}
#gcert .pil-ico svg{width:31px;height:31px}
.item-ico,.drv-ico{width:46px;height:46px;border-radius:12px;
  background:var(--green-50);border:1px solid #E1EAFB}
.item-ico svg,.drv-ico svg{width:25px;height:25px}

/* 5) 액센트 절제 */
.bigstats > div::after{display:none}
.dg-trend{stroke:#A9C4FF}
.aviz{background:#F4F7FC;border-color:#E3EAF7}
#gcert .item-n{background:rgba(132,170,255,.14)}

/* 6) 여백 확대 */
.sec-lead{margin-bottom:clamp(34px,4.6vh,58px)}
#gcert .pil{padding:32px 30px 34px}
.drv{padding:24px 28px}
.eq-card,.eq-out{padding:30px 28px}
@media (min-width:900px) and (max-height:860px){
  .sec-lead{margin-bottom:clamp(26px,3.4vh,42px)}
  #gcert .pil{padding:26px 26px 28px}
  .drv{padding:19px 24px}
  .eq-card,.eq-out{padding:24px 24px}
}
@media (min-width:900px) and (max-height:770px){
  .sec-lead{margin-bottom:clamp(20px,2.6vh,32px)}
  #gcert .pil{padding:21px 22px 23px}
  .drv{padding:15px 20px}
  .eq-card,.eq-out{padding:19px 20px}
}
@media (min-width:900px) and (max-height:700px){
  #gcert .pil{padding:17px 18px 19px}
  .drv{padding:12px 17px}
  .eq-card,.eq-out{padding:16px 18px}
}
@media (min-width:900px) and (max-height:700px){
  .sec-lead{margin-bottom:clamp(14px,2vh,24px)}
}
@media (min-width:900px) and (max-height:700px){
  #why .lead-sm,#gcert .lead-sm{margin-top:9px}
  #gcert .bul{gap:5px}
  #gcert .bul li{font-size:12.5px;line-height:1.45}
  #gcert .pil{padding:14px 16px 16px}
  .eq-card,.eq-out{padding:14px 16px}
}
/* 입력 카드 라벨 색 통일 */
.eq-card .eq-k,.eq-card-b .eq-k{color:var(--green-600)}
.eqrow::before{background:linear-gradient(90deg,transparent,var(--green-200) 16%,var(--green-300) 50%,var(--green-400) 94%)}

/* ==========================================================================
   v36 — FINAL. i-esg.io/g-cert 의 섹션 시스템을 그대로 이식
   섹션 헤더 = eyebrow(막대+라벨) / h2 40·700 / lead 20·1.7  ·  내용 = 3열 카드 1종
   누적된 장식(파이프라인·고스트넘버·흐름선·도식 패널)은 전부 제거
   ========================================================================== */

/* ---------- 섹션 헤더 ---------- */
.sec-lead,.sec-lead.center{max-width:840px;margin-left:auto;margin-right:auto;text-align:center;
  margin-bottom:clamp(36px,5vh,60px)}
#gcert .sec-lead.center{max-width:900px}
.eyeline,.sec-lead.center .eyeline{display:inline-flex!important;flex-direction:column;align-items:center;
  gap:12px;margin-bottom:22px;font-family:var(--font-sans);font-size:19px;font-weight:700;
  letter-spacing:.005em;text-transform:none;color:var(--green-600)}
.eyeline::before{content:"";width:46px;height:3px;border-radius:2px;background:var(--green-500)}
.eyeline.light{color:#84AAFF}
.eyeline.light::before{background:#84AAFF}
h2.big{font-size:clamp(28px,3.2vw,40px);font-weight:700;line-height:1.28;letter-spacing:-.018em;
  max-width:none;text-wrap:balance}
.sec-lead .lead-sm,.sec-lead.center .lead-sm{margin-top:22px;font-size:clamp(16px,1.35vw,20px);
  line-height:1.7;color:var(--fg-2);max-width:none;margin-left:auto;margin-right:auto}

/* ---------- 카드 1종으로 통일 ---------- */
.pillars,.drivers,.eqrow{gap:20px}
.pillars,.drivers{display:grid;grid-template-columns:repeat(3,1fr);
  border-top:0;padding-top:0;margin-top:0;max-width:none}
.pil,.drv,.eq-card{background:#fff;border:1px solid var(--border);border-radius:14px;
  padding:30px 28px;box-shadow:var(--shadow-sm);display:block;
  transition:box-shadow .22s var(--ease),border-color .22s var(--ease),transform .22s var(--ease)}
.pil:hover,.drv:hover,.eq-card:hover{box-shadow:var(--shadow-md);
  border-color:var(--border-strong);transform:translateY(-2px)}
.pil + .pil{border-left:1px solid var(--border);padding-left:28px}

/* 아이콘 타일 */
.pil-ico,.drv-ico,.item-ico{display:flex;align-items:center;justify-content:center;
  width:42px;height:42px;border-radius:10px;background:var(--green-50);
  border:0;color:var(--green-600);margin:0 0 18px}
.pil-ico svg,.drv-ico svg,.item-ico svg{width:24px;height:24px}

/* 번호 라벨 (KR .q-no 방식 — 칩 배경 제거) */
.item-n,.drv-n,.eq-k{display:block;background:none;padding:0;margin:0 0 10px;
  font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--green-600)}

/* 제목 · 본문 */
.item-t,.drv-t,.eq-t{font-size:22px;font-weight:600;line-height:1.28;letter-spacing:-.018em;
  color:var(--ink-900);margin:0 0 10px}
.bul{margin-top:0;gap:9px}
.pil .bul li,.bul li{font-size:15.5px;line-height:1.7;color:var(--fg-2);padding-left:17px}
.pil .bul li::before,.bul li::before{top:9px;width:5px;height:5px;background:var(--green-400)}
.drv-d,.eq-n{font-size:15.5px;line-height:1.7;color:var(--fg-2);max-width:none;margin:0}
.drv-b{display:block}

/* ---------- WHY : 등식 행 단순화 ---------- */
.eqrow{display:grid;grid-template-columns:1fr 34px 1fr 34px 1.1fr;align-items:stretch}
.eqrow::before{display:none}
.eq-op{display:flex;align-items:center;justify-content:center;width:34px;
  font-family:var(--font-sans);font-size:22px;font-weight:400;color:var(--ink-300)}
.eq-op::before{display:none}
.eq-out{border-radius:14px;padding:30px 28px;box-shadow:0 10px 26px rgba(27,76,184,.16);
  display:flex;flex-direction:column;justify-content:center}
.eq-seal{margin-bottom:14px}
.eq-out-t{font-size:22px;font-weight:700;line-height:1.28;letter-spacing:-.018em}
.eq-out-n{margin-top:10px;font-size:15px;line-height:1.7}
@media (max-width:980px){.eqrow{grid-template-columns:1fr;gap:14px}.eq-op{width:100%;height:26px}}

/* ---------- G-CERT : 다크 대신 라이트 틴트 (레퍼런스의 명암 교차) ---------- */
#gcert{background:#F5F8FB;color:inherit}
#gcert .eyeline{color:var(--green-600)}
#gcert .eyeline::before{background:var(--green-500)}
#gcert h2.big{color:var(--ink-900)}
#gcert h2.big .hl{color:var(--green-600)}
#gcert .lead-sm{color:var(--fg-2)}
#gcert .pil{background:#fff;border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:30px 28px}
#gcert .pil:hover{background:#fff;border-color:var(--border-strong);box-shadow:var(--shadow-md)}
#gcert .pil-ico{width:42px;height:42px;border-radius:10px;background:var(--green-50);border:0}
#gcert .pil-ico svg{width:24px;height:24px}
#gcert .item-n{background:none;color:var(--green-600)}
#gcert .item-t{color:var(--ink-900)}
#gcert .bul li{color:var(--fg-2)}
#gcert .bul li::before{background:var(--green-400)}
.dg{color:var(--green-600)}
.dg-arc{stroke:var(--green-500)}
.dg-ndl,.dg-trend{stroke:var(--green-600)}
.dg-drop rect{fill:var(--green-500)}

/* ---------- 여백 tier (한 화면 유지) ---------- */
@media (min-width:900px) and (max-height:860px){
  .pil,.drv,.eq-card,.eq-out{padding:24px 24px}
  .sec-lead,.sec-lead.center{margin-bottom:clamp(26px,3.6vh,44px)}
}
@media (min-width:900px) and (max-height:770px){
  .pil,.drv,.eq-card,.eq-out{padding:20px 20px}
  .pil-ico,.drv-ico,.item-ico{width:38px;height:38px;margin-bottom:13px}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:19.5px}
  .pil .bul li,.bul li,.drv-d,.eq-n{font-size:14.5px;line-height:1.6}
  .sec-lead,.sec-lead.center{margin-bottom:clamp(20px,2.6vh,32px)}
}
@media (min-width:900px) and (max-height:700px){
  .pil,.drv,.eq-card,.eq-out{padding:16px 18px}
  .pil-ico,.drv-ico,.item-ico{width:34px;height:34px;margin-bottom:10px}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:18px}
  .pil .bul li,.bul li,.drv-d,.eq-n{font-size:13.5px}
}
@media (max-width:980px){
  .pillars,.drivers{grid-template-columns:1fr}
  .pil + .pil{border-left:0;padding-left:28px}
}
/* 헤드라인은 840 고정, 리드는 수동 줄바꿈이 살도록 폭 확보 */
.sec-lead,.sec-lead.center{max-width:1060px}
#gcert .sec-lead.center{max-width:1060px}
.sec-lead h2.big{max-width:840px;margin-left:auto;margin-right:auto}
/* 한 화면 보정 */
@media (min-width:900px){
  #gcert .pil{padding:26px 26px 28px}
  #gcert .bul{gap:8px}
}
@media (min-width:900px) and (max-height:880px){
  .sec-lead,.sec-lead.center{margin-bottom:clamp(24px,3.2vh,40px)}
  #gcert .pil{padding:22px 24px 24px}
  .pil-ico,.drv-ico,.item-ico{margin-bottom:14px}
}
@media (min-width:900px) and (max-height:770px){
  #gcert .pil{padding:18px 20px 20px}
  #gcert .bul{gap:6px}
}
@media (min-width:900px) and (max-height:700px){
  #gcert .pil{padding:14px 17px 15px}
  #gcert .bul{gap:5px}
  #gcert .bul li{font-size:13px;line-height:1.5}
  .eq-card,.eq-out{padding:14px 17px}
  .eq-n{font-size:13px}
  .sec-lead,.sec-lead.center{margin-bottom:clamp(14px,2vh,22px)}
  .eyeline,.sec-lead.center .eyeline{font-size:16px;margin-bottom:14px;gap:9px}
}
@media (min-width:900px) and (max-height:700px){
  h2.big{font-size:clamp(22px,2.4vw,29px)}
  .sec-lead .lead-sm,.sec-lead.center .lead-sm{margin-top:12px;font-size:14px;line-height:1.6}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:16.5px}
  .pil-ico,.drv-ico,.item-ico{width:32px;height:32px;margin-bottom:9px}
  .pil-ico svg,.drv-ico svg,.item-ico svg{width:19px;height:19px}
  .item-n,.drv-n,.eq-k{font-size:11.5px;margin-bottom:7px}
}

/* ==========================================================================
   v37 — 타이포는 히어로 기준으로 통일 / 섹션 명도 교차 복원 / 레이아웃 3종 분화
     Why       : 흰색 · 등식형 (좌측정렬 카드 2 + 강조 결과 블록)
     Framework : 네이비 · 가로 스택 행 (아이콘 | 번호+제목 | 3열 스펙)
     Advantage : 흰색 · 중앙정렬 원형 아이콘 카드 3열
   ========================================================================== */

/* ---------- 타이포 스케일 (히어로 h1 58px 기준 한 단계 아래) ---------- */
h2.big{font-size:clamp(30px,3.6vw,46px);font-weight:800;line-height:1.14;letter-spacing:-.032em}
.sec-lead .lead-sm,.sec-lead.center .lead-sm{margin-top:20px;font-size:clamp(16px,1.4vw,20px);line-height:1.7}

/* 아이브로우: 히어로 태그 필과 같은 타입 */
.eyeline,.sec-lead.center .eyeline{display:inline-flex!important;flex-direction:row;align-items:center;
  gap:0;margin-bottom:20px;padding:7px 15px;border-radius:999px;
  font-family:var(--font-sans);font-size:11.5px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--green-700);background:var(--green-50);border:1px solid #DBE6FB}
.eyeline::before{display:none}
.eyeline.light{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}

/* 카드 공통 타입 */
.item-t,.drv-t,.eq-t{font-size:23px;font-weight:700;line-height:1.26;letter-spacing:-.022em}
.pil .bul li,.bul li,.drv-d,.eq-n{font-size:16px;line-height:1.7}
.item-n,.drv-n,.eq-k{font-size:12px;letter-spacing:.09em}

/* ---------- FRAMEWORK : 네이비 + 가로 스택 행 ---------- */
#gcert{background:#0C133E}
#gcert .eyeline{color:#fff;background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.22)}
#gcert h2.big{color:#fff}
#gcert h2.big .hl{color:#8FB4FF}
#gcert .lead-sm{color:rgba(255,255,255,.70)}

#gcert .pillars{display:block;border-top:1px solid rgba(255,255,255,.12);gap:0}
#gcert .pil{display:grid;grid-template-columns:52px 268px 1fr;gap:0 34px;align-items:start;
  background:none;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;
  box-shadow:none;padding:28px 4px;transition:background .22s var(--ease)}
#gcert .pil:hover{background:rgba(255,255,255,.035);transform:none;box-shadow:none;border-color:rgba(255,255,255,.12)}
#gcert .pil + .pil{border-left:0;padding-left:4px}
#gcert .pil > .pil-ico{grid-area:1 / 1 / 3 / 2;margin:2px 0 0;width:52px;height:52px;border-radius:13px;
  background:rgba(143,180,255,.14);border:1px solid rgba(143,180,255,.24);color:#8FB4FF}
#gcert .pil > .pil-ico svg{width:28px;height:28px}
#gcert .pil > .item-n{grid-area:1 / 2;margin:0 0 8px;color:#8FB4FF}
#gcert .pil > .item-t{grid-area:2 / 2;margin:0;color:#fff}
#gcert .pil > .bul{grid-area:1 / 3 / 3 / 4;display:grid;grid-template-columns:repeat(3,1fr);
  gap:0 26px;margin:0;align-self:center}
#gcert .bul li{color:rgba(255,255,255,.72);font-size:15px;line-height:1.65;padding-left:15px}
#gcert .bul li::before{background:#8FB4FF;top:8px;width:5px;height:5px}
.dg{color:#8FB4FF}
.dg-arc{stroke:#8FB4FF}.dg-ndl{stroke:#C3D6FF}.dg-trend{stroke:#8FB4FF}
@media (max-width:1100px){
  #gcert .pil{grid-template-columns:52px 1fr;gap:0 24px}
  #gcert .pil > .bul{grid-area:3 / 2;grid-template-columns:1fr;margin-top:14px}
}

/* ---------- ADVANTAGE : 중앙정렬 · 원형 아이콘 카드 ---------- */
.drivers{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.drv{display:block;text-align:center;padding:40px 30px 36px;
  background:#fff;border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}
.drv > .drv-ico{width:64px;height:64px;border-radius:50%;margin:0 auto 20px;
  background:var(--green-50);border:1px solid var(--green-200);color:var(--green-600)}
.drv > .drv-ico svg{width:30px;height:30px}
.drv > .drv-n{display:block;margin:0 0 8px;color:var(--green-600)}
.drv-t{color:var(--green-700);margin:0 0 12px}
.drv-d{color:var(--fg-2);max-width:30ch;margin:0 auto}

/* ---------- WHY : 좌측정렬 사각 타일 (Advantage와 구분) ---------- */
.eq-card{text-align:left;padding:32px 28px}
.eq-card .item-ico{width:44px;height:44px;border-radius:11px;margin:0 0 18px}
.eq-card .item-ico svg{width:25px;height:25px}
.eq-out-t{font-size:23px;font-weight:800;letter-spacing:-.025em}
.eq-out-n{font-size:15.5px}

/* ---------- 한 화면 tier ---------- */
@media (min-width:900px) and (max-height:880px){
  h2.big{font-size:clamp(28px,3.1vw,40px)}
  .sec-lead .lead-sm,.sec-lead.center .lead-sm{margin-top:16px;font-size:17.5px}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:20.5px}
  .pil .bul li,.bul li,.drv-d,.eq-n{font-size:15px}
  #gcert .pil{padding:21px 4px}
  .drv{padding:30px 26px 28px}
  .drv > .drv-ico{width:56px;height:56px;margin-bottom:15px}
  .eq-card{padding:24px 24px}
}
@media (min-width:900px) and (max-height:790px){
  h2.big{font-size:clamp(25px,2.7vw,35px)}
  .sec-lead .lead-sm,.sec-lead.center .lead-sm{margin-top:13px;font-size:16px}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:18.5px}
  .pil .bul li,.bul li,.drv-d,.eq-n{font-size:14px;line-height:1.6}
  #gcert .pil{padding:16px 4px}
  #gcert .pil > .pil-ico{width:44px;height:44px;border-radius:11px}
  #gcert .pil > .pil-ico svg{width:24px;height:24px}
  .drv{padding:22px 22px 20px}
  .drv > .drv-ico{width:48px;height:48px;margin-bottom:12px}
  .drv > .drv-ico svg{width:25px;height:25px}
  .eq-card,.eq-out{padding:19px 20px}
  .eq-card .item-ico{width:38px;height:38px;margin-bottom:12px}
}
@media (min-width:900px) and (max-height:700px){
  h2.big{font-size:clamp(22px,2.3vw,29px)}
  .eyeline,.sec-lead.center .eyeline{font-size:10.5px;padding:5px 12px;margin-bottom:13px}
  .item-t,.drv-t,.eq-t,.eq-out-t{font-size:17px}
  .pil .bul li,.bul li,.drv-d,.eq-n{font-size:13px}
  #gcert .pil{padding:12px 4px}
  .drv{padding:17px 18px 16px}
  .eq-card,.eq-out{padding:15px 17px}
}

/* ==========================================================================
   v38 — Why 등식 3블록 내부 기준선·높이 정렬
   구조를 셋 다 동일하게: 아이콘 타일 → 라벨 → 제목 → (하단 고정) 설명
   ========================================================================== */
.eq-card,.eq-out{display:flex;flex-direction:column;align-items:flex-start;
  box-sizing:border-box;border:1px solid transparent;padding:32px 28px}
.eq-card{border-color:var(--border)}
.eq-card .item-ico,.eq-out .item-ico{width:44px;height:44px;border-radius:11px;
  margin:0 0 18px;flex:none}
.eq-card .item-ico svg,.eq-out .item-ico svg{width:25px;height:25px}
.eq-out .item-ico{background:rgba(255,255,255,.16);border:0;color:#fff}
.eq-card .eq-k,.eq-out .eq-k{display:block;margin:0 0 10px}
.eq-out .eq-k{color:var(--gold)}
.eq-card .eq-t,.eq-out .eq-out-t{margin:0}
.eq-card .eq-n,.eq-out .eq-out-n{margin-top:auto;padding-top:14px;margin-bottom:0}
.eq-out-n{color:rgba(255,255,255,.86)}
.eq-seal{display:none}

@media (min-width:900px) and (max-height:880px){
  .eq-card,.eq-out{padding:24px 24px}
  .eq-card .item-ico,.eq-out .item-ico{width:40px;height:40px;margin-bottom:14px}
}
@media (min-width:900px) and (max-height:790px){
  .eq-card,.eq-out{padding:19px 20px}
  .eq-card .item-ico,.eq-out .item-ico{width:36px;height:36px;margin-bottom:11px}
  .eq-card .item-ico svg,.eq-out .item-ico svg{width:21px;height:21px}
}
@media (min-width:900px) and (max-height:700px){
  .eq-card,.eq-out{padding:15px 17px}
  .eq-card .item-ico,.eq-out .item-ico{width:31px;height:31px;margin-bottom:9px}
  .eq-card .item-ico svg,.eq-out .item-ico svg{width:18px;height:18px}
}
/* Framework 스펙 리스트: 9칸 2줄로 통일 */
#gcert .bul li{min-height:calc(2 * 1.65em);display:flex;align-items:flex-start}
#gcert .bul{align-content:start;row-gap:0}
@media (min-width:1101px) and (max-width:1300px){#gcert .bul li{font-size:14px;padding-left:13px}}
@media (min-width:1101px) and (max-width:1130px){#gcert .bul li{font-size:13.2px}
  #gcert .pil{grid-template-columns:48px 224px 1fr;gap:0 24px}}
#why .sec-lead .lead-sm{text-wrap:pretty}

/* ==========================================================================
   v39 — 채택안 적용: Why=W1(현행 유지) / Framework=F5 대형 넘버 인덱스
         Advantage=A5 고스트 넘버 카드 / + Adoption Roadmap 섹션
   ========================================================================== */

/* ---------- F5 : 대형 아웃라인 넘버 인덱스 (네이비) ---------- */
#gcert .pillars{display:block;border-top:0}
#gcert .pil{display:grid;grid-template-columns:96px 300px 1fr;gap:0 30px;align-items:center;
  background:none;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;
  box-shadow:none;padding:26px 2px;transition:background .22s var(--ease)}
#gcert .pil:first-child{border-top:1px solid rgba(255,255,255,.12)}
#gcert .pil:hover{background:rgba(255,255,255,.03);transform:none;box-shadow:none}
#gcert .pil > .pil-ico{display:none}
#gcert .pil > .item-n{grid-area:auto;margin:0;background:none;padding:0;
  font-size:54px;font-weight:800;line-height:1;letter-spacing:-.05em;
  color:transparent;-webkit-text-stroke:1.5px rgba(143,180,255,.55)}
#gcert .pil > .item-t{grid-area:auto;margin:0;font-size:24px;color:#fff}
#gcert .pil > .bul{grid-area:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;margin:0}
#gcert .bul li{font-size:14.5px;min-height:calc(2 * 1.65em)}
@media (max-width:1100px){
  #gcert .pil{grid-template-columns:72px 1fr}
  #gcert .pil > .item-n{grid-row:1/3}
  #gcert .pil > .bul{grid-column:2;grid-template-columns:1fr;margin-top:12px}
}

/* ---------- A5 : 고스트 넘버 오버레이 카드 ---------- */
.drv{position:relative;overflow:hidden;text-align:left;display:block;
  padding:30px 28px 28px;border-radius:14px;border:1px solid var(--border);
  background:#fff;box-shadow:var(--shadow-sm)}
.drv > .drv-n{position:absolute;right:-6px;top:-18px;margin:0;padding:0;background:none;
  font-size:112px;font-weight:800;line-height:1;letter-spacing:-.06em;color:var(--green-50);
  pointer-events:none;user-select:none;z-index:0}
.drv > .drv-ico{position:relative;z-index:1;width:48px;height:48px;border-radius:12px;margin:0 0 18px;
  background:var(--green-500);border:0;color:#fff;box-shadow:0 6px 16px rgba(55,125,255,.28)}
.drv > .drv-ico svg{width:25px;height:25px}
.drv > .drv-b{position:relative;z-index:1}
.drv-t{color:var(--ink-900);margin:0 0 11px;font-size:22px}
.drv-d{color:var(--fg-2);max-width:none;margin:0;font-size:15.5px;text-align:left}

/* ---------- ADOPTION ROADMAP ---------- */
#adoption .proc{position:relative;margin-top:0}
#adoption .proc-line{position:absolute;top:23px;left:16.6%;right:16.6%;height:2px;
  background:var(--ink-200);border-radius:2px;overflow:hidden}
#adoption .proc-line span{display:block;height:100%;width:0;background:var(--green-500);
  transition:width 1.6s cubic-bezier(.4,0,.2,1) .2s}
#adoption .proc.viz-on .proc-line span{width:100%}
#adoption .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;position:relative;z-index:2}
#adoption .pstep{text-align:center;padding:0 16px;opacity:1;transform:none}
#adoption .pstep .n{width:48px;height:48px;border-radius:50%;margin:0 auto 20px;display:flex;
  align-items:center;justify-content:center;font-family:var(--font-sans);font-size:17px;font-weight:700;
  background:#fff;border:2px solid var(--border-strong);color:var(--fg-3);
  transition:all .45s var(--ease)}
#adoption .proc.viz-on .pstep:nth-child(1) .n{transition-delay:.35s}
#adoption .proc.viz-on .pstep:nth-child(2) .n{transition-delay:.85s}
#adoption .proc.viz-on .pstep:nth-child(3) .n{transition-delay:1.35s}
#adoption .proc.viz-on .pstep .n{border-color:var(--green-500);background:var(--green-500);color:#fff;
  box-shadow:0 0 0 5px rgba(55,125,255,.14)}
#adoption .pk{display:block;font-family:var(--font-sans);font-size:12px;font-weight:700;
  letter-spacing:.09em;text-transform:uppercase;color:var(--green-600);margin-bottom:8px}
#adoption .pt{font-size:23px;font-weight:700;line-height:1.26;letter-spacing:-.022em;
  color:var(--ink-900);margin:0 0 16px}
#adoption .bul{display:inline-flex;text-align:left;gap:9px}
#adoption .bul li{font-size:15.5px;line-height:1.7;color:var(--fg-2)}
@media (prefers-reduced-motion:reduce){
  #adoption .proc-line span{width:100%}
  #adoption .pstep .n{border-color:var(--green-500);background:var(--green-500);color:#fff}
}
@media (max-width:980px){
  #adoption .proc-line{display:none}
  #adoption .proc-grid{grid-template-columns:1fr;gap:34px}
}

/* 높이 tier */
@media (min-width:900px) and (max-height:880px){
  #gcert .pil{padding:20px 2px}
  #gcert .pil > .item-n{font-size:46px}
  #gcert .pil > .item-t{font-size:21px}
  .drv{padding:24px 24px 22px}
  .drv > .drv-n{font-size:92px;top:-14px}
  .drv > .drv-ico{width:42px;height:42px;margin-bottom:14px}
  #adoption .pstep .n{width:42px;height:42px;margin-bottom:15px}
  #adoption .proc-line{top:20px}
  #adoption .pt{font-size:20.5px;margin-bottom:12px}
}
@media (min-width:900px) and (max-height:790px){
  #gcert .pil{padding:15px 2px}
  #gcert .pil > .item-n{font-size:38px}
  #gcert .pil > .item-t{font-size:19px}
  #gcert .bul li{font-size:13.5px}
  .drv{padding:18px 20px 17px}
  .drv > .drv-n{font-size:76px;top:-11px}
  .drv > .drv-ico{width:36px;height:36px;margin-bottom:11px}
  .drv > .drv-ico svg{width:20px;height:20px}
  .drv-t{font-size:18.5px;margin-bottom:8px}
  #adoption .pstep .n{width:36px;height:36px;margin-bottom:12px;font-size:15px}
  #adoption .proc-line{top:17px}
  #adoption .pt{font-size:18.5px;margin-bottom:10px}
  #adoption .bul li{font-size:14px;line-height:1.6}
}
@media (min-width:900px) and (max-height:700px){
  #gcert .pil{padding:11px 2px}
  #gcert .pil > .item-n{font-size:32px}
  #gcert .pil > .item-t{font-size:17px}
  .drv{padding:14px 17px 13px}
  .drv > .drv-n{font-size:62px;top:-9px}
  .drv-t{font-size:17px}
  #adoption .pstep .n{width:32px;height:32px;margin-bottom:9px;font-size:14px}
  #adoption .proc-line{top:15px}
  #adoption .pt{font-size:17px;margin-bottom:8px}
  #adoption .bul li{font-size:13px}
}
/* A5 아이콘: 블루 타일 위에서 흰색으로 */
.drv > .drv-ico svg [stroke]{stroke:#fff}
.drv > .drv-ico svg [fill]:not([fill="none"]){fill:#fff}
.drv > .drv-ico svg [stroke-opacity],.drv > .drv-ico svg [opacity]{opacity:1;stroke-opacity:1}

/* ==========================================================================
   v40 — 여백 확대. 헤더↔내용 간격 / 표 행·열 간격 / 카드 내부 패딩
   ========================================================================== */
.sec-lead,.sec-lead.center{margin-bottom:clamp(44px,6vh,76px)}

/* Framework 표: 행 높이와 열 간격을 넓게 */
#gcert .pillars{margin-top:8px}
#gcert .pil{grid-template-columns:104px 296px 1fr;gap:0 44px;padding:34px 10px}
#gcert .pil > .bul{gap:0 36px}
#gcert .bul li{padding-left:17px;line-height:1.7}

/* Advantage 카드 내부 */
.drv{padding:38px 34px 34px}
.drv > .drv-ico{margin-bottom:22px}
.drv-t{margin-bottom:13px}

/* Why 카드 내부 */
.eq-card,.eq-out{padding:36px 32px}
.eq-card .item-ico,.eq-out .item-ico{margin-bottom:22px}
.eqrow{gap:24px}

/* Roadmap 열 간격 */
#adoption .proc-grid{gap:0 40px}
#adoption .pstep{padding:0 20px}
#adoption .pt{margin-bottom:20px}
#adoption .bul{gap:11px}

@media (min-width:900px) and (max-height:880px){
  .sec-lead,.sec-lead.center{margin-bottom:clamp(30px,4.2vh,52px)}
  #gcert .pil{padding:26px 10px}
  .drv{padding:30px 28px 27px}
  .eq-card,.eq-out{padding:28px 26px}
  #adoption .pt{margin-bottom:15px}
}
@media (min-width:900px) and (max-height:790px){
  .sec-lead,.sec-lead.center{margin-bottom:clamp(22px,3vh,38px)}
  #gcert .pil{padding:19px 10px;gap:0 34px}
  .drv{padding:22px 22px 20px}
  .eq-card,.eq-out{padding:22px 22px}
  #adoption .pt{margin-bottom:11px}
  #adoption .bul{gap:8px}
}
@media (min-width:900px) and (max-height:700px){
  .sec-lead,.sec-lead.center{margin-bottom:clamp(16px,2.2vh,26px)}
  #gcert .pil{padding:13px 8px;gap:0 26px}
  .drv{padding:16px 18px 15px}
  .eq-card,.eq-out{padding:17px 18px}
  #adoption .bul{gap:6px}
}
/* 가로 폭 재배분: 세로 여백은 유지하되 불릿 칸이 2줄을 유지하도록 */
#gcert .pil{grid-template-columns:88px 260px 1fr;gap:0 32px}
#gcert .pil > .bul{gap:0 30px}
@media (min-width:900px) and (max-height:790px){#gcert .pil{gap:0 28px}#gcert .pil > .bul{gap:0 26px}}
@media (min-width:1101px) and (max-width:1300px){
  #gcert .pil{grid-template-columns:74px 216px 1fr;gap:0 24px}
  #gcert .pil > .bul{gap:0 22px}
  #gcert .pil > .item-n{font-size:44px}
  #gcert .pil > .item-t{font-size:21px}
}

/* ==========================================================================
   v41 — Framework 표 여백 추가 확대 / Advantage 카드 확대
   ========================================================================== */
#gcert .sec-lead,#gcert .sec-lead.center{margin-bottom:clamp(54px,7.2vh,92px)}
#gcert .pillars{margin-top:12px}
#gcert .pil{grid-template-columns:76px 248px 1fr;gap:0 34px;padding:40px 12px}
#gcert .pil > .bul{gap:0 32px}
#gcert .bul li{line-height:1.75}
#gcert .pil > .item-t{font-size:23px}

.drv{padding:44px 38px 40px}
.drv > .drv-n{font-size:128px;top:-22px;right:-8px}
.drv > .drv-ico{width:56px;height:56px;border-radius:14px;margin-bottom:26px}
.drv > .drv-ico svg{width:29px;height:29px}
.drv-t{font-size:24px;margin-bottom:14px}
.drv-d{font-size:16px;line-height:1.75}

@media (min-width:900px) and (max-height:880px){
  #gcert .sec-lead,#gcert .sec-lead.center{margin-bottom:clamp(34px,4.6vh,58px)}
  #gcert .pil{padding:30px 12px}
  .drv{padding:34px 30px 30px}
  .drv > .drv-n{font-size:106px;top:-17px}
  .drv > .drv-ico{width:48px;height:48px;margin-bottom:19px}
  .drv-t{font-size:21px}
}
@media (min-width:900px) and (max-height:790px){
  #gcert .sec-lead,#gcert .sec-lead.center{margin-bottom:clamp(24px,3.2vh,40px)}
  #gcert .pil{padding:21px 12px;gap:0 28px}
  #gcert .pil > .item-t{font-size:19.5px}
  .drv{padding:24px 24px 22px}
  .drv > .drv-n{font-size:86px;top:-13px}
  .drv > .drv-ico{width:40px;height:40px;margin-bottom:13px}
  .drv > .drv-ico svg{width:22px;height:22px}
  .drv-t{font-size:19px;margin-bottom:9px}
  .drv-d{font-size:14.5px;line-height:1.65}
}
@media (min-width:900px) and (max-height:700px){
  #gcert .pil{padding:14px 10px;gap:0 24px}
  #gcert .pil > .item-t{font-size:17.5px}
  .drv{padding:17px 19px 16px}
  .drv > .drv-n{font-size:68px;top:-10px}
  .drv-t{font-size:17.5px}
  .drv-d{font-size:13.5px}
}

/* ==========================================================================
   v42 — Adoption Roadmap R5 (진행 바 3구간)
   ========================================================================== */
#adoption .proc.r5{position:relative;margin-top:0}
#adoption .proc.r5 .track{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;
  margin:0 0 clamp(24px,3.4vh,38px)}
#adoption .proc.r5 .sg{display:block;height:10px;border-radius:5px;background:var(--green-200);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .8s cubic-bezier(.4,0,.2,1)}
#adoption .proc.r5 .sg:nth-child(2){background:var(--green-400)}
#adoption .proc.r5 .sg:nth-child(3){background:var(--green-600)}
#adoption .proc.r5.viz-on .sg{transform:scaleX(1)}
#adoption .proc.r5.viz-on .sg:nth-child(1){transition-delay:.15s}
#adoption .proc.r5.viz-on .sg:nth-child(2){transition-delay:.75s}
#adoption .proc.r5.viz-on .sg:nth-child(3){transition-delay:1.35s}

#adoption .proc.r5 .proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}
#adoption .proc.r5 .pstep{text-align:left;padding:0 34px 0 0;border-right:1px solid var(--ink-200)}
#adoption .proc.r5 .pstep:last-child{border-right:0;padding-right:0}
#adoption .proc.r5 .phd{display:flex;align-items:baseline;gap:11px;margin-bottom:8px}
#adoption .proc.r5 .n{font-family:var(--font-sans);font-size:32px;font-weight:800;line-height:1;
  letter-spacing:-.045em;color:var(--green-300);width:auto;height:auto;border-radius:0;
  background:none;box-shadow:none;margin:0;display:inline}
#adoption .proc.r5 .pk{margin-bottom:0}
#adoption .proc.r5 .pt{font-size:23px;margin:0 0 18px}
#adoption .proc.r5 .bul{display:flex;text-align:left;gap:11px}
@media (prefers-reduced-motion:reduce){#adoption .proc.r5 .sg{transform:scaleX(1)}}
@media (min-width:900px) and (max-height:880px){
  #adoption .proc.r5 .pt{font-size:20.5px;margin-bottom:14px}
  #adoption .proc.r5 .n{font-size:28px}
}
@media (min-width:900px) and (max-height:790px){
  #adoption .proc.r5 .track{gap:6px}
  #adoption .proc.r5 .sg{height:8px}
  #adoption .proc.r5 .pt{font-size:18.5px;margin-bottom:10px}
  #adoption .proc.r5 .n{font-size:24px}
  #adoption .proc.r5 .bul{gap:8px}
}
@media (min-width:900px) and (max-height:700px){
  #adoption .proc.r5 .sg{height:7px}
  #adoption .proc.r5 .pt{font-size:17px;margin-bottom:8px}
  #adoption .proc.r5 .n{font-size:21px}
  #adoption .proc.r5 .bul{gap:6px}
}
@media (max-width:980px){
  #adoption .proc.r5 .proc-grid{grid-template-columns:1fr;gap:28px}
  #adoption .proc.r5 .pstep{border-right:0;padding-right:0;padding-bottom:22px;
    border-bottom:1px solid var(--ink-200)}
  #adoption .proc.r5 .pstep:last-child{border-bottom:0;padding-bottom:0}
}
/* R5: 예전 원형 스텝 규칙 무력화 */
#adoption .proc.r5 .pstep .n,
#adoption .proc.r5.viz-on .pstep .n{background:none;border:0;box-shadow:none;color:var(--green-300);
  width:auto;height:auto;border-radius:0;margin:0;padding:0;display:inline;transition:none}

/* ==========================================================================
   v43 — Partners P2 (글래스 카드 2장)
   ========================================================================== */
.orgs2{display:grid;grid-template-columns:1fr 1fr;gap:22px;border-top:0}
.org2{padding:34px 32px 32px;border-radius:18px;
  background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.028));
  border:1px solid rgba(255,255,255,.12);
  transition:border-color .22s var(--ease),background .22s var(--ease)}
.org2:hover{border-color:rgba(143,180,255,.34);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04))}
.org-hd{display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12)}
.org2 .org-logo{height:28px;width:auto;margin:0;flex:none}
.org-full{margin:0;text-align:right;font-size:11px;letter-spacing:.09em;line-height:1.45;color:#8FB4FF}
.org2 .org-line{margin:0 0 26px;font-size:15.5px;line-height:1.7;max-width:none;color:rgba(255,255,255,.78)}
.org2 .bigstats{margin-top:0;grid-template-columns:repeat(3,1fr);gap:16px}
.bigstats b{font-size:29px}
@media (min-width:900px){.bigstats b{min-height:29px}}
.bigstats .wstat b{font-size:18px}
.bigstats span{margin-top:9px;font-size:12px;line-height:1.5}
@media (min-width:900px) and (max-height:880px){
  .org2{padding:28px 26px 26px}
  .org-hd{padding-bottom:17px;margin-bottom:17px}
  .org2 .org-line{margin-bottom:20px;font-size:15px}
  .bigstats b{font-size:26px;min-height:26px}
  .bigstats .wstat b{font-size:17px}
}
@media (min-width:900px) and (max-height:790px){
  .org2{padding:22px 22px 20px}
  .org2 .org-logo{height:24px}
  .org-hd{padding-bottom:13px;margin-bottom:13px}
  .org2 .org-line{margin-bottom:15px;font-size:14px;line-height:1.6}
  .bigstats b{font-size:22px;min-height:22px}
  .bigstats .wstat b{font-size:15px}
  .bigstats span{margin-top:7px;font-size:11px}
}
@media (min-width:900px) and (max-height:700px){
  .org2{padding:17px 18px 16px}
  .bigstats b{font-size:19px;min-height:19px}
  .bigstats .wstat b{font-size:13.5px}
  .org2 .org-line{font-size:13px}
}
@media (max-width:980px){.orgs2{grid-template-columns:1fr}}
/* Partners 통계 캡션 2줄 정렬 */
.bigstats span{min-height:calc(2 * 1.5em)}
.org2:last-child .bigstats{grid-template-columns:0.78fr 1fr 1.3fr}
/* Contact: 헤드라인·리드 폭 제한 해제 (수동 줄바꿈 유지) */
#contact h2{max-width:none}
#contact .in > p{max-width:none}
@media (max-width:860px){#contact h2 br,#contact .in > p br{display:none}}

/* ==========================================================================
   v44 — 카드 스케일 통일 / Partners 간격·줄바꿈 / 폼 카드 확장 / CTA 배경
   ========================================================================== */
/* 카드 스케일을 Why 카드 기준으로 통일 (패딩 36·32 / 반경 14) */
.drv{padding:36px 32px 34px;border-radius:14px}
.drv > .drv-ico{width:52px;height:52px;margin-bottom:22px}
.drv > .drv-ico svg{width:27px;height:27px}
.drv > .drv-n{font-size:116px;top:-19px}
.drv-t{font-size:23px;margin-bottom:12px}
.drv-d{font-size:15.5px;line-height:1.7}

.org2{padding:36px 32px 32px;border-radius:14px}
.org-hd{padding-bottom:24px;margin-bottom:24px}

/* Partners: 헤드라인 ↔ 카드 간격 */
#partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(60px,8vh,104px)}

/* 폼 카드 확장 */
.fcard{max-width:660px;padding:40px 44px 34px}
.fcard .frow{gap:22px}

/* CTA 배경: 히어로 지구본을 선화로 회수 */
#contact{overflow:hidden}
.final-bg{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.fb-globe{position:absolute;left:50%;bottom:-8%;transform:translateX(-50%);
  width:150%;min-width:1280px;height:auto;opacity:.5}
.final-bg::before{content:"";position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);
  width:1080px;height:620px;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,255,255,.16),transparent 70%)}
.final-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(9,28,86,.34) 0%,transparent 34%,transparent 62%,rgba(6,18,60,.42) 100%)}
#contact .wrap{position:relative;z-index:2}
.final .fcard{box-shadow:0 26px 60px rgba(4,16,54,.30),0 0 0 1px rgba(255,255,255,.14)}

@media (min-width:900px) and (max-height:880px){
  .drv{padding:28px 26px 26px}
  .drv > .drv-ico{width:46px;height:46px;margin-bottom:17px}
  .drv > .drv-n{font-size:98px;top:-15px}
  .org2{padding:28px 26px 26px}
  .org-hd{padding-bottom:18px;margin-bottom:18px}
  #partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(40px,5.4vh,68px)}
  .fcard{padding:30px 34px 26px}
}
@media (min-width:900px) and (max-height:790px){
  .drv{padding:22px 22px 20px}
  .drv > .drv-ico{width:38px;height:38px;margin-bottom:12px}
  .drv > .drv-ico svg{width:21px;height:21px}
  .drv > .drv-n{font-size:80px;top:-12px}
  .drv-t{font-size:19px;margin-bottom:8px}
  .drv-d{font-size:14.5px;line-height:1.6}
  .org2{padding:22px 22px 20px}
  .org-hd{padding-bottom:13px;margin-bottom:13px}
  #partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(26px,3.6vh,46px)}
  .fcard{padding:22px 28px 20px}
}
@media (min-width:900px) and (max-height:700px){
  .drv{padding:16px 18px 15px}
  .drv > .drv-n{font-size:64px;top:-9px}
  .drv-t{font-size:17.5px}
  .org2{padding:17px 18px 16px}
  .fcard{padding:17px 24px 16px}
}
@media (max-width:760px){.fcard{max-width:none}}
/* CTA 배경 선화 강조 */
.fb-globe{bottom:-14%;width:178%;min-width:1560px;opacity:1}
.fb-globe ellipse[stroke]{stroke:rgba(255,255,255,.30)}
.fb-globe circle[stroke]{stroke:rgba(255,255,255,.46)}
.fb-globe path[stroke]{stroke:rgba(255,255,255,.34)}
.final-bg::before{width:1180px;height:680px;
  background:radial-gradient(closest-side,rgba(255,255,255,.20),transparent 72%)}
/* 좁은 높이에서도 세 섹션 카드 크기 균형 유지 */
@media (min-width:900px) and (max-height:790px){
  .drv{padding:27px 25px 25px}
  .drv > .drv-ico{width:44px;height:44px;margin-bottom:16px}
  .drv > .drv-ico svg{width:24px;height:24px}
  .drv-t{font-size:20px;margin-bottom:10px}
  .drv-d{font-size:15px;line-height:1.65}
  .org2{padding:26px 24px 24px}
}

/* ==========================================================================
   v45 — Partners 간격·카드 확대 / CTA 폼 카드 대폭 확장
   (기존 #contact .fcard{max-width:...} 규칙들을 같은 특정성으로 덮어씀)
   ========================================================================== */
#contact .fcard{width:100%;max-width:880px;padding:46px 54px 40px;margin-left:auto;margin-right:auto}
#contact .fcard .frow{gap:26px}
#contact .fcard textarea{min-height:104px}

#partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(92px,12vh,156px)}
.orgs2{gap:26px}
.org2{padding:46px 42px 42px;border-radius:16px}
.org2 .org-logo{height:32px}
.org-hd{padding-bottom:28px;margin-bottom:28px}
.org-full{font-size:11.5px}
.org2 .org-line{font-size:16.5px;line-height:1.72;margin-bottom:32px}
.bigstats b{font-size:33px}
@media (min-width:900px){.bigstats b{min-height:33px}}
.bigstats .wstat b{font-size:20px}
.bigstats span{margin-top:11px;font-size:12.5px}

@media (min-width:900px) and (max-height:880px){
  #contact .fcard{max-width:860px;padding:34px 44px 30px}
  #contact .fcard textarea{min-height:82px}
  #partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(58px,7.6vh,102px)}
  .org2{padding:34px 32px 32px}
  .org-hd{padding-bottom:20px;margin-bottom:20px}
  .org2 .org-line{font-size:15.5px;margin-bottom:24px}
  .bigstats b{font-size:29px;min-height:29px}
  .bigstats .wstat b{font-size:18px}
}
@media (min-width:900px) and (max-height:790px){
  #contact .fcard{max-width:840px;padding:26px 38px 24px}
  #contact .fcard textarea{min-height:62px}
  #partners .sec-lead,#partners .sec-lead.center{margin-bottom:clamp(38px,5vh,68px)}
  .org2{padding:26px 26px 24px}
  .org2 .org-logo{height:26px}
  .org-hd{padding-bottom:15px;margin-bottom:15px}
  .org2 .org-line{font-size:14.5px;margin-bottom:18px;line-height:1.65}
  .bigstats b{font-size:24px;min-height:24px}
  .bigstats .wstat b{font-size:16px}
  .bigstats span{margin-top:8px;font-size:11.5px}
}
@media (min-width:900px) and (max-height:700px){
  #contact .fcard{max-width:820px;padding:20px 32px 18px}
  #contact .fcard textarea{min-height:48px}
  .org2{padding:19px 20px 18px}
  .bigstats b{font-size:20px;min-height:20px}
  .bigstats .wstat b{font-size:14px}
}
@media (max-width:980px){#contact .fcard{max-width:none}}
/* Partners 컨테이너를 넓혀 카드 자체를 키움 */
#partners .wrap{max-width:1340px}
#partners .sec-lead,#partners .sec-lead.center{max-width:1060px}
.org2 .org-line{font-size:17px;line-height:1.7}
.bigstats span{font-size:13px}

/* CTA 폼: 가로는 넓게, 세로는 압축 */
#contact .fcard{padding:38px 52px 32px}
#contact .fcard textarea{min-height:82px}
#contact .fcard .fld{margin-bottom:16px}
@media (min-width:900px) and (max-height:880px){
  #contact .fcard{padding:30px 44px 26px}
  #contact .fcard textarea{min-height:70px}
}
/* CTA: 세로 압축 (가로 폭은 유지) */
#contact{padding-block:clamp(40px,5.6vh,66px)}
#contact .fcard{padding:32px 52px 28px;margin-top:30px}
#contact .fcard textarea{min-height:66px}
#contact .fcard .fld{margin-bottom:14px}
#contact .contact{margin-top:30px;padding-top:22px;gap:38px}
@media (min-width:900px) and (max-height:880px){
  #contact{padding-block:clamp(30px,4vh,48px)}
  #contact .fcard{padding:26px 44px 22px;margin-top:22px}
  #contact .fcard textarea{min-height:56px}
  #contact .contact{margin-top:22px;padding-top:18px}
}
#contact .fcard{margin-top:24px;padding:28px 52px 24px}
#contact .fcard textarea{min-height:56px}
#contact .contact{margin-top:24px;padding-top:20px}
#contact .in > p{margin-top:16px}

/* ==========================================================================
   v46 — Webflow 네이티브 폼 연결
   ========================================================================== */
#gcert-form-host{display:none}
#contact .fcard .w-form{margin:0}
#contact .fcard .w-form-done,
#contact .fcard .w-form-fail{display:none;margin:0;padding:22px;border-radius:var(--r-md);
  font-size:15px;line-height:1.7;text-align:left}
#contact .fcard .w-form-done{background:var(--green-50);color:var(--green-700);
  border:1px solid var(--green-200)}
#contact .fcard .w-form-fail{background:#FDECEC;color:#9B2C2C;border:1px solid #F3C9C9}
#contact .fcard .w-form-done > div,
#contact .fcard .w-form-fail > div{font-size:inherit;line-height:inherit;color:inherit}
#contact .fcard select.w-select{-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%237A8196' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
