*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--green:#129E7B;--green-h:#1DAC86;--green-50:#EDFCF6;--green2:#76BE57;--blue:#19B5FE;--blue-50:#F0F9FF;--bg:#FFFFFF;--bg2:#F7F7F5;--fg1:#111111;--fg2:#6B7280;--muted:#AAAAAA;--border:#E8E8E6;--font:'Pretendard Variable','Pretendard',-apple-system,sans-serif;--max-w:1400px}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--fg1);-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
nav{position:sticky;top:0;z-index:300;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:.5px solid var(--border);padding:0 80px;height:68px;display:flex;align-items:center}
.nav-logo{flex-shrink:0}
.nav-center{display:flex;align-items:center;gap:104px;flex:1;justify-content:center}
.nav-btn{font-size:15px;font-weight:500;color:var(--fg2);padding:8px 14px;border-radius:9px;cursor:pointer;transition:color 150ms,background 150ms;background:none;border:none;font-family:var(--font);display:flex;align-items:center;gap:5px;white-space:nowrap;text-decoration:none}
.nav-btn:hover{color:var(--green);background:var(--green-50)}
.nav-btn.active{color:var(--green);background:var(--green-50)}
.nav-right{display:flex;align-items:center;gap:24px;flex-shrink:0}
.nav-cta{padding:11px 24px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms}
.nav-cta:hover{background:var(--green-h)}
.mega-wrap{position:fixed;top:68px;left:0;right:0;z-index:299}
.mega-panel{position:relative;z-index:2;background:#fff;border-bottom:.5px solid var(--border);box-shadow:0 12px 32px rgba(0,0,0,.07);padding:20px 0 24px;display:none}
.mega-wrap.open .mega-panel{display:block;animation:megaSlide 180ms ease}
@keyframes megaSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.mega-inner{max-width:var(--max-w);margin:0 auto;position:relative;padding:4px 80px 20px;min-height:20px}
.mega-col{position:absolute;top:0;min-width:160px;display:none;box-sizing:border-box;padding-right:12px}
.mega-col:first-child{min-width:170px}
.mega-col .mega-item,.mega-col .mega-simple{word-break:keep-all;overflow-wrap:break-word}
.mega-wrap.open .mega-col{display:block}
.mega-item{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;color:var(--fg1);font-size:14px;font-weight:500;margin-bottom:2px;line-height:1.3;position:relative;text-decoration:none;cursor:pointer}
.mega-item:hover{background:var(--green-50);color:var(--green)}
.mega-item:hover .mega-item-sub{color:rgba(18,158,123,.75)}
.mega-item-sub{display:block;font-size:12px;color:rgba(0,0,0,.35);margin-top:3px;font-weight:400;transition:color 180ms}
.mega-simple{display:block;padding:10px 12px;border-radius:10px;transition:background 180ms,color 180ms;font-size:14px;font-weight:500;color:var(--fg1);margin-bottom:2px;text-decoration:none;cursor:pointer}
.mega-simple:hover{background:var(--green-50);color:var(--green)}
.mega-overlay{position:fixed;inset:0;top:0;z-index:1;display:none}
.mega-wrap.open .mega-overlay{display:block}
.nav-burger{display:none;background:none;border:none;width:40px;height:40px;align-items:center;justify-content:center;cursor:pointer;flex-direction:column;gap:4px;padding:0}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--fg1);border-radius:2px;transition:transform 200ms,opacity 150ms}
.nav-burger.open span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
.mobile-drawer{display:none;position:fixed;top:60px;left:0;right:0;bottom:0;background:#fff;z-index:295;overflow-y:auto;padding:24px 20px 40px;flex-direction:column;gap:4px}
.mobile-drawer.open{display:flex;animation:megaSlide 200ms ease}
.md-group{padding:8px 0;border-bottom:.5px solid var(--border)}
.md-group:last-child{border-bottom:none}
.md-head{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:6px 12px;margin-bottom:4px}
.md-link{display:block;font-size:16px;font-weight:500;color:var(--fg1);padding:12px;border-radius:10px}
.md-link:hover{background:var(--green-50);color:var(--green)}
.md-link-sub{display:block;font-size:12px;color:var(--muted);margin-top:2px;font-weight:400}
.md-cta{margin-top:24px;padding:14px;text-align:center;background:var(--green);color:#fff;border-radius:999px;font-weight:500;font-size:16px;display:block;text-decoration:none}
@media (max-width:768px){.nav-center{display:none}.nav-burger{display:flex}nav{padding:0 20px}}
footer{background:#111;padding:64px 80px}
.foot-inner{max-width:var(--max-w);margin:0 auto}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px;margin-bottom:48px;padding-bottom:48px;border-bottom:.5px solid rgba(255,255,255,.07)}
.foot-tagline{font-size:14px;color:rgba(255,255,255,.35);line-height:1.8;margin-top:14px}
.foot-col-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.35);margin-bottom:18px}
.foot-links{display:flex;flex-direction:column;gap:12px}
.foot-links a{font-size:15px;color:rgba(255,255,255,.5);transition:color 150ms}
.foot-links a:hover{color:rgba(255,255,255,.85)}
.foot-bottom{display:flex;justify-content:space-between;align-items:flex-end}
.foot-info{font-size:12px;color:rgba(255,255,255,.22);line-height:1.9}
.foot-copy{font-size:12px;color:rgba(255,255,255,.18)}
.btn-p{padding:13px 28px;background:var(--green);color:#fff;border:none;border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:background 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-p:hover{background:var(--green-h)}
.btn-g{padding:13px 28px;background:transparent;color:var(--fg1);border:.5px solid var(--border);border-radius:999px;font-family:var(--font);font-size:15px;font-weight:500;cursor:pointer;transition:border-color 150ms;display:inline-flex;align-items:center;gap:8px}
.btn-g:hover{border-color:#999}
/* .page-hero{padding:0 80px 0 80px;min-height:calc(100vh - 68px);background:linear-gradient(180deg,#FFFFFF 0%,#F5FDF9 70%,#EDFCF6 100%);position:relative;overflow:hidden;display:flex;align-items:center} */
/*  */
/* .page-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 900px 500px at 15% 100%,rgba(18,158,123,.14) 0%,transparent 70%),radial-gradient(ellipse 700px 400px at 85% 95%,rgba(118,190,87,.12) 0%,transparent 72%);z-index:0} */
/* .page-hero-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:center;width:100%;max-width:none;margin:0;position:relative;z-index:1;padding-right:0} */
.h1{font-size:48px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1)}
.h1 .m{color:var(--muted)}
.page-hero .h1 .m{color:var(--green)}
/* .page-hero-left{padding:40px 0;min-width:0} */
/* .hero-visual{position:relative;overflow:visible;display:flex;align-items:center} */

/* ── page-hero 중앙 정렬 ── */
.page-hero { padding: 10px 80px 48px; min-height: 100vh; background: linear-gradient(180deg,#FFFFFF 0%,#F5FDF9 70%,#EDFCF6 100%); position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; }
@media (max-width:1599px){ .page-hero { min-height: 100vh; padding: 80px 80px; } }
.page-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(ellipse 900px 500px at 15% 100%,rgba(18,158,123,.14) 0%,transparent 70%),radial-gradient(ellipse 700px 400px at 85% 95%,rgba(118,190,87,.12) 0%,transparent 72%); z-index: 0; }
.page-hero-grid { display: flex; flex-direction: column; align-items: center; text-align: center; width: 100%; max-width: var(--max-w); margin: 0 auto; position: relative; z-index: 1; gap: 48px; }
.page-hero-left { padding: 40px 0; min-width: 0; text-align: center; }
.hero-visual { position: relative; overflow: visible; display: flex; align-items: center; justify-content: center; width: 100%; text-align: left; }
.page-hero .lead { max-width: none; }
.page-hero .h1{font-size:55px;letter-spacing:-0.03em;white-space:normal;margin-top:0;}
.page-hero .lead{font-size:25px;margin-top:16px;max-width:none}
.hero-visual .mockup{min-height:460px;display:flex;flex-direction:column;justify-content:stretch;width:100%;padding:0;overflow:hidden;position:relative;background:transparent;border:none;box-shadow:none;border-radius:0}
.mock-head-title{font-size:17px;font-weight:700;color:var(--fg1);letter-spacing:-.2px}
.step-chip{font-size:11px;font-weight:700;padding:5px 12px;border-radius:999px;display:inline-flex;align-items:center;letter-spacing:-.1px;line-height:1.4}
.step-chip.done{background:var(--green);color:#fff}
.step-chip.live{background:#FFF7ED;color:#D97706;border:1px solid rgba(217,119,6,.18)}
.step-chip.todo{background:var(--bg2);color:var(--fg2);border:1px solid var(--border)}
.lead{font-size:18px;color:var(--fg2);line-height:1.75;margin-top:24px;max-width:520px}
.pain-section{background:var(--bg2);padding:80px 80px;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.pain-inner{max-width:1000px;margin:0 auto;width:100%}
.pain-head{text-align:center;margin-bottom:48px}
.pain-eyebrow{font-size:15px;font-weight:700;color:#FF5A48;margin-bottom:20px;letter-spacing:0.01em}
.pain-title-head{font-size:52px;font-weight:700;color:var(--fg1);letter-spacing:0.01em;line-height:1.15}
@media(max-width:855px){.pain-title-head{font-size:clamp(22px,6vw,28px) !important;letter-spacing:0.01em !important;line-height:1.2 !important}}
.pain-title-head .m{color:var(--muted);display:block}
.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;text-align:left}
.pain-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;min-height:220px}
.pain-icon{width:52px;height:52px;border-radius:13px;background:#FFE8E3;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:auto}
.pain-card-body{margin-top:36px}
.pain-title{font-size:20px;font-weight:700;color:var(--fg1);margin-bottom:10px;letter-spacing:0.01em;line-height:1.35}
.pain-desc{font-size:16px;color:var(--fg2);line-height:1.7}
.feature-section{padding:120px 80px}
.feature-inner{max-width:var(--max-w);margin:0 auto}
.sol-eyebrow{font-size:14px;font-weight:700;color:var(--green);margin-bottom:16px;letter-spacing:.04em;text-align:left}
.sol-title-head{font-size:52px;font-weight:700;color:var(--fg1);letter-spacing:-0.03em;line-height:1.15;margin-bottom:48px;text-align:left}
.sol-title-head .m{color:var(--muted);display:block}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.feat-card{background:#E5E7EB;border:1px solid transparent;border-radius:16px;padding:28px 24px;cursor:default;transition:background 200ms,border-color 200ms,transform 200ms,box-shadow 200ms;text-align:left;position:relative}
.feat-card:hover{background:#fff;border-color:var(--green);box-shadow:0 8px 24px rgba(18,158,123,.08);transform:translateY(-2px)}
.feat-card:hover .feat-icon{background:var(--green)}
.feat-card:hover .feat-icon svg{stroke:#fff}
.feat-step{font-size:11px;font-weight:700;color:var(--green);letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px;display:inline-block}
.feat-icon{width:44px;height:44px;border-radius:11px;background:var(--green-50);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background 200ms}
.feat-icon svg{transition:stroke 200ms}
.feat-title{font-size:17px;font-weight:700;color:var(--fg1);margin-bottom:8px;letter-spacing:-.3px;line-height:1.35}
.feat-desc{font-size:13px;color:var(--fg2);line-height:1.6}
.reason-section{padding:120px 80px;background:#fff;border-top:.5px solid var(--border)}
.reason-inner{max-width:var(--max-w);margin:0 auto}
.reason-head{text-align:center;margin-bottom:80px}
.reason-eyebrow{font-size:15px;font-weight:700;color:var(--green);margin-bottom:20px;letter-spacing:.01em}
.reason-title-head{font-size:52px;font-weight:700;color:var(--fg1);letter-spacing:-0.03em;line-height:1.15}
.reason-title-head .m{color:var(--muted);display:block}
.reason-row{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;margin-bottom:120px}
.reason-row:last-child{margin-bottom:0}
.reason-row.reverse .reason-text{order:2}
.reason-num{font-size:13px;color:var(--green);font-weight:700;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase}
.reason-title{font-size:38px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;margin-bottom:20px;color:var(--fg1)}
.reason-title .m{color:var(--muted)}
.reason-desc{font-size:16px;color:var(--fg2);line-height:1.75}
.reason-visual{background:linear-gradient(135deg,#F8FFFB 0%,#EDFCF6 100%);border:.5px solid var(--border);border-radius:20px;padding:40px;min-height:340px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.reason-visual.alt{background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%)}
.transparent-card{background:#fff;border-radius:14px;padding:24px;width:100%;max-width:380px;box-shadow:0 12px 40px rgba(16,98,73,.10)}
.formula-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:.5px solid var(--bg2);font-size:13px}
.formula-row:last-child{border-bottom:none}
.formula-lbl{color:var(--fg2);font-weight:500}
.formula-val{font-weight:700;color:var(--fg1);font-variant-numeric:tabular-nums}
.formula-val.g{color:var(--green)}
.note-card{background:#fff;border-radius:14px;padding:22px;width:100%;max-width:380px;box-shadow:0 12px 40px rgba(16,98,73,.10)}
.note-row{display:flex;gap:12px;padding:12px 0;border-bottom:.5px solid var(--bg2)}
.note-row:last-child{border-bottom:none}
.note-bullet{width:8px;height:8px;border-radius:50%;background:var(--green);margin-top:6px;flex-shrink:0}
.note-content{flex:1}
.note-title{font-size:13px;font-weight:600;color:var(--fg1);margin-bottom:4px}
.note-desc{font-size:12px;color:var(--fg2);line-height:1.55}
.note-time{font-size:11px;color:var(--muted);margin-top:4px}
.stats-banner{padding:80px 80px;background:#fff;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.stats-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-col{padding:0 40px;border-right:.5px solid var(--border)}
.stat-col:first-child{padding-left:0}
.stat-col:last-child{border-right:none;padding-right:0}
.stat-big{font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--fg1)}
.stat-big .g{color:var(--green)}
.stat-arrow{font-size:28px;color:var(--muted)}
.stat-lbl{font-size:13px;color:var(--green);font-weight:500;margin-top:6px}
.stat-note{font-size:13px;color:var(--fg2);margin-top:4px;line-height:1.5}
.cta-banner{position:relative;overflow:hidden;padding:160px 80px;background:#FFFFFF url('/theme/basic/assets/Shadow.png') center center / cover no-repeat}
.cta-banner::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 460px 280px at 8% 88%,rgba(18,158,123,.10) 0%,transparent 72%),radial-gradient(ellipse 500px 300px at 94% 82%,rgba(118,190,87,.12) 0%,transparent 72%);mix-blend-mode:multiply}
.cta-banner > .cta-inner{position:relative;z-index:1}
.cta-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:40px;position:relative;z-index:1}
.cta-h{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1)}
.cta-m{font-size:56px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--muted)}
.cta-btn-row{display:flex;gap:14px;align-items:center}
.cta-btn-row .btn-g{background:#fff;font-size:16px;padding:16px 36px;min-width:180px;justify-content:center;border:1px solid var(--green);color:var(--green)}
.cta-btn-row .btn-p{font-size:16px;padding:16px 36px;min-width:180px;justify-content:center}
.cta-btns{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.cta-primary-row{display:flex;gap:30px;flex-wrap:wrap;justify-content:flex-start}
.cta-primary-row .btn-g,.cta-primary-row .btn-p{font-size:15px;padding:14px 28px;min-width:180px;justify-content:center}
.cta-primary-row .btn-g{background:#fff}
.cta-secondary{display:inline-flex;align-items:center;gap:6px;font-size:20px;font-weight:600;color:var(--green);text-decoration:none;padding:10px 4px;transition:gap 180ms;align-self:center;margin-top:16px;}
.cta-secondary:hover{gap:10px}
.cta-secondary .arr{transition:transform 180ms}
.cta-secondary:hover .arr{transform:translateX(2px)}
.mockup{background:#fff;border:.5px solid var(--border);border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(16,98,73,.10),0 2px 14px rgba(0,0,0,.04)}
.mock-head{font-size:13px;font-weight:700;color:var(--fg1);margin-bottom:16px;display:flex;justify-content:space-between;align-items:center}
.mock-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:.5px solid var(--bg2)}
.mock-row:last-of-type{border-bottom:none}
.mock-label{font-size:13px;color:var(--fg2)}
.mock-val{font-size:13px;font-weight:600;color:var(--fg1)}
.live-badge{font-size:11px;font-weight:600;background:var(--green-50);color:var(--green);padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
.live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:livePulse 1.6s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.verify-progress{margin-top:18px;padding:18px 20px;background:linear-gradient(135deg,#EDFCF6 0%,#DBF5E8 100%);border-radius:12px;display:flex;justify-content:space-between;align-items:center}
.verify-progress-lbl{font-size:13px;color:var(--fg2);font-weight:600}
.verify-progress-val{font-size:22px;font-weight:700;color:var(--green);letter-spacing:-.5px}
.mock-step{display:flex;align-items:center;gap:12px;padding:10px 0}
.mock-check{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px;font-weight:700}
.mock-check.done{background:var(--green);color:#fff}
.mock-check.live{background:var(--green-50);color:var(--green);border:1.5px dashed var(--green);animation:livePulse 1.6s ease-in-out infinite}
.mock-check.todo{background:var(--bg2);color:var(--muted)}
.mock-step-text{flex:1;font-size:14px;color:var(--fg1);font-weight:500}
.mock-step-text.todo{color:var(--fg2);font-weight:400}
.mock-step-time{font-size:12px;color:var(--fg2)}
@media (max-width:1100px){.feature-grid{grid-template-columns:repeat(2,1fr)}.page-hero-grid,.reason-row{grid-template-columns:1fr;gap:40px}.reason-row.reverse .reason-text{order:0}.stats-inner{grid-template-columns:repeat(2,1fr);gap:32px}.stat-col{border-right:none;padding:16px 0}.cta-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:1024px){.pain-grid{grid-template-columns:repeat(2,1fr)}.pain-section{min-height:auto;padding:80px 32px}}
@media(max-width:640px){.pain-grid{grid-template-columns:1fr}.pain-title-head{font-size:34px}.pain-card{min-height:auto}}
@media (max-width:768px){.page-hero,.feature-section,.reason-section,.stats-banner{padding:80px 20px}.page-hero{height:calc(100dvh - 68px) !important;min-height:0 !important;max-height:calc(100dvh - 68px) !important;overflow:hidden !important;padding:100px 20px !important;box-sizing:border-box !important}.cta-banner{padding:40px 20px}.h1,.reason-title-head{font-size:36px}.sol-title-head{font-size:25px !important}.cta-h,.cta-m{font-size:32px;letter-spacing:-0.03em}.reason-title{font-size:28px}.feature-grid{grid-template-columns:1fr}}
.feat-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.feat-tab{background:#FAFBFC;border:1px solid #E8E8E6;border-radius:16px;padding:24px 22px;cursor:pointer;transition:background 200ms,border-color 200ms,transform 200ms,box-shadow 200ms;text-align:left}
.feat-tab:hover{background:#fff;border-color:rgba(18,158,123,.25);transform:translateY(-2px)}
.feat-tab.active{background:var(--green-50);border-color:var(--green);box-shadow:0 8px 24px rgba(18,158,123,.08)}
.feat-tab.active .feat-tab-icon{background:var(--green)}
.feat-tab.active .feat-tab-icon svg{stroke:#fff}
.feat-tab-icon{width:40px;height:40px;border-radius:10px;background:var(--green-50);display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:background 200ms}
.feat-tab-icon svg{stroke:var(--green);transition:stroke 200ms}
.feat-tab-title{font-size:18px;font-weight:700;color:var(--fg1);margin-bottom:6px;letter-spacing:-0.02em;line-height:1.35}
.feat-tab-desc{font-size:15px;color:var(--fg2);line-height:1.55}

  .feat-tab > .feat-tab-icon { grid-area: icon; align-self: center; }
  .feat-tab > .feat-tab-title { grid-area: title; }
  .feat-tab > .feat-tab-desc { grid-area: desc; }
.feat-dashboard{position:relative;background:#FAFBFC;border:.5px solid var(--border);border-radius:20px;padding:28px 32px;height:620px;overflow:hidden;display:flex;flex-direction:column}
.feat-panel{display:none;animation:panelFade 280ms ease;flex-direction:column;flex:1;min-height:0}
.feat-panel.active{display:flex}
.feat-panel-placeholder{text-align:center;padding:140px 40px;color:var(--fg2);font-size:14px;font-weight:500}
@keyframes panelFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.feat-panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-shrink:0}
.feat-panel-title{font-size:20px;font-weight:700;color:var(--fg1);letter-spacing:-0.02em}
.feat-panel-chip{font-size:12px;font-weight:600;background:var(--green-50);color:var(--green);padding:5px 12px;border-radius:999px}
.feat-panel-body{flex:1;min-height:0}
.demo-grid{display:grid;grid-template-columns:1.7fr 0.6fr;gap:48px;align-items:center;min-height:500px;max-width:980px;margin:0 auto;width:100%}
.demo-side-label{font-size:11px;font-weight:700;color:var(--fg2);text-align:center;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.demo-pc{background:#fff;border-radius:14px;border:.5px solid var(--border);box-shadow:0 16px 48px rgba(16,98,73,.12);overflow:hidden;position:relative;aspect-ratio:16/10;width:100%}
.demo-mobile{background:#0F172A;border-radius:36px;padding:5px;box-shadow:0 16px 48px rgba(0,0,0,.18);position:relative;aspect-ratio:9/19;max-height:480px;margin:0 auto;width:100%;max-width:220px}
.demo-mobile-screen{background:#fff;border-radius:30px;width:100%;height:100%;overflow:hidden;position:relative}
.pc-screen{position:absolute;inset:0;padding:14px 16px;background:#fff;opacity:0;transition:opacity 380ms ease;display:flex;flex-direction:column;gap:8px}
.pc-screen.show{opacity:1}
.pc-topbar{display:flex;align-items:center;gap:6px;padding-bottom:8px;border-bottom:.5px solid var(--bg2)}
.pc-topbar .dot-r{width:7px;height:7px;border-radius:50%;background:#FF5F57}
.pc-topbar .dot-y{width:7px;height:7px;border-radius:50%;background:#FEBC2E}
.pc-topbar .dot-g{width:7px;height:7px;border-radius:50%;background:#28C840}
.pc-url{margin-left:8px;background:var(--bg2);padding:3px 10px;border-radius:999px;font-size:9px;color:var(--fg2)}
.pc-list-title{font-size:13px;font-weight:700;color:var(--fg1);margin-top:2px}
.pc-list-row{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-size:10px;color:var(--fg1);background:var(--bg2);transition:all 320ms}
.pc-list-row.head{background:transparent;font-weight:700;color:var(--fg2);font-size:9px;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px}
.pc-list-row .col-1{flex:1.4;font-weight:600}
.pc-list-row .col-2{flex:1;color:var(--fg2)}
.pc-list-row .col-3{flex:.8;text-align:right;font-size:9px;color:var(--fg2)}
.pc-list-row.highlight{background:var(--green-50);border:1px solid rgba(18,158,123,.4);color:var(--green);transform:scale(1.01)}
.pc-list-row.highlight .col-2,.pc-list-row.highlight .col-3{color:var(--green)}
.pc-detail-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:8px;border-bottom:.5px solid var(--bg2)}
.pc-detail-title{font-size:13px;font-weight:700;color:var(--fg1)}
.pc-upload-btn{padding:6px 14px;background:var(--green);color:#fff;border-radius:8px;font-size:10px;font-weight:700;animation:pulseBtn 1.4s ease-in-out infinite}
@keyframes pulseBtn{0%,100%{box-shadow:0 0 0 0 rgba(18,158,123,.55)}50%{box-shadow:0 0 0 7px rgba(18,158,123,0)}}
.pc-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.pc-info-cell{background:var(--bg2);border-radius:7px;padding:7px 10px}
.pc-info-cell-lbl{color:var(--fg2);font-size:9px;margin-bottom:2px}
.pc-info-cell-val{font-weight:700;color:var(--fg1);font-size:11px}
.pc-modal-head{font-size:12px;font-weight:700;display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:.5px solid var(--bg2)}
.pc-modal-close{font-size:14px;color:var(--fg2)}
.pc-drop-zone{border:1.5px dashed var(--muted);background:#fff;border-radius:10px;padding:30px 12px;text-align:center;font-size:11px;color:var(--fg2);font-weight:600;flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;transition:all 320ms}
.pc-drop-zone .upload-icon{font-size:22px}
.pc-drop-zone.dragging{background:#fff;transform:scale(1.02);border-color:#9CA3AF}
.mb-drop-zone{border:1.5px dashed var(--muted);background:#fff;border-radius:10px;padding:18px 10px;text-align:center;font-size:9px;color:var(--fg2);font-weight:600;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;flex:1}
.mb-drop-zone .mb-drop-icon{font-size:20px}
.pc-files-list{display:flex;flex-direction:column;gap:5px;flex:1}
.pc-file-row{background:#fff;border:.5px solid rgba(18,158,123,.3);border-radius:7px;padding:6px 10px;display:flex;justify-content:space-between;align-items:center;animation:fadeUp 380ms ease backwards}
.pc-file-row:nth-child(2){animation-delay:120ms}
.pc-file-row:nth-child(3){animation-delay:240ms}
.pc-file-name{font-weight:600;color:var(--fg1);font-size:10px}
.pc-file-meta{font-size:8px;color:var(--fg2);margin-top:2px}
.pc-file-val{font-weight:700;color:var(--green);font-size:11px}
.pc-summary-row{background:var(--green-50);border:.5px solid rgba(18,158,123,.3);border-radius:7px;padding:7px 10px;display:flex;justify-content:space-between;font-size:11px;font-weight:700;color:var(--green)}
.pc-confirm-btn{padding:7px 14px;background:var(--green);color:#fff;border-radius:7px;font-size:10px;font-weight:700;text-align:center;animation:pulseBtn 1.4s ease-in-out infinite;align-self:flex-end}
.pc-chart-title{font-size:12px;font-weight:700;color:var(--fg1)}
.pc-chart-svg{width:100%;aspect-ratio:600/130;flex:none}
.pc-month-list{display:flex;flex-direction:column;gap:3px;font-size:8px}
.pc-month-row{display:grid;grid-template-columns:.85fr .55fr 1.45fr .5fr .4fr;gap:6px;padding:5px 8px;border-radius:5px;border:.5px solid var(--border);background:#fff;align-items:center}
.pc-month-row.head{background:transparent;font-weight:700;color:var(--fg2);font-size:7px;text-transform:uppercase;letter-spacing:.04em;border:none;padding:2px 8px}
.pc-month-row .m-name{font-weight:600;color:var(--fg1);font-size:8.5px}
.pc-month-row .m-val{font-weight:700;color:var(--fg1);font-size:9px}
.pc-month-row .m-file{color:var(--fg2);font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-month-row .m-status{font-size:7px;font-weight:700;color:var(--green);text-align:center;background:var(--green-50);padding:2px 0;border-radius:999px}
.pc-month-row .m-edit{font-size:7px;font-weight:600;color:var(--fg1);text-align:center;padding:3px 0;border:.5px solid var(--border);border-radius:5px;background:#fff}
.pc-list-cursor,.pc-detail-cursor{position:absolute;display:flex;align-items:flex-start;opacity:0;transition:left 1100ms cubic-bezier(.32,.72,.4,1),top 1100ms cubic-bezier(.32,.72,.4,1),opacity 280ms,transform 200ms ease;pointer-events:none;z-index:18;transform-origin:0 0;will-change:left,top,opacity,transform}
.pc-list-cursor{left:70%;top:78%}
.pc-list-cursor.in{opacity:1}
.pc-list-cursor.move{left:86.5%;top:48%}
.pc-list-cursor.click{transform:scale(.78)}
.pc-list-cursor.out{opacity:0}
.pc-detail-cursor{left:70%;top:75%}
.pc-detail-cursor.in{opacity:1}
.pc-detail-cursor.move{left:88%;top:17%}
.pc-detail-cursor.click{transform:scale(.78)}
.pc-detail-cursor.out{opacity:0}
.pc-detail-list-title{font-size:9.5px;font-weight:700;color:var(--fg1);margin-top:7px;margin-bottom:4px}
.pc-detail-list{display:flex;flex-direction:column;gap:2px;font-size:8px;flex:1;overflow:hidden}
.pc-detail-list-row{display:grid;grid-template-columns:.85fr .35fr .25fr 1fr .55fr .55fr;gap:6px;padding:5px 8px;border-radius:5px;border:.5px solid var(--border);background:#fff;align-items:center}
.pc-detail-list-row.head{background:#FAFAFA;border:none;font-weight:700;color:var(--fg2);font-size:7px;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px}
.pc-detail-list-row .d-name{font-weight:600;color:var(--fg1);font-size:8.5px;display:flex;align-items:center;gap:4px}
.pc-detail-list-row .d-name::before{content:"";width:4px;height:4px;border-radius:50%;background:#9CA3AF;display:inline-block;flex-shrink:0}
.pc-detail-list-row .d-val{font-weight:600;color:var(--fg1);font-size:8.5px}
.pc-detail-list-row .d-unit{color:var(--fg1);font-size:8.5px}
.pc-detail-list-row .d-file{color:var(--muted);font-size:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pc-detail-list-row .d-status{font-size:7px;font-weight:700;text-align:center;padding:2px 0;border-radius:999px}
.pc-detail-list-row .d-status.scheduled{background:#EFF6FF;color:#2563EB}
.pc-detail-list-row .d-status.unsubmitted{background:#F3F4F6;color:#6B7280}
.pc-detail-list-row .d-action{font-size:7px;font-weight:700;text-align:center;padding:3px 0;border-radius:5px}
.pc-detail-list-row .d-action.scheduled{background:#EFF6FF;color:#2563EB;border:.5px solid rgba(37,99,235,.25)}
.pc-detail-list-row .d-action.upload{background:var(--green);color:#fff}
.mb-screen{position:absolute;inset:0;padding:18px 12px 12px;background:#fff;opacity:0;transition:opacity 380ms ease;display:flex;flex-direction:column;gap:7px;border-radius:30px;overflow:hidden}
.mb-screen.show{opacity:1}
.mb-statusbar{display:flex;justify-content:space-between;align-items:center;font-size:8px;color:var(--fg1);font-weight:700;padding:0 6px;margin-bottom:2px}
.mb-title{font-size:12px;font-weight:700;color:var(--fg1);padding:0 4px}
.mb-list-row{background:#fff;border:.5px solid var(--border);border-radius:6px;padding:5px 8px;font-size:8.5px;display:flex;align-items:center;gap:6px;color:var(--fg1)}
.mb-list-row .mb-list-name{font-weight:600;white-space:nowrap}
.mb-list-row .mb-list-scope{font-size:6.5px;font-weight:700;background:#FFF7ED;color:#D97706;padding:1px 5px;border-radius:999px;border:.5px solid rgba(217,119,6,.25);white-space:nowrap;flex-shrink:0}
.mb-list-row .mb-list-scope.s2{background:var(--blue-50);color:var(--blue);border-color:rgba(25,181,254,.25)}
.mb-list-row .mb-list-scope.s3{background:#FFE9DC;color:#EA580C;border-color:rgba(234,88,12,.25)}
.mb-list-row .mb-list-status{font-size:7px;color:var(--fg2);font-weight:600;margin-left:auto;white-space:nowrap}
.mb-list-row.highlight{background:var(--green-50);border-color:rgba(18,158,123,.4);color:var(--green)}
.mb-list-row.highlight .mb-list-status{color:var(--green);font-weight:700}
.mb-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:5px}
.mb-stat-card{border:.5px solid var(--border);border-radius:6px;padding:5px 6px;display:flex;flex-direction:column;gap:1px;background:#fff}
.mb-stat-card.red{background:linear-gradient(135deg,#FAFAFA 0%,#F4F4F4 100%)}
.mb-stat-card.green{background:linear-gradient(135deg,#F4FDF8 0%,#EDFCF6 100%);border-color:rgba(18,158,123,.2)}
.mb-stat-card.blue{background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%);border-color:rgba(25,181,254,.2)}
.mb-stat-head{font-size:7px;color:var(--fg2);font-weight:600}
.mb-stat-val{font-size:13px;font-weight:700;color:var(--fg1);letter-spacing:-.2px;line-height:1}
.mb-stat-meta{font-size:6.5px;color:var(--fg2);font-weight:600}
.mb-stat-bar{height:2px;background:rgba(0,0,0,.06);border-radius:999px;overflow:hidden;margin-top:1px}
.mb-stat-bar-fill{height:100%;border-radius:999px}
.mb-stat-card.red .mb-stat-bar-fill{background:#9CA3AF}
.mb-stat-card.green .mb-stat-bar-fill{background:var(--green)}
.mb-stat-card.blue .mb-stat-bar-fill{background:var(--blue)}
.mb-list-subhead{font-size:8px;font-weight:700;color:var(--fg1);margin-bottom:1px}
.mb-list-subhead .mb-list-count{font-weight:500;color:var(--fg2);margin-left:4px;font-size:7px}
.mb-detail-info{background:var(--bg2);border-radius:7px;padding:7px 8px}
.mb-info-row{display:flex;justify-content:space-between;padding:2px 0;font-size:9px;color:var(--fg1)}
.mb-info-row span:first-child{color:var(--fg2)}
.mb-upload-btn{padding:8px;background:var(--green);color:#fff;border-radius:7px;text-align:center;font-size:10px;font-weight:700;animation:pulseBtn 1.4s ease-in-out infinite}
.mb-camera-btn{padding:8px;background:#fff;border:.5px solid var(--border);color:var(--fg1);border-radius:7px;text-align:center;font-size:9px;font-weight:600;display:flex;align-items:center;gap:5px;justify-content:center}
.mb-camera{position:absolute;inset:0;background:#1a1a1a;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px}
.mb-receipt-img{width:88%;background:#fff;padding:10px 8px;border-radius:4px;font-family:'Courier New',monospace;font-size:7px;color:#000;line-height:1.5;transform:rotate(-1deg);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.mb-receipt-img .r-line{display:flex;justify-content:space-between;border-bottom:.5px dashed #999;padding:1px 0}
.mb-receipt-img .r-amount{font-size:11px;font-weight:700;text-align:center;margin-top:3px;border-top:1px solid #000;padding-top:3px}
.mb-camera-shutter{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);width:42px;height:42px;border-radius:50%;background:#fff;border:3px solid rgba(255,255,255,.4);box-shadow:0 0 0 2px rgba(255,255,255,.2);animation:shutterPulse 1.4s ease-in-out infinite}
@keyframes shutterPulse{0%,100%{transform:translateX(-50%) scale(1)}50%{transform:translateX(-50%) scale(.9)}}
.mb-ocr-result{background:var(--green-50);border:.5px solid rgba(18,158,123,.3);border-radius:8px;padding:10px}
.mb-ocr-lbl{font-size:9px;color:var(--fg2);margin-bottom:3px}
.mb-ocr-val{font-size:18px;font-weight:700;color:var(--green);letter-spacing:-.5px}
.mb-ocr-meta{font-size:8px;color:var(--fg2);margin-top:3px}
.mb-confirm-btn{padding:9px;background:var(--green);color:#fff;border-radius:7px;text-align:center;font-size:10px;font-weight:700;animation:pulseBtn 1.4s ease-in-out infinite}
.mb-chart-svg{width:100%;aspect-ratio:200/60;flex:none}
.demo-progress{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:6px;z-index:5}
.demo-dot{width:24px;height:3px;border-radius:2px;background:rgba(0,0,0,.12);transition:all 320ms;cursor:pointer}
.demo-dot.active{background:var(--green);width:36px}
@media (max-width:1100px){.feat-tabs{grid-template-columns:repeat(2,1fr)}.demo-grid{grid-template-columns:1fr;gap:40px}.demo-pc{aspect-ratio:16/10}}
.pc-cursor{position:absolute;z-index:10;pointer-events:none;display:flex;align-items:flex-start;gap:6px;left:60%;top:65%;opacity:0}
.pc-cursor-arrow{flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.pc-cursor-files{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--green);border-radius:6px;padding:4px 7px;box-shadow:0 6px 18px rgba(18,158,123,.25);font-size:8px;color:var(--fg1);font-weight:600;transform:rotate(-3deg);white-space:nowrap}
.pc-cursor-files .cf-row{display:flex;align-items:center;gap:3px}
@keyframes pcDrag{
  0%{left:62%;top:72%;opacity:0;transform:scale(.85)}
  10%{opacity:1;transform:scale(1)}
  55%{left:32%;top:42%;opacity:1;transform:scale(1)}
  85%{left:32%;top:42%;opacity:1;transform:scale(1.04)}
  100%{left:32%;top:42%;opacity:0;transform:scale(.9)}
}
.pc-screen[data-step="3"].show .pc-cursor{animation:pcDrag 2.2s ease-out forwards}
.pc-ocr-split{display:grid;grid-template-columns:1fr 1.1fr;gap:8px;flex:1;min-height:0}
.pc-ocr-preview{background:var(--bg2);border-radius:6px;padding:6px;overflow:hidden;display:flex;flex-direction:column}
.pc-ocr-preview-title{font-size:8px;color:var(--fg2);margin-bottom:3px;font-weight:700}
.pc-ocr-receipt{background:#fff;border-radius:3px;padding:6px 7px;font-family:'Courier New',monospace;font-size:6px;line-height:1.5;color:#000;flex:1}
.pc-ocr-receipt .o-shop{font-weight:700;font-size:7px;text-align:center;margin-bottom:2px}
.pc-ocr-receipt .o-date{font-size:5.5px;text-align:center;margin-bottom:3px;color:#666}
.pc-ocr-receipt .o-line{display:flex;justify-content:space-between;border-bottom:.5px dashed #999;padding:1px 0}
.pc-ocr-receipt .o-highlight{background:#FEF3C7;padding:0 3px;color:#854D0E;font-weight:700;border-radius:2px}
.pc-ocr-receipt .o-amount{text-align:center;font-weight:700;border-top:1px solid #000;padding-top:3px;margin-top:3px;font-size:8px}
.pc-ocr-results{display:flex;flex-direction:column;gap:4px;overflow:hidden}
.pc-ocr-file{background:#EFFAF3;border:.5px solid rgba(18,158,123,.3);border-radius:6px;padding:5px 7px;animation:fadeUp 380ms ease backwards}
.pc-ocr-file:nth-child(2){animation-delay:140ms}
.pc-ocr-file:nth-child(3){animation-delay:280ms}
.pc-ocr-file.processing{background:#FFFBEB;border-color:rgba(217,119,6,.3)}
.pc-ocr-file-row{display:flex;justify-content:space-between;align-items:center}
.pc-ocr-file-name{font-weight:600;color:var(--fg1);font-size:9px}
.pc-ocr-file-val{font-weight:700;color:var(--green);font-size:11px}
.pc-ocr-file-val.zero{color:var(--fg2)}
.pc-ocr-status{display:flex;gap:4px;margin-top:2px;align-items:center}
.pc-ocr-badge{padding:1px 6px;border-radius:999px;font-weight:700;font-size:7px}
.pc-ocr-badge.ok{background:var(--green);color:#fff}
.pc-ocr-badge.processing{background:#FEF3C7;color:#854D0E}
.pc-ocr-conf{font-size:7px;color:var(--fg2)}
.chart-line{stroke-dasharray:600;stroke-dashoffset:600}
.pc-screen[data-step="5"].show .chart-line{animation:drawLine 1.6s ease forwards .3s}
@keyframes drawLine{to{stroke-dashoffset:0}}
.chart-point{opacity:0}
.pc-screen[data-step="5"].show .chart-point{animation:showPoint .4s ease forwards}
@keyframes showPoint{to{opacity:1}}
.mb-chart-line{stroke-dasharray:300;stroke-dashoffset:300}
.mb-screen[data-step="5"].show .mb-chart-line{animation:drawLineMb 1.4s ease forwards .3s}
@keyframes drawLineMb{to{stroke-dashoffset:0}}
.mb-chart-point{opacity:0}
.mb-screen[data-step="5"].show .mb-chart-point{animation:showPoint .35s ease forwards}
.pc-stage{position:absolute;inset:0;background:#fff;border-radius:14px;overflow:hidden;isolation:isolate}
.pc-stage-topbar{position:absolute;top:0;left:0;right:0;padding:9px 12px;display:flex;align-items:center;gap:6px;border-bottom:.5px solid var(--bg2);background:#fff;z-index:5}
.pc-stage-topbar .dot-r{width:7px;height:7px;border-radius:50%;background:#FF5F57}
.pc-stage-topbar .dot-y{width:7px;height:7px;border-radius:50%;background:#FEBC2E}
.pc-stage-topbar .dot-g{width:7px;height:7px;border-radius:50%;background:#28C840}
.pc-stage-topbar .pc-url{margin-left:8px;background:var(--bg2);padding:3px 10px;border-radius:999px;font-size:9px;color:var(--fg2);transition:opacity 300ms}
.pc-page{position:absolute;left:0;right:0;top:32px;bottom:0;padding:10px 14px;display:flex;flex-direction:column;gap:7px;opacity:0;pointer-events:none;background:#fff;will-change:opacity}
.pc-page.list{transition:opacity 500ms ease}
.pc-page.list.show{opacity:1}
.pc-page.list.exit{opacity:0}
.pc-page.detail{transition:opacity 500ms ease}
.pc-page.detail.show{opacity:1}
.pc-page.detail.exit{opacity:0}
.pc-page.chart{transition:opacity 500ms ease}
.pc-page.chart.show{opacity:1}
.pc-overlay{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:opacity 400ms;z-index:8;pointer-events:none}
.pc-overlay.show{opacity:1}
.pc-modal{position:absolute;left:24px;right:24px;top:42px;bottom:24px;background:#fff;border-radius:10px;padding:11px 14px;display:flex;flex-direction:column;gap:7px;box-shadow:0 24px 60px rgba(0,0,0,.3);transform:translateY(120%);transition:transform 600ms cubic-bezier(.32,.72,.4,1);z-index:10}
.pc-modal.show{transform:translateY(0)}
.pc-modal-body{flex:1;position:relative;min-height:0}
.pc-modal-state{position:absolute;inset:0;display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity 400ms,transform 400ms;pointer-events:none}
.pc-modal-state.dropzone{transform:scale(.96)}
.pc-modal-state.dropzone.show{opacity:1;transform:scale(1)}
.pc-modal-state.dropzone.exit{opacity:0;transform:scale(.92)}
.pc-modal-state.results{transform:translateY(15px)}
.pc-modal-state.results.show{opacity:1;transform:translateY(0)}
.pc-modal-state.results .pc-ocr-file{opacity:0;transform:translateY(15px);transition:opacity 380ms,transform 380ms}
.pc-modal-state.results.show .pc-ocr-file:nth-child(1){opacity:1;transform:translateY(0);transition-delay:0ms}
.pc-modal-state.results.show .pc-ocr-file:nth-child(2){opacity:1;transform:translateY(0);transition-delay:180ms}
.pc-modal-state.results.show .pc-ocr-file:nth-child(3){opacity:1;transform:translateY(0);transition-delay:360ms}
.pc-cursor-anim{position:absolute;left:75%;top:75%;display:flex;align-items:flex-start;gap:6px;opacity:0;transition:left 1500ms cubic-bezier(.32,.72,.4,1),top 1500ms cubic-bezier(.32,.72,.4,1),opacity 300ms,transform 300ms;pointer-events:none;z-index:15;will-change:left,top,opacity,transform}
.pc-cursor-anim.in{opacity:1}
.pc-cursor-anim.move{left:35%;top:48%}
.pc-cursor-anim.drop{opacity:0;transform:scale(.8)}
.chart-line{stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1600ms ease}
.pc-page.chart.show .chart-line{stroke-dashoffset:0;transition-delay:150ms}
.chart-point{opacity:0;transition:opacity 1600ms ease}
.pc-page.chart.show .chart-point{opacity:1;transition-delay:150ms}
.mb-stage{position:absolute;inset:0;background:#fff;border-radius:30px;overflow:hidden}
.mb-page-anim{position:absolute;inset:0;padding:18px 12px 12px;display:flex;flex-direction:column;gap:7px;opacity:0;pointer-events:none}
.mb-page-anim.list{transition:opacity 500ms,transform 500ms}
.mb-page-anim.list.show{opacity:1}
.mb-page-anim.list.exit{opacity:0;transform:scale(1.05)}
.mb-page-anim.detail{transition:opacity 500ms,transform 500ms;transform:translateY(15px)}
.mb-page-anim.detail.show{opacity:1;transform:translateY(0)}
.mb-page-anim.detail.exit{opacity:0;transform:translateY(-10px)}
.mb-page-anim.chart{transition:opacity 500ms,transform 500ms;transform:translateY(10px)}
.mb-page-anim.chart.show{opacity:1;transform:translateY(0)}
.mb-overlay-anim{position:absolute;inset:0;background:rgba(0,0,0,.5);opacity:0;transition:opacity 300ms;z-index:8;pointer-events:none;border-radius:30px}
.mb-overlay-anim.show{opacity:1}
.mb-modal-anim{position:absolute;left:8px;right:8px;bottom:8px;background:#fff;border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;box-shadow:0 -8px 24px rgba(0,0,0,.2);transform:translateY(110%);transition:transform 500ms cubic-bezier(.32,.72,.4,1);z-index:10}
.mb-modal-anim.show{transform:translateY(0)}
.mb-modal-state-anim{display:flex;flex-direction:column;gap:6px;opacity:0;transition:opacity 400ms,transform 400ms;position:absolute;inset:10px}
.mb-modal-state-anim.show{opacity:1;position:relative;inset:0}
.mb-modal-state-anim.exit,.mb-modal-state-anim.show.exit{opacity:0;transform:translateY(-10px);position:absolute;inset:10px}
.mb-modal-anim{padding:10px;gap:6px}
.mb-camera-anim{position:absolute;inset:0;background:#000;border-radius:30px;display:flex;flex-direction:column;align-items:center;padding:18px 6px 12px;opacity:0;transition:opacity 400ms;z-index:20;overflow:hidden}
.mb-camera-anim.show{opacity:1}
.mb-cam-statusbar{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 14px;font-size:9px;color:#fff;font-weight:700;margin-bottom:6px;position:relative}
.mb-cam-island{position:absolute;left:50%;top:-3px;transform:translateX(-50%);background:#000;border-radius:999px;height:16px;width:60px;display:flex;align-items:center;justify-content:space-between;padding:0 7px;border:1px solid #222}
.mb-cam-dot-r{width:5px;height:5px;border-radius:50%;background:#FF3B30}
.mb-cam-dot-g{width:5px;height:5px;border-radius:50%;background:#34C759;animation:livePulse 1.6s ease-in-out infinite}
.mb-cam-flash{position:absolute;top:34px;right:14px;width:22px;height:22px;border-radius:50%;background:rgba(60,60,60,.55);display:flex;align-items:center;justify-content:center;font-size:11px;color:#FFD60A;font-weight:700}
.mb-cam-photo-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:8px 4px;position:relative;min-height:0}
.mb-cam-zoom{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.55);color:#FFD60A;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}
.mb-cam-mode{font-size:10px;color:#FFD60A;font-weight:700;margin:6px 0;letter-spacing:.04em}
.mb-cam-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;padding:0 14px;margin-top:auto;justify-items:center}
.mb-cam-cancel{justify-self:start}
.mb-cam-flip{justify-self:end}
.mb-cam-cancel,.mb-cam-flip{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:center;font-weight:600}
.mb-cam-shutter-new{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #000,0 0 0 4px #fff;animation:camShutterPulse 1.4s ease-in-out infinite;flex-shrink:0}
@keyframes camShutterPulse{0%,100%{transform:scale(1)}50%{transform:scale(.92)}}
.mb-month-mini{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden;margin-top:4px}
.mb-month-mini-row{display:grid;grid-template-columns:.7fr .9fr .5fr;gap:5px;padding:4px 7px;background:#fff;border:.5px solid var(--border);border-radius:5px;font-size:8px;align-items:center}
.mb-month-mini-row span:first-child{color:var(--fg1);font-weight:600}
.mb-month-mini-row .mini-val{color:var(--fg1);font-weight:700;text-align:right;font-size:8.5px}
.mb-month-mini-row .mini-status{font-size:7px;font-weight:700;color:var(--green);text-align:center;background:var(--green-50);padding:2px 0;border-radius:999px}
.mb-list-row{padding:5px 8px}
.mb-detail-info{padding:6px 8px}
.mb-chart-line2{stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1400ms ease}
.mb-page-anim.chart.show .mb-chart-line2{stroke-dashoffset:0;transition-delay:150ms}
.mb-chart-point2{opacity:0;transition:opacity 1400ms ease}
.mb-page-anim.chart.show .mb-chart-point2{opacity:1;transition-delay:150ms}
.pc-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.pc-list-title-big{font-size:13px;font-weight:700;color:var(--fg1);letter-spacing:-.3px}
.pc-list-meta{font-size:8px;color:var(--fg2);font-weight:600}
.pc-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:6px}
.pc-stat-card{background:#fff;border:.5px solid var(--border);border-radius:7px;padding:6px 8px;display:flex;flex-direction:column;gap:2px}
.pc-stat-card.red{background:linear-gradient(135deg,#FAFAFA 0%,#F4F4F4 100%)}
.pc-stat-card.green{background:linear-gradient(135deg,#F4FDF8 0%,#EDFCF6 100%);border-color:rgba(18,158,123,.2)}
.pc-stat-card.blue{background:linear-gradient(135deg,#F0F9FF 0%,#E0F2FE 100%);border-color:rgba(25,181,254,.2)}
.pc-stat-head{display:flex;align-items:center;gap:4px;font-size:8px;color:var(--fg2);font-weight:600}
.pc-stat-icon-sm{width:14px;height:14px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}
.pc-stat-card.red .pc-stat-icon-sm{background:#F3F4F6;color:#6B7280}
.pc-stat-card.green .pc-stat-icon-sm{background:var(--green-50);color:var(--green)}
.pc-stat-card.blue .pc-stat-icon-sm{background:var(--blue-50);color:var(--blue)}
.pc-stat-val{font-size:14px;font-weight:700;color:var(--fg1);letter-spacing:-.3px;line-height:1}
.pc-stat-bar-row{display:flex;align-items:center;gap:5px;margin-top:1px}
.pc-stat-bar{flex:1;height:2.5px;background:rgba(0,0,0,.06);border-radius:999px;overflow:hidden}
.pc-stat-bar-fill{height:100%;border-radius:999px}
.pc-stat-card.red .pc-stat-bar-fill{background:#9CA3AF}
.pc-stat-card.green .pc-stat-bar-fill{background:var(--green)}
.pc-stat-card.blue .pc-stat-bar-fill{background:var(--blue)}
.pc-stat-meta{font-size:7px;color:var(--fg2);font-weight:600}
.pl-subhead{font-size:9px;font-weight:700;color:var(--fg1);margin-bottom:2px;display:flex;align-items:baseline}
.pl-count{font-weight:500;color:var(--fg2);margin-left:5px;font-size:8px}
.pc-list-table{display:flex;flex-direction:column;gap:3px;font-size:8px;flex:1;overflow:hidden}
.pl-row{display:grid;grid-template-columns:32px 1.1fr .8fr 52px 44px 56px 50px;gap:5px;align-items:center;padding:5px 7px;border-radius:5px;background:#fff;border:.5px solid var(--border);transition:all 320ms}
.pl-row.head{background:transparent;border:none;font-weight:700;color:var(--fg2);font-size:7px;text-transform:uppercase;letter-spacing:.04em;padding:2px 7px}
.pl-row.highlight{background:var(--green-50);border:1px solid rgba(18,158,123,.4);transform:scale(1.012)}
.pl-scope.s3{background:#FFE9DC;color:#EA580C;border-color:rgba(234,88,12,.25)}
.pl-status{font-size:7px;font-weight:700;background:var(--green-50);color:var(--green);padding:1.5px 5px;border-radius:999px;text-align:center;display:inline-flex;align-items:center;gap:2.5px;justify-content:center}
.pl-status::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--green)}
.pl-name{font-weight:700;color:var(--fg1);font-size:9px}
.pl-corp{color:var(--fg1);font-size:8px}
.pl-scope{font-size:7px;font-weight:700;background:#FFF7ED;color:#D97706;padding:1.5px 5px;border-radius:999px;text-align:center;border:.5px solid rgba(217,119,6,.25)}
.pl-scope.s2{background:var(--blue-50);color:var(--blue);border-color:rgba(25,181,254,.25)}
.pl-energy{color:var(--fg1);font-size:8px}
.pl-submit{font-size:7px;color:#6B7280;font-weight:600}
.pl-action{padding:2.5px 6px;border:.5px solid var(--border);border-radius:5px;font-size:7px;background:#fff;color:var(--fg1);font-weight:600;text-align:center}
.pl-row.highlight .pl-action{background:var(--green);color:#fff;border-color:var(--green)}
.pc-detail-back{font-size:9px;color:var(--fg2);font-weight:600;margin-bottom:5px;display:flex;align-items:center;gap:4px}
.pc-detail-back-title{font-size:13px;font-weight:700;color:var(--fg1);letter-spacing:-.3px;margin-left:6px}
.pc-detail-card{background:#fff;border:.5px solid var(--border);border-radius:9px;padding:10px 12px;margin-bottom:5px}
.pc-detail-card-title{font-size:10px;font-weight:700;color:var(--fg1);margin-bottom:6px}
.pc-detail-card-head{display:flex;align-items:center;gap:6px;margin-bottom:3px}
.pc-detail-name{font-size:12px;font-weight:700;color:var(--fg1)}
.pc-dot{width:6px;height:6px;border-radius:50%;display:inline-block}
.pc-detail-desc{font-size:8px;color:var(--fg2);margin-bottom:8px}
.pc-detail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin-bottom:5px}
.pc-detail-grid:last-child{margin-bottom:0}
.pc-detail-grid .pc-info-cell{padding:0;background:transparent}
.pc-detail-grid .pc-info-cell-lbl{font-size:7px;margin-bottom:2px;color:var(--fg2)}
.pc-detail-grid .pc-info-cell-val{font-size:9.5px;font-weight:600;color:var(--fg1)}
.pc-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}
.pc-stat-card-mini{border-radius:7px;padding:8px 9px;display:flex;flex-direction:column;gap:2px}
.pc-stat-card-mini.cyan{background:#EFF8FB}
.pc-stat-card-mini.mint{background:#EFFAF3}
.pc-stat-card-mini.peach{background:#FEF6EC}
.pc-stat-card-mini.azure{background:#EBF5FE}
.pc-stat-card-lbl{font-size:8px;font-weight:600}
.pc-stat-card-mini.cyan .pc-stat-card-lbl{color:#0EA5E9}
.pc-stat-card-mini.mint .pc-stat-card-lbl{color:#10B981}
.pc-stat-card-mini.peach .pc-stat-card-lbl{color:#F59E0B}
.pc-stat-card-mini.azure .pc-stat-card-lbl{color:#3B82F6}
.pc-stat-card-val{font-size:14px;font-weight:700;color:var(--fg1);letter-spacing:-.3px}
.pc-stat-card-val span{font-size:8px;color:var(--fg2);font-weight:500;margin-left:1px}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
/* === 데이터 자동 추출 패널 === */
.ext-wrap{max-width:980px;margin:0 auto;padding:0 0 8px;width:100%}
.ext-pc-shell{background:#fff;border-radius:14px;border:.5px solid var(--border);box-shadow:0 16px 48px rgba(16,98,73,.12);overflow:hidden}
.ext-body{display:grid;grid-template-columns:1.05fr 78px .95fr;min-height:380px}
.ext-bill-pane{border-right:.5px solid var(--bg2);padding:11px 18px;display:flex;flex-direction:column;gap:7px}
.ext-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ext-pane-title{font-size:14px;font-weight:700;color:var(--fg1)}
.ext-ocr-badge{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:700;color:var(--green);background:var(--green-50);padding:4px 11px;border-radius:999px;border:.5px solid rgba(18,158,123,.2);flex-shrink:0}
.ext-ocr-pulse{width:7px;height:7px;border-radius:50%;background:var(--green);animation:livePulse 1.2s ease-in-out infinite;flex-shrink:0}
.ext-bill-doc{background:#F8F8F8;border:.5px solid #DCDCDC;border-radius:9px;padding:11px 14px;font-size:10px;color:#2a2a2a;line-height:1.55;position:relative;overflow:hidden;flex:1;font-family:var(--font)}
.ext-bill-header{text-align:center;padding-bottom:6px;border-bottom:1.5px solid #D0D0D0;margin-bottom:7px}
.ext-bill-divider{border-top:.5px dashed #D0D0D0;margin:4px 0}
.ext-bill-info-row{display:flex;justify-content:space-between;padding:2px 0;color:#666;font-size:9.5px}
.ext-bill-section-title{font-size:10px;font-weight:700;color:#333;margin-bottom:4px;letter-spacing:.05em}
.ext-bill-fee-row{display:flex;justify-content:space-between;padding:1.5px 0;color:#888;font-size:9.5px}
.ext-bill-key-section{background:rgba(235,235,235,.7);border-radius:6px;padding:6px 10px;margin:3px 0;border:.5px solid #D0D0D0}
.ext-key-row{display:flex;align-items:center;justify-content:space-between;padding:5px 8px;position:relative}
.ext-key-row+.ext-key-row{border-top:.5px dashed #D0D0D0}
.ext-key-right{display:flex;align-items:center;gap:7px}
.ext-key-lbl{font-size:10px;color:#666;letter-spacing:.03em}
.ext-key-val{font-size:12px;font-weight:700;color:#1a1a1a;letter-spacing:-.2px;text-align:right}
.ext-key-row{transition:background 260ms,box-shadow 260ms;border-radius:5px}
.ext-key-row.hl-y{background:rgba(245,158,11,.14);box-shadow:inset 0 0 0 2px #F59E0B}
.ext-key-row.hl-m{background:rgba(59,130,246,.12);box-shadow:inset 0 0 0 2px #3B82F6}
.ext-key-row.hl-u{background:rgba(18,158,123,.12);box-shadow:inset 0 0 0 2px #129E7B}
.ext-hl-tag{font-size:9px;font-weight:700;color:#fff;padding:2px 7px;border-radius:999px;white-space:nowrap;opacity:0;transition:opacity 250ms;flex-shrink:0}
.ext-hl-tag.show{opacity:1}
.ext-bill-total-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0}
.ext-bill-total-val{font-size:14px;font-weight:700;color:#1a1a1a}
.ext-scan{position:absolute;left:0;right:0;top:-4px;height:4px;background:linear-gradient(90deg,transparent 5%,rgba(18,158,123,.9) 50%,transparent 95%);opacity:0;pointer-events:none;z-index:5}
.ext-scan.active{animation:extScanSweep 1.4s linear forwards}
@keyframes extScanSweep{0%{top:-4px;opacity:0}6%{opacity:1}88%{top:calc(100% + 4px);opacity:.8}100%{top:calc(100% + 4px);opacity:0}}
.ext-center-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px 8px;border-right:.5px solid var(--bg2)}
.ext-ai-label{font-size:11px;font-weight:700;color:var(--green);background:var(--green-50);border:.5px solid rgba(18,158,123,.25);padding:7px 10px;border-radius:10px;text-align:center;line-height:1.45;opacity:0;transition:opacity 300ms}
.ext-ai-label.show{opacity:1}
.ext-flow-track{display:flex;flex-direction:column;gap:8px;align-items:center}
.ext-flow-dot{width:7px;height:7px;border-radius:50%;background:var(--green);opacity:0}
.ext-flow-dot.active{animation:extFlowPulse .9s ease-in-out infinite}
.ext-flow-dot.active:nth-child(2){animation-delay:.3s}
.ext-flow-dot.active:nth-child(3){animation-delay:.6s}
@keyframes extFlowPulse{0%,100%{opacity:.15;transform:scale(.7)}50%{opacity:1;transform:scale(1.15)}}
.ext-form-pane{padding:11px 18px;display:flex;flex-direction:column;gap:7px}
.ext-form-src-row{display:flex;align-items:center;gap:7px}
.ext-form-src-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}
.ext-form-src-name{font-size:14px;font-weight:700;color:var(--fg1)}
.ext-scope-bdg{font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}
.ext-scope-bdg.s2{background:var(--blue-50);color:var(--blue);border:.5px solid rgba(25,181,254,.25)}
.ext-unit-bdg{font-size:10px;font-weight:600;color:var(--fg2);background:var(--bg2);padding:3px 8px;border-radius:999px;margin-left:auto}
.ext-tbl{display:flex;flex-direction:column;gap:3px;flex:1}
.ext-tbl-row{display:grid;grid-template-columns:.9fr .45fr 1.2fr .45fr;gap:7px;padding:7px 10px;border-radius:7px;font-size:10px;align-items:center;border:.5px solid var(--border);background:#fff;transition:background 250ms,border-color 250ms}
.ext-tbl-row.head{background:transparent;border:none;font-weight:700;color:var(--fg2);font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;padding:3px 10px}
.ext-tbl-row span:first-child{font-weight:600;color:var(--fg1)}
.etv{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;transition:color 300ms}
.etv.filled{color:var(--fg1)}
.etf{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color 300ms}
.etf.filled{color:var(--fg2)}
.ets{font-size:10px;font-weight:700;text-align:center;padding:3px 4px;border-radius:999px;transition:all 300ms;white-space:nowrap}
.ets.none{background:var(--bg2);color:var(--fg2)}
.ets.done{background:var(--green-50);color:var(--green)}
.ext-tbl-row.flash{animation:extRowFlash 600ms ease}
@keyframes extRowFlash{0%,100%{background:#fff;border-color:var(--border)}40%{background:rgba(18,158,123,.13);border-color:rgba(18,158,123,.45)}}
.ext-tbl-row.active-row{border-color:rgba(18,158,123,.35);background:rgba(18,158,123,.03)}
.ext-success-banner{background:var(--green);border:none;border-radius:9px;padding:10px 14px;font-size:13px;font-weight:700;color:#fff;text-align:center;opacity:0;transition:opacity 400ms;margin-top:3px}
.ext-success-banner.show{opacity:1}
/* === 제3자 검증 비용·리소스 절감 패널 === */
/* === 제3자 검증 비용·리소스 절감 패널 === */
.val-wrap{max-width:960px;margin:0 auto;padding:0 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%}
.val-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:680px;width:100%;margin:0 auto}
.val-big-card{background:#fff;border-radius:18px;border:.5px solid var(--border);box-shadow:0 10px 36px rgba(16,98,73,.09);padding:32px 28px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(22px);transition:opacity 500ms ease,transform 500ms ease}
.val-big-card.show{opacity:1;transform:translateY(0)}
.val-big-icon{width:48px;height:48px;border-radius:13px;background:var(--green-50);display:flex;align-items:center;justify-content:center;margin-bottom:6px;flex-shrink:0}
.val-big-icon svg{stroke:var(--green)}
.val-big-lbl{font-size:12px;font-weight:700;color:var(--fg2);text-transform:uppercase;letter-spacing:.07em}
.val-big-before{font-size:16px;font-weight:700;color:var(--muted);text-decoration:line-through;margin-top:2px}
.val-big-after{font-size:40px;font-weight:700;color:var(--green);letter-spacing:-2px;line-height:1}
.val-big-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:700;color:var(--green);background:var(--green-50);padding:4px 12px;border-radius:999px;align-self:flex-start;margin-top:4px}
.val-success-banner{background:var(--green);border:none;border-radius:14px;padding:18px 28px;font-size:18px;font-weight:800;color:#fff;text-align:center;opacity:0;transition:opacity 400ms;width:100%;max-width:680px;margin:0 auto;letter-spacing:-.3px;box-shadow:0 8px 32px rgba(18,158,123,.35);display:flex;align-items:center;justify-content:center;gap:10px}
.val-success-banner.show{opacity:1}
/* === 실시간 피드백 패널 === */
.opn-wrap{max-width:960px;margin:0 auto;padding:0 0 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;height:100%}
.opn-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;width:100%}
.opn-card{background:#fff;border-radius:16px;border:.5px solid var(--border);box-shadow:0 6px 28px rgba(0,0,0,.07);padding:22px 20px;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(18px);transition:opacity 480ms ease,transform 480ms ease}
.opn-card.show{opacity:1;transform:translateY(0)}
.opn-card-hd{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--fg1);padding-bottom:12px;border-bottom:.5px solid var(--border)}
.opn-comment-item{border:.5px solid var(--border);border-radius:10px;overflow:hidden;opacity:0;transform:translateY(8px);transition:opacity 360ms ease,transform 360ms ease}
.opn-comment-item.show{opacity:1;transform:translateY(0)}
.opn-comment-hd{display:flex;align-items:center;gap:8px;padding:9px 13px;background:#F9FAFB;border-bottom:.5px solid var(--border);font-size:12px}
.opn-comment-num{font-weight:700;color:var(--fg2)}
.opn-badge-blue{font-size:10px;font-weight:700;color:#3B82F6;background:rgba(59,130,246,.1);padding:2px 8px;border-radius:999px}
.opn-comment-title{font-size:12px;color:var(--fg1);font-weight:500;flex:1}
.opn-comment-bd{padding:13px 14px;display:flex;flex-direction:column;gap:9px}
.opn-comment-top{display:flex;align-items:center;justify-content:space-between}
.opn-resolve-btn{display:flex;align-items:center;gap:5px;font-size:11px;padding:5px 12px;border-radius:8px;border:.5px solid var(--border);background:#fff;color:var(--fg2);cursor:default;font-family:var(--font)}
.opn-comment-author{display:flex;align-items:center;gap:7px;font-size:12px}
.opn-comment-author strong{font-weight:700}
.opn-comment-ts{color:var(--fg2);font-size:11px}
.opn-comment-tags{display:flex;flex-wrap:wrap;gap:5px}
.opn-tag{font-size:10px;padding:3px 8px;border-radius:6px;border:.5px solid var(--border);background:#F5F5F5;color:var(--fg2)}
.opn-comment-text{font-size:13px;color:var(--fg1)}
.opn-reply-btn{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:6px 13px;border-radius:8px;border:.5px solid var(--border);background:#fff;color:var(--fg2);cursor:default;font-family:var(--font);align-self:flex-start}
.opn-note-item{border:.5px solid #BFDBFE;border-radius:10px;background:#EFF6FF;padding:14px;opacity:0;transform:translateY(8px);transition:opacity 360ms ease,transform 360ms ease}
.opn-note-item.show{opacity:1;transform:translateY(0)}
.opn-note-badges{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.opn-badge-user{font-size:10px;font-weight:700;color:var(--fg2);border:.5px solid #CBD5E1;padding:2px 9px;border-radius:999px;background:#fff}
.opn-badge-notice{font-size:10px;font-weight:700;color:#fff;background:#3B82F6;padding:2px 9px;border-radius:999px}
.opn-note-attach{font-size:10px;color:var(--fg2);border:.5px solid var(--border);padding:2px 9px;border-radius:999px;background:#fff}
.opn-note-text{font-size:13px;font-weight:600;color:var(--fg1);margin-bottom:6px}
.opn-note-file{font-size:11px;color:var(--fg2);background:#fff;border:.5px solid #CBD5E1;padding:5px 10px;border-radius:7px;display:inline-block;margin-bottom:8px}
.opn-note-meta{font-size:10px;color:var(--fg2)}
.opn-success-banner{background:var(--green);border:none;border-radius:14px;padding:18px 28px;font-size:18px;font-weight:800;color:#fff;text-align:center;opacity:0;transition:opacity 400ms;width:100%;box-shadow:0 8px 32px rgba(18,158,123,.35);display:flex;align-items:center;justify-content:center;gap:10px}
.opn-success-banner.show{opacity:1}

@media(max-width:768px){.diff-heading-sh{font-size:22px !important;margin-bottom:16px !important}.diff-heading-sm{font-size:22px !important;margin-bottom:32px !important}}

@media(max-width:855px){
  .cta-banner { padding: 80px 40px !important; }
  .cta-inner { align-items: center !important; text-align: center !important; }
  .cta-inner > div:first-child { display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; }
  .cta-inner > div:first-child > div[style] { flex-direction: column !important; align-items: center !important; gap: 12px !important; }
  .cta-h, .cta-m { font-size: 36px !important; text-align: center !important; white-space: normal !important; }
  .cta-secondary, .cta-link { margin-left: 0 !important; margin-top: 0 !important; }
  .cta-btns { align-items: center !important; width: 100% !important; }
  .cta-btn-row { justify-content: center !important; flex-wrap: wrap !important; }
}
@media(max-width:768px){
  .cta-inner { align-items: center !important; text-align: center !important; }
  .cta-inner > div:first-child { display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; }
  .cta-inner > div:first-child > div[style] { justify-content: center !important; }
  .cta-h, .cta-m { text-align: center !important; white-space: normal !important; }
  .cta-secondary, .cta-link { margin-left: 0 !important; margin-top: 0 !important; }
  .cta-btns { align-items: center !important; width: 100% !important; }
  .cta-btn-row { justify-content: center !important; flex-wrap: wrap !important; }
}

/* diff video custom controls */
.diff-vc-wrap{position:relative}
.diff-vc-bar{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.45));opacity:0;transition:opacity 200ms;z-index:10;border-radius:0 0 12px 12px;box-sizing:border-box}
.diff-player-box:hover .diff-vc-bar{opacity:1}
@media(max-width:768px){.diff-player-box .diff-vc-bar{opacity:1 !important}}
.diff-vc-btn{width:30px;height:30px;border:none;background:rgba(255,255,255,.2);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;backdrop-filter:blur(4px);transition:background 150ms}
.diff-vc-btn:hover{background:rgba(255,255,255,.35)}
.diff-vc-btn svg{display:block}
.diff-vc-scrubber{flex:1;height:4px;appearance:none;background:rgba(255,255,255,.3);border-radius:999px;cursor:pointer;outline:none}
.diff-vc-scrubber::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;cursor:pointer;margin-top:-4px}
.diff-vc-scrubber::-webkit-slider-runnable-track{height:4px;border-radius:999px}
.diff-vc-time{font-size:11px;color:rgba(255,255,255,.8);white-space:nowrap;min-width:60px;text-align:right}

/* ── CTA 팝업 ── */
.diff-cta-popup{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);z-index:999;opacity:0;transition:opacity 500ms ease;pointer-events:none}
.diff-cta-popup.visible{opacity:1;pointer-events:auto}
.diff-cta-btn{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-size:15px;font-weight:700;padding:14px 28px;border-radius:999px;text-decoration:none;transition:background 150ms,box-shadow 150ms;box-shadow:0 4px 20px rgba(18,158,123,0.4);white-space:nowrap}
.diff-cta-btn:hover{background:var(--green-h);box-shadow:0 6px 28px rgba(18,158,123,0.5)}
@media(max-width:640px){.diff-cta-popup{bottom:20px;max-width:calc(100vw - 32px);width:max-content}.diff-cta-btn{font-size:clamp(11px,3.2vw,13px);padding:10px 16px;white-space:nowrap;gap:6px;max-width:100%;box-sizing:border-box}}
.mob-br { display: none; }
@media(max-width:855px) { .mob-br { display: inline; } }
@media(max-width:855px){.page-hero{min-height:calc(100vh - 68px) !important}.page-hero .h1{font-size:26px !important;letter-spacing:-0.6px !important;line-height:1.2 !important}.page-hero .lead{font-size:14px !important;margin-top:14px !important;line-height:1.6 !important}}
@media(max-width:855px){
  .pain-section { padding: 80px 80px !important; min-height: auto !important; }
  .pain-eyebrow { font-size: 14px !important; margin-bottom: 12px !important; }
  .pain-title { font-size: 14px !important; line-height: 1.4 !important; margin-bottom: 6px !important; }
  .pain-desc { font-size: 14px !important; line-height: 1.4 !important; }
  .pain-grid { grid-template-columns: 1fr 1fr !important; grid-auto-rows: 1fr !important; align-items: stretch !important; gap: 10px !important; }
  .pain-grid .pain-card:last-child:nth-child(odd) { grid-column: 1 / -1 !important; }
  .pain-card { min-height: auto !important; padding: 16px 14px !important; display: flex !important; flex-direction: column !important; }
  .pain-card-icon { width: 36px !important; height: 36px !important; }
  .pain-card-body { flex: 1; }
  .pain-card-title { font-size: 13px !important; line-height: 1.3 !important; }
  .pain-card-desc { font-size: 11px !important; line-height: 1.4 !important; margin-top: 6px !important; }
}

/* diff-zz 전체화면 버튼 */
.diff-zz-fs-btn{position:absolute;bottom:10px;right:10px;z-index:25;width:36px;height:36px;background:rgba(0,0,0,0.5);border:none;border-radius:6px;cursor:pointer;display:none;align-items:center;justify-content:center;transition:opacity 200ms;backdrop-filter:blur(4px)}
@media(max-width:768px){.diff-zz-fs-btn{display:flex}}
.diff-zz-fs-btn svg{display:block}
@media(max-width:768px){.pain-grid{grid-template-columns:1fr !important;gap:12px !important}.pain-card{text-align:left !important;align-items:flex-start !important;min-height:auto !important}}

/* ── DIFF VIDEO SECTION ── */
.diff-section{background:var(--bg2);padding:100px 0;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.diff-inner{max-width:var(--max-w);margin:0 auto}
@media(max-width:1280px){.diff-inner{padding:0 40px !important}}
.diff-heading-sh{font-size:52px;font-weight:700;line-height:1.15;color:var(--green);text-align:center;margin-bottom:56px}
@media(max-width:855px){.diff-heading-sh,.diff-heading-sm,.sol-title-head{font-size:35px !important;margin-bottom:28px !important}}
.diff-heading-sm{font-size:52px;font-weight:700;line-height:1.15;color:var(--muted);text-align:center;margin-bottom:0}
/* ── 지그재그 레이아웃 ── */
.diff-zz-list { display: flex; flex-direction: column; gap: 150px; margin-top: 80px; }
.diff-zz-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 60px; align-items: center; }
.diff-zz-row--reverse { grid-template-columns: 1.4fr 1fr; }
.diff-zz-row--reverse .diff-player-box { order: -1; }
.diff-zz-row:not(.diff-zz-row--reverse) .diff-zz-text { text-align: right; }
.diff-zz-text { min-width: 0; }
.diff-zz-eyebrow { font-size: 13px; font-weight: 700; color: var(--green); letter-spacing: 0.06em; margin-bottom: 14px; }
.diff-zz-title { font-size: 32px; font-weight: 800; color: var(--fg1); letter-spacing: -0.8px; line-height: 1.25; margin-bottom: 18px; }
.diff-zz-img { max-width: 200px; width: 55%; margin-top: 20px; border-radius: 12px; display: block; }
.diff-zz-desc { font-size: 20px; color: var(--fg2); line-height: 1.7; font-weight: 500; }
.diff-player-box { background: #fff; border: none !important; outline: none !important; box-shadow: none !important; overflow: hidden; border-radius: 20px; position: relative; }
.diff-player-box video, .diff-player-box iframe { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; background: #fff !important; border: 0 !important; outline: 0 !important; box-shadow: none !important; transform: scale(1.06) !important; transform-origin: center bottom !important; }
@media (max-width: 855px) {
  .diff-zz-list { gap: 60px; margin-top: 40px; }
  .diff-zz-row, .diff-zz-row--reverse { grid-template-columns: 1fr !important; gap: 28px !important; }
  .diff-zz-row--reverse .diff-player-box { order: 0 !important; }
  .diff-zz-row:not(.diff-zz-row--reverse) .diff-zz-text { text-align: left !important; }
  .diff-zz-title { font-size: 22px !important; letter-spacing: -0.4px !important; margin-bottom: 12px !important; }
  .diff-zz-desc { font-size: 15px !important; line-height: 1.6 !important; }
  .diff-zz-eyebrow { font-size: 11px !important; margin-bottom: 10px !important; }
}
@media (max-width: 768px) {

  .diff-zz-list { gap: 60px; margin-top: 40px; }
  .diff-zz-row, .diff-zz-row--reverse { grid-template-columns: 1fr !important; gap: 28px !important; }
  .diff-zz-row--reverse .diff-player-box { order: 0 !important; }
  .diff-zz-row:not(.diff-zz-row--reverse) .diff-zz-text { text-align: left !important; }
  .diff-zz-title { font-size: 22px !important; letter-spacing: -0.4px !important; margin-bottom: 12px !important; }
  .diff-zz-desc { font-size: 15px !important; line-height: 1.6 !important; }
  .diff-zz-eyebrow { font-size: 11px !important; margin-bottom: 10px !important; }
}
.diff-layout{display:grid;grid-template-columns:2fr 1fr;gap:20px;align-items:stretch}
.diff-main{display:flex;flex-direction:column;gap:16px}
.diff-text-card{background:#fff;border:.5px solid var(--border);border-radius:20px;padding:22px 32px;flex-shrink:0}
.diff-tag{display:none}
.diff-big-title{font-size:34px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1);margin-bottom:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1.2em}
.diff-hl{color:var(--green);display:inline;font-size:40px;letter-spacing:-1.2px;margin-left:6px;font-weight:800}
.diff-big-desc{font-size:16px;color:var(--fg2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.4em}
.diff-player-box{flex:1 1 0;border-radius:20px;overflow:hidden;background:#111;position:relative;min-height:600px}
@media(max-width:768px){.diff-player-box{flex:none;width:100%;min-height:0;aspect-ratio:16/9;position:relative}.diff-player-box iframe,.diff-player-box video{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}}
.diff-player-box iframe,.diff-player-box video{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
.diff-empty-player{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:rgba(255,255,255,.3);font-size:14px;text-align:center;position:absolute;inset:0}
.diff-empty-player p{margin:0;line-height:1.6}
.diff-thumb-list{display:grid;grid-template-rows:repeat(3,1fr);gap:10px}
.diff-thumb-item{background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;cursor:pointer;transition:border-color 200ms,box-shadow 200ms,transform 180ms;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.diff-thumb-item:hover{border-color:rgba(18,158,123,.4);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.07)}
.diff-thumb-item.active{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,158,123,.1)}
.diff-thumb-video-area{background:#F0F4F8;display:flex;align-items:center;justify-content:center;position:relative}
.diff-thumb-item.active .diff-thumb-video-area{background:rgba(18,158,123,.08)}
.diff-play-btn{width:36px;height:36px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform 180ms}
.diff-thumb-item:hover .diff-play-btn{transform:scale(1.1)}
.diff-idx-badge{position:absolute;top:8px;left:8px;font-size:10px;font-weight:800;color:var(--fg2);background:rgba(255,255,255,.9);padding:2px 7px;border-radius:999px;line-height:1.5}
.diff-thumb-item.active .diff-idx-badge{background:var(--green);color:#fff}
.diff-thumb-meta{padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:5px}
.diff-thumb-title{font-size:17px;font-weight:700;color:var(--fg1);line-height:1.35;letter-spacing:-.2px}
.diff-thumb-sub{font-size:14px;color:var(--fg2);line-height:1.4}
@media(max-width:1100px){.diff-layout{grid-template-columns:1fr}.diff-thumb-list{grid-template-rows:auto!important;grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.diff-section{padding:80px 20px}.diff-heading{font-size:36px;margin-bottom:40px}.diff-thumb-list{grid-template-columns:1fr}.diff-big-title{font-size:26px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.diff-big-desc{font-size:13px}.mb-br{display:inline}.diff-hl{font-size:30px}.diff-text-card{padding:18px 22px}.diff-thumb-item{min-height:88px}.diff-thumb-video-area{min-height:88px}.diff-thumb-meta{padding:12px 14px}}
@media(max-width:768px){.diff-big-title{line-height:1.15!important;word-break:keep-all!important;text-align:left!important}.diff-big-title .diff-hl{margin-left:0!important}.diff-big-desc{text-align:left!important}.diff-text-card{box-sizing:border-box!important;max-width:100%!important}.diff-text-card .diff-big-desc{line-height:1.6!important}}

/* ── VC: 한-번에 floating panel ── */
.vc-stage-wrap{position:relative;overflow:hidden;border-radius:14px}
.vc-stage{position:relative;width:100%;max-width:860px;height:100%;min-height:460px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.vc-center{background:#fff;border:.5px solid var(--border);border-radius:18px;padding:16px 20px;width:auto;min-width:155px;max-width:200px;box-shadow:0 8px 40px rgba(0,0,0,.07);z-index:10;position:relative}
.vc-float-card{position:absolute;background:#fff;border:.5px solid var(--border);border-radius:12px;padding:12px 14px;min-width:220px;box-shadow:0 4px 20px rgba(0,0,0,.06);z-index:20;display:flex;align-items:center;justify-content:center;gap:10px;opacity:0;transition:opacity 600ms}
.vc-float-card.vc-show{opacity:1}
.vc-fc-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.vc-fc-title{font-size:13px;font-weight:600;color:var(--fg1);line-height:1.3}
.vc-fc-sub{font-size:11px;color:var(--fg2);margin-top:2px;line-height:1.35}
.vc-fc-pill{font-size:10.5px;font-weight:600;padding:3px 8px;border-radius:999px;background:var(--green-50);color:var(--green);margin-top:5px;display:inline-block}
.vc-fc-1{top:20px;left:8px;animation:vcFloat 3.2s ease-in-out infinite}
.vc-fc-2{top:20px;right:8px;animation:vcFloat 3.5s ease-in-out infinite;animation-delay:.8s}
.vc-fc-3{bottom:20px;left:8px;animation:vcFloat 2.8s ease-in-out infinite;animation-delay:.4s}
.vc-fc-4{bottom:20px;right:8px;animation:vcFloat 3.1s ease-in-out infinite;animation-delay:1.2s}
.vc-fc-5{top:50%;left:8px;transform:translateY(-50%);animation:vcFloatH 3.4s ease-in-out infinite;animation-delay:.6s}
.vc-fc-6{top:50%;right:8px;transform:translateY(-50%);animation:vcFloatH 2.9s ease-in-out infinite;animation-delay:1s}
@keyframes vcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes vcFloatH{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(5px)}}
.vc-conn-lines{position:absolute;inset:0;pointer-events:none;z-index:5}
.vc-conn-line{stroke:var(--green);stroke-width:1.5;fill:none;stroke-dasharray:5 7;opacity:.65;animation:vcDash 3s linear infinite}
@keyframes vcDash{from{stroke-dashoffset:200}to{stroke-dashoffset:0}}

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


/* === CTA 섹션 모바일 중앙정렬 + Pain section (data 페이지 기준 동일) === */
@media (max-width: 768px) {
  .cta-banner { text-align: center !important; padding: 40px 20px !important; }
  .cta-inner { align-items: center !important; gap: 24px !important; }
  .cta-inner > div:first-child { width: 100%; }
  .cta-h, .cta-m { font-size: 26px !important; letter-spacing: -0.6px !important; line-height: 1.25 !important; }
  .cta-h, .cta-m { text-align: center !important; white-space: normal !important; }
  .cta-inner > div:first-child { align-items: center !important; justify-content: center !important; display: flex !important; flex-direction: column !important; width: 100% !important; }
  .cta-secondary, .cta-link { margin-left: 0 !important; margin-top: 0 !important; align-self: center !important; }
  .cta-btns { align-items: center !important; width: 100%; }
  .cta-primary-row { justify-content: center !important; width: 100%; flex-wrap: nowrap !important; gap: 8px !important; }
  .cta-primary-row .btn-g, .cta-primary-row .btn-p {
    flex: 1 !important; min-width: 0 !important;
    padding: 12px 12px !important; font-size: 13px !important;
  }
  .cta-secondary { align-self: center !important; font-size: 13px !important; }

  /* Pain section — data 페이지 기준 (min-height 100vh 제거 + 폰트/padding 동일) */
  .pain-section { padding: 80px 20px !important; min-height: auto !important; }
  .pain-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .pain-card { min-height: auto !important; text-align: left !important; align-items: flex-start !important; }
  .pain-title-head { font-size: clamp(22px, 6vw, 28px) !important; letter-spacing: 0.01em !important; line-height: 1.2 !important; }
  .pain-eyebrow { font-size: 14px !important; margin-bottom: 12px !important; }
  .pain-title { font-size: 14px !important; line-height: 1.4 !important; margin-bottom: 6px !important; }
  .pain-desc { font-size: 14px !important; line-height: 1.4 !important; }

  /* Pain grid 2x2 */
  .pain-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  /* 홀수개일 때 마지막 카드 전체 폭 */
  .pain-grid .pain-card:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
  }
  .pain-card { min-height: auto !important; padding: 16px 14px !important; }
  /* HTML 은 .pain-icon, .pain-title, .pain-desc 사용 (.pain-card-* 아님) */
  .pain-icon, .pain-card-icon { width: 52px !important; height: 52px !important; }
  .pain-icon svg, .pain-card-icon svg { width: 26px !important; height: 26px !important; }

  .pain-desc, .pain-card-desc {
    line-height: 1.6 !important;
    min-height: calc(2 * 1.6em) !important;
    word-break: keep-all !important;
  }
}


/* === Solution 공통: hero 모바일 (data 페이지 기준 동일) === */
@media (max-width: 768px) {
  .page-hero {
    padding: 100px 20px !important;
    min-height: auto !important;
    align-items: flex-start !important;
    text-align: center !important;
  }
  .page-hero-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  .page-hero-left {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .page-hero-left .h1,
  .page-hero-left .lead { text-align: center !important; }
  .page-hero .h1 {
    font-size: 28px !important;
    letter-spacing: -0.6px !important;
    line-height: 1.2 !important;
  }
  .page-hero .lead {
    font-size: 14px !important;
    margin-top: 14px !important;
    line-height: 1.5 !important;
  }
}

/* === vc-stage 모바일 — 로고 상단 + 6개 카드 staggered, 점선이 로고로 수렴 === */
@media (max-width: 768px) {
  .vc-stage-wrap { overflow: visible !important; }
  .vc-stage {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    height: auto !important;
    max-width: 100% !important;
    padding: 16px 8px 20px !important;
    position: relative !important;
  }
  /* 카본링크 로고 — 가장 상단 중앙 */
  .vc-center {
    order: -1 !important;
    align-self: center !important;
    margin-bottom: 32px !important;
    padding: 14px 22px !important;
    min-width: 0 !important;
    max-width: none !important;
    z-index: 30 !important;
    position: relative !important;
  }
  /* 6개 카드 — flex row pairs, 줄마다 stagger.
     초기엔 아래에서 위로 순차 등장 (vcFcRise) → 끝나면 float 애니메이션으로 이어짐 */
  .vc-float-card {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    opacity: 0;
    transform: translateY(36px);
    width: 58% !important;
    margin-bottom: 14px !important;
    z-index: 20 !important;
    justify-content: center !important;
  }
  /* 각 카드: 등장 애니메이션(fwd) + 이어서 float (infinite) — comma 로 두 애니메이션 결합 */
  .vc-fc-1 {
    order: 1 !important; align-self: flex-start !important; margin-left: 2% !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 0ms forwards,
      vcFloat 3.2s ease-in-out 600ms infinite !important;
  }
  .vc-fc-2 {
    order: 2 !important; align-self: flex-end !important; margin-right: 2% !important; margin-top: 0 !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 200ms forwards,
      vcFloat 3.5s ease-in-out 800ms infinite !important;
  }
  .vc-fc-3 {
    order: 3 !important; align-self: flex-start !important; margin-left: 14% !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 400ms forwards,
      vcFloat 2.8s ease-in-out 1000ms infinite !important;
  }
  .vc-fc-4 {
    order: 4 !important; align-self: flex-end !important; margin-right: 14% !important; margin-top: 0 !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 600ms forwards,
      vcFloat 3.1s ease-in-out 1200ms infinite !important;
  }
  .vc-fc-5 {
    order: 5 !important; align-self: flex-start !important; margin-left: 2% !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 800ms forwards,
      vcFloat 3.4s ease-in-out 1400ms infinite !important;
  }
  .vc-fc-6 {
    order: 6 !important; align-self: flex-end !important; margin-right: 2% !important; margin-top: 0 !important;
    animation:
      vcFcRise 600ms cubic-bezier(.34,1.2,.64,1) 1000ms forwards,
      vcFloat 2.9s ease-in-out 1600ms infinite !important;
  }

  /* 기존 pseudo-element 점선은 제거 (SVG 대각선 수렴 선으로 교체) */
  .vc-float-card::before { display: none !important; }

  /* 기존 데스크톱 SVG 연결선 숨김 */
  .vc-conn-lines { display: none !important; }
  /* 모바일 전용 SVG 대각선 수렴 선 — display:block 으로 깔되 opacity:0 유지.
     JS 가 좌표 갱신 후 .vc-ready 추가 → opacity 1 로 fade-in (깜빡임 방지) */
  .vc-mobile-lines {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 2 !important;
    opacity: 0 !important;
  }
  .vc-mobile-lines.vc-ready { opacity: 1 !important; }
  .vc-mline {
    stroke: var(--green);
    stroke-width: 1.5;
    fill: none;
    stroke-dasharray: 5 7;
    opacity: .6;
    animation: vcMlineFlow 1.8s linear infinite;
  }
}

/* 카드 등장 (아래에서 위로 페이드인) — 전역 키프레임 */
@keyframes vcFcRise {
  from { opacity: 0; transform: translateY(36px); }
  to   { opacity: 1; transform: translateY(0); }
}
/* 모바일 대각선 점선이 카드에서 로고 방향으로 흘러가는 효과 */
@keyframes vcMlineFlow {
  from { stroke-dashoffset: 60; }
  to   { stroke-dashoffset: 0; }
}
/* 모바일 SVG 수렴 선 — 데스크톱에선 숨김. 모바일에선 JS 가 .vc-ready 클래스를 붙인 뒤에만 노출 (좌표 깜빡임 방지) */
.vc-mobile-lines { display: none; opacity: 0; transition: opacity 250ms ease; }
/* mb-br: 모바일에서만 줄바꿈, 데스크톱에선 무시 */
.mb-br { display: none; }
@media (max-width: 768px) {
  .mb-br { display: inline; }
}

@media (max-width: 768px) {
  /* 카드 내부 폰트 (위 블록 마감 후 새 블록으로 분리됐으므로 다시 한번) */

  /* 카드 내부 폰트 약간 축소 */
  .vc-fc-title { font-size: 12px !important; }
  .vc-fc-sub { font-size: 10px !important; }
  .vc-fc-pill { font-size: 9.5px !important; padding: 2px 6px !important; }
  .vc-fc-icon { width: 28px !important; height: 28px !important; }
}

/* === val-cards-grid (제3자 검증 비용·리소스 절감) — 모바일 1열 + 좌측 라벨 / 우측 숫자·칩 배치 === */
@media (max-width: 768px) {
  .val-wrap { gap: 10px !important; padding: 0 !important; }
  .val-cards-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* val-big-card: 좌측 (icon/lbl/before) + 우측 (after 큰 숫자 vcenter + pill 하단) grid */
  .val-big-card {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto auto !important;
    column-gap: 14px !important;
    row-gap: 4px !important;
    align-items: center !important;
    padding: 16px 18px !important;
    border-radius: 14px !important;
  }
  .val-big-card .val-big-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 38px !important; height: 38px !important; border-radius: 10px !important; margin-bottom: 0 !important;
  }
  .val-big-card .val-big-icon svg { width: 18px !important; height: 18px !important; }
  .val-big-card .val-big-lbl {
    grid-column: 1 !important;
    grid-row: 2 !important;
    font-size: 10.5px !important; letter-spacing: .05em !important; margin-top: 4px !important;
  }
  .val-big-card .val-big-before {
    grid-column: 1 !important;
    grid-row: 3 !important;
    font-size: 13px !important; margin-top: 0 !important;
  }
  /* 우측: 큰 숫자 — 좌측 3행 전체 높이에서 vertical center */
  .val-big-card .val-big-after {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: end !important;
    font-size: 30px !important;
    letter-spacing: -1.2px !important;
    line-height: 1 !important;
  }
  /* 우측 하단: pill */
  .val-big-card .val-big-pill {
    grid-column: 2 !important;
    grid-row: 3 !important;
    justify-self: end !important;
    font-size: 10.5px !important; padding: 3px 10px !important; margin-top: 0 !important;
    align-self: center !important;
  }
  /* success banner — opn 과 동일하게 통일 (14px) */
  .val-success-banner { font-size: 14px !important; padding: 12px 16px !important; border-radius: 10px !important; }
}

/* === opn-grid (검증 위원과 실시간 피드백) — 모바일 1열 + 아래에서 위로 순차 등장 === */
@media (max-width: 768px) {
  .opn-wrap { gap: 10px !important; padding: 0 !important; }
  .opn-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  /* opn-card: JS 가 .show 클래스 토글로 표시, 초기엔 아래로 36px translateY + opacity 0 */
  .opn-card {
    padding: 14px 14px !important;
    border-radius: 12px !important;
    gap: 8px !important;
    opacity: 0;
    transform: translateY(36px);
    transition: opacity 600ms cubic-bezier(.34,1.2,.64,1), transform 600ms cubic-bezier(.34,1.2,.64,1) !important;
  }
  .opn-card.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  .opn-card-hd { font-size: 13px !important; padding-bottom: 8px !important; }
  .opn-comment-item, .opn-note-item {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 480ms cubic-bezier(.34,1.2,.64,1), transform 480ms cubic-bezier(.34,1.2,.64,1) !important;
  }
  .opn-comment-item.show, .opn-note-item.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  .opn-comment-hd { padding: 7px 10px !important; font-size: 11px !important; }
  .opn-comment-bd { padding: 10px 11px !important; gap: 7px !important; }
  .opn-comment-text { font-size: 12px !important; }
  .opn-note-item { padding: 11px !important; }
  .opn-note-text { font-size: 12px !important; }
  .opn-note-file { font-size: 10px !important; }
  .opn-note-meta { font-size: 9.5px !important; }
  .opn-resolve-btn, .opn-reply-btn { font-size: 10.5px !important; padding: 4px 10px !important; }
  /* success banner — val 과 동일하게 통일 (14px) */
  .opn-success-banner { font-size: 14px !important; padding: 12px 16px !important; border-radius: 10px !important; }
}


/* === Feature 카드↔애니메이션 인터리브 (모바일, solution-data 패턴 동일) === */
@media (max-width: 1280px) {
  .feature-section { padding: 80px 40px !important; }
  .sol-title-head, .feature-section h2 { font-size: 36px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; margin-bottom: 28px !important; }

  .feature-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .feat-tabs, .feat-dashboard { display: contents !important; }
  /* solution-verify: 탭 DOM 순서 (han-beoне → opinion → validate) 와 패널 DOM 순서 (han-beoне → validate → opinion) 가 다르므로
     :nth-child 대신 data-panel 속성으로 명시 매칭 → 탭 카드와 패널 이미지가 올바르게 짝지어짐 */
  .feat-tabs .feat-tab[data-panel="han-beoне"]   { order: 2; }
  .feat-dashboard .feat-panel[data-panel="han-beoне"] { order: 3; }
  .feat-tabs .feat-tab[data-panel="opinion"]   { order: 4; }
  .feat-dashboard .feat-panel[data-panel="opinion"] { order: 5; }
  .feat-tabs .feat-tab[data-panel="validate"]   { order: 6; }
  .feat-dashboard .feat-panel[data-panel="validate"] { order: 7; }
  .sol-eyebrow, .sol-title-head { order: 1; }

  /* feat-tab — 단일 카드의 헤더 */
  .feat-tab {
    padding: 16px 18px 12px !important;
    margin: 28px 0 0 0 !important;
    border-radius: 14px 14px 0 0 !important;
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    cursor: default !important;
    text-align: left !important;
  }
  .feat-tabs .feat-tab:nth-child(1) { margin-top: 12px !important; }
  .feat-tab.active {
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  .feat-tab-icon {
    width: 38px !important; height: 38px !important;
    background: #fff !important;
    border: 0.5px solid var(--border) !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    margin: 0 !important;
  }
  .feat-tab.active .feat-tab-icon { background: #fff !important; }
  .feat-tab.active .feat-tab-icon svg { stroke: var(--green) !important; }
  .feat-tab-icon svg { width: 18px !important; height: 18px !important; }
  .feat-tab-title { font-size: 17px !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 0 0 2px 0 !important; }
  .feat-tab-desc { font-size: 13.5px !important; line-height: 1.35 !important; color: var(--fg2); margin: 0 !important; }
  .feat-tab > .feat-tab-icon { flex-shrink: 0 !important; align-self: center !important; }
  .feat-tab > .feat-tab-title { flex: 1 !important; min-width: 0 !important; margin: 0 !important; }
  .feat-tab > .feat-tab-desc { width: 100% !important; margin: 4px 0 0 0 !important; padding-left: 50px !important; }


  /* feat-panel — 단일 카드의 본문 */
  .feat-panel {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    padding: 12px 16px 16px !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    animation: none !important;
  }
  .feat-dashboard { height: auto !important; padding: 0 !important; background: transparent !important; border: none !important; }
}
@media (max-width: 768px) {
  .feature-section { padding: 80px 20px !important; }
  .sol-title-head, .feature-section h2 { font-size: 25px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; margin-bottom: 28px !important; }

  .feature-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .feat-tabs, .feat-dashboard { display: contents !important; }
  /* solution-verify: 탭 DOM 순서 (han-beoне → opinion → validate) 와 패널 DOM 순서 (han-beoне → validate → opinion) 가 다르므로
     :nth-child 대신 data-panel 속성으로 명시 매칭 → 탭 카드와 패널 이미지가 올바르게 짝지어짐 */
  .feat-tabs .feat-tab[data-panel="han-beoне"]   { order: 2; }
  .feat-dashboard .feat-panel[data-panel="han-beoне"] { order: 3; }
  .feat-tabs .feat-tab[data-panel="opinion"]   { order: 4; }
  .feat-dashboard .feat-panel[data-panel="opinion"] { order: 5; }
  .feat-tabs .feat-tab[data-panel="validate"]   { order: 6; }
  .feat-dashboard .feat-panel[data-panel="validate"] { order: 7; }
  .sol-eyebrow, .sol-title-head { order: 1; }

  /* feat-tab — 단일 카드의 헤더 */
  .feat-tab {
    padding: 16px 18px 12px !important;
    margin: 28px 0 0 0 !important;
    border-radius: 14px 14px 0 0 !important;
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    cursor: default !important;
    text-align: left !important;
  }
  .feat-tabs .feat-tab:nth-child(1) { margin-top: 12px !important; }
  .feat-tab.active {
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  .feat-tab-icon {
    width: 38px !important; height: 38px !important;
    background: #fff !important;
    border: 0.5px solid var(--border) !important;
    border-radius: 9px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0;
    margin: 0 !important;
  }
  .feat-tab.active .feat-tab-icon { background: #fff !important; }
  .feat-tab.active .feat-tab-icon svg { stroke: var(--green) !important; }
  .feat-tab-icon svg { width: 18px !important; height: 18px !important; }
  .feat-tab-title { font-size: 17px !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 0 0 2px 0 !important; }
  .feat-tab-desc { font-size: 13.5px !important; line-height: 1.35 !important; color: var(--fg2); margin: 0 !important; }
  .feat-tab > .feat-tab-icon { flex-shrink: 0 !important; align-self: center !important; }
  .feat-tab > .feat-tab-title { flex: 1 !important; min-width: 0 !important; margin: 0 !important; }
  .feat-tab > .feat-tab-desc { width: 100% !important; margin: 4px 0 0 0 !important; padding-left: 50px !important; }


  /* feat-panel — 단일 카드의 본문 */
  .feat-panel {
    opacity: 1 !important;
    visibility: visible !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    padding: 12px 16px 16px !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    animation: none !important;
  }
  .feat-dashboard { height: auto !important; padding: 0 !important; background: transparent !important; border: none !important; }
}

/* ===== 솔루션 페이지 공통 수정사항 ===== */
.page-hero-grid { max-width: 1600px; margin-left: auto; margin-right: auto; }
@media (max-width: 1024px) { .hero-visual { max-width: 100%; width: 100%; margin: 0; align-self: stretch; } }
@media (min-width: 1600px) { .hero-visual { transform: scale(1.2); transform-origin: center; } }
}

/* 2. 페인포인트: 헤딩과 카드 사이 간격 더 띄우기 */
.pain-head { margin-bottom: 96px; }
@media (max-width: 768px) { .pain-head { margin-bottom: 48px; } }

/* 3. 비디오 + 차별점 섹션: solution-data 스타일과 동일하게 통일 */
.diff-section, .diff-section * { box-shadow: none !important; }
.diff-layout { gap: 16px !important; grid-template-columns: 2fr 1fr !important; }
.diff-player-box { min-height: 600px !important; background: #fff !important; border: none !important; outline: none !important; box-shadow: none !important; overflow: hidden; border-radius: 20px; }
.diff-player-box::after { content: ""; position: absolute; inset: 0; pointer-events: none; box-shadow: inset 0 0 0 1px #fff; border-radius: 20px; z-index: 1; }
.diff-player-box video, .diff-player-box iframe {
  object-fit: cover !important;
  background: #fff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  transform: scale(1.02);
  transform-origin: center center;
}
@media (max-width: 1100px) { .diff-player-box { aspect-ratio: 16/10; } }
@media(max-width:1100px){ .diff-layout{grid-template-columns:1fr !important;} }

/* 차별점 본문 텍스트 카드 (data 스타일) */
.diff-big-title { font-size: 30px !important; font-weight: 700 !important; letter-spacing: -1px !important; }
.diff-hl { font-size: 35px !important; font-weight: 700 !important; letter-spacing: -1.2px !important; }

/* 썸네일 카드 (data flex 레이아웃) */
.diff-thumb-item { display: flex !important; grid-template-columns: none !important; align-items: center !important; gap: 14px !important; padding: 16px 18px !important; overflow: visible !important; }
.diff-thumb-video-area, .diff-play-btn, .diff-idx-badge { display: none !important; }
.diff-thumb-icon { width: 46px; height: 46px; border-radius: 12px; background: var(--green-50); color: var(--green); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 180ms, color 180ms; }
.diff-thumb-item.active .diff-thumb-icon { background: var(--green); color: #fff; }
.diff-thumb-play { width: 30px; height: 30px; border-radius: 50%; background: var(--bg2); color: var(--fg2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: background 180ms, color 180ms, transform 180ms; }
.diff-thumb-item:hover .diff-thumb-play, .diff-thumb-item.active .diff-thumb-play { background: var(--green); color: #fff; }
.diff-thumb-item:hover .diff-thumb-play { transform: scale(1.08); }
.diff-thumb-meta { flex: 1; min-width: 0; padding: 0 !important; display: flex; flex-direction: column; justify-content: center; gap: 4px; }

/* 6. CTA 배너: Shadow.png 항상 배경으로 깔리도록 */
.cta-banner::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0;
  pointer-events: none; z-index: 0; opacity: 1;
  background: url('/theme/basic/assets/Shadow.png') center center / cover no-repeat;
}
.cta-banner > .cta-inner { position: relative; z-index: 2; }


  .feat-tab > .feat-tab-desc { padding-left: 0 !important; }
  /* 솔루션 feature 카드 모바일 간격 확대 (data 와 동일) */
@media (max-width: 768px) {
  .feat-tabs { gap: 20px !important; margin-bottom: 28px !important; }
  .feat-tab { padding: 18px 16px !important; }
}


/* 모바일: feat-panel 내부 중복 타이틀+칩 숨김 (feat-tab이 이미 표시) */
@media (max-width: 768px) {
  .feat-panel .feat-panel-head { display: none !important; }
}

/* CTA 배너: 모바일 흰색 영역 제거 + 소개자료 버튼 녹색 테두리 (모든 솔루션 공통) */
.cta-banner .btn-g, .cta-primary-row .btn-g { border-color: var(--green) !important; color: var(--green) !important; }
@media (max-width: 768px) {
  .cta-banner { padding-top: 80px !important; padding-bottom: 60px !important; margin-top: 0 !important; }
}
.pain-card { text-align: center; display: flex; flex-direction: column; align-items: center; }
.pain-icon { margin: 0 auto; }

/* ── page-hero 모바일 중앙정렬 ── */
@media (max-width: 768px) {
  .page-hero { height: calc(100dvh - 68px) !important; min-height: 0 !important; max-height: calc(100dvh - 68px) !important; overflow: hidden !important; padding: 100px 20px !important; box-sizing: border-box !important; align-items: center !important; justify-content: center !important; text-align: center !important; }
  .page-hero .h1 { margin-top: 0 !important; }
  .page-hero-grid { flex-direction: column !important; align-items: center !important; gap: 28px !important; width: 100% !important; }
  .page-hero-left { padding: 0 !important; display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; }
  .page-hero .h1 { font-size: 26px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; white-space: normal !important; word-break: keep-all !important; }
  .page-hero .lead { font-size: 14px !important; margin-top: 14px !important; line-height: 1.5 !important; max-width: none !important; }
}


@media(max-width:768px){
  .cta-banner .cta-inner > div:first-child > div[style] { flex-direction: column !important; align-items: center !important; gap: 5px !important; }
}

@media(max-width:768px){ .pain-desc, .pain-title { text-align: left !important; } .pain-card { align-items: flex-start !important; } .pain-icon { margin: 0 !important; } .pain-card-body { margin-top: 20px !important; } }

/* ── Footer 모바일 반응형 ── */
@media(max-width:768px){
  footer { padding: 48px 20px !important; }
  .foot-top { grid-template-columns: 1fr !important; gap: 32px !important; margin-bottom: 32px !important; padding-bottom: 32px !important; }
  .foot-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
}

@media(max-width:768px){
  .pain-grid{grid-template-columns:1fr !important;gap:12px !important}
  .pain-card{text-align:left !important;align-items:flex-start !important;min-height:auto !important}
  .pain-grid .pain-card:last-child:nth-child(odd){grid-column:auto !important}
}

@media(max-width:768px){
  .page-hero{
    min-height: calc(100vh + 68px) !important;
    padding: 268px 20px 0px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  .page-hero-grid{
    height:100% !important;
    flex:1 !important;
    justify-content:center !important;
    gap:16px !important;
  }
  .page-hero-left{
    flex-shrink:0 !important;
  }

}

@media(max-width:768px){
  .hero-visual{
    flex:1 !important;
    overflow:visible !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  .hero-visual > *{
    transform-origin: top center !important;
  }
}

@media(max-width:768px){
  .diff-heading-sh{font-size:25px !important;margin-bottom:16px !important}
  .diff-heading-sm{font-size:25px !important;margin-bottom:24px !important}
}

.diff-h-br { display: none; }
@media(max-width:768px){ .diff-h-br { display: block; } }

/* ── 모바일 반응형 추가 규칙 (768px 이하) ── */
@media (max-width: 768px) {

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

  /* ── Footer ── */
  footer { padding: 48px 20px !important; }
  .foot-top { grid-template-columns: 1fr !important; gap: 28px !important; }
  .foot-bottom { flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .foot-info { font-size: 11px !important; line-height: 1.7 !important; }
  .foot-tagline { font-size: 13px !important; }

  /* ── diff-player-box aspect-ratio (지그재그 비디오) ── */
  .diff-zz-row .diff-player-box {
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    min-height: 0 !important;
    position: relative !important;
  }
  .diff-zz-row .diff-player-box video,
  .diff-zz-row .diff-player-box iframe {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  /* ── feat-tab > .feat-tab-desc padding-left 초기화 ── */
  .feat-tab > .feat-tab-desc { padding-left: 0 !important; }

  /* ── 가로 스크롤 방지 ── */
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
}

@media(max-width:768px){ .diff-inner { padding: 0 !important; max-width: 100% !important; } }
.cta-inner .sh, .cta-inner .sm { text-align: left; }
@media (max-width: 768px) {
  .cta-inner .sh, .cta-inner .sm { text-align: center; }
}

/* ── why-section 반응형 ── */
@media (max-width: 1024px) {
  .why-inner { padding: 0 32px !important; }
  .why-inner > div[style*="grid-template-columns:1fr 1.1fr"] {
    grid-template-columns: 1fr !important;
    padding: 40px 40px !important;
  }
  .why-inner > div[style*="grid-template-columns:1fr 1.1fr"] > div:last-child {
    height: 420px !important;
  }
}
@media (max-width: 768px) {
  .why-outer { padding: 60px 0 !important; }
  .why-inner { padding: 0 20px !important; }
  .why-title-eyebrow { font-size: 13px !important; margin-bottom: 8px !important; }
  .why-title-main { font-size: 26px !important; margin-bottom: 10px !important; }
  .why-title-desc { font-size: 15px !important; font-weight: 300 !important; }
  /* 피처 카드: 1컬럼, 텍스트만 */
  .why-inner > div[style*="grid-template-columns:1fr 1.1fr"] {
    grid-template-columns: 1fr !important;
    padding: 32px 24px !important;
    gap: 0 !important;
    border-radius: 16px !important;
  }
  /* 제목 폰트 축소 */
  .vfc-title {
    font-size: 20px !important;
    margin-bottom: 20px !important;
  }
  /* 태그 폰트 축소 */
  .why-inner > div[style*="grid-template-columns:1fr 1.1fr"] > div:first-child > div:first-child span {
    font-size: 11px !important;
    padding: 5px 10px !important;
  }
  /* 목업 영역 숨김 */
  .why-inner > div[style*="grid-template-columns:1fr 1.1fr"] > div:last-child {
    display: none !important;
  }
}