
/* ========================================================================
   INDEX3 — 프리미엄 에디토리얼 SaaS
   Fraunces (디스플레이 세리프) + Plus Jakarta Sans + Pretendard
   따뜻한 아이보리 · 잉크 블루 · 코랄 포인트 · 넓은 여백 · 얇은 괘선
   ======================================================================== */
*{margin:0;padding:0;box-sizing:border-box;}

:root{
  /* 다크(토글) */
  --bg-primary:#16151d;
  --bg-secondary:#1f1d28;
  --paper:#1f1d28;
  --ink:#f4f1ea;
  --ink-soft:#b8b2a6;
  --line:rgba(244,241,234,0.12);
  --line-strong:rgba(244,241,234,0.2);
  --accent:#e8674c;          /* 코랄 */
  --accent-soft:#f08a73;
  --accent-glow:#e8674c;
  --blue:#7da2d4;            /* 잉크 블루 (다크에선 밝게) */
  --blue-deep:#2d4a7c;
  --text:var(--ink);
  --text-muted:var(--ink-soft);
  --card-bg:#26232f;
  --border:var(--line);
  --success:#5cb87a;
  --warning:#e0a44a;
  --danger:#d96b5e;
  --mockup-bg:#26232f;
  --mockup-sidebar:#16151d;
  --mockup-header:#100f15;
  --shadow-card:0 1px 2px rgba(0,0,0,0.4),0 8px 30px rgba(0,0,0,0.35);
}
[data-theme="light"]{
  --bg-primary:#faf7f0;       /* 따뜻한 아이보리 */
  --bg-secondary:#ffffff;
  --paper:#fffdf8;
  --ink:#221f2e;
  --ink-soft:#6b6657;
  --line:rgba(34,31,46,0.1);
  --line-strong:rgba(34,31,46,0.16);
  --accent:#d9543a;           /* 코랄 (라이트에선 살짝 진하게) */
  --accent-soft:#e8674c;
  --accent-glow:#c4452f;
  --blue:#2d4a7c;             /* 잉크 블루 */
  --blue-deep:#1f3559;
  --text:var(--ink);
  --text-muted:var(--ink-soft);
  --card-bg:#fffdf8;
  --border:var(--line);
  --success:#3f9d63;
  --warning:#c98a2f;
  --danger:#c4452f;
  --mockup-bg:#221f2e;
  --mockup-sidebar:#171522;
  --mockup-header:#100f1a;
  --shadow-card:0 1px 2px rgba(34,31,46,0.06),0 18px 40px -12px rgba(34,31,46,0.14);
}

html{scroll-behavior:smooth;}
body{
  font-family:'Pretendard',-apple-system,BlinkMacSystemFont,'Plus Jakarta Sans',sans-serif;
  background:var(--bg-primary);
  color:var(--text);
  line-height:1.65;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;
}
/* 큰 숫자(통계·가격·KPI) 전용 디스플레이 폰트 */
.num-display{font-family:'Outfit','Pretendard',sans-serif;letter-spacing:-0.02em;}
.outfit{font-family:'Fraunces','Pretendard',sans-serif;letter-spacing:-0.02em;}
h1,h2,h3,h4{font-family:'Fraunces','Pretendard',sans-serif;font-weight:700;letter-spacing:-0.02em;}
::selection{background:var(--accent);color:#fff;}

/* ---------- 배경: 종이 질감 + 미세 노이즈 ---------- */
.bg-grid{
  position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;
  background-image:radial-gradient(var(--line) 0.7px,transparent 0.7px);
  background-size:26px 26px;
  opacity:0.5;
}
.bg-glow{
  position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 60% 50% at 80% 0%,rgba(217,84,58,0.07),transparent 60%),
    radial-gradient(ellipse 50% 40% at 0% 100%,rgba(45,74,124,0.06),transparent 60%);
}
[data-theme="light"] .bg-glow{
  background:
    radial-gradient(ellipse 60% 50% at 82% -5%,rgba(217,84,58,0.08),transparent 55%),
    radial-gradient(ellipse 55% 45% at -5% 105%,rgba(45,74,124,0.07),transparent 55%);
}

/* ---------- 공통 컨테이너 ---------- */
section{position:relative;z-index:1;}
.section-header{max-width:760px;margin:0 auto 3.5rem;text-align:center;padding:0 1.5rem;}
.section-label{
  display:inline-block;font-family:'Plus Jakarta Sans',sans-serif;
  font-size:1.05rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;
  color:var(--accent);margin-bottom:1rem;position:relative;padding-bottom:0.6rem;
}
.section-label::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:32px;height:2px;background:var(--accent);border-radius:2px;
}
.section-title{font-size:2.5rem;line-height:1.12;margin-bottom:1rem;font-weight:700;}
.section-title .gradient-text{
  color:var(--accent);font-weight:600;
  -webkit-text-fill-color:currentColor;
}
.section-desc{font-size:1.08rem;color:var(--text-muted);line-height:1.7;}
@media(max-width:700px){ .section-title{font-size:1.9rem;} }

/* ========================================================================
   NAVIGATION
   ======================================================================== */
nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:1rem 2rem;
  background:color-mix(in srgb,var(--bg-primary) 82%,transparent);
  backdrop-filter:blur(18px) saturate(1.4);
  border-bottom:1px solid var(--line);
  transition:background 0.3s;
}
.nav-inner{max-width:1240px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;}
.logo{
  font-family:'Outfit','Plus Jakarta Sans',sans-serif;font-size:1.55rem;font-weight:700;letter-spacing:-0.02em;
  color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:0.1em;
}
.nav-links{display:flex;gap:2rem;align-items:center;}
.nav-links a{
  color:var(--text-muted);text-decoration:none;font-size:0.92rem;font-weight:500;
  transition:color 0.25s;position:relative;
}
.nav-links a:not(.btn-nav):not(.theme-toggle)::after{
  content:"";position:absolute;left:0;bottom:-4px;width:0;height:1.5px;
  background:var(--accent);transition:width 0.3s;
}
.nav-links a:not(.btn-nav):not(.theme-toggle):hover::after{width:100%;}
.nav-links a:hover{color:var(--ink);}
.theme-toggle{
  background:transparent;border:1px solid var(--line-strong);
  border-radius:50%;width:38px;height:38px;
  color:var(--ink);cursor:pointer;transition:all 0.3s;
  font-size:1rem;display:flex;align-items:center;justify-content:center;
}
.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:rotate(-15deg);}
.nav-links a.btn-nav{
  padding:0.6rem 1.4rem;background:var(--ink);color:var(--bg-primary);
  border:none;border-radius:100px;font-weight:700;cursor:pointer;
  transition:all 0.3s;text-decoration:none;font-size:0.88rem;
}
.nav-links a.btn-nav:hover{background:var(--accent);color:#fff;transform:translateY(-2px);}
.nav-links a.btn-nav::after{display:none;}
.nav-login{font-weight:600;color:var(--ink)!important;}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--ink);font-size:1.5rem;cursor:pointer;padding:0.25rem;}

/* ========================================================================
   HERO
   ======================================================================== */
.hero{min-height:100vh;display:flex;align-items:center;padding:9rem 2rem 5rem;position:relative;z-index:1;}
.hero-inner{
  max-width:1240px;margin:0 auto;width:100%;
  display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:center;
}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-size:0.82rem;font-weight:600;color:var(--text-muted);
  margin-bottom:2rem;padding:0.45rem 1rem 0.45rem 0.85rem;
  border:1px solid var(--line-strong);border-radius:100px;
  background:var(--paper);box-shadow:var(--shadow-card);
}
.hero-eyebrow .pulse{
  width:7px;height:7px;border-radius:50%;background:var(--accent);position:relative;flex-shrink:0;
}
.hero-eyebrow .pulse::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  border:1px solid var(--accent);animation:pulsate 2s ease-out infinite;
}
@keyframes pulsate{0%{transform:scale(0.6);opacity:1;}100%{transform:scale(1.8);opacity:0;}}
.hero-content h1{
  font-size:2.95rem;font-weight:600;line-height:1.22;margin-bottom:1.8rem;
  letter-spacing:-0.035em;
}
.hero-content h1 .gradient-text{
  font-weight:600;color:var(--accent);
  -webkit-text-fill-color:currentColor;position:relative;
}
.hero-content h1 .gradient-text::after{
  content:"";position:absolute;left:-2%;right:-2%;bottom:0.08em;height:0.16em;
  background:var(--accent);opacity:0.18;border-radius:2px;z-index:-1;
}
.hero-lead{font-size:1.18rem;color:var(--text-muted);margin-bottom:2.4rem;max-width:480px;line-height:1.75;}
.hero-lead b{color:var(--ink);font-weight:700;}
.hero-buttons{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.btn-primary{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.95rem 2rem;background:var(--accent);color:#fff;
  border:none;border-radius:100px;font-weight:700;font-size:1rem;
  cursor:pointer;transition:all 0.3s;text-decoration:none;
  box-shadow:0 10px 26px -8px var(--accent);font-family:'Plus Jakarta Sans',sans-serif;
}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 36px -10px var(--accent);}
.btn-outline{
  display:inline-flex;align-items:center;gap:0.5rem;
  padding:0.95rem 1.8rem;background:transparent;color:var(--ink);
  border:1px solid var(--line-strong);border-radius:100px;font-weight:600;font-size:0.98rem;
  cursor:pointer;transition:all 0.3s;text-decoration:none;font-family:'Plus Jakarta Sans',sans-serif;
}
.btn-outline:hover{border-color:var(--ink);background:var(--ink);color:var(--bg-primary);}
.hero-trust{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:2.4rem;padding-top:1.8rem;border-top:1px solid var(--line);}
.hero-trust-item{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.88rem;color:var(--text-muted);font-weight:500;}
.hero-trust-item svg{width:16px;height:16px;stroke:var(--accent);stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.btn-ic{width:18px;height:18px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}

/* ---- hero 우측 데모 (앱 목업) ---- */
.hero-demo{position:relative;}
.track-preview{
  background:var(--paper);border:1px solid var(--line);border-radius:20px;
  box-shadow:var(--shadow-card);overflow:hidden;
}
.track-head{
  display:flex;justify-content:space-between;align-items:center;
  padding:1rem 1.3rem;border-bottom:1px solid var(--line);background:var(--bg-secondary);
}
.track-title{font-size:0.85rem;font-weight:600;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;}
.track-hint{font-size:0.75rem;color:var(--accent);font-weight:700;}
.track-preview-body{padding:1.2rem;}
.industry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;margin-bottom:1.2rem;}
.industry-btn{
  display:flex;align-items:center;gap:0.3rem;justify-content:center;
  padding:0.55rem 0.4rem;font-size:0.78rem;font-weight:600;
  background:var(--bg-secondary);border:1px solid var(--line);border-radius:10px;
  color:var(--text-muted);cursor:pointer;transition:all 0.2s;font-family:'Plus Jakarta Sans',sans-serif;
}
.industry-btn .ind-icon{display:inline-flex;flex-shrink:0;}
.industry-btn .ind-icon svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.industry-btn:hover{border-color:var(--accent);color:var(--ink);}
.industry-btn.active{background:var(--ink);color:var(--bg-primary);border-color:var(--ink);}

.hero-mockup{position:relative;}
.mockup-window{
  background:var(--mockup-bg);border-radius:12px;overflow:hidden;
  box-shadow:0 20px 50px -20px rgba(0,0,0,0.4);border:1px solid rgba(0,0,0,0.2);
}
.mockup-titlebar{
  display:flex;align-items:center;gap:0.7rem;padding:0.55rem 0.85rem;
  background:var(--mockup-header);
}
.mockup-dots{display:flex;gap:0.35rem;}
.mockup-dots span{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,0.2);}
.mockup-dots span:first-child{background:#ff5f57;}
.mockup-dots span:nth-child(2){background:#febc2e;}
.mockup-dots span:nth-child(3){background:#28c840;}
.mockup-url{
  font-size:0.68rem;color:rgba(255,255,255,0.5);background:rgba(0,0,0,0.25);
  padding:0.25rem 0.7rem;border-radius:6px;flex:1;font-family:'Plus Jakarta Sans',monospace;
}
.mockup-body{display:grid;grid-template-columns:130px 1fr;min-height:300px;}
.mockup-sidebar{background:var(--mockup-sidebar);padding:0.9rem 0.6rem;}
.mockup-sidebar-logo{display:flex;align-items:center;gap:0.4rem;font-size:0.8rem;font-weight:800;color:#fff;margin-bottom:1rem;font-family:'Fraunces','Pretendard',sans-serif;}
.mockup-sidebar-logo .icon{
  width:20px;height:20px;border-radius:6px;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:0.7rem;font-weight:700;
}
.mockup-menu-section{font-size:0.6rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.35);margin:0.6rem 0 0.4rem;}
.mockup-menu-item{
  display:flex;align-items:center;gap:0.45rem;padding:0.45rem 0.55rem;border-radius:7px;
  font-size:0.74rem;color:rgba(255,255,255,0.6);margin-bottom:0.15rem;transition:all 0.2s;
}
.mockup-menu-item.active{background:rgba(232,103,76,0.18);color:#fff;}
.mockup-menu-item .mi{width:6px;height:6px;border-radius:2px;background:currentColor;opacity:0.45;flex-shrink:0;}
.mockup-menu-item.active .mi{opacity:1;background:var(--accent);}
.mockup-content{padding:1rem;background:var(--mockup-bg);}
.mockup-scene{transition:opacity 0.3s;}
.mockup-scene.fade-out,.mockup-sidebar-content.fade-out{opacity:0;}
.mock-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.8rem;}
.mock-toolbar-left{display:flex;align-items:center;gap:0.5rem;}
.mock-toolbar-title{font-size:0.85rem;font-weight:700;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;}
.mock-toolbar-count{font-size:0.65rem;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);padding:0.1rem 0.5rem;border-radius:100px;}
.mock-toolbar-right{display:flex;gap:0.35rem;}
.mock-btn{font-size:0.65rem;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.08);padding:0.25rem 0.55rem;border-radius:6px;}
.mock-table{font-size:0.72rem;}
.mock-thead{display:grid;grid-template-columns:1.3fr 0.9fr 0.7fr 0.7fr 0.8fr;gap:0.5rem;padding:0.5rem 0.4rem;color:rgba(255,255,255,0.4);font-size:0.62rem;border-bottom:1px solid rgba(255,255,255,0.1);}
.mock-trow{display:grid;grid-template-columns:1.3fr 0.9fr 0.7fr 0.7fr 0.8fr;gap:0.5rem;padding:0.55rem 0.4rem;color:rgba(255,255,255,0.8);border-bottom:1px solid rgba(255,255,255,0.05);align-items:center;}
.mock-amount{color:#fff;font-weight:600;}
.mock-badge{display:inline-block;font-size:0.6rem;padding:0.12rem 0.45rem;border-radius:100px;font-weight:600;}
.mock-badge-green{background:rgba(92,184,122,0.2);color:#7ed99a;}
.mock-badge-orange{background:rgba(224,164,74,0.2);color:#f0c074;}
.mock-badge-blue{background:rgba(125,162,212,0.2);color:#a5c4ed;}
.mock-badge-cyan{background:rgba(94,194,194,0.2);color:#8fdada;}
.mock-badge-purple{background:rgba(168,139,250,0.2);color:#c4b5fd;}
.mock-badge-red{background:rgba(217,107,94,0.2);color:#f0a59a;}
.mockup-float{
  position:absolute;right:-10px;bottom:24px;
  display:flex;align-items:center;gap:0.4rem;
  background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);
  padding:0.5rem 0.85rem;border-radius:100px;font-size:0.78rem;font-weight:600;color:var(--ink);
  animation:float 4s ease-in-out infinite;
}
@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}
.track-foot{padding:1.1rem 1.3rem;border-top:1px solid var(--line);background:var(--bg-secondary);font-size:0.85rem;color:var(--text-muted);}
.track-foot a{color:var(--accent);font-weight:700;text-decoration:none;}
.demo-launch{
  display:inline-flex;align-items:center;gap:0.5rem;
  background:transparent;border:1px solid var(--line-strong);border-radius:100px;
  padding:0.5rem 1.1rem;color:var(--ink);font-weight:600;font-size:0.85rem;cursor:pointer;
  transition:all 0.25s;font-family:'Plus Jakarta Sans',sans-serif;
}
.demo-launch:hover{border-color:var(--accent);color:var(--accent);}
.dl-play{width:0;height:0;border-left:8px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;}

@media(max-width:920px){
  .hero-inner{grid-template-columns:1fr;gap:2.5rem;}
  .hero-content h1{font-size:2.4rem;}
}

/* ========================================================================
   REAL-LIFE STORIES
   ======================================================================== */
.reallife{padding:6rem 2rem;}
.rl-header{max-width:760px;margin:0 auto 3.5rem;text-align:center;}
.rl-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:900px){.rl-grid{grid-template-columns:1fr;}}
.rl-card{
  background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-card);transition:transform 0.35s,box-shadow 0.35s;
}
.rl-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px -16px rgba(34,31,46,0.2);}
.rl-before{padding:1.6rem 1.6rem 1.4rem;background:color-mix(in srgb,var(--text-muted) 6%,transparent);}
.rl-after{padding:1.4rem 1.6rem 1.7rem;position:relative;}
.rl-state{display:inline-flex;align-items:center;gap:0.4rem;font-size:0.66rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.6rem;}
.rl-state::before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.rl-before .rl-state{color:var(--danger);}
.rl-before .rl-state::before{background:var(--danger);}
.rl-after .rl-state{color:var(--accent);}
.rl-after .rl-state::before{background:var(--accent);}
.rl-quote{font-family:'Fraunces','Pretendard',sans-serif;font-size:1.12rem;font-weight:600;line-height:1.4;margin-bottom:0.5rem;color:var(--ink);}
.rl-before .rl-quote{color:var(--text-muted);}
.rl-detail{font-size:0.88rem;color:var(--text-muted);line-height:1.55;margin-bottom:0.8rem;}
.rl-tag{
  display:inline-block;font-size:0.7rem;font-weight:700;letter-spacing:0.04em;
  padding:0.25rem 0.7rem;border-radius:100px;text-transform:uppercase;
}
.rl-before .rl-tag{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger);}
.rl-after .rl-tag{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);}
.rl-arrow-divider{display:flex;justify-content:center;position:relative;height:0;}
.rl-arrow-circle{
  width:34px;height:34px;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;
  position:relative;top:-17px;box-shadow:0 6px 14px -4px var(--accent);z-index:2;
}
.rl-arrow-circle svg{width:16px;height:16px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round;}

/* ========================================================================
   3가지 시작 방법
   ======================================================================== */
.ways3{padding:6rem 2rem;}
.ways3-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
@media(max-width:900px){.ways3-grid{grid-template-columns:1fr;}}
.way3-card{
  background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:1.8rem;
  display:flex;flex-direction:column;box-shadow:var(--shadow-card);transition:all 0.35s;position:relative;overflow:hidden;
}
.way3-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform 0.4s;}
.way3-card:hover{transform:translateY(-6px);border-color:var(--line-strong);}
.way3-card:hover::before{transform:scaleX(1);}
.way3-top{display:flex;align-items:flex-start;gap:0.9rem;margin-bottom:1.3rem;}
.way3-num{
  font-family:'Outfit','Pretendard',sans-serif;font-size:1.6rem;font-weight:800;letter-spacing:-0.02em;
  color:var(--accent);line-height:1;width:36px;flex-shrink:0;
}
.way3-titles{flex:1;}
.way3-titles h3{font-size:1.2rem;margin-bottom:0.25rem;}
.way3-sub{font-size:0.85rem;color:var(--text-muted);line-height:1.5;}
.way3-time{font-size:0.72rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:0.25rem 0.7rem;border-radius:100px;white-space:nowrap;}
.way3-demo{flex:1;margin-bottom:1.3rem;background:var(--bg-secondary);border:1px solid var(--line);border-radius:12px;padding:1rem;}
.way3-cta{
  text-align:center;padding:0.85rem;background:var(--ink);color:var(--bg-primary);
  border-radius:100px;font-weight:700;font-size:0.92rem;text-decoration:none;transition:all 0.3s;
}
.way3-cta:hover{background:var(--accent);color:#fff;}

.w3-tpl{display:flex;flex-direction:column;gap:0.5rem;}
.w3-tpl-item{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;padding:0.5rem 0.7rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);}
.w3-tpl-item.muted{color:var(--text-muted);justify-content:center;border-style:dashed;}
.w3-go{font-size:0.72rem;color:var(--accent);font-weight:700;}
.w3-xls{display:flex;flex-direction:column;gap:0.5rem;align-items:stretch;}
.w3-xls-file{display:flex;align-items:center;gap:0.4rem;font-size:0.82rem;font-weight:600;padding:0.5rem 0.7rem;background:var(--paper);border:1px solid var(--line);border-radius:8px;}
.w3-xls-ic{display:inline-flex;color:var(--accent);}
.w3-xls-ic svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.w3-xls-arrow{text-align:center;font-size:0.74rem;color:var(--accent);font-weight:700;}
.bm-table{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--paper);}
.bm-trow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.4rem;padding:0.42rem 0.6rem;font-size:0.72rem;border-bottom:1px solid var(--line);color:var(--text-muted);}
.bm-trow:last-child{border-bottom:none;}
.bm-trow.head{background:var(--bg-secondary);font-weight:700;color:var(--ink);font-size:0.68rem;}
.bm-trow.add{justify-content:center;text-align:center;color:var(--accent);font-weight:700;grid-template-columns:1fr;}
.build-mini{display:flex;align-items:center;gap:0.6rem;}
.bm-palette{display:flex;flex-direction:column;gap:0.3rem;flex-shrink:0;}
.bm-block{display:flex;align-items:center;gap:0.3rem;font-size:0.68rem;padding:0.3rem 0.5rem;background:var(--paper);border:1px solid var(--line);border-radius:6px;color:var(--ink);font-weight:600;}
.bm-ic{font-size:0.7rem;color:var(--accent);font-weight:700;display:inline-flex;align-items:center;}
.bm-ic svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.bm-block.b-more{justify-content:center;color:var(--accent);border-style:dashed;}
.bm-arrow{color:var(--accent);font-size:1.2rem;font-weight:700;flex-shrink:0;}

/* ========================================================================
   FEATURES
   ======================================================================== */
.features{padding:6rem 2rem;}
.features-grid{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:1000px){.features-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.features-grid{grid-template-columns:1fr;}}
.feature-card{
  background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:1.7rem 1.5rem;
  transition:all 0.35s;position:relative;
}
.feature-card:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:var(--shadow-card);}
.feature-icon{
  width:50px;height:50px;border-radius:14px;
  background:color-mix(in srgb,var(--accent) 10%,transparent);
  border:1px solid var(--line-strong);
  display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;
  color:var(--accent);transition:box-shadow 0.35s,transform 0.35s,border-color 0.35s;
}
.feature-card:hover .feature-icon{transform:translateY(-2px);border-color:var(--accent);}
.feature-icon svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.feature-card h3{font-size:1.1rem;margin-bottom:0.6rem;}
.feature-card p{font-size:0.9rem;color:var(--text-muted);line-height:1.65;}

/* ========================================================================
   TEMPLATES
   ======================================================================== */
.templates{padding:6rem 2rem;}
.templates-container{max-width:1240px;margin:0 auto;}
.template-tabs{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-bottom:2.5rem;}
.template-tab{
  padding:0.6rem 1.2rem;background:transparent;border:1px solid var(--line-strong);border-radius:100px;
  font-size:0.88rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all 0.25s;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.template-tab:hover{border-color:var(--ink);color:var(--ink);}
.template-tab.active{background:var(--ink);color:var(--bg-primary);border-color:var(--ink);}
.template-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;}
@media(max-width:1000px){.template-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.template-cards{grid-template-columns:1fr;}}
.tpl-card{
  background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1.4rem;
  transition:all 0.3s;cursor:default;
}
.tpl-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:var(--shadow-card);}
.tpl-card-top{display:flex;align-items:center;gap:0.55rem;margin-bottom:0.7rem;}
.tpl-dot{width:11px;height:11px;border-radius:4px;flex-shrink:0;}
.tpl-card-name{font-family:'Fraunces','Pretendard',sans-serif;font-weight:600;font-size:1.02rem;color:var(--ink);}
.tpl-card-desc{font-size:0.85rem;color:var(--text-muted);line-height:1.6;margin-bottom:1rem;min-height:2.7em;}
.tpl-card-tags{display:flex;flex-wrap:wrap;gap:0.35rem;}
.tpl-tag{font-size:0.7rem;font-weight:600;color:var(--text-muted);background:var(--bg-secondary);border:1px solid var(--line);padding:0.2rem 0.6rem;border-radius:100px;}

/* ========================================================================
   HOW IT WORKS
   ======================================================================== */
.how-it-works{padding:6rem 2rem;}
.steps-container{max-width:980px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;position:relative;}
@media(max-width:760px){.steps-container{grid-template-columns:1fr;gap:2.5rem;}}
.step-item{text-align:center;position:relative;}
.step-number{
  width:64px;height:64px;margin:0 auto 1.3rem;border-radius:50%;
  background:var(--paper);border:2px solid var(--accent);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-family:'Plus Jakarta Sans','Pretendard',sans-serif;font-size:1.7rem;font-weight:800;
  box-shadow:var(--shadow-card);
}
.step-item h3{font-size:1.18rem;margin-bottom:0.6rem;}
.step-item p{font-size:0.92rem;color:var(--text-muted);line-height:1.65;}

/* ========================================================================
   COMPARISON
   ======================================================================== */
.comparison{padding:6rem 2rem;}
.comparison-table-wrap{max-width:1080px;margin:0 auto;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow-card);}
.comparison-table{width:100%;border-collapse:collapse;min-width:680px;}
.comparison-table th,.comparison-table td{padding:1rem 1.1rem;text-align:center;font-size:0.9rem;border-bottom:1px solid var(--line);}
.comparison-table thead th{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;color:var(--text-muted);font-size:0.82rem;background:var(--bg-secondary);}
.comparison-table thead th:last-child{color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);}
.comparison-table tbody td:first-child,.comparison-table tbody th:first-child{text-align:left;font-weight:600;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;}
.comparison-table td{color:var(--text-muted);}
.comparison-table td:last-child{color:var(--ink);font-weight:700;background:color-mix(in srgb,var(--accent) 5%,transparent);}
.comparison-table tbody tr:last-child td{border-bottom:none;}

/* ========================================================================
   PRICING
   ======================================================================== */
.pricing{padding:6rem 2rem;}
.price-compare{max-width:1080px;margin:0 auto;}
.price-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;background:var(--paper);box-shadow:var(--shadow-card);}
.price-table{width:100%;border-collapse:collapse;min-width:560px;}
.price-table col.col-feat{width:42%;}
.price-table th,.price-table td{padding:1rem 1.2rem;text-align:center;border-bottom:1px solid var(--line);font-size:0.9rem;}
.price-table thead .pt-corner{text-align:left;background:var(--bg-secondary);}
.pt-corner-q{display:block;font-family:'Fraunces','Pretendard',sans-serif;font-weight:600;font-size:1.05rem;color:var(--ink);}
.pt-corner-a{display:block;font-size:0.8rem;color:var(--text-muted);margin-top:0.2rem;font-family:'Plus Jakarta Sans',sans-serif;}
.pt-plan{position:relative;vertical-align:top;}
.pt-plan-name{display:block;font-family:'Fraunces','Pretendard',sans-serif;font-weight:700;font-size:1.1rem;color:var(--ink);}
.pt-plan-price{display:block;font-family:'Outfit','Pretendard',sans-serif;font-size:1.7rem;font-weight:800;letter-spacing:-0.02em;color:var(--ink);margin:0.3rem 0;}
.pt-plan-price small{font-size:0.8rem;color:var(--text-muted);font-weight:500;}
.pt-plan-desc{display:block;font-size:0.78rem;color:var(--text-muted);margin-bottom:0.9rem;font-family:'Plus Jakarta Sans',sans-serif;}
.pt-plan.pt-pro{background:color-mix(in srgb,var(--accent) 6%,transparent);}
.pt-badge{position:absolute;top:0.6rem;right:0.6rem;font-size:0.62rem;font-weight:800;letter-spacing:0.06em;background:var(--accent);color:#fff;padding:0.18rem 0.6rem;border-radius:100px;}
.pt-cta{display:inline-block;padding:0.6rem 1.4rem;border-radius:100px;font-weight:700;font-size:0.85rem;text-decoration:none;transition:all 0.3s;font-family:'Plus Jakarta Sans',sans-serif;}
.pt-cta-ghost{border:1px solid var(--line-strong);color:var(--ink);}
.pt-cta-ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--bg-primary);}
.pt-cta-fill{background:var(--accent);color:#fff;}
.pt-cta-fill:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px var(--accent);}
.price-table tbody th{text-align:left;font-weight:600;color:var(--ink);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.88rem;}
.price-table tbody th small{display:block;font-weight:400;font-size:0.74rem;color:var(--text-muted);margin-top:0.1rem;}
.price-table td.pt-pro{background:color-mix(in srgb,var(--accent) 5%,transparent);font-weight:600;color:var(--ink);}
.pt-sub{display:block;font-size:0.72rem;color:var(--text-muted);font-weight:400;}
.pt-help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--text-muted);color:var(--paper);font-size:0.62rem;font-weight:700;margin-left:0.3rem;cursor:help;vertical-align:middle;position:relative;}
.pt-help:hover::after,.pt-help:focus::after{content:attr(data-tip);position:absolute;bottom:140%;left:50%;transform:translateX(-50%);width:210px;background:var(--ink);color:var(--bg-primary);font-size:0.72rem;font-weight:400;line-height:1.5;padding:0.6rem 0.8rem;border-radius:8px;z-index:20;box-shadow:0 8px 24px rgba(0,0,0,0.25);text-align:left;}
.pt-dash{color:var(--text-muted);opacity:0.5;}
.pt-yes{color:var(--success);font-weight:800;}
.price-scroll-hint{text-align:center;font-size:0.8rem;color:var(--text-muted);margin-top:0.8rem;display:none;}
.price-note-included{display:flex;align-items:center;gap:0.7rem;justify-content:center;margin-top:1.5rem;padding:1rem 1.3rem;background:color-mix(in srgb,var(--success) 8%,transparent);border:1px solid color-mix(in srgb,var(--success) 22%,transparent);border-radius:12px;font-size:0.88rem;color:var(--ink);}
.pni-icon{color:var(--success);font-weight:800;font-size:1.1rem;}
.price-compare-note{text-align:center;font-size:0.86rem;color:var(--text-muted);margin-top:1.2rem;line-height:1.7;max-width:640px;margin-left:auto;margin-right:auto;}

/* ========================================================================
   FAQ
   ======================================================================== */
.faq{padding:6rem 2rem;}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:0.8rem;}
.faq-item{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color 0.3s;}
.faq-item.active{border-color:var(--accent);}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem 1.5rem;cursor:pointer;font-family:'Fraunces','Pretendard',sans-serif;font-weight:600;font-size:1.05rem;color:var(--ink);}
.faq-toggle{font-family:'Plus Jakarta Sans',sans-serif;font-size:1.4rem;font-weight:300;color:var(--accent);transition:transform 0.3s;flex-shrink:0;}
.faq-item.active .faq-toggle{transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s ease;}
.faq-item.active .faq-answer{max-height:300px;}
.faq-answer-inner{padding:0 1.5rem 1.4rem;font-size:0.92rem;color:var(--text-muted);line-height:1.7;}

/* ========================================================================
   CTA
   ======================================================================== */
.cta{padding:6rem 2rem;}
.cta-box{
  max-width:880px;margin:0 auto;text-align:center;padding:4rem 2.5rem;position:relative;overflow:hidden;
  background:var(--ink);border-radius:28px;color:var(--bg-primary);
}
.cta-box::before{content:"";position:absolute;top:-40%;right:-10%;width:50%;height:180%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 50%,transparent),transparent 70%);pointer-events:none;}
.cta-box h2{font-size:2.4rem;margin-bottom:1rem;color:var(--bg-primary);position:relative;z-index:1;}
.cta-box p{font-size:1.1rem;opacity:0.8;margin-bottom:2rem;position:relative;z-index:1;}
.cta-box .btn-primary{background:var(--accent);color:#fff;}

/* ========================================================================
   FOOTER
   ======================================================================== */
footer{padding:5rem 2rem 2.5rem;border-top:1px solid var(--line);background:var(--bg-secondary);position:relative;z-index:1;}
.footer-inner{max-width:1240px;margin:0 auto;}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem;}
@media(max-width:760px){.footer-top{grid-template-columns:1fr 1fr;gap:2rem;}}
.footer-brand .logo{font-size:1.6rem;margin-bottom:0.8rem;display:inline-block;}
.footer-brand p{font-size:0.9rem;color:var(--text-muted);line-height:1.6;}
.footer-links h4{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-muted);margin-bottom:1rem;}
.footer-links a{display:block;font-size:0.9rem;color:var(--ink);text-decoration:none;margin-bottom:0.6rem;transition:color 0.25s;}
.footer-links a:hover{color:var(--accent);}
.footer-company{color:var(--text-muted);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:0.84rem;color:var(--text-muted);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{color:var(--text-muted);text-decoration:none;}
.footer-legal a:hover{color:var(--accent);}

/* ========================================================================
   인터랙티브 데모 모달
   ======================================================================== */
.demo-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:2rem;background:rgba(20,18,28,0.6);backdrop-filter:blur(6px);}
.demo-modal.open{display:flex;}
.demo-dialog{background:var(--bg-primary);border:1px solid var(--line);border-radius:22px;max-width:1000px;width:100%;max-height:90vh;overflow:auto;box-shadow:0 40px 100px -20px rgba(0,0,0,0.5);}
.demo-head{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.8rem;border-bottom:1px solid var(--line);}
.demo-head-title{display:flex;flex-direction:column;gap:0.3rem;}
.dh-badge{display:inline-block;width:fit-content;font-size:0.66rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:0.2rem 0.6rem;border-radius:100px;}
#demoTitleName{font-family:'Fraunces','Pretendard',sans-serif;font-weight:600;font-size:1.15rem;color:var(--ink);}
.demo-head-sub{font-size:0.8rem;color:var(--text-muted);}
.demo-close{background:transparent;border:1px solid var(--line-strong);border-radius:50%;width:36px;height:36px;font-size:1.3rem;color:var(--text-muted);cursor:pointer;transition:all 0.25s;flex-shrink:0;}
.demo-close:hover{border-color:var(--danger);color:var(--danger);}
.demo-industries{display:flex;flex-wrap:wrap;gap:0.5rem;padding:1.2rem 1.8rem;border-bottom:1px solid var(--line);}
.demo-ind-btn{display:inline-flex;align-items:center;gap:0.4rem;padding:0.5rem 1rem;font-size:0.82rem;font-weight:600;background:var(--paper);border:1px solid var(--line-strong);border-radius:100px;color:var(--text-muted);cursor:pointer;transition:all 0.2s;font-family:'Plus Jakarta Sans',sans-serif;}
.demo-ind-btn svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.demo-ind-btn:hover{border-color:var(--ink);color:var(--ink);}
.demo-ind-btn.active{background:var(--ink);color:var(--bg-primary);border-color:var(--ink);}
.demo-body{padding:1.5rem 1.8rem;}
.demo-app{display:grid;grid-template-columns:170px 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:420px;background:var(--mockup-bg);}
.demo-side{background:var(--mockup-sidebar);padding:1.1rem 0.8rem;}
.demo-side-logo{display:flex;align-items:center;gap:0.45rem;font-family:'Fraunces','Pretendard',sans-serif;font-size:0.95rem;font-weight:800;color:#fff;margin-bottom:1.2rem;}
.demo-side-logo .icon{width:24px;height:24px;border-radius:7px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;font-weight:700;}
.demo-side-sec{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.1em;color:rgba(255,255,255,0.35);margin-bottom:0.5rem;}
.demo-side-item{display:flex;align-items:center;gap:0.5rem;padding:0.55rem 0.6rem;border-radius:8px;font-size:0.8rem;color:rgba(255,255,255,0.6);margin-bottom:0.2rem;transition:all 0.2s;}
.demo-side-item.active{background:rgba(232,103,76,0.2);color:#fff;}
.demo-side-item .si{width:6px;height:6px;border-radius:2px;background:currentColor;opacity:0.5;flex-shrink:0;}
.demo-side-item.active .si{opacity:1;}
.demo-main{background:var(--mockup-bg);padding:1.1rem;overflow:hidden;}
.demo-viewtabs{display:flex;gap:0.4rem;margin-bottom:1rem;flex-wrap:wrap;}
.demo-vtab{display:flex;align-items:center;gap:0.35rem;padding:0.45rem 0.9rem;font-size:0.78rem;font-weight:600;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:100px;color:rgba(255,255,255,0.6);cursor:pointer;transition:all 0.2s;font-family:'Plus Jakarta Sans',sans-serif;}
.demo-vtab:hover{color:#fff;}
.demo-vtab.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.demo-vtab .vt-ic{display:inline-flex;align-items:center;}
.demo-vtab .vt-ic svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.demo-view-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.9rem;}
.dv-title{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.95rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:0.5rem;}
.dv-count{font-size:0.66rem;font-weight:500;color:rgba(255,255,255,0.5);background:rgba(255,255,255,0.08);padding:0.15rem 0.55rem;border-radius:100px;}
.dv-actions{display:flex;gap:0.4rem;}
.dv-btn{font-size:0.7rem;color:rgba(255,255,255,0.7);background:rgba(255,255,255,0.08);padding:0.3rem 0.65rem;border-radius:7px;}
.dv-btn.primary{background:var(--accent);color:#fff;}
.dv-table{font-size:0.76rem;}
.dv-thead{display:grid;gap:0.5rem;padding:0.55rem 0.5rem;color:rgba(255,255,255,0.4);font-size:0.66rem;border-bottom:1px solid rgba(255,255,255,0.1);}
.dv-trow{display:grid;gap:0.5rem;padding:0.6rem 0.5rem;color:rgba(255,255,255,0.85);border-bottom:1px solid rgba(255,255,255,0.05);align-items:center;}
.dv-amount{color:#fff;font-weight:600;}
.dv-badge{display:inline-block;font-size:0.62rem;padding:0.13rem 0.5rem;border-radius:100px;font-weight:600;}
.dv-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:0.7rem;}
.dv-kcol{background:rgba(255,255,255,0.04);border-radius:10px;padding:0.6rem;}
.dv-kcol-head{display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;color:rgba(255,255,255,0.7);font-weight:600;margin-bottom:0.6rem;}
.kc-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:0.35rem;}
.kc-n{background:rgba(255,255,255,0.1);padding:0.05rem 0.4rem;border-radius:100px;font-size:0.62rem;}
.dv-kcard{background:rgba(255,255,255,0.06);border-radius:8px;padding:0.55rem 0.6rem;margin-bottom:0.4rem;}
.dv-kcard-t{font-size:0.74rem;color:#fff;font-weight:600;margin-bottom:0.2rem;}
.dv-kcard-m{display:flex;justify-content:space-between;font-size:0.66rem;color:rgba(255,255,255,0.5);}
.km-amt{color:var(--accent-soft);font-weight:600;}
.dv-cal-head{display:grid;grid-template-columns:repeat(7,1fr);gap:0.3rem;margin-bottom:0.3rem;}
.dv-cal-dow{text-align:center;font-size:0.66rem;color:rgba(255,255,255,0.4);padding:0.3rem 0;}
.dv-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0.3rem;}
.dv-cal-cell{background:rgba(255,255,255,0.04);border-radius:7px;min-height:54px;padding:0.3rem;}
.dv-cal-cell.muted{background:transparent;}
.dv-cal-cell.today{background:rgba(232,103,76,0.18);border:1px solid var(--accent);}
.dv-cal-d{font-size:0.66rem;color:rgba(255,255,255,0.7);}
.dv-cal-ev{display:block;font-size:0.58rem;padding:0.08rem 0.3rem;border-radius:4px;margin-top:0.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dv-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0.6rem;margin-bottom:1rem;}
.dv-kpi{background:rgba(255,255,255,0.05);border-radius:10px;padding:0.7rem;}
.dv-kpi-l{font-size:0.66rem;color:rgba(255,255,255,0.5);margin-bottom:0.3rem;}
.dv-kpi-v{font-family:'Outfit','Pretendard',sans-serif;font-size:1.15rem;font-weight:700;letter-spacing:-0.02em;color:#fff;}
.dv-kpi-d{font-size:0.64rem;margin-top:0.15rem;color:rgba(255,255,255,0.4);}
.dv-kpi-d.up{color:#7ed99a;}
.dv-charts{display:grid;grid-template-columns:1.4fr 1fr;gap:0.7rem;}
@media(max-width:620px){.dv-charts{grid-template-columns:1fr;}.dv-kanban{grid-template-columns:repeat(2,1fr);}.dv-stats{grid-template-columns:repeat(2,1fr);}}
.dv-chart-card{background:rgba(255,255,255,0.05);border-radius:10px;padding:0.8rem;}
.dv-chart-t{font-size:0.72rem;color:rgba(255,255,255,0.7);font-weight:600;margin-bottom:0.7rem;}
.dv-bars{display:flex;align-items:flex-end;gap:0.4rem;height:110px;}
.dv-bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:0.3rem;height:100%;justify-content:flex-end;}
.dv-bar{width:100%;background:linear-gradient(180deg,var(--accent-soft),var(--accent));border-radius:5px 5px 0 0;min-height:4px;transition:height 0.5s;}
.dv-bar-x{font-size:0.6rem;color:rgba(255,255,255,0.5);}
.dv-donut-wrap{display:flex;align-items:center;gap:0.8rem;}
.dv-donut{width:90px;height:90px;border-radius:50%;flex-shrink:0;position:relative;}
.dv-donut::after{content:"";position:absolute;inset:24%;background:var(--mockup-bg);border-radius:50%;}
.dv-legend{display:flex;flex-direction:column;gap:0.35rem;}
.dv-legend-i{display:flex;align-items:center;gap:0.4rem;font-size:0.68rem;color:rgba(255,255,255,0.7);}
.dv-legend-dot{width:9px;height:9px;border-radius:3px;}
.dv-legend-v{color:rgba(255,255,255,0.5);margin-left:0.2rem;}
.mock-badge-green,.dv-badge.mock-badge-green{background:rgba(92,184,122,0.2);color:#7ed99a;}
.mock-badge-orange,.dv-badge.mock-badge-orange{background:rgba(224,164,74,0.2);color:#f0c074;}
.mock-badge-blue,.dv-badge.mock-badge-blue{background:rgba(125,162,212,0.2);color:#a5c4ed;}
.mock-badge-cyan,.dv-badge.mock-badge-cyan{background:rgba(94,194,194,0.2);color:#8fdada;}
.mock-badge-purple,.dv-badge.mock-badge-purple{background:rgba(168,139,250,0.2);color:#c4b5fd;}
.mock-badge-red,.dv-badge.mock-badge-red{background:rgba(217,107,94,0.2);color:#f0a59a;}
.demo-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:1.4rem 1.8rem;border-top:1px solid var(--line);background:var(--bg-secondary);}
.demo-foot-note{font-size:0.88rem;color:var(--text-muted);line-height:1.5;}
.demo-foot-actions{display:flex;gap:0.7rem;flex-wrap:wrap;}
.demo-foot-btn{padding:0.65rem 1.3rem;border-radius:100px;font-weight:700;font-size:0.85rem;text-decoration:none;transition:all 0.3s;font-family:'Plus Jakarta Sans',sans-serif;}
.demo-foot-btn.ghost{border:1px solid var(--line-strong);color:var(--ink);}
.demo-foot-btn.ghost:hover{border-color:var(--ink);background:var(--ink);color:var(--bg-primary);}
.demo-foot-btn.solid{background:var(--accent);color:#fff;}
.demo-foot-btn.solid:hover{transform:translateY(-2px);box-shadow:0 10px 24px -8px var(--accent);}

/* 채팅(비활성이지만 클래스 보존) */
.msg-label,.template-module,.chat-template-card,.template-card-header,.template-card-name,.template-card-badge,.template-modules,.chat-rec-cta{font-family:'Plus Jakarta Sans',sans-serif;}

/* ========================================================================
   SCROLL REVEAL & 로드 애니메이션
   ======================================================================== */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1);}
.reveal.visible{opacity:1;transform:translateY(0);}
.hero-content>*{opacity:0;animation:heroIn 0.8s cubic-bezier(0.16,1,0.3,1) forwards;}
.hero-content>*:nth-child(1){animation-delay:0.05s;}
.hero-content>*:nth-child(2){animation-delay:0.15s;}
.hero-content>*:nth-child(3){animation-delay:0.25s;}
.hero-content>*:nth-child(4){animation-delay:0.35s;}
.hero-content>*:nth-child(5){animation-delay:0.45s;}
.hero-demo{opacity:0;animation:heroIn 0.9s cubic-bezier(0.16,1,0.3,1) 0.3s forwards;}
@keyframes heroIn{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}

/* ========================================================================
   MOBILE
   ======================================================================== */
@media(max-width:860px){
  nav{padding:0.85rem 1.2rem;}
  .mobile-menu-btn{display:block;}
  .nav-links{
    position:fixed;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:var(--bg-primary);border-bottom:1px solid var(--line);padding:1rem;
    transform:translateY(-150%);transition:transform 0.35s;box-shadow:0 20px 40px -20px rgba(0,0,0,0.3);
  }
  .nav-links.mobile-open{transform:translateY(0);}
  .nav-links a{padding:0.85rem 0.5rem;}
  .nav-links a.btn-nav{text-align:center;margin-top:0.5rem;}
  .theme-toggle{align-self:flex-start;margin:0.5rem;}
  .hero{padding:7rem 1.3rem 4rem;}
  .price-scroll-hint{display:block;}
}
@media(max-width:520px){
  .section-title{font-size:1.7rem;}
  .cta-box{padding:2.8rem 1.5rem;}
  .cta-box h2{font-size:1.8rem;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}
