*,*::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;grid-template-areas:"text visual";gap:48px;align-items:center;width:100%;max-width:none;margin:0;position:relative;z-index:1;padding-right:0} */
/* .page-hero-grid > .page-hero-left{grid-area:text} */
/* .page-hero-grid > .hero-visual{grid-area:visual} */
/* .page-hero-left{padding:40px 0;min-width:0} */

/* ── 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; }
.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;margin-top:0;color:var(--fg1);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}
.lead{font-size:17px;color:var(--fg2);line-height:1.7;margin-top:24px;max-width:none}
/* Hero visual */
.hero-visual{position:relative;overflow:visible;display:flex;align-items:center}
.hero-visual .pcf-dash{width:100%;min-width:0}
.hero-visual .pcf-dash-body{min-height:435px}
/* Hero mini process diagram */
.hero-visual .pcf-canvas{padding:0;overflow:hidden}
.hero-mini-stage{position:absolute;top:50%;left:50%;width:800px;height:380px;transform:translate(-50%,-50%) scale(0.68);transform-origin:center center}
@media (max-width:1024px){.hero-mini-stage{transform:translate(-50%,-50%) scale(0.55)}}
@media (max-width:768px){.hero-mini-stage{transform:translate(-50%,-50%) scale(0.45)}}
.hero-mini-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.h-cur-a{animation:hCurA 12s ease-in-out infinite;animation-fill-mode:both}
.h-cur-b{animation:hCurB 14s ease-in-out infinite;animation-delay:-4.5s;animation-fill-mode:both}
.h-cur-c{animation:hCurC 13s ease-in-out infinite;animation-delay:-8.5s;animation-fill-mode:both}
@keyframes hCurA{
  0%{transform:translate(20px,40px)}
  25%{transform:translate(225px,40px)}
  50%{transform:translate(240px,230px)}
  75%{transform:translate(435px,40px)}
  100%{transform:translate(20px,40px)}
}
@keyframes hCurB{
  0%{transform:translate(645px,40px)}
  25%{transform:translate(435px,40px)}
  50%{transform:translate(230px,40px)}
  75%{transform:translate(250px,230px)}
  100%{transform:translate(645px,40px)}
}
@keyframes hCurC{
  0%{transform:translate(250px,235px)}
  33%{transform:translate(435px,40px)}
  66%{transform:translate(645px,40px)}
  100%{transform:translate(250px,235px)}
}
@media(max-width:1024px){
  .page-hero{padding:60px 32px;min-height:100vh}
  .page-hero-grid{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    grid-template-areas:"text" "visual";
    gap:24px;
  }
  .hero-dashboard{width:100%}
  .page-hero-grid > .page-hero-left{padding:0}
  /* 태블릿(769-1024): PCF dash 내부는 데스크탑처럼 좌우(3fr 7fr) 유지, 자연 height */
  .page-hero-grid > .hero-visual .pcf-dash-body{min-height:auto;height:auto}
}
@media(max-width:768px){
  .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}
}
.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-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:20px}
.pain-card{background:#fff;border:.5px solid var(--border);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;min-height:220px}
@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}}
.pain-icon{width:52px;height:52px;border-radius:13px;background:#FFE8E3;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.pain-card-body{margin-top:36px}
.pain-title{font-size:20px;font-weight:700;color:var(--fg1);margin-bottom:10px;letter-spacing:0.01em}
.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:15px;font-weight:700;color:var(--green);margin-bottom:20px;letter-spacing:.01em;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:64px;text-align:left}
.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;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{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}
@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}
.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;display:flex;flex-direction:column;justify-content:center}
@media(max-width:1024px){.feat-tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.feat-tabs{grid-template-columns:1fr}}
/* Card 1: Process flow (collaborative) */
.fa-process{display:flex;align-items:center;justify-content:space-between;gap:6px;height:100%}
.fa-pnode{flex:1;background:var(--green-50);border:.5px solid rgba(18,158,123,.25);border-radius:8px;padding:8px 6px;text-align:center;font-size:9.5px;font-weight:700;color:var(--green);position:relative}
.fa-pnode.b{background:var(--blue-50);color:var(--blue);border-color:rgba(25,181,254,.25)}
.fa-pnode .av{position:absolute;top:-6px;right:-6px;width:16px;height:16px;border-radius:50%;background:var(--green);color:#fff;font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;animation:fapAvatar 2.4s ease-in-out infinite}
.fa-pnode .av.b{background:var(--blue);animation-delay:.6s}
.fa-pnode .av.o{background:#F26830;animation-delay:1.2s}
@keyframes fapAvatar{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}
.fa-arrow{color:var(--green);font-size:14px;animation:faArrow 1.6s ease-in-out infinite}
@keyframes faArrow{0%,100%{transform:translateX(0);opacity:.5}50%{transform:translateX(3px);opacity:1}}
/* Card 2: Emission factors */
.fa-ef{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:center}
.fa-ef-row{display:flex;align-items:center;gap:8px;font-size:10px;opacity:0;animation:efRow 4s ease-in-out infinite}
.fa-ef-row:nth-child(1){animation-delay:0s}
.fa-ef-row:nth-child(2){animation-delay:.6s}
.fa-ef-row:nth-child(3){animation-delay:1.2s}
.fa-ef-row:nth-child(4){animation-delay:1.8s}
@keyframes efRow{0%,18%{opacity:0;transform:translateX(-8px)}25%,75%{opacity:1;transform:translateX(0)}82%,100%{opacity:0;transform:translateX(8px)}}
.fa-ef-tag{font-size:8.5px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--green-50);color:var(--green);flex-shrink:0;letter-spacing:.02em}
.fa-ef-name{flex:1;color:var(--fg1);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-ef-val{color:var(--fg2);font-size:9.5px;font-variant-numeric:tabular-nums;font-weight:600;flex-shrink:0}
/* Card 3: Auto calculation */
.fa-calc{display:flex;flex-direction:column;gap:8px;height:100%;justify-content:center}
.fa-calc-line{display:flex;justify-content:space-between;font-size:10.5px;font-variant-numeric:tabular-nums}
.fa-calc-line .k{color:var(--fg2)}
.fa-calc-line .v{font-weight:700;color:var(--fg1)}
.fa-calc-total{display:flex;justify-content:space-between;background:linear-gradient(90deg,#EDFCF6,#DBF5E8);border-radius:8px;padding:8px 12px;font-size:11px;align-items:center;position:relative;overflow:hidden}
.fa-calc-total::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:translateX(-100%);animation:calcShine 2.6s ease-in-out infinite}
@keyframes calcShine{0%,30%{transform:translateX(-100%)}70%,100%{transform:translateX(100%)}}
.fa-calc-total .k{color:var(--fg2);font-weight:700;position:relative;z-index:1}
.fa-calc-total .v{color:var(--green);font-weight:700;font-size:14px;position:relative;z-index:1}
/* Card 4: Auto report */
.fa-rep{display:flex;flex-direction:column;gap:6px;height:100%;justify-content:center}
.fa-rep-row{display:flex;align-items:center;gap:8px;background:var(--bg2);border-radius:6px;padding:7px 10px;font-size:10px;transition:background 280ms,transform 280ms}
.fa-rep-row.gen{animation:repGen 4s ease-in-out infinite}
.fa-rep-row.gen:nth-of-type(2){animation-delay:1s}
.fa-rep-row.gen:nth-of-type(3){animation-delay:2s}
@keyframes repGen{0%,20%,80%,100%{background:var(--bg2)}30%,70%{background:var(--green-50);transform:translateX(2px)}}
.fa-rep-icon{width:18px;height:22px;background:#fff;border:.5px solid var(--border);border-radius:3px;flex-shrink:0;position:relative}
.fa-rep-icon::after{content:"";position:absolute;top:6px;left:3px;right:3px;height:1px;background:var(--green);box-shadow:0 3px 0 var(--green),0 6px 0 var(--green)}
.fa-rep-name{flex:1;color:var(--fg1);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fa-rep-status{font-size:9px;font-weight:700;color:var(--green);background:var(--green-50);padding:2px 6px;border-radius:4px;flex-shrink:0}
.feat-card{background:#FAFBFC;border:1px solid #E8E8E6;border-radius:16px;padding:28px 24px;cursor:default;transition:background 200ms,border-color 200ms,transform 200ms,box-shadow 200ms;text-align:left}
.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-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}
.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-inner{max-width:var(--max-w);margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:48px;position:relative;z-index:1}
.cta-h{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1);white-space:nowrap}
.cta-m{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--muted);white-space:nowrap}
.cta-btns{display:flex;flex-direction:column;align-items:flex-start;gap:25px}
.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-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)}
.cta-link{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:600;color:var(--green);padding:6px 4px;transition:gap 180ms;text-decoration:none;align-self:center}
.cta-link:hover{gap:10px}
.cta-link .arr{transition:transform 180ms}
.cta-link: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:10px 0;border-bottom:.5px solid var(--bg2);position:relative}
.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);font-variant-numeric:tabular-nums}
.pcf-live{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}
.pcf-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pcfPulse 1.6s ease-in-out infinite}
@keyframes pcfPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.pcf-stage{padding:14px 0 10px}
.pcf-stage .mock-val{margin-bottom:6px}
.pcf-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bg2);border-radius:999px;overflow:hidden}
.pcf-bar-fill{height:100%;width:0;border-radius:999px;background:var(--green);transition:width 1.8s cubic-bezier(.4,0,.2,1),background 200ms}
.pcf-stage:nth-of-type(2) .pcf-bar-fill{background:#129E7B}
.pcf-stage:nth-of-type(3) .pcf-bar-fill{background:#19B5FE}
.pcf-stage:nth-of-type(4) .pcf-bar-fill{background:#76BE57}
.pcf-total{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;position:relative;overflow:hidden}
.pcf-total::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translateX(-100%);animation:pcfShine 3s ease-in-out infinite}
@keyframes pcfShine{0%,40%{transform:translateX(-100%)}80%,100%{transform:translateX(100%)}}
.pcf-total-lbl{font-size:13px;color:var(--fg2);font-weight:600;position:relative;z-index:1}
.pcf-total-val{font-size:26px;font-weight:700;color:var(--green);letter-spacing:-.5px;font-variant-numeric:tabular-nums;position:relative;z-index:1}
.pcf-foot{margin-top:10px;font-size:11px;color:var(--fg2);text-align:center}
/* PCF Dashboard Mockup */
.pcf-dash{background:#fff;border:.5px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(16,98,73,.12),0 4px 14px rgba(0,0,0,.04);position:relative}
.pcf-dash-head{padding:14px 18px;border-bottom:.5px solid var(--border);display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,#fff 0%,#FAFAF8 100%)}
.pcf-dash-back{font-size:14px;color:var(--fg2)}
.pcf-dash-title{flex:1;display:flex;flex-direction:column}
.pcf-dash-title-h{font-size:13px;font-weight:700;color:var(--fg1)}
.pcf-dash-title-s{font-size:10px;color:var(--fg2);margin-top:2px}
.pcf-dash-actions{display:flex;gap:6px}
.pcf-dash-btn{font-size:11px;font-weight:600;padding:5px 10px;border-radius:6px;background:var(--green);color:#fff;display:inline-flex;align-items:center;gap:4px}
.pcf-dash-btn.secondary{background:var(--bg2);color:var(--fg1)}
.pcf-dash-tabs{display:flex;border-bottom:.5px solid var(--border);background:#FAFAF8}
.pcf-dash-tabs .pcf-dash-tab:first-child{flex:3.15}
.pcf-dash-tabs .pcf-dash-tab:not(:first-child){flex:2.283}
.pcf-dash-tab{flex:1;padding:10px 12px;font-size:11px;color:var(--fg2);text-align:center;font-weight:500;border-bottom:2px solid transparent;cursor:default;transition:all 200ms}
.pcf-dash-tab.on{color:var(--fg1);font-weight:700;border-bottom-color:var(--fg1);background:#fff}
.pcf-dash-body{display:grid;grid-template-columns:3fr 7fr;min-height:340px}
.pcf-dash-left{padding:14px 16px;border-right:.5px solid var(--border);display:flex;flex-direction:column;gap:10px}
.pcf-dash-section{font-size:10px;font-weight:700;color:var(--fg2);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:5px}
.pcf-field{display:flex;flex-direction:column;gap:4px}
.pcf-field-lbl{font-size:9.5px;color:var(--fg2);font-weight:500}
.pcf-field-val{font-size:11.5px;font-weight:600;color:var(--fg1);background:var(--bg2);border-radius:6px;padding:6px 9px;border:.5px solid var(--border)}
.pcf-field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.pcf-tags{display:flex;flex-wrap:wrap;gap:4px}
.pcf-tag{font-size:9.5px;font-weight:600;color:var(--fg1);background:var(--bg2);padding:3px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:4px}
.pcf-dash-right{padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:#FAFAF8;position:relative}
.pcf-process-head{display:flex;justify-content:space-between;align-items:center;font-size:11px}
.pcf-process-head-lbl{font-weight:600;color:var(--fg2)}
.pcf-process-head-val{font-weight:700;color:var(--fg1);font-size:10px;font-variant-numeric:tabular-nums}
.pcf-process-head-val .u{font-size:8px;font-weight:500;color:var(--fg2);margin-left:3px}
.pcf-search{background:#fff;border:.5px solid var(--border);border-radius:6px;padding:6px 10px;font-size:10px;color:var(--fg2)}
.pcf-cat-row{display:flex;gap:5px;flex-wrap:wrap}
.pcf-cat{font-size:9.5px;font-weight:600;color:var(--fg2);background:#fff;border:.5px solid var(--border);padding:4px 8px;border-radius:5px;display:inline-flex;align-items:center;gap:4px;transition:background 200ms,color 200ms,border-color 200ms}
.pcf-cat.on{background:var(--green-50);color:var(--green);border-color:rgba(18,158,123,.3)}
.pcf-cat .ct{font-weight:700;font-variant-numeric:tabular-nums}
.pcf-canvas{flex:1;background:#FFFEF0;border:1px dashed #F1E29A;border-radius:10px;padding:14px;position:relative;min-height:180px}
.pcf-canvas::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#E8E3CC 1px,transparent 1px);background-size:14px 14px;opacity:.5;pointer-events:none}
.pcf-flow{position:relative;height:100%;min-height:160px}
.pcf-node{position:absolute;background:#fff;border:.5px solid var(--border);border-radius:8px;padding:7px 10px;width:100px;font-size:9.5px;box-shadow:0 2px 8px rgba(0,0,0,.06);z-index:2;animation:pcfNodeFade 600ms ease both}
.pcf-node.n1{top:10%;left:8%;animation-delay:0ms}
.pcf-node.n2{top:8%;left:42%;animation-delay:200ms}
.pcf-node.n3{top:55%;left:42%;animation-delay:400ms}
.pcf-node.n4{top:32%;left:78%;animation-delay:600ms}
@keyframes pcfNodeFade{from{opacity:0;transform:translateY(4px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.pcf-node-h{font-weight:700;color:var(--fg1);font-size:10px;margin-bottom:2px}
.pcf-node-s{font-size:8px;color:var(--fg2)}
.pcf-node-mb{font-size:8.5px;color:var(--green);font-weight:700;margin-top:4px}
.pcf-node.warn .pcf-node-mb{color:#D97706}
.pcf-svg-flow{position:absolute;inset:0;pointer-events:none;z-index:1}
.pcf-flow-line{fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;animation:pcfDraw 1.2s ease-out forwards}
.pcf-flow-line.l1{animation-delay:300ms}
.pcf-flow-line.l2{animation-delay:600ms}
.pcf-flow-line.l3{animation-delay:900ms}
@keyframes pcfDraw{to{stroke-dashoffset:0}}
.pcf-flow-dot{fill:var(--green);opacity:0;animation:pcfDotPulse 2s ease-in-out infinite}
.pcf-flow-dot.l1{animation-delay:1.4s}
.pcf-flow-dot.l2{animation-delay:1.8s}
.pcf-flow-dot.l3{animation-delay:2.2s}
@keyframes pcfDotPulse{0%,100%{opacity:0}50%{opacity:1}}
.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)}}

/* ── REASON SECTION (5 differentiators) ── */
.reason-section{background:#fff}
.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-title{font-size:40px;font-weight:700;letter-spacing:-0.03em;line-height:1.15;color:var(--fg1);margin-bottom:20px}
.reason-title .hl{color:#1a9e7c;font-size:48px;font-weight:700;display:block;margin-bottom:6px;opacity:.85;letter-spacing:-0.03em}
.reason-desc{font-size:18px;color:var(--fg2);line-height:1.75}
.reason-visual{background:var(--bg2);border:.5px solid var(--border);border-radius:20px;padding:40px;overflow:hidden;position:relative;display:flex;flex-direction:column;justify-content:center;min-height:420px}
.reason-slide:nth-child(even) .reason-visual{background:#fff}

/* Visual 1: 단위공정 복제 */
.dup-mockup{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px}
.dup-card{width:280px;background:#fff;border:.5px solid var(--border);border-radius:12px;padding:14px 18px;box-shadow:0 4px 18px rgba(15,23,42,.08);position:relative}
.dup-card .nm{font-size:14px;font-weight:700;color:var(--fg1)}
.dup-card .code{font-size:11px;color:var(--fg2);font-family:ui-monospace,monospace;margin-top:2px}
.dup-card .row{display:flex;justify-content:space-between;font-size:11.5px;color:var(--fg2);margin-top:8px;padding-top:8px;border-top:.5px solid var(--bg2)}
.dup-card .row .v{font-weight:700;color:var(--fg1)}
.dup-card.copy{position:absolute;animation:dupSlide 3s cubic-bezier(.4,0,.2,1) infinite}
@keyframes dupSlide{
  0%,15%{opacity:0;transform:translate(0,0) scale(.96)}
  35%,55%{opacity:1;transform:translate(140px,30px) scale(1) rotate(2deg)}
  75%,100%{opacity:0;transform:translate(140px,30px) scale(1) rotate(2deg)}
}
.dup-arrow{font-size:22px;color:var(--green);font-weight:700;animation:dupPulse 2s ease-in-out infinite}
@keyframes dupPulse{0%,100%{opacity:.4}50%{opacity:1}}
.dup-tag{font-size:10px;font-weight:700;color:var(--green);background:var(--green-50);padding:3px 9px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}

/* Visual 2: MDS OCR */
.mds-mockup{display:flex;flex-direction:column;gap:10px;position:relative}
.mds-doc{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:14px 16px;position:relative;overflow:hidden;min-height:200px}
.mds-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}
.mds-doc-head .badge{font-size:10px;font-weight:700;color:#7C3AED;background:#F5F3FF;padding:2px 8px;border-radius:6px;letter-spacing:.04em}
.mds-line{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--bg2);border-radius:8px;font-size:11.5px;margin-bottom:5px;position:relative;opacity:.95}
.mds-line .k{color:var(--fg2);font-weight:500}
.mds-line .v{color:var(--fg1);font-weight:700;font-variant-numeric:tabular-nums}
.mds-line.detected{animation:mdsDetect 5s ease-in-out infinite}
.mds-line.detected:nth-child(2){animation-delay:.4s}
.mds-line.detected:nth-child(3){animation-delay:1.2s}
.mds-line.detected:nth-child(4){animation-delay:2.0s}
.mds-line.detected:nth-child(5){animation-delay:2.8s}
@keyframes mdsDetect{0%,12%,90%,100%{background:var(--bg2);box-shadow:0 0 0 0 rgba(124,58,237,0)}22%,55%{background:rgba(124,58,237,.12);box-shadow:0 0 0 2px rgba(124,58,237,.25)}}
.mds-scan-beam{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(124,58,237,.85) 40%,rgba(124,58,237,.95) 60%,transparent 100%);box-shadow:0 0 14px rgba(124,58,237,.55);top:14%;animation:mdsScan 4.2s cubic-bezier(.4,0,.4,1) infinite;z-index:3;border-radius:2px}
@keyframes mdsScan{0%{top:14%;opacity:0}10%{opacity:1}80%{top:92%;opacity:1}90%,100%{opacity:0}}
.mds-output{background:linear-gradient(180deg,#F5F3FF 0%,#fff 100%);border:.5px solid rgba(124,58,237,.25);border-radius:12px;padding:14px 16px}
.mds-out-head{font-size:11px;font-weight:700;color:#7C3AED;margin-bottom:8px;letter-spacing:.04em;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.mds-out-head::after{content:"";width:6px;height:6px;border-radius:50%;background:#7C3AED;animation:dotPulse 1.6s ease-in-out infinite}
@keyframes dotPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.mds-out-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:6px 0;border-bottom:.5px dashed rgba(124,58,237,.15)}
.mds-out-row:last-child{border-bottom:none}
.mds-out-row .ok{color:var(--fg2)}
.mds-out-row .ov{color:var(--fg1);font-weight:700;font-variant-numeric:tabular-nums}

/* Visual 3: 시나리오 비교 */
.scn-mockup{display:flex;flex-direction:column;gap:14px}
.scn-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.scn-card{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:16px 18px;position:relative}
.scn-card.a{border-color:rgba(59,130,246,.3)}
.scn-card.b{border-color:rgba(16,185,129,.3)}
.scn-tag{display:inline-block;font-size:10px;font-weight:700;padding:3px 9px;border-radius:6px;letter-spacing:.04em}
.scn-card.a .scn-tag{background:#EFF6FF;color:#3B82F6}
.scn-card.b .scn-tag{background:#ECFDF5;color:#10B981}
.scn-card .nm{font-size:13px;font-weight:700;color:var(--fg1);margin-top:8px}
.scn-card .row{display:flex;justify-content:space-between;font-size:11.5px;padding:5px 0;border-bottom:.5px solid var(--bg2)}
.scn-card .row .k{color:var(--fg2)}
.scn-card .row .v{font-weight:700;color:var(--fg1)}
.scn-card .row:last-of-type{border-bottom:none}
.scn-result{background:#fff;border:.5px solid var(--border);border-radius:12px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between}
.scn-result .lbl{font-size:12px;color:var(--fg2);font-weight:600}
.scn-result .saved{font-size:20px;font-weight:700;color:#10B981;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.scn-bar{display:flex;height:24px;border-radius:6px;overflow:hidden;background:var(--bg2);margin-top:6px}
.scn-bar-a{background:#3B82F6;animation:scnA 4s ease-in-out infinite}
.scn-bar-b{background:#10B981;animation:scnB 4s ease-in-out infinite}
@keyframes scnA{0%,100%{flex:0 0 78%}50%{flex:0 0 78%}}
@keyframes scnB{0%,100%{flex:0 0 22%}50%{flex:0 0 22%}}
.scn-vs{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;color:var(--fg2);padding:4px 0}

/* Visual 4: PDF/XLSX 보고서 */
.rep-mockup{display:flex;flex-direction:column;align-items:center;gap:18px;justify-content:center;height:100%}
.rep-stack{position:relative;width:200px;height:240px}
.rep-page{position:absolute;width:160px;height:200px;background:#fff;border:.5px solid var(--border);border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.10);padding:14px;font-size:9px}
.rep-page::before{content:"";display:block;height:8px;background:#0F5132;border-radius:0;margin:-14px -14px 12px}
.rep-page .ln{height:5px;background:#E5E7EB;border-radius:2px;margin-bottom:5px}
.rep-page .ln:nth-child(2){width:80%}
.rep-page .ln:nth-child(3){width:95%}
.rep-page .ln:nth-child(4){width:65%}
.rep-page .ln:nth-child(5){width:90%}
.rep-page.p1{left:0;top:20px;animation:repP1 4s ease-in-out infinite}
.rep-page.p2{left:30px;top:10px;animation:repP2 4s ease-in-out infinite}
.rep-page.p3{left:60px;top:0;animation:repP3 4s ease-in-out infinite}
@keyframes repP1{0%,30%{opacity:0;transform:translateY(20px)}40%,100%{opacity:1;transform:translateY(0)}}
@keyframes repP2{0%,45%{opacity:0;transform:translateY(20px)}55%,100%{opacity:1;transform:translateY(0)}}
@keyframes repP3{0%,60%{opacity:0;transform:translateY(20px)}70%,100%{opacity:1;transform:translateY(0)}}
.rep-buttons{display:flex;gap:14px;margin-top:14px}
.rep-btn{padding:12px 22px;border-radius:10px;font-size:13px;font-weight:700;color:#fff;letter-spacing:.04em;display:inline-flex;align-items:center;gap:10px;box-shadow:0 4px 12px rgba(15,23,42,.10)}
.rep-btn.pdf{background:linear-gradient(180deg,#DC2626,#EF4444)}
.rep-btn.xlsx{background:linear-gradient(180deg,#1E7D44,#16A34A)}
.rep-btn .ic{width:20px;height:24px;border-radius:3px;background:rgba(255,255,255,.18);position:relative;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.rep-btn .ic svg{display:block}
.rep-btn .ic .lbl-mini{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:6.5px;font-weight:800;letter-spacing:.04em;color:#fff;line-height:1}

/* Visual 5: 운송 경로 */
.route-mockup{position:relative;display:flex;flex-direction:column;justify-content:center;height:100%;min-height:340px}
.route-map{position:relative;width:100%;height:280px;background:#fff;border:.5px solid var(--border);border-radius:14px;overflow:hidden}
.route-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.12) 1px,transparent 1px);background-size:30px 30px}
.route-svg{position:absolute;inset:0;width:100%;height:100%}
.route-line{fill:none;stroke:#10B981;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:8 6;stroke-dashoffset:0;animation:routeDash 1.4s linear infinite}
@keyframes routeDash{to{stroke-dashoffset:-28}}
.route-pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;transform:translate(-50%,-100%)}
.route-pin .dot{width:14px;height:14px;border-radius:50%;background:#10B981;border:2.5px solid #fff;box-shadow:0 2px 8px rgba(16,185,129,.4)}
.route-pin .lbl{background:#fff;border:.5px solid var(--border);border-radius:6px;padding:3px 9px;font-size:10.5px;font-weight:700;color:var(--fg1);box-shadow:0 4px 10px rgba(15,23,42,.06);white-space:nowrap}
.route-pin.start .dot{background:#3B82F6}
.route-pin.end .dot{background:#EF4444}
.route-pin.transit .dot{background:#F59E0B}
.route-truck{position:absolute;font-size:22px;animation:routeTruck 6s linear infinite;transform:translate(-50%,-50%)}
@keyframes routeTruck{0%{offset-distance:0%}100%{offset-distance:100%}}
.route-info{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.route-info-card{background:#fff;border:.5px solid var(--border);border-radius:10px;padding:10px 12px;text-align:center}
.route-info-card .v{font-size:16px;font-weight:700;color:#10B981;font-variant-numeric:tabular-nums}
.route-info-card .l{font-size:10.5px;color:var(--fg2);margin-top:2px}

@media(max-width:1024px){
  .reason-slide-inner{grid-template-columns:1fr;gap:40px}
  .reason-slide-inner.reverse{direction:ltr}
  .reason-title{font-size:32px}
  .reason-title .hl{font-size:36px}
  .reason-slide-title{font-size:36px}
  .reason-slide{padding:60px 32px;min-height:auto}
}

/* ═══════════════════════════════════════════════════════ */
/* ── ENHANCED PANELS (V2): rich animated visualizations ── */
/* ═══════════════════════════════════════════════════════ */
.feat-panel-body{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}

/* ── PANEL 1: 협업으로 만드는 공정도 (full PCF canvas) ── */
.fp1-canvas{position:relative;background:#F4F7FB;border:.5px solid #E2E8F0;border-radius:14px;flex:1;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0}
.fp1-stage{position:relative;width:1300px;height:540px;flex-shrink:0;transform:scale(0.86);transform-origin:center center}
.fp1-canvas::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,#CBD5E1 1px,transparent 1px);background-size:22px 22px;opacity:.45;pointer-events:none}
.fp1-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.fp1-conn{fill:none;stroke:#94A3B8;stroke-width:1.5;stroke-linecap:round;marker-end:url(#fp1Arrow);stroke-dasharray:400;stroke-dashoffset:400;animation:fp1ConnDraw 800ms cubic-bezier(.4,0,.2,1) forwards}
@keyframes fp1ConnDraw{to{stroke-dashoffset:0}}
.fp1-node{position:absolute;background:#fff;border:.5px solid #E2E8F0;border-radius:11px;padding:13px 15px;width:175px;box-shadow:0 3px 14px rgba(15,23,42,.08);opacity:0;animation:fp1NodeIn 480ms cubic-bezier(.34,1.2,.64,1) forwards;z-index:2}
@keyframes fp1NodeIn{0%{opacity:0;transform:scale(.85) translateY(8px)}100%{opacity:1;transform:scale(1) translateY(0)}}
.fp1-node-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2px}
.fp1-node-title{font-size:13px;font-weight:700;color:var(--fg1);line-height:1.3}
.fp1-node-dots{font-size:13px;color:#CBD5E1;line-height:1}
.fp1-node-code{font-size:9.5px;color:var(--muted);font-family:ui-monospace,monospace;margin-bottom:8px}
.fp1-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:7px}
.fp1-tag{display:inline-block;font-size:9px;font-weight:700;padding:2px 7px;border-radius:999px}
.fp1-tag-mip{background:transparent;color:#3B82F6;border:1px solid #93C5FD}
.fp1-tag-loc{background:#F1F5F9;color:#64748B}
.fp1-tag-new{background:#FEF3C7;color:#D97706}
.fp1-data{display:flex;gap:5px;align-items:center;font-size:9px;margin-bottom:7px;padding-bottom:6px;border-bottom:.5px solid #F1F5F9}
.fp1-d-ok{color:#10B981;font-weight:600}
.fp1-d-warn{color:#F59E0B;font-weight:600}
.fp1-d-off{color:#CBD5E1}
.fp1-mb{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.fp1-mb-lbl{font-size:9.5px;color:#94A3B8}
.fp1-pass{font-size:9.5px;font-weight:700;color:var(--green);background:var(--green-50);padding:2px 8px;border-radius:5px}
.fp1-fail{font-size:9.5px;font-weight:700;color:#DC2626;background:#FEE2E2;padding:2px 8px;border-radius:5px}
.fp1-io{display:flex;justify-content:space-between;font-size:9.5px;color:#6B7280}
.fp1-node-drag{border:1.5px dashed #7C3AED;box-shadow:0 10px 28px rgba(124,58,237,.2);opacity:0;animation:fp1DragIn 500ms ease forwards}
@keyframes fp1DragIn{0%{opacity:0;transform:scale(.88) translateY(10px)}100%{opacity:.92;transform:scale(1) translateY(0)}}
.fp1-note{position:absolute;background:#FFF176;border-radius:10px;padding:11px 13px;width:160px;z-index:3;opacity:0;transform:rotate(-2deg);animation:fp1NoteIn 500ms ease forwards;box-shadow:0 4px 14px rgba(0,0,0,.1)}
@keyframes fp1NoteIn{0%{opacity:0;transform:rotate(-2deg) scale(.9)}100%{opacity:1;transform:rotate(-2deg) scale(1)}}
.fp1-note-hd{display:flex;align-items:center;gap:6px;margin-bottom:7px;padding-bottom:6px;border-bottom:1px solid rgba(0,0,0,.08)}
.fp1-note-circle{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(0,0,0,.2);flex-shrink:0}
.fp1-note-label{font-size:10.5px;font-weight:700;color:rgba(0,0,0,.55)}
.fp1-note-menu{font-size:12px;color:rgba(0,0,0,.3);margin-left:auto}
.fp1-note-text{font-size:10px;color:rgba(0,0,0,.6);line-height:1.55}
.fp1-cursor{position:absolute;pointer-events:none;z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:2px;top:0;left:0}
.fp1-cursor-label{font-size:10px;font-weight:600;color:#fff;padding:2px 8px;border-radius:999px;white-space:nowrap}
.fp1-cursor-a{animation:fp1CurA 12s ease-in-out infinite;animation-fill-mode:both}
.fp1-cursor-b{animation:fp1CurB 14s ease-in-out infinite;animation-delay:-4.5s;animation-fill-mode:both}
.fp1-cursor-c{animation:fp1CurC 13s ease-in-out infinite;animation-delay:-8.5s;animation-fill-mode:both}
@keyframes fp1CurA{
  0%{transform:translate(80px,90px)}
  20%{transform:translate(310px,60px)}
  40%{transform:translate(540px,90px)}
  60%{transform:translate(560px,310px)}
  80%{transform:translate(870px,290px)}
  100%{transform:translate(80px,90px)}
}
@keyframes fp1CurB{
  0%{transform:translate(960px,250px)}
  20%{transform:translate(940px,90px)}
  40%{transform:translate(720px,90px)}
  60%{transform:translate(540px,310px)}
  80%{transform:translate(820px,330px)}
  100%{transform:translate(960px,250px)}
}
@keyframes fp1CurC{
  0%{transform:translate(1140px,90px)}
  20%{transform:translate(870px,250px)}
  40%{transform:translate(540px,310px)}
  60%{transform:translate(310px,90px)}
  80%{transform:translate(80px,250px)}
  100%{transform:translate(1140px,90px)}
}

/* ── PANEL 2: 다양한 배출계수 (filter list) ── */
.fp2-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:stretch;flex:1;min-height:0;height:100%}
.fp2-filter{background:#fff;border:.5px solid #E2E8F0;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(15,23,42,.04)}
.fp2-filter-hd{font-size:11px;font-weight:700;color:#475569;padding:10px 14px;background:#F8FAFC;border-bottom:.5px solid #E2E8F0;letter-spacing:.02em}
.fp2-current{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-bottom:.5px solid #F1F5F9}
.fp2-current .v{font-size:13px;font-weight:600;color:#111}
.fp2-current .caret{color:#94A3B8;transition:transform 280ms}
.fp2-search{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:.5px solid #F1F5F9;background:#FAFBFC}
.fp2-search svg{color:#94A3B8;flex-shrink:0}
.fp2-search-text{flex:1;font-size:12.5px;color:#94A3B8}
.fp2-search-text.typing{color:#374151}
.fp2-search-cur{display:inline-block;width:1px;height:13px;background:#3B82F6;vertical-align:-1px;animation:fp2Blink 1s steps(2,start) infinite}
@keyframes fp2Blink{0%,50%{opacity:1}50.01%,100%{opacity:0}}
.fp2-list{flex:1;min-height:0;overflow-y:auto}
.fp2-list::-webkit-scrollbar{width:4px}
.fp2-list::-webkit-scrollbar-thumb{background:#CBD5E1;border-radius:999px}
.fp2-filter{display:flex;flex-direction:column;height:100%}
.fp2-row{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:default;transition:background 200ms;opacity:0;transform:translateY(4px);animation:fp2RowIn 380ms cubic-bezier(.34,1.2,.64,1) forwards}
@keyframes fp2RowIn{to{opacity:1;transform:translateY(0)}}
.fp2-row.highlighted{background:#F8FAFC}
.fp2-row.checking{background:#EFF6FF}
.fp2-cb{width:15px;height:15px;border-radius:3px;border:1.4px solid #CBD5E1;background:#fff;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background 220ms,border-color 220ms}
.fp2-cb svg{width:9px;height:9px;opacity:0;transition:opacity 200ms}
.fp2-row.checked .fp2-cb{background:#111;border-color:#111}
.fp2-row.checked .fp2-cb svg{opacity:1}
.fp2-row .name{font-size:12.5px;color:#1F2937;font-weight:500;line-height:1.4;flex:1}

.fp2-results{background:#fff;border:.5px solid #E2E8F0;border-radius:12px;overflow:hidden;box-shadow:0 2px 12px rgba(15,23,42,.04)}
.fp2-rhd{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:.5px solid #E2E8F0;background:#F8FAFC}
.fp2-rhd-l{display:flex;align-items:baseline;gap:8px}
.fp2-rhd-title{font-size:12px;font-weight:700;color:#374151}
.fp2-rhd-count{font-size:11px;font-weight:700;color:#3B82F6;font-variant-numeric:tabular-nums}
.fp2-rhd-pill{font-size:10px;font-weight:700;color:#129E7B;background:#EDFCF6;padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;gap:4px}
.fp2-rhd-pill .dot{width:5px;height:5px;border-radius:50%;background:#129E7B;animation:fp2Pulse 1.6s ease-out infinite}
@keyframes fp2Pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}
.fp2-rlist{padding:8px;display:flex;flex-direction:column;gap:5px;max-height:420px;overflow:hidden}
.fp2-fac{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:#fff;border:.5px solid #EEF2F6;border-radius:9px;transition:opacity 320ms cubic-bezier(.4,0,.2,1),transform 320ms cubic-bezier(.4,0,.2,1),border-color 200ms,box-shadow 200ms}
.fp2-fac.flash{border-color:rgba(59,130,246,.4);background:#F8FBFF;box-shadow:0 0 0 2px rgba(59,130,246,.08)}
.fp2-fac.swap-out{opacity:0;transform:translateX(-12px)}
.fp2-fac.swap-in{animation:fp2SwapIn 400ms cubic-bezier(.34,1.2,.64,1) forwards}
@keyframes fp2SwapIn{0%{opacity:0;transform:translateX(14px)}100%{opacity:1;transform:translateX(0)}}
.fp2-fac-l{flex:1;min-width:0;padding-right:10px}
.fp2-fac-name{font-size:12.5px;font-weight:600;color:#111;line-height:1.3;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp2-fac-meta{display:flex;align-items:center;gap:6px;font-size:10px;color:#94A3B8}
.fp2-fac-meta .src{color:#3B82F6;font-weight:700}
.fp2-fac-meta .yr{color:#64748B}
.fp2-fac-r{text-align:right;flex-shrink:0}
.fp2-fac-val{font-size:14px;font-weight:700;color:#111;letter-spacing:-.3px;font-variant-numeric:tabular-nums;filter:blur(4px);user-select:none}
.fp2-fac-unit{font-size:9.5px;color:#94A3B8;margin-top:1px}

/* ── PANEL 3: 탄소 배출량 자동 계산 (2 cards side by side) ── */
.fp3-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%;max-width:1100px;margin:0 auto;align-items:stretch}
.fp3-card{background:#fff;border:.5px solid #E2E8F0;border-radius:18px;padding:28px 32px;box-shadow:0 2px 14px rgba(15,23,42,.05);display:flex;flex-direction:column}
.fp3-block-title{font-size:12px;font-weight:700;color:#475569;letter-spacing:.04em;text-transform:uppercase;margin-bottom:18px;display:flex;align-items:center;gap:8px}
.fp3-list{display:flex;flex-direction:column;gap:18px;flex:1}
.fp3-bar-row{display:flex;flex-direction:column}
.fp3-bar-row .head{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.fp3-bar-row .icon-w{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#EFF6FF;color:#3B82F6}
.fp3-bar-row .key{flex:1;font-size:14px;font-weight:600;color:#111}
.fp3-bar-row .v{font-size:14px;font-weight:700;color:#111;font-variant-numeric:tabular-nums;margin-right:14px}
.fp3-bar-row .pct{font-size:11px;color:#94A3B8;font-weight:600;min-width:46px;text-align:right;font-variant-numeric:tabular-nums}
.fp3-bar-track{height:6px;background:#F1F5F9;border-radius:999px;overflow:hidden;width:100%}
.fp3-bar-fill{height:100%;background:#3B82F6;border-radius:999px;width:0;transition:width 1.4s cubic-bezier(.4,0,.2,1)}

/* Per-row color coding */
.fp3-bar-row.c-input .icon-w{background:#EFF6FF;color:#3B82F6}
.fp3-bar-row.c-input .fp3-bar-fill{background:#3B82F6}
.fp3-bar-row.c-output .icon-w{background:#FEF2F2;color:#EF4444}
.fp3-bar-row.c-output .fp3-bar-fill{background:#EF4444}
.fp3-bar-row.c-energy .icon-w{background:#FEF3C7;color:#F59E0B}
.fp3-bar-row.c-energy .fp3-bar-fill{background:#F59E0B}
.fp3-bar-row.c-trans .icon-w{background:#ECFDF5;color:#10B981}
.fp3-bar-row.c-trans .fp3-bar-fill{background:#10B981}
.fp3-bar-row.c-pre .icon-w{background:#F5F3FF;color:#8B5CF6}
.fp3-bar-row.c-pre .fp3-bar-fill{background:#8B5CF6}
.fp3-bar-row.c-mfg .icon-w{background:#FEF2F2;color:#F43F5E}
.fp3-bar-row.c-mfg .fp3-bar-fill{background:#F43F5E}
.fp3-bar-row.c-deliver .icon-w{background:#F0F9FF;color:#0EA5E9}
.fp3-bar-row.c-deliver .fp3-bar-fill{background:#0EA5E9}

.fp3-divider{height:.5px;background:#E5E7EB;margin:18px 0 16px}
.fp3-total-row{display:flex;justify-content:space-between;align-items:baseline;position:relative}
.fp3-total-row .lbl{font-size:14px;font-weight:600;color:#374151}
.fp3-total-row .val{font-size:22px;font-weight:700;color:#111;letter-spacing:-.4px;font-variant-numeric:tabular-nums}
.fp3-total-row .val .u{font-size:14px;color:#111;margin-left:2px;font-weight:700}

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

/* ── PANEL 4: 보고서 자동 생성 ── */
.fp4-layout{display:grid;grid-template-columns:340px 1fr;gap:48px;margin:0 auto;width:auto;align-items:stretch;height:100%;justify-content:center;max-width:920px}
.fp4-left{display:flex;flex-direction:column;gap:12px;justify-content:space-between}
.fp4-card{background:#fff;border:.5px solid #E2E8F0;border-radius:12px;padding:14px 16px;box-shadow:0 2px 10px rgba(15,23,42,.04);position:relative;overflow:hidden;transition:transform 280ms,box-shadow 280ms,border-color 280ms;display:flex;flex-direction:column;gap:9px;flex:1;justify-content:center}
.fp4-card.gen{border-color:rgba(18,158,123,.4);box-shadow:0 0 0 2px rgba(18,158,123,.1)}
.fp4-hd{display:flex;align-items:center;gap:10px;padding-right:60px}
.fp4-icon{width:30px;height:38px;background:#fff;border:.5px solid #E2E8F0;border-radius:5px;flex-shrink:0;position:relative;overflow:hidden}
.fp4-icon::after{content:"";position:absolute;top:7px;left:5px;right:5px;height:1.5px;background:#3B82F6;box-shadow:0 4px 0 #3B82F6,0 8px 0 #3B82F6,0 12px 0 #94A3B8,0 16px 0 #94A3B8,0 20px 0 #94A3B8}
.fp4-icon.green::after{background:#129E7B;box-shadow:0 4px 0 #129E7B,0 8px 0 #129E7B,0 12px 0 #94A3B8,0 16px 0 #94A3B8,0 20px 0 #94A3B8}
.fp4-icon.amber::after{background:#F59E0B;box-shadow:0 4px 0 #F59E0B,0 8px 0 #F59E0B,0 12px 0 #94A3B8,0 16px 0 #94A3B8,0 20px 0 #94A3B8}
.fp4-name{font-size:12px;font-weight:700;color:#111;line-height:1.3;flex:1;min-width:0}
.fp4-sub{font-size:9.5px;color:#94A3B8;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp4-progress{height:4px;background:#F1F5F9;border-radius:999px;overflow:hidden}
.fp4-progress-fill{height:100%;background:#129E7B;border-radius:999px;width:0;transition:width 1.6s cubic-bezier(.4,0,.2,1)}
.fp4-foot{display:flex;justify-content:flex-end;align-items:center;font-size:9.5px}
.fp4-status{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:4px;font-weight:700;padding:2px 7px;border-radius:999px;font-size:9.5px;line-height:1.4;white-space:nowrap}
.fp4-status.done{color:#129E7B;background:#EDFCF6}
.fp4-status.gen{color:#3B82F6;background:#EFF6FF}
.fp4-status.gen .ri{display:inline-block;width:7px;height:7px;border:1.5px solid #3B82F6;border-top-color:transparent;border-radius:50%;animation:fp4Spin 700ms linear infinite}
@keyframes fp4Spin{to{transform:rotate(360deg)}}
.fp4-status.queue{color:#64748B;background:#F1F5F9}
.fp4-meta{font-size:9px;color:#94A3B8;font-variant-numeric:tabular-nums}

/* PCF Document Preview (right side) — A4 ratio, stacked */
.fp4-doc-wrap{position:relative;display:flex;align-items:center;justify-content:flex-start;padding:0;height:100%;width:100%}
.fp4-doc-stack{position:relative;height:100%;aspect-ratio:1/1.414;max-height:100%}
.fp4-doc{position:absolute;background:#fff;border:.5px solid #D1D5DB;border-radius:8px;width:100%;height:100%;box-shadow:0 12px 36px rgba(15,23,42,.12),0 4px 12px rgba(0,0,0,.04);font-size:8px;line-height:1.4;overflow:hidden;opacity:0;transform:translateY(28px) scale(.98);transition:opacity 600ms cubic-bezier(.34,1.2,.64,1),transform 600ms cubic-bezier(.34,1.2,.64,1)}
.fp4-doc.show{opacity:1;transform:translateY(0) scale(1)}
.fp4-doc.doc-a{z-index:1;left:0;top:34px;width:calc(100% - 38px);height:calc(100% - 34px)}
.fp4-doc.doc-b{z-index:2;left:38px;top:0;width:calc(100% - 38px);height:calc(100% - 34px);transform:translateY(-30px) translateX(60px) rotate(5deg) scale(.96);box-shadow:0 24px 48px rgba(15,23,42,.20),0 8px 18px rgba(0,0,0,.08)}
.fp4-doc.doc-b.show{transform:translateY(0) translateX(0) rotate(3deg) scale(1)}
.fp4-doc-head{padding:14px 18px 10px;display:flex;align-items:center;gap:14px;border-bottom:1px solid #E5E7EB}
.fp4-doc-logo{display:flex;flex-direction:column;line-height:1.05;flex-shrink:0}
.fp4-doc-logo .a{font-size:11px;font-weight:800;color:#0F5132;letter-spacing:.04em}
.fp4-doc-logo .b{font-size:7px;font-weight:600;color:#0F5132;letter-spacing:.18em;margin-top:1px}
.fp4-doc-title{flex:1;text-align:center;font-weight:700;color:#111;font-size:10px;line-height:1.35}
.fp4-doc-title .lbl{font-weight:600;font-size:8.5px;color:#374151;display:block;margin-bottom:1px}
.fp4-doc-section{padding:0 14px;opacity:1}
.fp4-doc-section.show{opacity:1;transform:translateY(0)}
.fp4-doc-section + .fp4-doc-section{margin-top:4px}
.fp4-sec-bar{background:#0F5132;color:#fff;text-align:center;font-weight:700;font-size:8.5px;padding:4px 0;letter-spacing:.04em;margin-top:3px}
.fp4-doc-table{display:grid;grid-template-columns:78px 1fr;border:1px solid #E5E7EB;border-top:none;font-size:7.5px}
.fp4-doc-table .k{background:#F0F5F2;padding:4px 6px;font-weight:700;color:#0F5132;border-right:1px solid #E5E7EB;border-bottom:1px solid #E5E7EB;text-align:center}
.fp4-doc-table .v{padding:4px 8px;color:#374151;border-bottom:1px solid #E5E7EB;background:#fff}
.fp4-doc-table .k:nth-last-child(2),.fp4-doc-table .v:last-child{border-bottom:none}
.fp4-doc-table .v.pcf{font-weight:700;color:#111}
.fp4-doc-pie{display:flex;align-items:center;gap:12px;padding:10px 6px 8px;justify-content:center}
.fp4-pie-circle{width:90px;height:90px;border-radius:50%;flex-shrink:0;background:conic-gradient(#5B9BD5 0deg 331.5deg,#ED7D31 331.5deg 351deg,#70AD47 351deg 356.4deg,#FFC000 356.4deg 358.3deg,#7030A0 358.3deg 359.2deg,#A5A5A5 359.2deg 360deg);box-shadow:0 2px 8px rgba(15,23,42,.06);position:relative}
.fp4-pie-circle::after{content:"";position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.6)}
.fp4-doc-leg{display:flex;flex-direction:column;gap:3px;font-size:6.5px;color:#374151;line-height:1.25}
.fp4-doc-leg .row{display:flex;align-items:center;gap:4px}
.fp4-doc-leg .sw{width:6px;height:6px;border-radius:1px;flex-shrink:0}
.fp4-doc-leg .nm{font-weight:600}
.fp4-doc-leg .vv{color:#94A3B8;font-variant-numeric:tabular-nums}
.fp4-doc-notes{padding:6px 10px 10px;font-size:6.5px;color:#374151;line-height:1.5}
.fp4-doc-notes .ln{display:flex;gap:4px;margin-bottom:2px;opacity:1}
.fp4-doc-notes .ln.show{opacity:1;transform:translateX(0)}
.fp4-doc-notes .ln::before{content:"•";color:#0F5132;font-weight:700}
.fp4-formats{position:absolute;top:50%;right:-58px;display:flex;gap:10px;background:transparent;padding:0;opacity:0;transform:translateY(-50%) translateX(12px) scale(.92);transition:opacity 480ms cubic-bezier(.34,1.2,.64,1),transform 480ms cubic-bezier(.34,1.2,.64,1);z-index:50;pointer-events:none}
.fp4-formats.show{opacity:1;transform:translateY(-50%) translateX(0) scale(1)}
.fp4-fmt{width:60px;height:70px;border-radius:9px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:7px;font-size:13px;font-weight:800;color:#fff;letter-spacing:.04em;position:relative;box-shadow:0 6px 14px rgba(15,23,42,.16)}
.fp4-fmt.xlsx{background:linear-gradient(180deg,#1E7D44,#16A34A)}
.fp4-fmt.pdf{background:linear-gradient(180deg,#DC2626,#EF4444)}
.fp4-fmt::before{content:"";position:absolute;top:8px;left:8px;right:8px;height:24px;background:rgba(255,255,255,.22);border-radius:4px}

@media (max-width:1024px){
  .fp2-grid{grid-template-columns:1fr}
  .fp3-grid{grid-template-columns:1fr}
  .fp4-grid{grid-template-columns:1fr}
  .fp1-canvas{height:420px}
}
@media (max-width:640px){
  .fp1-canvas{height:380px}
  .fp1-node{width:140px;padding:10px 12px}
  .fp1-node-title{font-size:11.5px}
}

/* === 모바일 LCA 공정도 → 메인페이지 PCF 공정 흐름도(2×3 그리드) 교체 (mobile only) === */
.lpf-flow { display: none; }
@media (max-width: 768px) {

  .feat-panel[data-panel="process"] .fp1-canvas { display: none !important; }
  .feat-panel[data-panel="process"] .lpf-flow { display: block !important; }
}

.lpf-flow-title { font-size:13px; color:var(--fg2); font-weight:500; }
.lpf-flow-chip { font-size:10px; font-weight:600; color:var(--green); background:var(--green-50); padding:3px 8px; border-radius:999px; }
/* 캔버스 400×380 고정 좌표 → 카드 폭에 맞춰 scale */
.lpf-canvas-wrap { position:relative; width:100%; height: calc((100vw - 72px) / 400 * 380); overflow:hidden; }
.lpf-canvas { position:absolute; top:0; left:0; width:400px; height:380px; background:#F5F7FA; border-radius:12px; border:0.5px solid var(--border); overflow:hidden; transform-origin:top left; transform: scale(calc((100vw - 72px) / 400px)); }
.lpf-canvas::before { content:''; position:absolute; inset:0; background-image:radial-gradient(circle,#CBD5E1 1px,transparent 1px); background-size:20px 20px; opacity:0.5; }
.lpf-svg { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; overflow:visible; }
.lpf-conn { fill:none; stroke:#94A3B8; stroke-width:1.5; stroke-linecap:round; marker-end:url(#lpfArrow); stroke-dasharray:300; stroke-dashoffset:300; animation:lpfConnDraw 700ms cubic-bezier(0.4,0,0.2,1) forwards; }
.lpf-conn-dash { stroke-dasharray:6,4; animation:lpfConnDraw 700ms cubic-bezier(0.4,0,0.2,1) forwards; }
@keyframes lpfConnDraw { to { stroke-dashoffset:0; } }

/* Nodes */
.lpf-node { position:absolute; background:#fff; border:0.5px solid #E2E8F0; border-radius:10px; padding:9px 11px 8px; width:116px; box-shadow:0 2px 10px rgba(0,0,0,0.07); opacity:0; animation:lpfNodeIn 450ms cubic-bezier(0.34,1.2,0.64,1) forwards; z-index:2; }
@keyframes lpfNodeIn { 0%{opacity:0;transform:scale(.85) translateY(8px)} 100%{opacity:1;transform:scale(1) translateY(0)} }
.lpf-node-hd { display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:1px; }
.lpf-node-title { font-size:10.5px; font-weight:700; color:var(--fg1); line-height:1.3; }
.lpf-node-dots { font-size:11px; color:#CBD5E1; line-height:1; }
.lpf-node-code { font-size:8px; color:var(--muted); font-family:ui-monospace,monospace; margin-bottom:5px; }
.lpf-tags-row { display:flex; gap:3px; flex-wrap:wrap; margin-bottom:5px; }
.lpf-tag { display:inline-block; font-size:7px; font-weight:700; padding:1.5px 5px; border-radius:999px; }
.lpf-tag-mip { background:transparent; color:#3B82F6; border:1px solid #93C5FD; }
.lpf-tag-loc { background:#F1F5F9; color:#64748B; border:none; }
.lpf-tag-new { background:#FEF3C7; color:#D97706; border:none; }
.lpf-data-row { display:flex; gap:3px; align-items:center; font-size:7px; margin-bottom:5px; padding-bottom:4px; border-bottom:0.5px solid #F1F5F9; }
.lpf-d-ok  { color:#10B981; font-weight:600; }
.lpf-d-warn{ color:#F59E0B; font-weight:600; }
.lpf-d-off { color:#CBD5E1; }
.lpf-mb-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:4px; }
.lpf-mb-lbl { font-size:7.5px; color:#94A3B8; display:flex; align-items:center; gap:2px; }
.lpf-pass  { font-size:7.5px; font-weight:700; color:var(--green); background:var(--green-50); padding:1.5px 6px; border-radius:4px; }
.lpf-fail  { font-size:7.5px; font-weight:700; color:#DC2626; background:#FEE2E2; padding:1.5px 6px; border-radius:4px; }
.lpf-io-row { display:flex; justify-content:space-between; font-size:7.5px; color:#6B7280; }

/* Drag ghost */
.lpf-node-drag { border:1.5px dashed #7C3AED; box-shadow:0 10px 28px rgba(124,58,237,0.2); opacity:0; animation:lpfDragIn 500ms ease forwards; z-index:4; }
@keyframes lpfDragIn { 0%{opacity:0;transform:scale(.88) translateY(10px)} 100%{opacity:0.9;transform:scale(1) translateY(0)} }

/* Sticky note */
.lpf-note { position:absolute; background:#FFF176; border-radius:10px; padding:10px 12px; width:110px; z-index:3; opacity:0; transform:rotate(-2deg); animation:lpfNoteIn 500ms ease forwards; box-shadow:0 4px 14px rgba(0,0,0,0.1); }
@keyframes lpfNoteIn { 0%{opacity:0;transform:rotate(-2deg) scale(.9)} 100%{opacity:1;transform:rotate(-2deg) scale(1)} }
.lpf-note-hd { display:flex; align-items:center; gap:5px; margin-bottom:7px; padding-bottom:5px; border-bottom:1px solid rgba(0,0,0,0.08); }
.lpf-note-circle { width:12px; height:12px; border-radius:50%; border:1.5px solid rgba(0,0,0,0.2); flex-shrink:0; }
.lpf-note-label { font-size:9.5px; font-weight:700; color:rgba(0,0,0,0.55); }
.lpf-note-menu { font-size:11px; color:rgba(0,0,0,0.3); margin-left:auto; line-height:1; }
.lpf-note-text { font-size:8.5px; color:rgba(0,0,0,0.5); line-height:1.55; }

/* Cursors */
.lpf-cursor { position:absolute; pointer-events:none; z-index:10; display:flex; flex-direction:column; align-items:flex-start; gap:2px; }
.lpf-cursor-label { font-size:7.5px; font-weight:600; color:#fff; padding:1.5px 6px; border-radius:999px; white-space:nowrap; }
.lpf-cursor-a { animation:lpfCurA 10s ease-in-out infinite; }
.lpf-cursor-b { animation:lpfCurB 11s ease-in-out infinite; animation-delay:1.5s; }
.lpf-cursor-c { animation:lpfCurC 12s ease-in-out infinite; animation-delay:0.8s; }
@keyframes lpfCurA {
  0%   { transform:translate(10px,25px); }
  20%  { transform:translate(145px,25px); }
  40%  { transform:translate(145px,190px); }
  60%  { transform:translate(10px,290px); }
  80%  { transform:translate(145px,190px); }
  100% { transform:translate(10px,25px); }
}
@keyframes lpfCurB {
  0%   { transform:translate(282px,25px); }
  25%  { transform:translate(282px,190px); }
  50%  { transform:translate(145px,190px); }
  75%  { transform:translate(282px,290px); }
  100% { transform:translate(282px,25px); }
}
@keyframes lpfCurC {
  0%   { transform:translate(282px,290px); }
  30%  { transform:translate(282px,190px); }
  60%  { transform:translate(145px,25px); }
  100% { transform:translate(282px,290px); }
}

.mob-br { display: none; }
@media (max-width: 768px) { .mob-br { display: inline; } }

@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-player-box .diff-zz-video { object-fit: contain !important; object-position: center center !important; transform: scale(1) !important; transform-origin: center center !important; background: #fff !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}}
@media(max-width:855px){
  .page-hero{min-height:calc(100vh - 68px) !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.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.8fr; gap: 60px; align-items: center; }
.diff-zz-row--reverse { grid-template-columns: 1.8fr 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-desc { font-size: 20px; color: var(--fg2); line-height: 1.7; font-weight: 500; }
.diff-zz-img { max-width: 200px; width: 55%; margin-top: 20px; border-radius: 12px; display: block; }
.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;
  margin-top: 20px;
}
.diff-zz-bubble::before, .diff-zz-bubble::after { display: none; }
.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: 17px !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: 17px !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(4,1fr);gap:8px}
.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:32px;height:32px;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:6px;left:6px;font-size:10px;font-weight:800;color:var(--fg2);background:rgba(255,255,255,.9);padding:2px 6px;border-radius:999px;line-height:1.5}
.diff-thumb-item.active .diff-idx-badge{background:var(--green);color:#fff}
.diff-thumb-meta{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;gap:4px}
.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(3,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;grid-template-rows:auto}.diff-thumb-item{min-height:88px}.diff-thumb-video-area{min-height:88px}.diff-thumb-meta{padding:12px 14px}.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}}

/* === 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 2열 (solution 공통) === */
@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 points 2x2 */
  .pain-grid { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  /* pain section 폰트 모바일 */
  .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-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; }
  .pain-card-icon { width: 36px !important; height: 36px !important; }
  .pain-card-icon svg { width: 18px !important; height: 18px !important; }
  .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; }
}

/* === solution-lca: PCF 배출량 분석 — 모바일: 탭 삭제 + 공정도 위 / 기본정보 아래 스크롤 없이 한번에 === */
@media (max-width: 855px) {
  /* PCF dash 내부 — 페이지 hero center inherit 무시, 왼쪽 정렬 */
  .hero-visual .pcf-dash, .hero-visual .pcf-dash * { text-align: left !important; }
  /* 태그 칩 영역도 왼쪽부터 정렬 */
  .hero-visual .pcf-tags { justify-content: flex-start !important; }
  /* 칩 내부 텍스트(투입물/배출물/...) 는 카테고리 row 안에서 중앙으로 유지 */
  .hero-visual .pcf-cat { text-align: center !important; }
  /* 상단 탭(기본정보/배출량요약/Mass Balance/파일목록) 모바일에서 숨김 */
  .hero-visual .pcf-dash-tabs { display: none !important; }
  /* body: 자연 height로 두 영역 모두 한 번에 보이게 */
  .pcf-dash-body {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: "right" "left" !important;
    min-height: auto !important;
    height: auto !important;
  }
  /* 기본정보: 스크롤 해제, 자연 높이 */
  .pcf-dash-left {
    grid-area: left !important;
    border-right: none !important;
    border-top: 0.5px solid var(--border) !important;
    border-bottom: none !important;
    padding: 14px 16px !important;
    overflow: visible !important;
    overflow-y: visible !important;
    gap: 10px !important;
    max-height: none !important;
  }
  /* 공정도 영역 */
  .pcf-dash-right {
    grid-area: right !important;
    padding: 14px 16px !important;
  }
  /* 공정도 canvas — 모바일에서 적절한 높이 보장 */
  .hero-visual .pcf-canvas { min-height: 200px !important; height: 200px !important; position: relative !important; }
  /* 카테고리 칩 5개를 1줄로 강제 — grid 5분할 */
  .hero-visual .pcf-cat-row {
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 4px !important;
    flex-wrap: nowrap !important;
  }
  .hero-visual .pcf-cat {
    font-size: 8.5px !important;
    padding: 4px 4px !important;
    gap: 2px !important;
    justify-content: center !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }
  .hero-visual .pcf-cat svg { width: 9px !important; height: 9px !important; margin-right: 2px !important; flex-shrink: 0 !important; }
  .hero-visual .pcf-cat .ct { font-size: 8.5px !important; }
}

/* === solution-lca: PCF 흐름도 (fp1) 카드 폭/높이 컨텐츠에 맞춤 === */
@media (max-width: 768px) {
  .fp1-canvas {
    overflow: hidden !important;
    /* 컨텐츠 영역 y=50~470 (Row1 + Row2 + 여유 약간 = 420) — 위/아래 여백 제거 */
    min-height: calc((100vw - 64px) / 1300 * 420) !important;
    height: calc((100vw - 64px) / 1300 * 420) !important;
    max-height: calc((100vw - 64px) / 1300 * 420) !important;
    position: relative !important;
    flex: none !important;
    padding: 0 !important;
  }
  .fp1-stage {
    /* scale 후 translate(0, -40px) 로 컨텐츠 상단(y=50)을 canvas 상단에 정렬 */
    transform: scale(calc((100vw - 64px) / 1300px)) translate(0, -40px) !important;
    transform-origin: top left !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
  }
}

/* === solution-lca: fp2 출처 list 짧게 + 검색결과 한 화면 (모바일) === */
@media (max-width: 768px) {
  .fp2-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    height: auto !important;
  }
  .fp2-filter { height: auto !important; }
  /* 출처 list 4-5개만 보이고 스크롤 (검색결과 영역 확보) */
  .fp2-list {
    max-height: 140px !important;
    overflow-y: auto !important;
  }
}

/* === solution-lca: fp4 보고서 자동 생성 — 카드 2x2 + 문서 아래 (모바일) === */
@media (max-width: 768px) {
  .fp4-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100% !important;
    width: 100% !important;
    height: auto !important;
    align-items: stretch !important;
  }
  /* 4 카드를 2x2 grid 로 */
  .fp4-left {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .fp4-card {
    flex: none !important;
    padding: 10px 11px !important;
    gap: 7px !important;
    min-width: 0 !important;
  }
  .fp4-status {
    top: 8px !important;
    right: 8px !important;
    font-size: 8px !important;
    padding: 1.5px 5px !important;
    gap: 3px !important;
  }
  .fp4-status.gen .ri { width: 6px !important; height: 6px !important; }
  .fp4-hd { padding-right: 42px !important; gap: 7px !important; }
  .fp4-name {
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    word-break: keep-all !important;
  }
  .fp4-sub { font-size: 8.5px !important; }
  .fp4-meta { font-size: 8.5px !important; }

  /* 문서 미리보기 — 카드 아래에 컨테이너 안쪽으로 안착 */
  .fp4-doc-wrap {
    height: auto !important;
    justify-content: center !important;
    padding: 4px 0 0 !important;
    overflow: visible !important;
  }
  .fp4-doc-stack {
    width: 100% !important;
    max-width: 260px !important;
    height: auto !important;
    aspect-ratio: 1/1.414 !important;
    margin: 0 auto !important;
  }
  /* 포맷 팝업 (PDF/XLSX) — 문서 우측에 살짝 겹치며 컨테이너 안쪽 안착 */
  .fp4-formats {
    display: flex !important;
    right: -8px !important;
    gap: 5px !important;
  }
  .fp4-fmt {
    width: 34px !important;
    height: 42px !important;
    font-size: 9px !important;
    padding-bottom: 4px !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 10px rgba(15,23,42,.14) !important;
  }
  .fp4-fmt::before {
    top: 4px !important;
    left: 4px !important;
    right: 4px !important;
    height: 14px !important;
  }
}

/* === solution-lca: 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: flex column 으로 직계 자식 order 작동 가능 */
  .feature-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .feat-tabs, .feat-dashboard { display: contents !important; }
  /* 카드 → 애니메이션 순서: process → ef → calc → report */
  .feat-tab[data-panel="process"]  { order: 2; }
  .feat-panel[data-panel="process"] { order: 3; }
  .feat-tab[data-panel="ef"]       { order: 4; }
  .feat-panel[data-panel="ef"]      { order: 5; }
  .feat-tab[data-panel="calc"]     { order: 6; }
  .feat-panel[data-panel="calc"]    { order: 7; }
  .feat-tab[data-panel="report"]   { order: 8; }
  .feat-panel[data-panel="report"]  { order: 9; }
  .sol-eyebrow, .sol-title-head, .feature-section h2 { 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: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    cursor: default !important;
    text-align: left !important;
  }
  .feat-tab[data-panel="process"] { 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 — 단일 카드의 본문 (같은 회색 bg + bottom-radius + border-top 제거) */
  .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 12px 12px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    position: relative !important;
    animation: none !important;
  }

  /* process 패널 — 카드(canvas) 사이즈에 맞춰 컨텐츠가 꽉 차도록 */
  .feat-panel[data-panel="process"] {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px 16px !important;
    overflow: hidden !important;
    display: block !important;
  }
  .feat-panel[data-panel="process"] > .feat-panel-head { display: none !important; }
  .feat-panel[data-panel="process"] > .feat-panel-body {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: none !important;
  }
  .feat-panel[data-panel="process"] .fp1-canvas {
    width: 100% !important;
    flex: none !important;
    /* 다이어그램(콘텐츠 높이 ≈ width-scaled 420) + 위·아래 동일 여백 100px → 배경 확대 */
    min-height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    max-height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    position: relative !important;
    overflow: hidden !important;
  }
  /* stage(1300×540)를 캔버스 정중앙에 절대배치 → 위·아래 동일 여백 중앙정렬 (콘텐츠가 stage 중앙 부근) */
  .feat-panel[data-panel="process"] .fp1-stage {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, calc(-50% + 8px)) scale(calc((100vw - 32px) / 1240px)) !important;
    transform-origin: center center !important;
  }
  .feat-dashboard { height: auto !important; padding: 0 !important; background: transparent !important; border: none !important; min-height: 0 !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: flex column 으로 직계 자식 order 작동 가능 */
  .feature-inner { display: flex !important; flex-direction: column !important; gap: 0 !important; }
  .feat-tabs, .feat-dashboard { display: contents !important; }
  /* 카드 → 애니메이션 순서: process → ef → calc → report */
  .feat-tab[data-panel="process"]  { order: 2; }
  .feat-panel[data-panel="process"] { order: 3; }
  .feat-tab[data-panel="ef"]       { order: 4; }
  .feat-panel[data-panel="ef"]      { order: 5; }
  .feat-tab[data-panel="calc"]     { order: 6; }
  .feat-panel[data-panel="calc"]    { order: 7; }
  .feat-tab[data-panel="report"]   { order: 8; }
  .feat-panel[data-panel="report"]  { order: 9; }
  .sol-eyebrow, .sol-title-head, .feature-section h2 { 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: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px 12px !important;
    cursor: default !important;
    text-align: left !important;
  }
  .feat-tab[data-panel="process"] { 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 — 단일 카드의 본문 (같은 회색 bg + bottom-radius + border-top 제거) */
  .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 12px 12px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    position: relative !important;
    animation: none !important;
  }

  /* process 패널 — 카드(canvas) 사이즈에 맞춰 컨텐츠가 꽉 차도록 */
  .feat-panel[data-panel="process"] {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 16px 16px !important;
    overflow: hidden !important;
    display: block !important;
  }
  .feat-panel[data-panel="process"] > .feat-panel-head { display: none !important; }
  .feat-panel[data-panel="process"] > .feat-panel-body {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    flex: none !important;
  }
  .feat-panel[data-panel="process"] .fp1-canvas {
    width: 100% !important;
    flex: none !important;
    /* 다이어그램(콘텐츠 높이 ≈ width-scaled 420) + 위·아래 동일 여백 100px → 배경 확대 */
    min-height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    max-height: calc((100vw - 32px) / 1240 * 420 + 140px) !important;
    position: relative !important;
    overflow: hidden !important;
  }
  /* stage(1300×540)를 캔버스 정중앙에 절대배치 → 위·아래 동일 여백 중앙정렬 (콘텐츠가 stage 중앙 부근) */
  .feat-panel[data-panel="process"] .fp1-stage {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, calc(-50% + 8px)) scale(calc((100vw - 32px) / 1240px)) !important;
    transform-origin: center center !important;
  }
  .feat-dashboard { height: auto !important; padding: 0 !important; background: transparent !important; border: none !important; min-height: 0 !important; }
}

/* === Mobile-only line break (mb-br): 데스크톱은 보이지 않고 모바일에서만 줄바꿈 === */
.mb-br { display: none; }
@media (max-width: 768px) {
  .mb-br { display: inline; }
  /* diff-heading: 줄바꿈 자연스럽게 (폰트 사이즈는 base 규칙 36px 사용) */
  .diff-section .diff-heading { word-break: keep-all !important; }
  /* diff-big-title: 줄바꿈 자연스럽게 (폰트 사이즈는 base 규칙 26px 사용) */
  .diff-big-title { line-height: 1.3 !important; word-break: keep-all !important; }
  /* diff-hl: 줄바꿈 후 좌측 들여쓰기 제거 (데스크톱 margin-left 무효화) */
  .diff-big-title .diff-hl { margin-left: 0 !important; }
  /* diff-text-card 내용 좌측 정렬 + 컨테이너 안쪽으로 안착 */
  .diff-text-card { box-sizing: border-box !important; max-width: 100% !important; }
  .diff-text-card .diff-big-title,
  .diff-text-card .diff-big-desc { text-align: left !important; }
  .diff-text-card .diff-big-desc { line-height: 1.6 !important; }
}

/* === Solution 공통: hero 모바일 중앙정렬 (타이틀/lead/버튼) === */
@media (max-width: 768px) {
  .page-hero { text-align: center !important; }
  .page-hero-left {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .page-hero-left .h1,
  .page-hero-left .lead { text-align: center !important; }
}

/* ===== 솔루션 페이지 공통 수정사항 ===== */
.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; } }
@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 { min-height: 0 !important; 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: 16px 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 { padding: 168px 20px 0px !important; min-height: 100vh !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: 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; }
}


@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; margin-top: 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; } }

/* ── why-section 반응형 ── */
@media(max-width:1280px){
  .why-grid { grid-template-columns: max-content !important; justify-content: center !important; }
  .why-card { padding: 24px 56px !important; }
}
@media(max-width:855px){
  .why-inner { padding: 0 32px !important; }
  .why-title-main { font-size: 28px !important; margin-bottom: 36px !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: 24px !important; margin-bottom: 32px !important; }
  .why-card { padding: 20px !important; }
  .why-card-desc { padding-left: 0 !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){
  .page-hero{
    min-height: calc(100vh + 68px) !important;
    padding: 100px 20px 20px !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;
    min-height:0 !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; } }

/* ====================================================
   solution-lca.html — 모바일 반응형 보완 (추가 전용)
   기존 규칙 수정 없음 / 768px 이하 기준
   ==================================================== */

/* ── 가로 스크롤 방지 전역 ── */
@media(max-width:768px){
  html, body { overflow-x: hidden !important; max-width: 100vw !important; }
}

/* ── why-section: 카드 내부 인라인 폰트 크기 보완 ── */
@media(max-width:768px){
  .why-card [style*="font-size: 20px"],
  .why-card [style*="font-size: 20px"] {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }
  .why-card [style*="font-size:16px"],
  .why-card [style*="font-size: 16px"] {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
  .why-grid { grid-template-columns: max-content !important; justify-content: center !important; gap: 12px !important; margin-bottom: 48px !important; }
  .why-card { padding: 20px 48px !important; }
}

/* ── diff-section: 내부 여백 + 컨테이너 ── */
@media(max-width:768px){
  .diff-section { padding: 60px 20px !important; }
  .diff-inner { padding: 0 !important; max-width: 100% !important; }
  .diff-zz-title { font-size: 20px !important; line-height: 1.3 !important; margin-bottom: 10px !important; }
  .diff-zz-desc { font-size: 17px !important; line-height: 1.6 !important; }
  .diff-zz-bubble { font-size: 13px !important; padding: 8px 14px !important; margin-top: 14px !important; }
  /* 비디오 박스: 고정 min-height 제거 + aspect-ratio 보장 */
  .diff-player-box {
    min-height: 0 !important;
    aspect-ratio: 16 / 9 !important;
    width: 100% !important;
    position: relative !important;
  }
  .diff-zz-img { max-width: 120px !important; width: 40% !important; }
  .diff-zz-list { gap: 48px !important; margin-top: 32px !important; }
  .diff-zz-row, .diff-zz-row--reverse {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
}

/* ── feature-section 보완 ── */
@media(max-width:768px){
  .feat-dashboard { height: auto !important; min-height: 0 !important; }
  .fp2-grid { grid-template-columns: 1fr !important; }
  .fp4-layout { grid-template-columns: 1fr !important; }
  .fp3-grid { grid-template-columns: 1fr !important; }
  .fp3-card { padding: 18px 16px !important; }
  .fp3-total-row .val { font-size: 18px !important; }
  .feat-dashboard, .feat-panel, .feat-panel-body {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .sol-eyebrow { font-size: 13px !important; }
}

/* ── reason-section (있을 경우 대비) ── */
@media(max-width:768px){
  .reason-slide { padding: 60px 20px !important; min-height: auto !important; }
  .reason-slide-inner { grid-template-columns: 1fr !important; gap: 28px !important; }
  .reason-slide-inner.reverse { direction: ltr !important; }
  .reason-title { font-size: 26px !important; }
  .reason-title .hl { font-size: 30px !important; }
  .reason-desc { font-size: 15px !important; }
  .reason-slide-title { font-size: 26px !important; margin-bottom: 40px !important; }
  .reason-visual { padding: 24px 20px !important; min-height: auto !important; }
}

/* ── cta-banner 추가 보완 ── */
@media(max-width:768px){
  .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 추가 보완 ── */
@media(max-width:768px){
  .foot-info { font-size: 11px !important; line-height: 1.7 !important; }
  .foot-tagline { font-size: 13px !important; }
}
.cta-inner .sh, .cta-inner .sm { text-align: left; }
@media (max-width: 768px) {
  .cta-inner .sh, .cta-inner .sm { text-align: center; }
}