*,*::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 (unified with Homepage_v3) */
.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-center{display:flex;align-items:center;gap:104px;flex:1;justify-content:center}
.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 MENU */
.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}
.blog-card{display:block;background:#fff;border:.5px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color 200ms,transform 200ms;text-decoration:none;color:inherit}
.blog-card:hover{border-color:rgba(18,158,123,.35);transform:translateY(-2px)}
.blog-thumb{height:110px;background:var(--bg2);display:flex;align-items:center;justify-content:center;color:#9CA3AF;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;position:relative;overflow:hidden}
.blog-thumb.t1{background:linear-gradient(135deg,#EDFCF6 0%,#DBF5E8 100%);color:var(--green)}
.blog-thumb.t2{background:linear-gradient(135deg,#F0F9FF 0%,#DBEEFB 100%);color:#19B5FE}
.blog-thumb.t3{background:linear-gradient(135deg,#FFF8E1 0%,#FFE9B3 100%);color:#D97706}
.blog-body{padding:14px 16px 16px}
.blog-meta{font-size:11px;color:#9CA3AF;margin-bottom:6px;font-weight:500}
.blog-meta .cat{color:var(--green);font-weight:700}
.blog-title{font-size:13px;font-weight:700;color:var(--fg1);line-height:1.4}
.blog-more{grid-column:1 / -1;text-align:right;padding:4px 8px 0}
.blog-more a{font-size:12px;color:var(--green);font-weight:600;text-decoration:none}
.blog-more a:hover{text-decoration:underline}
.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}
.mega-preview{display:none;position:absolute;left:80px;top:0;width:260px;min-height:280px;border-radius:14px;overflow:hidden}
.mega-wrap.open[data-active="solution"] .mega-preview{display:flex;align-items:center;justify-content:center;animation:megaFade 240ms ease}
@keyframes megaFade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.mp-card{display:none;width:100%;padding:24px 20px;text-align:center;border-radius:14px}
.mp-card.mp-active{display:block;animation:mpSwap 220ms ease}
@keyframes mpSwap{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}
.mp-card[data-preview="data"]{background:#F5FBF2}
.mp-card[data-preview="lca"]{background:#F0F9FF}
.mp-card[data-preview="scope3"]{background:#F5FBF2}
.mp-card[data-preview="trace"]{background:#F5FBF2}
.mp-card[data-preview="verify"]{background:#EDFCF6}
.mp-card[data-preview="report"]{background:#FFF8E1}
.mp-eyebrow{font-size:11px;font-weight:600;color:#6B7280;text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}
.mp-title{font-size:14px;font-weight:700;color:var(--fg1);margin-top:16px}
.mp-desc{font-size:11px;color:#6B7280;margin-top:4px;line-height:1.5}
.mp-timer{font-size:36px;font-weight:700;letter-spacing:-1.2px;color:var(--green);line-height:1;font-variant-numeric:tabular-nums}
.mp-label{font-size:12px;color:#6B7280;margin-top:6px}
.mp-pair{margin-top:14px;display:flex;justify-content:center;gap:8px}
.mp-before{background:#fff;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;color:#C0BDB8;text-decoration:line-through}
.mp-after{background:var(--green);border-radius:8px;padding:6px 12px;font-size:12px;font-weight:700;color:#fff}
.mp-bigpct{font-size:40px;font-weight:700;color:var(--green);letter-spacing:-1.2px;line-height:1}
.mp-bar-box{background:#fff;border-radius:10px;padding:14px;margin-top:14px}
.mp-bar-row{display:flex;justify-content:space-between;font-size:11px;color:#6B7280;margin-bottom:8px}
.mp-bar-row .v{color:var(--green);font-weight:700;font-size:13px}
.mp-bar-track{height:7px;background:#F5FBF2;border-radius:999px;overflow:hidden}
.mp-bar-fill{height:100%;background:var(--green);border-radius:999px;width:0;transition:width 1.6s cubic-bezier(.4,0,.2,1)}
.mp-active .mp-bar-fill{width:var(--pct,78%)}
.mp-hint{font-size:10px;color:#C0BDB8;margin-top:8px;display:flex;justify-content:space-between}
.mp-hint .to{color:var(--green);font-weight:600}
.mp-rows{display:flex;flex-direction:column;gap:6px}
.mp-row{display:flex;justify-content:space-between;background:#fff;border-radius:8px;padding:9px 12px;font-size:12px}
.mp-row .k{color:#6B7280}
.mp-row .v{font-weight:700;color:var(--fg1)}
.mp-row.total{background:#19B5FE}
.mp-row.total .k,.mp-row.total .v{color:#fff}
.mp-sbar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:#fff;margin-top:10px}
.mp-sbar>span{display:block;height:100%;transition:width 1.4s ease;width:0}
.mp-active .mp-sbar>span{width:var(--w,33%)}
.mp-scope-legend{display:flex;justify-content:space-between;margin-top:12px;font-size:11px}
.mp-scope-legend>div{text-align:center}
.mp-scope-legend .dot{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:4px;vertical-align:middle}
.mp-scope-legend .k{color:#6B7280}
.mp-scope-legend .v{font-weight:700;color:var(--fg1);font-size:13px;display:block;margin-top:2px}
.mp-steps{display:flex;flex-direction:column;gap:6px}
.mp-step{display:flex;align-items:center;gap:10px;background:#fff;border-radius:8px;padding:9px 11px;font-size:12px;font-weight:500}
.mp-step .chk{width:16px;height:16px;border-radius:50%;background:var(--green);display:flex;align-items:center;justify-content:center;flex-shrink:0;opacity:0;transform:scale(.4);transition:opacity 260ms,transform 260ms}
.mp-step.done .chk{opacity:1;transform:scale(1)}
.mp-step.current{background:#EDFCF6;border:.5px solid rgba(18,158,123,.25);color:var(--green)}
.mp-step.current .chk{background:#fff;border:1.5px solid var(--green);opacity:1;transform:scale(1)}
.mp-step.current .chk::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);animation:mpPulse 1.2s ease-in-out infinite}
@keyframes mpPulse{0%,100%{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}
.mp-badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.mp-badge{background:#fff;border-radius:8px;padding:6px 12px;font-size:11px;font-weight:700;color:#6B7280;opacity:0;transform:translateY(4px);transition:opacity 300ms,transform 300ms,background 300ms,color 300ms}
.mp-active .mp-badge{opacity:1;transform:translateY(0)}
.mp-active .mp-badge:nth-child(1){transition-delay:60ms}
.mp-active .mp-badge:nth-child(2){transition-delay:140ms}
.mp-active .mp-badge:nth-child(3){transition-delay:220ms}
.mp-active .mp-badge:nth-child(4){transition-delay:300ms;background:#D97706;color:#fff}
.mp-active .mp-badge:nth-child(5){transition-delay:380ms}
.mp-report-pill{display:inline-block;margin-top:14px;background:var(--green);color:#fff;border-radius:999px;padding:6px 14px;font-size:11px;font-weight:700}
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}
.btn-dl{border:1.5px solid var(--green) !important;color:var(--green)}
.btn-dl:hover{border-color:var(--green-h) !important;background:var(--green-50)}

/* .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}
@media (max-width:1599px){.page-hero{min-height:auto;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: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}
.page-hero-left{padding:40px 0;min-width:0; margin-top: -500px;}
.hero-visual{position:relative;overflow:visible;display:flex;align-items:center} */

/* ── page-hero 중앙 정렬 version ── */
.page-hero { padding: 10px 80px 48px; min-height: calc(100vh - 68px); 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: auto; 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; }
.hero-dashboard{position:relative;width:100%;background:#fff;border:.5px solid var(--border);border-radius:18px;box-shadow:0 24px 64px rgba(15,42,27,.12),0 2px 8px rgba(15,42,27,.04);overflow:hidden}
.hd-side{background:#FAFAF9;border-right:.5px solid var(--border);padding:18px 14px;display:flex;flex-direction:column;gap:4px}
.hd-side-logo{display:flex;align-items:center;gap:8px;padding:6px 8px;margin-bottom:14px}
.hd-side-logo img{height:18px}
.hd-side-head{font-size:10px;font-weight:600;color:var(--fg2);text-transform:uppercase;letter-spacing:.08em;padding:10px 10px 6px}
.hd-side-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--fg2);cursor:default}
.hd-side-item.on{background:var(--green-50);color:var(--green);font-weight:600}
.hd-side-item svg{flex-shrink:0}
.hd-main{padding:22px 26px;display:flex;flex-direction:column;gap:16px;min-width:0;}
.hd-top{display:flex;justify-content:space-between;align-items:center}
.hd-crumb{font-size:13px;color:var(--fg2)}
.hd-crumb strong{color:var(--fg1);font-weight:600}
.hd-chip{font-size:11px;font-weight:600;background:var(--green-50);color:var(--green);padding:5px 11px;border-radius:999px;display:inline-flex;align-items:center;gap:5px}
.hd-chip .dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:dotPulse 1.6s ease-in-out infinite}
.hd-h{font-size:22px;font-weight:700;letter-spacing:-.4px;color:var(--fg1)}
.hd-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.hd-kpi{background:var(--bg2);border-radius:12px;padding:14px 16px}
.hd-kpi-lbl{font-size:11px;color:var(--fg2);font-weight:500;margin-bottom:6px}
.hd-kpi-val{font-size:22px;font-weight:700;letter-spacing:-.5px;color:var(--fg1);line-height:1}
.hd-kpi-val .g{color:var(--green)}
.hd-kpi-delta{font-size:11px;color:var(--green);font-weight:600;margin-top:4px}
.hd-kpi-delta.neg{color:#DC2626}
.hd-bar-head{display:flex;justify-content:space-between;font-size:12px;color:var(--fg2);margin-bottom:8px}
.hd-bar-head strong{color:var(--green);font-weight:700}
.hd-bar{height:8px;background:#F3F3F0;border-radius:999px;overflow:hidden}
.hd-bar-fill{height:100%;background:linear-gradient(90deg,var(--green) 0%,#76BE57 100%);border-radius:999px;width:0;transition:width 2s cubic-bezier(.4,0,.2,1);animation:hdBarGrow 2.2s cubic-bezier(.4,0,.2,1) .4s forwards}
@keyframes hdBarGrow{to{width:78%}}
.hd-table{background:var(--bg2);border-radius:12px;padding:6px 0;font-size:13px}
.hd-table-row{display:grid;grid-template-columns:1.2fr 1fr 100px 90px;gap:14px;padding:10px 16px;align-items:center;border-bottom:.5px solid rgba(0,0,0,.04)}
.hd-table-row:last-child{border-bottom:none}
.hd-table-row.head{font-size:11px;color:var(--fg2);text-transform:uppercase;letter-spacing:.05em;font-weight:600;padding:8px 16px}
.hd-name{font-weight:600;color:var(--fg1)}
.hd-who{color:var(--fg2);font-size:12px}
.hd-sts{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;justify-self:start}
.hd-sts.ok{background:var(--green-50);color:var(--green)}
.hd-sts.wait{background:#FFF8E1;color:#D97706}
.hd-sts.no{background:#FEE2E2;color:#DC2626}
.hd-date{color:var(--fg2);font-size:12px}
/* Floating cards overlap */
.hd-float{position:absolute;background:#fff;border:.5px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 10px 28px rgba(15,42,27,.10);display:flex;align-items:center;gap:12px;animation:hdFloat 4s ease-in-out infinite}
.hd-float .fi{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--green-50);color:var(--green)}
.hd-float.f1{top:-28px;right:-16px;animation-delay:0s}
.hd-float.f2{bottom:-20px;right:120px;animation-delay:1.2s}
.hd-float .ft{font-size:12px;font-weight:700;color:var(--fg1)}
.hd-float .fs{font-size:10px;color:var(--fg2);margin-top:2px}
@keyframes hdFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
/* Hero dashboard – compact overrides */
.hero-visual .hero-dashboard{min-height:531px;display:flex;flex-direction:column}
.hero-dashboard .hd-main{padding:20px 22px;gap:14px;flex:1;justify-content:center}
.hero-dashboard .hd-top{margin-bottom:0}
.hero-dashboard .hd-crumb{font-size:11px}
.hero-dashboard .hd-h{font-size:16px;letter-spacing:-.3px}
.hero-dashboard .track-cards{gap:8px}
.hero-dashboard .track-card{padding:12px 8px;gap:6px}
.hero-dashboard .track-circle{width:68px;height:68px}
.hero-dashboard .track-pct{font-size:14px}
.hero-dashboard .track-lbl{font-size:11px}
.hero-dashboard .track-sub{font-size:9.5px}
.hero-dashboard .track-bottom{gap:11px}
.hero-dashboard .track-req-head,.hero-dashboard .track-rem-head{padding:11px 14px}
.hero-dashboard .track-rem-title,.hero-dashboard .track-req-htitle{font-size:12.5px}
.hero-dashboard .track-rem-count{font-size:10.5px}
.hero-dashboard .track-req-id{font-size:10.5px}
.hero-dashboard .track-req-body{padding:11px 14px 14px;gap:7px}
.hero-dashboard .track-req-row{font-size:11.5px;gap:8px}
.hero-dashboard .track-req-lbl{font-size:10.5px;width:46px}
.hero-dashboard .track-req-val{font-size:11.5px}
.hero-dashboard .track-rem-list{padding:8px 10px 11px;gap:4px}
.hero-dashboard .fp-sched-row{padding:10px 10px!important;gap:10px;border-radius:8px}
.hero-dashboard .fp-sched-title{font-size:12px}
.hero-dashboard .fp-sched-sub{font-size:10.5px}
.hero-dashboard .fp-sched-when{font-size:11px;min-width:32px}
.hero-dashboard .fp-sched-dot{width:8px;height:8px}
.hero-dashboard .t-tag{font-size:10px;padding:3px 8px}
@media(max-width:1024px){.page-hero{padding:60px 32px;min-height:auto}.page-hero-grid{grid-template-columns:1fr;gap:32px}.hero-dashboard{width:100%;max-width:none}.hd-float{display:none}}
@media(max-width:768px){.page-hero{padding:70px 20px !important;min-height:calc(100vh - 68px) !important;align-items:center !important;justify-content:center !important;text-align:center !important}.page-hero-grid{flex-direction:column !important;align-items:center !important;gap:28px !important;width:100% !important}}
.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--green);margin-bottom:20px}
.h1{font-size:48px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1);word-break:keep-all;white-space:nowrap}
.h1 .m{color:var(--muted);display:block;white-space:nowrap}
.page-hero .h1 .m{color:var(--green)}
.page-hero .h1{font-size:55px;letter-spacing:-0.03em;white-space:normal}
.page-hero .lead{font-size:25px;margin-top:16px;max-width:none}
.lead{font-size:18px;color:var(--fg2);line-height:1.75;margin-top:24px;max-width:500px}
.btns{display:flex;gap:12px;margin-top:36px}
.tag{display:inline-flex;align-items:center;gap:6px;background:var(--green-50);border:.5px solid rgba(18,158,123,.2);border-radius:999px;padding:5px 14px;font-size:13px;font-weight:500;color:var(--green);margin-bottom:28px}
.tag .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}
.pain-section{background:var(--bg2);padding:80px 80px;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border);min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.pain-inner{max-width:var(--max-w);margin:0 auto}
.pain-head{text-align:center;margin-bottom:80px}
.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}
.pain-title-head .m{color:var(--muted);display:block}
.pain-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.pain-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:0;min-height:220px;align-items:center}
.pain-icon{width:52px;height:52px;border-radius:13px;background:#FFE8E3;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin:0 auto}
.pain-card-body{margin-top:24px}
.pain-title{font-size:20px;font-weight:700;color:var(--fg1);margin-bottom:8px;letter-spacing:0.01em;line-height:1.55}
.pain-desc{font-size:16px;color:var(--fg2);line-height:1.6}
@media(max-width:1024px){.pain-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.pain-grid{grid-template-columns:1fr}.pain-title-head{font-size:34px}.pain-card{min-height:auto}}
.feature-section{padding:120px 80px}
.feature-inner{max-width:var(--max-w);margin:0 auto}
.sol-eyebrow{font-size:15px;font-weight:700;color:var(--green);letter-spacing:0.03em;margin-bottom:20px}
.sol-title-head{font-size:52px;font-weight:700;color:var(--fg1);line-height:1.15;margin-bottom:56px}
.sol-title-head .m{color:var(--muted);display:block}
.feat-tabs{display:grid;grid-template-columns:repeat(4,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-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.active .feat-tab-icon{background:var(--green)}
.feat-tab.active .feat-tab-icon svg{stroke:#fff}
.feat-tab-title{font-size:18px;font-weight:700;color:var(--fg1);margin-bottom:6px;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{background:#FAFBFC;border:.5px solid var(--border);border-radius:20px;padding:28px 32px;height:620px;position:relative;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 .fp-head{flex-shrink:0}
.feat-panel > .req-stage,.feat-panel > .track-grid,.feat-panel > .fp-alerts,.feat-panel > .verify-stage{flex:1;display:flex;flex-direction:column;min-height:0}
.feat-panel > .match-stage{flex:1;min-height:0}
.feat-panel > .req-stage > .req-card{flex:1;display:flex;flex-direction:column}
.feat-panel > .req-stage > .req-card > .req-foot{margin-top:auto}
.track-cards{flex-shrink:0}
.track-bottom{flex:1;min-height:0}
.track-req,.track-rem{min-height:0}
@keyframes panelFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.fp-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.fp-title{font-size:20px;font-weight:700;color:var(--fg1);letter-spacing:-0.02em}
.fp-chip{font-size:11px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--green-50);color:var(--green)}
/* Panel: Send email */
.fp-email{background:#fff;border-radius:14px;padding:24px;border:.5px solid var(--border)}
.fp-email-row{display:flex;padding:10px 0;border-bottom:.5px solid var(--border);font-size:13px;gap:12px;align-items:flex-start}
.fp-email-row .lbl{width:64px;color:var(--fg2);font-weight:500;flex-shrink:0}
.fp-email-row .val{color:var(--fg1);flex:1}
.fp-chips{display:flex;flex-wrap:wrap;gap:6px}
.fp-chips span{background:var(--green-50);color:var(--green);font-size:12px;padding:4px 10px;border-radius:999px;font-weight:500}
.fp-email-body{padding:14px 0;font-size:13px;color:var(--fg2);line-height:1.7}
.fp-email-foot{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:.5px solid var(--border);margin-top:6px}
.fp-attach{font-size:12px;color:var(--fg2);display:flex;gap:6px;align-items:center}
.fp-send{background:var(--green);color:#fff;border:none;border-radius:999px;padding:8px 20px;font-size:13px;font-weight:600;cursor:pointer}
/* Request panel (animated) */
.req-stage{position:relative}
.req-card{background:#fff;border:.5px solid var(--border);border-radius:14px;padding:22px 24px}
.req-row{display:flex;padding:11px 0;border-bottom:.5px solid var(--border);font-size:13px;gap:12px;align-items:flex-start}
.req-row:first-child{padding-top:0}
.req-lbl{width:54px;color:var(--fg2);font-weight:600;flex-shrink:0;font-size:11px;padding-top:3px;text-transform:uppercase;letter-spacing:.05em}
.req-val{color:var(--fg1);flex:1;font-weight:500;line-height:1.5;min-height:24px}
.req-chips-wrap{display:flex;flex-wrap:wrap;gap:6px}
.req-chip{background:var(--green-50);color:var(--green);font-size:12px;padding:5px 12px;border-radius:999px;font-weight:600;opacity:0;transform:translateY(-4px);transition:opacity 280ms ease,transform 280ms ease;white-space:nowrap}
.req-chip.show{opacity:1;transform:translateY(0)}
.req-chip.more{background:#F1F5F9;color:#64748B}
.req-title-text{display:inline-block}
.req-title-text.typing::after{content:"";display:inline-block;width:1px;height:13px;background:var(--green);margin-left:2px;vertical-align:-1px;animation:caretBlink .8s steps(2) infinite}
.req-body{padding:14px 0;font-size:12.5px;color:var(--fg2);line-height:1.7;border-bottom:.5px solid var(--border);opacity:0;transform:translateY(4px);transition:opacity 320ms ease,transform 320ms ease}
.req-body.show{opacity:1;transform:translateY(0)}
.req-sources{padding:16px 0 4px}
.req-sources-head{font-size:11px;font-weight:700;color:var(--fg2);margin-bottom:10px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.req-sources-head .req-src-count{font-size:10px;color:var(--green);background:var(--green-50);padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:0;text-transform:none}
.req-source{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg2);border:1px solid transparent;border-radius:10px;margin-bottom:6px;opacity:0;transform:translateY(6px);transition:opacity 320ms ease,transform 320ms ease,background 280ms,border-color 280ms,box-shadow 280ms}
.req-source.show{opacity:1;transform:translateY(0)}
.req-source.highlight{background:rgba(18,158,123,.05);border-color:rgba(18,158,123,.25);box-shadow:0 0 0 3px rgba(18,158,123,.08)}
.req-src-icon{padding:5px 11px;border-radius:8px;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;height:26px;display:inline-flex;align-items:center;white-space:nowrap}
.req-src-info{flex:1;min-width:0}
.req-src-name{font-size:13px;font-weight:700;color:var(--fg1);line-height:1.3}
.req-src-sub{font-size:11px;color:var(--fg2);margin-top:2px}
.req-foot{display:flex;justify-content:flex-end;margin-top:18px;padding-top:14px;border-top:.5px solid var(--border)}
.req-btn{background:var(--green);color:#fff;border:none;border-radius:10px;padding:11px 22px;font-size:13px;font-weight:700;cursor:default;font-family:var(--font);transition:transform 150ms,opacity 150ms,background 200ms;display:inline-flex;align-items:center;gap:6px;}
.req-btn.pressed{transform:scale(.96);opacity:.88}
.req-btn.success{background:#0F8866}
.req-toast{position:absolute;top:8px;right:12px;background:rgba(17,17,17,.92);color:#fff;font-size:12px;font-weight:600;padding:8px 14px;border-radius:999px;opacity:0;transform:translateY(-6px);transition:opacity 240ms,transform 240ms;z-index:5;display:flex;align-items:center;gap:6px;pointer-events:none}
.req-toast.show{opacity:1;transform:translateY(0)}
/* Track panel: 5 circular cards + reminder schedule */
.track-grid{display:flex;flex-direction:column;gap:14px;flex:1;min-height:0}
.track-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.track-card{background:#fff;border:.5px solid var(--border);border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform 280ms ease,box-shadow 280ms ease,border-color 280ms ease}
.track-card.pulse{transform:translateY(-2px);box-shadow:0 8px 22px rgba(18,158,123,.12);border-color:rgba(18,158,123,.3)}
.track-circle{position:relative;width:78px;height:78px}
.track-circle svg{width:100%;height:100%;transform:rotate(-90deg);overflow:visible}
.track-circle-bg{fill:none;stroke:#F3F3F0;stroke-width:8}
.track-circle-fg{fill:none;stroke-width:8;stroke-linecap:round;stroke-dasharray:220;stroke-dashoffset:220;transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1)}
.track-pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;color:var(--fg1);letter-spacing:-.5px;font-variant-numeric:tabular-nums}
.track-lbl{font-size:12px;font-weight:700;color:var(--fg1);text-align:center;white-space:nowrap}
.track-sub{font-size:10px;color:var(--fg2);text-align:center}
.track-card.danger .track-pct{color:#DC2626}
.track-card.warn .track-pct{color:#D97706}
.track-card.live .track-pct::after{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#129E7B;margin-left:4px;vertical-align:middle;animation:dotPulse 1.6s ease-in-out infinite}
.track-bottom{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}
.track-rem{background:#fff;border:.5px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.track-rem-head{padding:12px 18px;border-bottom:.5px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.track-rem-title{font-size:13px;font-weight:700;color:var(--fg1)}
.track-rem-count{font-size:11px;color:var(--green);font-weight:600}
.track-rem-list{padding:10px 14px 14px;display:flex;flex-direction:column;gap:6px}
.track-req{background:#fff;border:.5px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.track-req-head{padding:12px 18px;border-bottom:.5px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.track-req-htitle{font-size:13px;font-weight:700;color:var(--fg1)}
.track-req-id{font-size:11px;color:var(--fg2);font-weight:600;font-variant-numeric:tabular-nums}
.track-req-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1}
.track-req-row{display:grid;grid-template-columns:60px 1fr;gap:12px;font-size:12.5px;align-items:center;line-height:1.6;letter-spacing:.1em}
.track-req-row.targets{align-items:flex-start}
.track-req-row.targets .track-req-lbl{padding-top:5px}
.track-req-lbl{font-weight:700;color:var(--fg2);font-size:11.5px;letter-spacing:.02em}
.track-req-val{font-weight:600;color:var(--fg1);display:flex;align-items:center;gap:8px;flex-wrap:wrap;letter-spacing:.1em}
.track-req-cycle{font-size:10.5px;font-weight:600;color:var(--green);background:var(--green-50);padding:3px 9px;border-radius:999px;letter-spacing:.02em}
.track-req-scope{font-size:10.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:#FFF8E1;color:#D97706;border:.5px solid rgba(217,119,6,.35);justify-self:start;letter-spacing:.03em}
.track-req-targets{display:flex;flex-wrap:nowrap;gap:7px;overflow:hidden;align-items:center;min-width:0}
.t-tag{font-size:11px;font-weight:500;color:var(--fg1);background:var(--bg2);padding:5px 12px;border-radius:999px;white-space:nowrap;letter-spacing:.02em;line-height:1.45;flex-shrink:0}
.t-tag.more{background:var(--green-50);color:var(--green);font-weight:700;flex-shrink:0}
.track-req-msg{margin-top:10px;padding-top:14px;border-top:.5px dashed var(--border)}
.track-req-msg-title{font-size:13px;font-weight:700;color:var(--fg1);margin-bottom:10px;letter-spacing:.1em}
.track-req-msg-body{font-size:12px;color:var(--fg2);line-height:1.85;background:var(--bg2);padding:16px 18px;border-radius:10px;letter-spacing:.02em}
@media(max-width:1024px){.track-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){.track-cards{grid-template-columns:repeat(2,1fr)}}
/* Verify panel: monthly emission grid */
.verify-stage{display:flex;flex-direction:column;gap:10px;flex:1;min-height:0}
.verify-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#fff;border:.5px solid var(--border);border-radius:12px;gap:10px;opacity:0;transform:translateY(-4px);transition:opacity 280ms,transform 280ms}
.verify-toolbar.show{opacity:1;transform:translateY(0)}
.verify-search{flex:1;background:var(--bg2);border-radius:8px;padding:8px 12px;font-size:12px;color:var(--fg2);display:flex;align-items:center;gap:6px}
.verify-filters{display:flex;gap:6px;flex-shrink:0}
.verify-filter{font-size:11px;background:var(--bg2);padding:6px 11px;border-radius:8px;color:var(--fg2);font-weight:500;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.verify-table{background:#fff;border:.5px solid var(--border);border-radius:12px;overflow:hidden;flex:1;display:flex;flex-direction:column;position:relative}
.verify-table::after{content:"";position:absolute;left:0;right:0;bottom:0;height:48px;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.92) 65%,#fff 100%);pointer-events:none;z-index:2}
.verify-tbody{flex:1;overflow:hidden;position:relative}
.verify-more{position:absolute;left:0;right:0;bottom:0;text-align:center;font-size:11px;font-weight:600;color:var(--green);padding:10px 0 12px;z-index:3;background:linear-gradient(180deg,rgba(255,255,255,0) 0%,#fff 60%);pointer-events:none}
.verify-thead{display:grid;grid-template-columns:1.6fr repeat(12,1fr);font-size:10px;color:var(--fg2);font-weight:700;padding:10px 12px;background:var(--bg2);border-bottom:.5px solid var(--border);text-align:center;letter-spacing:.04em;text-transform:uppercase;gap:2px}
.verify-thead .col-info{text-align:left}
.verify-row{display:grid;grid-template-columns:1.6fr repeat(12,1fr);padding:10px 12px;border-bottom:.5px solid var(--border);font-size:10.5px;align-items:center;text-align:center;opacity:0;transform:translateY(4px);transition:opacity 320ms ease,transform 320ms ease,background 280ms;gap:2px}
.verify-row:last-child{border-bottom:none}
.verify-row.show{opacity:1;transform:translateY(0)}
.verify-row.flagged{background:rgba(220,38,38,.03)}
.verify-info{text-align:left;display:flex;flex-direction:column;gap:3px;min-width:0;padding-right:8px}
.verify-info-top{display:flex;align-items:center;gap:6px}
.verify-scope{font-size:9.5px;font-weight:700;padding:2px 8px;border-radius:999px;border:.5px solid;letter-spacing:.02em;white-space:nowrap}
.verify-scope.s1{background:#FFF8E1;color:#D97706;border-color:rgba(217,119,6,.35)}
.verify-scope.s2{background:#F0F9FF;color:#19B5FE;border-color:rgba(25,181,254,.35)}
.verify-scope.s3{background:#F5FBF2;color:#76BE57;border-color:rgba(118,190,87,.35)}
.verify-info-name{font-size:12px;font-weight:700;color:var(--fg1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.verify-info-sub{font-size:10px;color:var(--fg2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.verify-cell{font-size:11px;color:var(--fg1);font-variant-numeric:tabular-nums;font-weight:600;transition:background 240ms ease}
.verify-cell.scan{background:rgba(18,158,123,.10);border-radius:6px}
.verify-cell.has-err{position:relative}
.verify-error{display:inline-block;font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:#FEE2E2;color:#DC2626;opacity:1;transform:scale(1);transition:opacity 280ms ease,transform 280ms ease;white-space:nowrap}
.verify-error.show{opacity:1;animation:errorEmphasize 0.7s cubic-bezier(.2,1.4,.4,1)}
.verify-pending{display:inline-block;font-size:9.5px;font-weight:600;padding:2.5px 7px;border-radius:6px;background:var(--bg2);color:var(--fg2);white-space:nowrap;letter-spacing:.02em}
.verify-requested{display:inline-block;font-size:9.5px;font-weight:600;padding:2.5px 7px;border-radius:6px;background:var(--green-50);color:var(--green);white-space:nowrap;letter-spacing:.02em}
@keyframes errorPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.45)}50%{box-shadow:0 0 0 5px rgba(220,38,38,0)}}
@keyframes errorPop{0%{transform:scale(0.7);opacity:0}55%{transform:scale(1.28);opacity:1}80%{transform:scale(0.94)}100%{transform:scale(1);opacity:1}}
@keyframes errorEmphasize{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(220,38,38,0)}45%{transform:scale(1.28);box-shadow:0 0 0 4px rgba(220,38,38,.22)}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(220,38,38,0)}}
.verify-summary{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--green-50);border-radius:10px;font-size:12px;color:var(--green);font-weight:700;opacity:0;transform:translateY(4px);transition:opacity 320ms,transform 320ms}
.verify-summary.show{opacity:1;transform:translateY(0)}
.verify-summary .v-sum-detail{font-size:11px;color:#DC2626;font-weight:600}
@media(max-width:1024px){.verify-thead,.verify-row{grid-template-columns:1.5fr repeat(6,1fr)}.verify-thead .col-7,.verify-thead .col-8,.verify-row .col-7,.verify-row .col-8{display:none}}
/* Panel: Track dashboard */
.fp-track-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fp-card{background:#fff;border:.5px solid var(--border);border-radius:14px;padding:20px}
.fp-kpi{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.fp-kpi-val{font-size:32px;font-weight:700;color:var(--green);letter-spacing:-.8px;line-height:1}
.fp-kpi-delta{font-size:12px;color:var(--green);font-weight:600}
.fp-kpi-lbl{font-size:12px;color:var(--fg2);margin-bottom:14px}
.fp-donut{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center}
.fp-donut svg{width:80px;height:80px;transform:rotate(-90deg)}
.fp-list{font-size:13px}
.fp-list-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:.5px solid var(--border)}
.fp-list-row:last-child{border-bottom:none}
.fp-list-row .name{color:var(--fg1);font-weight:500}
.fp-list-row .sts{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:600}
.sts-ok{background:var(--green-50);color:var(--green)}
.sts-wait{background:#FFF8E1;color:#D97706}
.sts-no{background:#FEE2E2;color:#DC2626}
/* Panel: Reminder schedule */
.fp-schedule{display:flex;flex-direction:column;gap:10px}
.fp-sched-row{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:16px}
.fp-sched-when{min-width:80px;font-size:12px;color:var(--fg2);font-weight:500}
.fp-sched-main{flex:1}
.fp-sched-title{font-size:14px;font-weight:700;color:var(--fg1);margin-bottom:3px}
.fp-sched-sub{font-size:12px;color:var(--fg2)}
.fp-sched-dot{width:10px;height:10px;border-radius:50%;background:var(--green);flex-shrink:0;position:relative}
.fp-sched-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;background:rgba(18,158,123,.25);animation:dotPulse 1.6s ease-in-out infinite}
@keyframes dotPulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.4);opacity:0}}
.fp-sched-dot.done{background:#C0BDB8}
.fp-sched-dot.done::after{display:none}
/* Panel: Verify */
.fp-alerts{display:flex;flex-direction:column;gap:10px}
.fp-alert{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:16px 20px;display:flex;gap:14px;align-items:center}
.fp-alert.warn{border-left:3px solid #D97706}
.fp-alert.err{border-left:3px solid #DC2626}
.fp-alert.ok{border-left:3px solid var(--green)}
.fp-alert-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fp-alert.warn .fp-alert-icon{background:#FFF8E1;color:#D97706}
.fp-alert.err .fp-alert-icon{background:#FEE2E2;color:#DC2626}
.fp-alert.ok .fp-alert-icon{background:var(--green-50);color:var(--green)}
.fp-alert-body{flex:1}
.fp-alert-title{font-size:14px;font-weight:700;color:var(--fg1);margin-bottom:2px}
.fp-alert-sub{font-size:12px;color:var(--fg2)}
.fp-alert-val{font-size:13px;font-weight:700;color:var(--fg1)}
/* Panel: Assign (Dynamic manager↔emission-source matcher) */
.fp-assign-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fp-assign-row{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:.5px solid var(--border)}
.fp-assign-row:last-child{border-bottom:none}
.fp-av{width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0}
.fp-assign-main{flex:1;min-width:0}
.fp-assign-name{font-size:13px;font-weight:700;color:var(--fg1);line-height:1.3}
.fp-assign-role{font-size:10px;font-weight:500;color:var(--green);background:var(--green-50);padding:2px 7px;border-radius:999px;margin-left:4px}
.fp-assign-sub{font-size:11px;color:var(--fg2);margin-top:2px}
.match-stage{display:grid;grid-template-columns:1fr 1fr;gap:16px;position:relative;flex:1;min-height:0}
.match-col{display:flex;flex-direction:column;gap:6px;position:relative;z-index:2;background:#fff;border:.5px solid var(--border);border-radius:14px;padding:18px 20px}
.match-col-head{font-size:11px;font-weight:700;color:var(--fg2);margin-bottom:10px;display:flex;justify-content:space-between;align-items:center;padding:0 4px;text-transform:uppercase;letter-spacing:.06em}
.match-count{font-size:10px;font-weight:600;color:var(--green);background:var(--green-50);padding:3px 10px;border-radius:999px;text-transform:none;letter-spacing:0}
.match-bar{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:10px 16px;background:var(--green-50);border-radius:10px;gap:14px}
.match-bar-lbl{font-size:11px;font-weight:700;color:var(--green);white-space:nowrap}
.match-bar-val{font-size:13px;font-weight:700;color:var(--green);font-variant-numeric:tabular-nums;white-space:nowrap}
.match-progress{height:4px;background:rgba(18,158,123,.15);border-radius:999px;overflow:hidden;flex:1;position:relative}
.match-progress-fill{position:absolute;left:0;top:0;height:100%;background:var(--green);border-radius:999px;width:0;transition:width 500ms ease}
/* Manager creation form */
.create-form{background:none;border:none;border-radius:0;padding:0}
.cf-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cf-row:last-of-type{margin-bottom:14px}
.cf-lbl{font-size:11px;font-weight:600;color:var(--fg2);width:42px;flex-shrink:0}
.cf-input{flex:1;background:#fff;border:.5px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--fg1);min-height:34px;display:flex;align-items:center;position:relative;transition:border-color 200ms,background 200ms}
.cf-input.filling{border-color:var(--green);background:#fff}
.cf-input.filling::after{content:"";display:inline-block;width:1px;height:13px;background:var(--green);margin-left:2px;animation:caretBlink .8s steps(2) infinite}
.cf-input.done{background:#fff;color:var(--fg1);border-color:rgba(18,158,123,.35)}
@keyframes caretBlink{0%,50%{opacity:1}50.1%,100%{opacity:0}}
.cf-pills{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.cf-pill{font-size:11px;font-weight:600;padding:5px 12px;border-radius:999px;background:#fff;color:var(--fg2);border:.5px solid var(--border);transition:all 200ms;cursor:default}
.cf-pill.selected{background:var(--green-50);color:var(--green);border-color:rgba(18,158,123,.3);transform:scale(1.04)}
.cf-submit{width:100%;background:var(--green);color:#fff;border:none;border-radius:10px;padding:11px;font-size:13px;font-weight:700;cursor:default;transition:transform 150ms,opacity 150ms,background 200ms;font-family:var(--font);display:flex;align-items:center;justify-content:center;gap:6px}
.cf-submit:disabled{background:#E5E5E0;color:var(--muted)}
.cf-submit.pressed{transform:scale(.96);opacity:.85}
.cf-submit.success{background:#0F8866}
/* Flying manager chip */
.fly-chip{position:absolute;background:var(--green);color:#fff;font-size:12px;font-weight:700;padding:7px 14px;border-radius:999px;box-shadow:0 8px 22px rgba(18,158,123,.4);z-index:10;pointer-events:none;opacity:0;display:flex;align-items:center;gap:7px;white-space:nowrap;left:0;top:0}
.fly-chip .fc-av{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.25);font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
/* Emission source list */
.es-list{display:flex;flex-direction:column;gap:8px}
.es-row{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg2);border:1px solid transparent;border-radius:10px;transition:background 280ms ease,border-color 280ms ease,box-shadow 280ms ease,transform 280ms ease;opacity:0;animation:matchAppear 400ms ease forwards}
.es-row:nth-child(2){animation-delay:60ms}
.es-row:nth-child(3){animation-delay:120ms}
.es-row:nth-child(4){animation-delay:180ms}
.es-row:nth-child(5){animation-delay:240ms}
@keyframes matchAppear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.es-row.targeting{border-color:var(--green);box-shadow:0 0 0 3px rgba(18,158,123,.18);background:rgba(18,158,123,.04);transform:scale(1.1)}
.es-row.assigned{background:rgba(18,158,123,.05);border-color:rgba(18,158,123,.2)}
.es-icon{padding:5px 11px;border-radius:8px;font-size:11px;font-weight:700;color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;white-space:nowrap;letter-spacing:.1em;height:26px}
.es-info{flex:1;min-width:0}
.es-name{font-size:12px;font-weight:700;color:var(--fg1);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.es-sub{font-size:10px;color:var(--fg2);margin-top:2px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.es-status{font-size:11px;font-weight:700;padding:5px 11px;border-radius:999px;background:#FFF8E1;color:#D97706;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background 280ms,color 280ms}
.es-status.assigned{background:var(--green-50);color:var(--green)}
.es-status .es-av-mini{width:18px;height:18px;border-radius:50%;font-size:9px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
@media(max-width:768px){.match-stage{grid-template-columns:1fr;padding:14px;min-height:auto}}
/* ── ZIGZAG REASON SECTION ── */
.reason-section { background: #fff; }
.reason-snap-wrap { height: auto; overflow: visible; scroll-behavior: smooth; }
.reason-slide { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 100px 80px; }
.reason-slide:nth-child(even) { background: var(--bg2); }
.reason-slide:nth-child(odd) { background: #fff; }
.reason-slide-inner { max-width: var(--max-w); margin: 0 auto; width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
.reason-slide-inner.reverse { direction: rtl; }
.reason-slide-inner.reverse > * { direction: ltr; }
.reason-slide-title { font-size: 52px; font-weight: 700; letter-spacing: -1.5px; line-height: 1.05; color: var(--fg1); text-align: center; margin-bottom: 64px; }
.reason-slide-title .t-muted { color: var(--muted); font-weight: 700; }
.reason-num { display: none; }
.reason-title { font-size: 40px; font-weight: 700; letter-spacing: -1px; line-height: 1.2; color: var(--fg1); margin-bottom: 20px; }
.reason-title .hl { color: #1a9e7c; font-size: 48px; font-weight: 700; display: block; margin-bottom: 6px; opacity: 0.85; letter-spacing: -1.5px; }
.reason-desc { font-size: 18px; color: var(--fg2); line-height: 1.75; }
.reason-visual { background: var(--bg2); border: 0.5px solid var(--border); border-radius: 20px; padding: 40px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: center; }
.reason-slide:nth-child(even) .reason-visual { background: #fff; }
/* Progress dots */
.reason-dots { position: fixed; right: 32px; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; gap: 10px; z-index: 50; pointer-events: none; opacity: 0; transition: opacity 300ms; }
.reason-dots.visible { opacity: 1; pointer-events: all; }
.reason-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--border); cursor: pointer; transition: background 300ms, transform 300ms; pointer-events: all; }
.reason-dot.active { background: var(--green); transform: scale(1.4); }

/* Visual 1: 자동 연동 */
.conn-grid { display: flex; flex-direction: column; gap: 12px; }
.conn-source { display: flex; align-items: center; gap: 12px; background: #fff; border: 0.5px solid var(--border); border-radius: 10px; padding: 12px 16px; }
.conn-source-icon { width: 36px; height: 36px; border-radius: 9px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.conn-source-name { font-size: 14px; font-weight: 600; color: var(--fg1); }
.conn-source-sub { font-size: 12px; color: var(--fg2); margin-top: 1px; }
.conn-arrow { text-align: center; font-size: 20px; color: var(--green); animation: bounce 1.4s ease-in-out infinite; }
.conn-dest { background: rgba(18,158,123,0.15); border: 1px solid rgba(18,158,123,0.25); border-radius: 10px; padding: 14px 20px; display: flex; align-items: center; gap: 12px; }
.conn-dest-label { font-size: 15px; font-weight: 700; color: var(--green); }
.conn-dest-sub { font-size: 12px; color: var(--fg2); margin-top: 2px; }
@keyframes bounce { 0%,100%{transform:translateY(0)}50%{transform:translateY(4px)} }
.conn-source { animation: slideInConn 400ms ease both; }
.conn-source:nth-child(1){animation-delay:0ms}
.conn-source:nth-child(2){animation-delay:100ms}
.conn-source:nth-child(3){animation-delay:200ms}
@keyframes slideInConn { from{opacity:0;transform:translateX(-16px)} to{opacity:1;transform:translateX(0)} }

/* Visual 2: 관리 양식 */
.form-mockup { display: flex; flex-direction: column; gap: 10px; }
.form-row { background: #fff; border: 0.5px solid var(--border); border-radius: 10px; padding: 12px 16px; display: flex; align-items: center; gap: 12px; }
.form-row-lbl { font-size: 12px; font-weight: 600; color: var(--fg2); width: 100px; flex-shrink: 0; }
.form-row-val { font-size: 13px; color: var(--fg1); font-weight: 500; flex: 1; }
.form-row-badge { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.form-badge-g { background: var(--green-50); color: var(--green); }
.form-badge-b { background: var(--blue-50); color: var(--blue); }
.form-import { margin-top: 6px; background: rgba(18,158,123,0.1); border: 1px solid rgba(18,158,123,0.2); border-radius: 10px; padding: 12px 20px; text-align: center; font-size: 14px; font-weight: 700; color: var(--green); }

/* Visual 3: 면적 비율 */
.area-mockup { display: flex; flex-direction: column; gap: 10px; }
.area-building { background: #fff; border: 0.5px solid var(--border); border-radius: 10px; padding: 14px 16px; margin-bottom: 4px; }
.area-building-title { font-size: 13px; font-weight: 700; color: var(--fg1); margin-bottom: 10px; }
.area-bar-row { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.area-bar-lbl { font-size: 12px; color: var(--fg2); width: 60px; flex-shrink: 0; }
.area-bar-track { flex: 1; height: 8px; background: var(--bg2); border-radius: 999px; overflow: hidden; }
.area-bar-fill { height: 8px; border-radius: 999px; }
.area-bar-pct { font-size: 12px; font-weight: 700; width: 36px; text-align: right; flex-shrink: 0; }
.area-result { background: var(--green-50); border: 1px solid rgba(18,158,123,0.2); border-radius: 10px; padding: 12px 16px; display: flex; justify-content: space-between; align-items: center; }
.area-result-lbl { font-size: 13px; font-weight: 600; color: var(--green); }
.area-result-val { font-size: 16px; font-weight: 700; color: var(--green); letter-spacing: -.3px; }
.area-bar-fill { animation: growBar 1.4s cubic-bezier(.4,0,.2,1) both infinite alternate; }
@keyframes growBar { from{width:0} }
/* ── Slide 1 connection flow animation ── */
.conn-source{position:relative;overflow:hidden}
.conn-source::before{content:"";position:absolute;left:-12px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--green);transform:translate(0,-50%);box-shadow:0 0 0 0 rgba(18,158,123,.6);animation:connDot 2.4s ease-in-out infinite}
.conn-source:nth-child(2)::before{animation-delay:.6s;background:#19B5FE;box-shadow:0 0 0 0 rgba(25,181,254,.5)}
.conn-source:nth-child(3)::before{animation-delay:1.2s;background:#76BE57;box-shadow:0 0 0 0 rgba(118,190,87,.5)}
@keyframes connDot{0%,100%{opacity:.3;transform:translate(0,-50%) scale(.8);box-shadow:0 0 0 0 rgba(18,158,123,.5)}50%{opacity:1;transform:translate(0,-50%) scale(1.2);box-shadow:0 0 0 6px rgba(18,158,123,0)}}
.conn-arrow{animation:connArrow 1.6s ease-in-out infinite}
@keyframes connArrow{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(6px);opacity:1}}
.conn-dest{position:relative;overflow:hidden}
.conn-dest::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(18,158,123,.18),transparent);transform:translateX(-100%);animation:connSweep 2.8s ease-in-out infinite}
@keyframes connSweep{0%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
/* ── Slide 2 OCR scan animation ── */
.ocr-mockup{display:flex;flex-direction:column;gap:10px;position:relative}
.ocr-doc{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:14px 16px;position:relative;overflow:hidden;min-height:180px}
.ocr-doc-head{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700;color:var(--fg1);padding-bottom:10px;border-bottom:.5px dashed var(--border);margin-bottom:10px}
.ocr-doc-head .ocr-badge{font-size:10px;font-weight:700;color:#3B82F6;background:#EFF6FF;padding:2px 8px;border-radius:6px;letter-spacing:.04em}
.ocr-doc-body{position:relative;padding:4px 0;display:flex;flex-direction:column;gap:6px;min-height:120px}
.ocr-line{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg2);border-radius:8px;font-size:11.5px;position:relative;opacity:.95}
.ocr-line .k{color:var(--fg2);font-weight:500}
.ocr-line .v{color:var(--fg1);font-weight:700;font-variant-numeric:tabular-nums}
.ocr-line.detected{animation:ocrDetect 4s ease-in-out infinite}
.ocr-line.detected:nth-child(1){animation-delay:.4s}
.ocr-line.detected:nth-child(2){animation-delay:1.2s}
.ocr-line.detected:nth-child(3){animation-delay:2.0s}
.ocr-line.detected:nth-child(4){animation-delay:2.8s}
@keyframes ocrDetect{0%,15%,90%,100%{background:var(--bg2);box-shadow:0 0 0 0 rgba(59,130,246,0)}25%,55%{background:rgba(59,130,246,.12);box-shadow:0 0 0 2px rgba(59,130,246,.25)}}
.ocr-scan-beam{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.85) 40%,rgba(59,130,246,.95) 60%,transparent 100%);box-shadow:0 0 14px rgba(59,130,246,.55);top:0;animation:ocrScan 3.6s cubic-bezier(.4,0,.4,1) infinite;z-index:3;border-radius:2px}
@keyframes ocrScan{0%{top:14%;opacity:0}10%{opacity:1}80%{top:92%;opacity:1}90%,100%{opacity:0}}
.ocr-output{background:linear-gradient(180deg,#EDFCF6 0%,#fff 100%);border:.5px solid rgba(18,158,123,.25);border-radius:12px;padding:14px 16px}
.ocr-output-head{font-size:11px;font-weight:700;color:var(--green);margin-bottom:8px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.ocr-output-head::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);animation:dotPulse 1.6s ease-in-out infinite}
.ocr-out-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;border-bottom:.5px dashed rgba(18,158,123,.15)}
.ocr-out-row:last-child{border-bottom:none}
.ocr-out-row .ok{color:var(--fg2)}
.ocr-out-row .ov{color:var(--fg1);font-weight:700;font-variant-numeric:tabular-nums}
.ocr-out-row.total .ov{color:var(--green);font-size:14px}
@media(max-width:1024px){.feat-tabs{grid-template-columns:repeat(2,1fr)}.sol-title-head{font-size:40px}.fp-track-grid,.fp-assign-grid{grid-template-columns:1fr}.adv-grid{grid-template-columns:1fr}.adv-title{font-size:36px}}
@media(max-width:640px){.feat-tabs{grid-template-columns:1fr}.feat-dashboard{padding:20px}.sol-title-head{font-size:30px}.adv-section{padding:80px 24px}.adv-title{font-size:28px}}
.split-section{padding:100px 80px;background:var(--bg2)}
.split-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.split-section.alt{background:#fff}
.stats-banner{padding:80px 80px;background:#fff;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.stats-inner{max-width:var(--max-w);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-col{padding:0 40px;border-right:.5px solid var(--border)}
.stat-col:first-child{padding-left:0}
.stat-col:last-child{border-right:none;padding-right:0}
.stat-big{font-size:52px;font-weight:700;letter-spacing:-1.5px;line-height:1;color:var(--fg1)}
.stat-big .g{color:var(--green)}
.stat-arrow{font-size:28px;color:var(--muted)}
.stat-lbl{font-size:13px;color:var(--green);font-weight:500;margin-top:6px}
.stat-note{font-size:13px;color:var(--fg2);margin-top:4px;line-height:1.5}
.cta-banner{position:relative;overflow:hidden;padding:160px 80px;background:#FFFFFF url('theme/basic/assets/Shadow.png') center center / cover no-repeat}
.cta-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:56px;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-left: 70px; margin-top: 30px;}
.cta-secondary:hover{gap:10px}
.cta-secondary .arr{transition:transform 180ms}
.cta-secondary:hover .arr{transform:translateX(2px)}
@media(max-width:768px){.cta-banner{padding:40px 20px}.cta-h,.cta-m{font-size:32px;letter-spacing:-0.03em}}
.mockup{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 2px 24px rgba(0,0,0,.04)}
.mock-head{font-size:13px;font-weight:700;color:var(--fg1);margin-bottom:16px}
.mock-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:.5px solid var(--bg2)}
.mock-row:last-child{border-bottom:none}
.mock-label{font-size:13px;color:var(--fg2)}
.mock-val{font-size:13px;font-weight:600;color:var(--fg1)}
.bar-track{height:6px;background:var(--bg2);border-radius:999px;overflow:hidden;margin:4px 0}
.bar-fill{height:6px;border-radius:999px;background:var(--green)}
.pill{font-size:11px;font-weight:500;padding:4px 12px;border-radius:999px}
.pill-g{background:var(--green-50);color:var(--green)}
.pill-b{background:var(--blue-50);color:var(--blue)}
.pill-y{background:#FFF8E1;color:#D97706}
.sh{font-size:52px;font-weight:700;letter-spacing:-1.4px;line-height:1.05;color:var(--fg1)}
.sm{font-size:52px;font-weight:700;letter-spacing:-1.4px;line-height:1.05;color:var(--muted)}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.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}}

@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; }
  .cta-btns { align-items: center !important; width: 100% !important; }
  .cta-btn-row { justify-content: center !important; flex-wrap: wrap !important; }
}

/* ── DIFF VIDEO SECTION ── */
.diff-section{background:var(--bg2);padding:100px 80px;border-top:.5px solid var(--border);border-bottom:.5px solid var(--border)}
.diff-inner{max-width:var(--max-w);margin:0 auto}
.diff-heading-sh{font-size:52px;font-weight:700;line-height:1.15;color:var(--green);text-align:center;margin-bottom:56px}
.diff-heading-sm{font-size:52px;font-weight:700;line-height:1.15;color:var(--muted);text-align:center;margin-bottom:56px}
.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: var(--green-50); border:.5px solid var(--green); border-radius: 20px; padding: 22px 32px; flex-shrink: 0; width: 66%;} */
.diff-text-card{padding: 22px 32px; flex-shrink: 0; width: 66%;}
.diff-tag{font-size:13px;font-weight:700;color:var(--green);letter-spacing:.06em;text-transform:uppercase;margin-bottom:14px;display:none}
.diff-big-title{font-size:30px;font-weight:700;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:30px;font-weight:700}
.diff-big-desc{font-size:20px;letter-spacing:-0.01em;:var(--fg2);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.4em}
.mb-br{display:none}
.diff-player-box{flex:1 1 0;border-radius:20px;overflow:hidden;background:#fff;position:relative;min-height:480px}
@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;object-fit:cover}
.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,auto auto);gap:4px}
.diff-thumb-item{background:#fff;border:1.5px solid var(--border);border-radius:16px;cursor:pointer;transition:border-color 200ms,box-shadow 200ms,transform 180ms;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:18px 20px}
.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 { background: var(--green-50); border-color: var(--green); box-shadow: 0 8px 24px rgba(18,158,123,.08); }
/* .diff-thumb-item.active{border-color:vrink:0;margin-top:0px;margin-left:20px;ar(--green);box-shadow:0 0 0 3px rgba(18,158,123,.1)} */
.diff-thumb-icon{width:32px;height:32px;border-radius:8px;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-50);color:var(--green)}
.diff-thumb-play{width:40px;height:40px;border-radius:50%;background:var(--bg2);color:var(--fg2);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:-50px; margin-right:10px;: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;display:flex;flex-direction:column;justify-content:center;gap:4px}
.diff-thumb-title{font-size:20px;font-weight:700;color:var(--fg1);line-height:1.35}
.diff-thumb-sub { font-size: 13px; color: var(--fg2); line-height: 1.5; margin-top: 4px; display: block; }
@media(max-width:1100px){.diff-layout{grid-template-columns:1fr}.diff-thumb-list{grid-template-rows:auto;grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.diff-section{padding:80px 20px}.diff-heading-sh{font-size:28px;margin-bottom:32px}.diff-heading-sm{font-size:28px;margin-bottom:32px}.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}}

/* === 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; }
}

/* req-body 데스크탑 기본: full만 표시 */
.req-body-mobile { display: none; }

/* === solution-data 모바일 전용 (768px↓) === */
@media (max-width: 768px) {
  /* 1) 솔루션 feature 카드들 간격 확대 (모바일에서 카드 구분감) */
  .feat-tabs { gap: 20px !important; margin-bottom: 28px !important; }
  .feat-tab { padding: 18px 16px !important; }

  /* 2-a) 데이터 요청 패널 — 받는이 칩 1개만 + 회사명 숨김(이름만) + +more 칩 */
  #reqChips .req-chip:nth-child(n+2):not(.more) { display: none !important; }
  #reqChips .req-chip .r-co { display: none !important; }
  #reqChips { flex-wrap: nowrap !important; overflow: hidden !important; gap: 6px !important; }

  /* 2-b) 데이터 요청 본문 — '요청드립니다.' 까지 짧은 모바일 버전만 표시 */
  .req-body .req-body-full { display: none !important; }
  .req-body .req-body-mobile { display: inline !important; }
  .req-body {
    display: -webkit-box !important;
    -webkit-line-clamp: 1 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* hero dashboard: 진행현황 5카드 가로 5열 row + 요청정보/리마인더 1열 + LIVE 숨김 */
  .hero-dashboard .track-cards {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
  }
  .hero-dashboard .track-bottom {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .hero-dashboard .hd-chip { display: none !important; }
  /* 각 카드: 세로 형태 (도넛 위 / 라벨 / 수치 아래) 컴팩트 */
  .hero-dashboard .track-card {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 3px !important;
    gap: 4px !important;
    text-align: center !important;
    min-width: 0;
  }
  .hero-dashboard .track-circle {
    width: 38px !important;
    height: 38px !important;
    flex-shrink: 0;
  }
  .hero-dashboard .track-pct { font-size: 10px !important; }
  .hero-dashboard .track-lbl { font-size: 9.5px !important; line-height: 1.15 !important; white-space: nowrap; }
  .hero-dashboard .track-sub { font-size: 8.5px !important; line-height: 1.15 !important; color: var(--fg2); white-space: nowrap; }
  /* page-hero: 모바일 중앙정렬 (타이틀, lead, 버튼 모두) */
  .page-hero {
    padding: 70px 20px !important;
    min-height: calc(100vh - 68px) !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !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;
  }
  .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;
    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;
  }

  /* pain-section: title 폰트 축소 + grid 2열 (모바일) */
  .pain-section {
    padding: 80px 20px !important;
    min-height: auto !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 {
    grid-template-columns: 1fr 1fr !important;
    grid-auto-rows: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  /* pain-card 홀수개일 때 마지막 카드 전체 폭으로 채움 (3개 → 2x2 마지막 빈칸 방지) */
  .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-icon svg { width: 18px !important; height: 18px !important; }
  .pain-card-body { flex: 1; }
  .pain-card-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
    min-height: calc(2 * 1.3em) !important;  /* 1줄/2줄 모두 동일 height */
  }
  .pain-card-desc { font-size: 11px !important; line-height: 1.4 !important; margin-top: 6px !important; }

  /* feature-section: 카드 ↔ 애니메이션 인터리브 (assign→panel→send→panel→track→panel→verify→panel) */
  .feature-section { padding: 80px 20px !important; }
  .sol-title-head { font-size: 28px !important; letter-spacing: -0.6px !important; line-height: 1.2 !important; margin-bottom: 28px !important; }

  /* feature-inner: flex column + gap 0 (margin으로 그룹 간격 제어) */
  .feature-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  /* feat-tabs / feat-dashboard wrapper 무력화 → 자식이 직계 자식처럼 */
  .feat-tabs, .feat-dashboard { display: contents !important; }
  /* 시각 순서: 텍스트 → 애니메이션 반복 */
  .feat-tab[data-panel="assign"]  { order: 2; }
  .feat-panel[data-panel="assign"] { order: 3; }
  .feat-tab[data-panel="send"]    { order: 4; }
  .feat-panel[data-panel="send"]   { order: 5; }
  .feat-tab[data-panel="track"]   { order: 6; }
  .feat-panel[data-panel="track"]  { order: 7; }
  .feat-tab[data-panel="verify"]  { order: 8; }
  .feat-panel[data-panel="verify"] { order: 9; }
  .sol-eyebrow, .sol-title-head { order: 1; }

  /* feat-tab — 단일 카드의 헤더 (흰 bg + top-radius + border-bottom 제거) */
  .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: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-areas:
      "icon title"
      "icon desc" !important;
    align-items: center !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    align-items: center !important;
    gap: 12px !important;
    cursor: default !important;
    text-align: left !important;
  }
  /* 첫 번째 그룹만 위쪽 margin 축소 (sol-title-head 와 너무 멀어지지 않게) */
  .feat-tab[data-panel="assign"] { margin-top: 12px !important; }
  /* active 상태도 default 와 동일 (색 변화 없음) */
  .feat-tab.active {
    background: #FAFBFC !important;
    border: 1px solid var(--border) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
  }
  /* 아이콘 — 항상 흰색 배경 고정 (active 변화 없음) */
  .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-panel — 단일 카드의 본문 (흰 bg + bottom-radius + border-top 제거) */
  .feat-panel {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    pointer-events: auto !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;
    min-height: 0 !important;
    margin: 0 !important;
  }
  /* dashboard wrapper의 height 무효화 (display:contents 했지만 safety) */
  .feat-dashboard { height: auto !important; padding: 0 !important; background: transparent !important; border: none !important; }

  /* feat-panel 내부 grid 1열 */
  .fp-track-grid, .fp-assign-grid { grid-template-columns: 1fr !important; gap: 10px !important; }

  /* fp-verify 패널 검수 표: 1~5월만 표시 + 우측 fade로 "더 있는 것처럼" */
  .feat-panel[data-panel="verify"] .verify-table {
    position: relative !important;
    overflow: hidden !important;
    -webkit-mask-image: linear-gradient(to right, black 0%, black 75%, transparent 100%) !important;
    mask-image: linear-gradient(to right, black 0%, black 75%, transparent 100%) !important;
  }
  .feat-panel[data-panel="verify"] .verify-thead,
  .feat-panel[data-panel="verify"] .verify-row {
    grid-template-columns: 2.4fr repeat(5, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    font-size: 10px !important;
    padding: 8px 10px !important;
    gap: 2px !important;
  }
  /* verify-info: Scope chip 위 / 이름 아래로 stack (좁은 폭에 fit) */
  .feat-panel[data-panel="verify"] .verify-info {
    min-width: 0 !important;
  }
  .feat-panel[data-panel="verify"] .verify-info-top {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 3px !important;
  }
  .feat-panel[data-panel="verify"] .verify-scope {
    font-size: 8.5px !important;
    padding: 1px 6px !important;
  }
  .feat-panel[data-panel="verify"] .verify-info-name {
    font-size: 10px !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .feat-panel[data-panel="verify"] .verify-info-sub {
    font-size: 8.5px !important;
    line-height: 1.3 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  /* 6월~12월 셀 숨김 (정보 1번째 + 1~5월 = 1~6번째 보임, 6월(7번째)부터 숨김) */
  .feat-panel[data-panel="verify"] .verify-thead > div:nth-child(n+7),
  .feat-panel[data-panel="verify"] .verify-row > div:nth-child(n+7) {
    display: none !important;
  }
  /* verify row: 기본 숨김 유지 → JS가 .show 추가 시 펼쳐짐 */
  .feat-panel[data-panel="verify"] .verify-row {
    opacity: 0 !important;
    transform: translateY(6px) !important;
    transition: opacity 260ms ease, transform 260ms ease !important;
  }
  .feat-panel[data-panel="verify"] .verify-row.show {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  .feat-panel[data-panel="verify"] .verify-error {
    opacity: 1 !important;
    transform: scale(1) !important;
  }
  .feat-panel[data-panel="verify"] .verify-error.show {
    opacity: 1 !important;
    animation: errorEmphasize 0.7s cubic-bezier(.2,1.4,.4,1) !important;
    z-index: 5;
  }
  .feat-panel[data-panel="verify"] .col-info { font-size: 10px !important; }
  .feat-panel[data-panel="verify"] .verify-info-top { font-size: 10px !important; }
  .feat-panel[data-panel="verify"] .verify-info-sub { font-size: 9px !important; }
  .feat-panel[data-panel="verify"] .verify-cell { font-size: 10px !important; }
  .feat-panel[data-panel="verify"] .verify-error,
  .feat-panel[data-panel="verify"] .verify-requested,
  .feat-panel[data-panel="verify"] .verify-pending {
    font-size: 8.5px !important;
    padding: 2px 4px !important;
  }

  /* fp-track 패널 안 track-cards 5개 가로 5열 row (hero-dashboard와 동일) */
  .feat-panel[data-panel="track"] .track-cards {
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
  }
  .feat-panel[data-panel="track"] .track-card {
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 3px !important;
    gap: 4px !important;
    text-align: center !important;
    min-width: 0;
  }
  .feat-panel[data-panel="track"] .track-circle {
    width: 38px !important;
    height: 38px !important;
    flex-shrink: 0;
  }
  .feat-panel[data-panel="track"] .track-pct { font-size: 10px !important; }
  .feat-panel[data-panel="track"] .track-lbl { font-size: 9.5px !important; line-height: 1.15 !important; white-space: nowrap; }
  .feat-panel[data-panel="track"] .track-sub { font-size: 8.5px !important; line-height: 1.15 !important; color: var(--fg2); white-space: nowrap; }
  /* track-bottom 2열 → 1열 + 잘림 방지 */
  .feat-panel[data-panel="track"] .track-bottom {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .feat-panel[data-panel="track"] .track-req-htitle,
  .feat-panel[data-panel="track"] .track-rem-title { font-size: 12px !important; }
  .feat-panel[data-panel="track"] .track-req-id,
  .feat-panel[data-panel="track"] .track-rem-count { font-size: 10px !important; }
  .feat-panel[data-panel="track"] .track-req-row { font-size: 11px !important; }
  .feat-panel[data-panel="track"] .track-req-lbl { width: 44px !important; font-size: 10px !important; }

  /* CTA 섹션 모바일 중앙정렬 (타이틀/버튼/화살표 모두) */
  .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; 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; }
}

/* ===== 솔루션 페이지 공통 수정사항 ===== */
/* 1. 히어로 이미지: 가로로 너무 퍼지지 않게, 비율 유지하며 커지도록 */
.page-hero-grid { max-width: 1600px; margin-left: auto; margin-right: auto; }
.hero-visual { max-width: 920px; margin: 0 auto; width: 920px; align-self: center; }
@media (max-width: 1024px) { .hero-visual { max-width: 100%; width: 100%; margin: 0; align-self: stretch; } }

/* 1-b. 와이드 모니터(>=1600px) 한정: 히어로 애니메이션 가로·세로 20% 확대
   - 노트북(1025-1599px)은 원본 1.0x 유지하여 텍스트 침범 방지
   - 그리드 컬럼 비율은 원본 1fr 2fr / gap 48px 유지 */
@media (min-width: 1600px) {
  .hero-visual { transform: scale(1.2); transform-origin: center; }
}

/* 1-c. 히어로 대시보드 요청정보·자동리마인더: 위로 쏠리지 않게 수직 분포 + 자간 조정 */
.hero-dashboard .track-req,
.hero-dashboard .track-rem { height: 100%; }
.hero-dashboard .track-req-body {
  flex: 1;
  gap: 10px;
  justify-content: space-between;
  padding: 14px 16px 16px;
}
.hero-dashboard .track-rem-list {
  flex: 1;
  gap: 6px;
  justify-content: space-between;
  padding: 10px 12px 12px;
}
.hero-dashboard .track-req-row,
.hero-dashboard .track-req-val,
.hero-dashboard .track-req-lbl,
.hero-dashboard .track-req-targets,
.hero-dashboard .track-req-cycle,
.hero-dashboard .track-req-scope,
.hero-dashboard .t-tag { letter-spacing: -0.02em !important; }

/* 대상자 칩 데스크탑에서 2줄 노출 */
@media (min-width: 1025px) {
  .hero-dashboard .track-req-targets {
    flex-wrap: wrap !important;
    row-gap: 6px;
    align-items: flex-start;
  }
  .hero-dashboard .track-req-row.targets { align-items: flex-start; }
}

/* 대상자 칩 모바일(≤1024px)에서 칩 수 줄여 +8명까지 온전히 노출 */
@media (max-width: 1024px) {
  .hero-dashboard .track-req-targets .t-tag:nth-child(4),
  .hero-dashboard .track-req-targets .t-tag:nth-child(5),
  .hero-dashboard .track-req-targets .t-tag:nth-child(6),
  .hero-dashboard .track-req-targets .t-tag:nth-child(7) { display: none !important; }
}

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

/* 3. 비디오: 영상 비율(16:10) + 바닥 고정 확대로 가장자리 가림 + 컨트롤바 보호 */
.diff-section, .diff-section * { box-shadow: none !important; }
.diff-layout { gap: 16px; }

/* ── 지그재그 레이아웃 ── */
.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-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 { width: 100%; 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-zz-desc-green  { font-size: 20px; color: var(--green); line-height: 1.7; font-weight: 700; }
.diff-zz-bubble {
  display: inline-block;
  position: relative;
  background: var(--green-50);
  border: 1.5px solid var(--green);
  color: var(--green);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  padding: 10px 18px;
  border-radius: 18px 18px 4px 18px;
  margin-top: 20px;
}
.diff-zz-bubble::before, .diff-zz-bubble::after { display: none; }
.diff-player-box {
  aspect-ratio: 16 / 10;
  min-height: 0;
  height: auto;
  background: #fff;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  overflow: hidden;
  border-radius: 20px;
}
.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;
}
.diff-player-box video:focus,
.diff-player-box video:focus-visible { outline: none !important; }
@media (max-width: 1100px) { .diff-player-box { aspect-ratio: 16 / 10; } }

/* 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-panel 내부 중복 타이틀+칩 숨김 (feat-tab이 이미 표시) */
@media (max-width: 768px) {
  .feat-panel .fp-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; }
}

/* ── 지그재그 레이아웃 모바일 ── */
@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,
  .diff-zz-desc-green { font-size: 15px !important; line-height: 1.6 !important; }
  .diff-zz-bubble { font-size: 13px !important; padding: 8px 14px !important; margin-top: 14px !important; }
  .diff-zz-eyebrow { font-size: 11px !important; margin-bottom: 10px !important; }
}

@media(max-width:768px){
  .cta-banner .cta-inner { align-items: center !important; text-align: center !important; }
  .cta-banner .cta-inner > div:first-child { display: flex !important; flex-direction: column !important; align-items: center !important; width: 100% !important; text-align: center !important; }
  .cta-banner .cta-h, .cta-banner .cta-m { text-align: center !important; white-space: normal !important; width: 100% !important; }
  .cta-banner .cta-inner > div:first-child > div[style] { flex-direction: column !important; align-items: center !important; gap: 5px !important; }
  .cta-banner .cta-secondary, .cta-banner .cta-link { margin-left: 0 !important; }
  .cta-banner .cta-btns { align-items: center !important; width: 100% !important; }
  .cta-banner .cta-btn-row { justify-content: center !important; flex-wrap: wrap !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; } }