/* ═══════════════════════════════════════════════════════════════════════
   AI채팅.메신저 4상품 소개 페이지 공용 스타일 (2026-08-27 · v1)
   대상: /ai-chat · /team-messenger · /group-chat · /direct-chat
   ⛔ 값(가격)을 이 파일에 쓰지 않는다 — 설치·사용료는 전부 「상담문의」로 보낸다(사장님 지시 8-27).
   ⚠️ var() 폴백을 지우면 이 파일을 레이아웃 밖(도구 화면 등)에서 재사용할 때 색이 통째로 빠진다.
   ═══════════════════════════════════════════════════════════════════════ */

.cs-sec  { position:relative; overflow:hidden; }
.cs-wrap { position:relative; z-index:2; max-width:1160px; margin:0 auto; padding:0 40px; }

/* ── 공통 헤딩 ── */
.cs-head { text-align:center; margin-bottom:52px; }
.cs-head h2 { font-size:clamp(28px,3.4vw,42px); font-weight:700; letter-spacing:-.025em; line-height:1.3;
    color:var(--ink,#16181D); margin-bottom:14px; word-break:keep-all; overflow-wrap:break-word; }
.cs-head h2 .g { color:var(--accent,#E8451A); }
.cs-head p { font-size:16.5px; color:var(--body,#5B6169); line-height:1.75; max-width:660px; margin:0 auto; word-break:keep-all; }

/* ── 등장 애니메이션 (IntersectionObserver 가 .in 을 붙인다) ── */
.cs-rise { opacity:0; transform:translateY(22px); }
.cs-rise.in { opacity:1; transform:none; transition:opacity .6s ease-out, transform .6s cubic-bezier(.16,1,.3,1); }
@media (prefers-reduced-motion:reduce) { .cs-rise, .cs-rise.in { opacity:1; transform:none; transition:none; } }

/* ══ 히어로 ══ */
.cs-hero { padding:140px 0 88px; text-align:center;
    background:linear-gradient(180deg,var(--canvas,#fff) 0%,var(--canvas-alt,#FAF9F7) 100%);
    border-bottom:1px solid var(--line,#E4E2DD); }
.cs-eyebrow { display:inline-flex; align-items:center; gap:7px; font-size:13px; font-weight:600; letter-spacing:.08em;
    text-transform:uppercase; color:var(--accent-2,#0F766E); margin-bottom:22px; }
.cs-hero h1 { font-size:clamp(31px,5.2vw,55px); font-weight:700; letter-spacing:-.035em; line-height:1.22;
    color:var(--ink,#16181D); margin-bottom:20px; word-break:keep-all; }
.cs-hero h1 .g { color:var(--accent,#E8451A); }
.cs-hero .sub { font-size:17.5px; color:var(--body,#5B6169); line-height:1.85; max-width:720px; margin:0 auto 38px; word-break:keep-all; }
.cs-hero .sub b { color:var(--ink,#16181D); font-weight:600; }
.cs-caps { display:flex; flex-wrap:wrap; gap:11px; justify-content:center; max-width:840px; margin:0 auto 34px; }
.cs-cap { display:inline-flex; align-items:center; gap:8px; padding:10px 17px; border-radius:var(--r,4px);
    font-size:14px; font-weight:600; color:var(--ink,#16181D);
    background:var(--surface,#fff); border:1px solid var(--line,#E4E2DD); box-shadow:var(--shadow-sm,0 1px 2px rgba(22,24,29,.04)); }
.cs-cap i { font-size:16px; color:var(--accent-3,#E8912A); }

/* ── 버튼 ── */
.cs-btn { display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:var(--r,4px);
    font-size:15px; font-weight:600; border:1px solid transparent; cursor:pointer; text-decoration:none;
    transition:background .2s, color .2s, border-color .2s, transform .15s; font-family:inherit; }
.cs-btn:hover { transform:translateY(-1px); }
.cs-btn-primary { background:var(--accent,#E8451A); color:#fff; }
.cs-btn-primary:hover { background:var(--accent-hover,#CE3B12); color:#fff; }
.cs-btn-ghost { background:var(--surface,#fff); color:var(--ink,#16181D); border-color:var(--line-strong,#C9C6BF); }
.cs-btn-ghost:hover { background:var(--surface-alt,#F6F5F2); color:var(--ink,#16181D); }
.cs-btn-row { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; }

/* ══ 특징 그리드 ══ */
.cs-feature { padding:104px 0; background:var(--canvas,#fff); }
.cs-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.cs-grid.two { grid-template-columns:repeat(2,1fr); }
.cs-card { background:var(--surface,#fff); border:1px solid var(--line,#E4E2DD); border-radius:var(--r-lg,8px);
    padding:30px 28px; box-shadow:var(--shadow-sm,0 1px 2px rgba(22,24,29,.04));
    transition:transform .25s, border-color .25s, box-shadow .25s; }
.cs-card:hover { transform:translateY(-5px); border-color:var(--line-strong,#C9C6BF); box-shadow:var(--shadow,0 12px 32px -16px rgba(22,24,29,.16)); }
.cs-card .ic { width:50px; height:50px; border-radius:var(--r,4px); display:flex; align-items:center; justify-content:center;
    font-size:23px; color:var(--accent-2,#0F766E); background:var(--accent-2-soft,#E4F1EF); margin-bottom:17px; }
.cs-card h3 { font-size:18px; font-weight:600; color:var(--ink,#16181D); margin-bottom:9px; letter-spacing:-.02em; word-break:keep-all; }
.cs-card p { font-size:14.5px; color:var(--body,#5B6169); line-height:1.7; word-break:keep-all; }
.cs-card p b { color:var(--ink,#16181D); font-weight:600; }

/* ══ 도입 이점 (딥잉크) ══ */
.cs-benefit { position:relative; padding:110px 0; background:#17161a; }
.cs-benefit::after { content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse 78% 60% at 50% 0%, rgba(232,69,26,.07) 0%, transparent 60%); }
.cs-benefit .cs-head h2 { color:#fff; }
.cs-benefit .cs-head h2 .g { color:#FF6B3D; }
.cs-benefit .cs-head p { color:rgba(255,255,255,.70); }
.cs-ben-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cs-ben { padding:30px 26px; border-radius:var(--r-lg,8px); background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.09);
    transition:transform .25s, background .25s, border-color .25s; }
.cs-ben:hover { transform:translateY(-5px); background:rgba(255,255,255,.06); border-color:rgba(255,107,61,.4); }
.cs-ben .who { display:inline-block; font-size:12px; font-weight:700; letter-spacing:.04em; color:#FF6B3D;
    background:rgba(232,69,26,.13); border:1px solid rgba(255,107,61,.24); padding:4px 10px; border-radius:999px; margin-bottom:14px; }
.cs-ben h3 { font-size:17.5px; font-weight:600; color:#fff; margin-bottom:10px; letter-spacing:-.02em; word-break:keep-all; }
.cs-ben p { font-size:14.5px; color:rgba(255,255,255,.66); line-height:1.7; word-break:keep-all; }
.cs-ben p b { color:rgba(255,255,255,.92); font-weight:600; }

/* ══ 비용 대비 효과 (대비표) ══ */
.cs-effect { padding:104px 0; background:var(--canvas-alt,#FAF9F7); }
.cs-vs { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:26px; }
.cs-vs-col { background:var(--surface,#fff); border:1px solid var(--line,#E4E2DD); border-radius:var(--r-lg,8px); padding:30px 28px; }
.cs-vs-col.is-after { border-color:var(--accent,#E8451A); box-shadow:var(--shadow,0 12px 32px -16px rgba(22,24,29,.16)); }
.cs-vs-col h3 { font-size:16px; font-weight:700; letter-spacing:-.02em; margin-bottom:18px; padding-bottom:14px;
    border-bottom:1px solid var(--line,#E4E2DD); color:var(--body,#5B6169); }
.cs-vs-col.is-after h3 { color:var(--accent,#E8451A); }
.cs-vs-col ul { list-style:none; display:flex; flex-direction:column; gap:13px; }
.cs-vs-col li { display:flex; gap:10px; font-size:14.5px; line-height:1.68; color:var(--body,#5B6169); word-break:keep-all; }
.cs-vs-col li i { flex:none; font-size:16px; margin-top:2px; color:var(--line-strong,#C9C6BF); }
.cs-vs-col.is-after li { color:var(--ink,#16181D); }
.cs-vs-col.is-after li i { color:var(--accent-2,#0F766E); }
.cs-note { display:flex; gap:10px; align-items:flex-start; padding:18px 20px; border-radius:var(--r,4px);
    background:var(--accent-soft,#FDEDE8); border:1px solid rgba(232,69,26,.18);
    font-size:14.5px; line-height:1.7; color:var(--ink,#16181D); word-break:keep-all; }
.cs-note i { flex:none; font-size:17px; color:var(--accent,#E8451A); margin-top:1px; }

/* ══ 설치 방법 (단계) ══ */
.cs-install { padding:104px 0; background:var(--canvas,#fff); }
.cs-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cs-steps.three { grid-template-columns:repeat(3,1fr); }
.cs-step { position:relative; padding:28px 24px; background:var(--surface,#fff);
    border:1px solid var(--line,#E4E2DD); border-radius:var(--r-lg,8px); }
.cs-step .no { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%;
    font-size:14px; font-weight:700; color:#fff; background:var(--accent,#E8451A); margin-bottom:15px; }
.cs-step h3 { font-size:16.5px; font-weight:600; color:var(--ink,#16181D); margin-bottom:9px; letter-spacing:-.02em; word-break:keep-all; }
.cs-step p { font-size:14px; color:var(--body,#5B6169); line-height:1.68; word-break:keep-all; }
.cs-code { margin-top:26px; background:#17161a; border-radius:var(--r-lg,8px); padding:22px 24px; overflow-x:auto; }
.cs-code .cap { font-size:12.5px; font-weight:600; letter-spacing:.06em; text-transform:uppercase;
    color:rgba(255,255,255,.5); margin-bottom:12px; }
.cs-code pre { margin:0; font-family:'SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;
    font-size:13.5px; line-height:1.75; color:#E6E4DF; white-space:pre; }
.cs-code .t { color:#FF6B3D; }

/* ══ 기술 소개 (스펙 표) ══ */
.cs-tech { padding:104px 0; background:var(--canvas-alt,#FAF9F7); }
.cs-spec { width:100%; border-collapse:collapse; background:var(--surface,#fff);
    border:1px solid var(--line,#E4E2DD); border-radius:var(--r-lg,8px); overflow:hidden; }
.cs-spec th, .cs-spec td { padding:16px 20px; text-align:left; font-size:14.5px; line-height:1.68;
    border-bottom:1px solid var(--line,#E4E2DD); word-break:keep-all; vertical-align:top; }
.cs-spec tr:last-child th, .cs-spec tr:last-child td { border-bottom:none; }
.cs-spec th { width:210px; font-weight:600; color:var(--ink,#16181D); background:var(--surface-alt,#F6F5F2); }
.cs-spec td { color:var(--body,#5B6169); }
.cs-spec td b { color:var(--ink,#16181D); font-weight:600; }
.cs-scroll { overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* ══ FAQ ══ */
.cs-faq { padding:104px 0; background:var(--canvas,#fff); }
.cs-faq-list { max-width:860px; margin:0 auto; display:flex; flex-direction:column; gap:14px; }
.cs-faq-item { background:var(--surface,#fff); border:1px solid var(--line,#E4E2DD); border-radius:var(--r-lg,8px); padding:24px 26px; }
.cs-faq-item h3 { font-size:16.5px; font-weight:600; color:var(--ink,#16181D); margin-bottom:10px; letter-spacing:-.02em; word-break:keep-all; }
.cs-faq-item p { font-size:14.5px; color:var(--body,#5B6169); line-height:1.75; word-break:keep-all; }

/* ══ CTA ══ */
.cs-cta { padding:104px 0; text-align:center; background:var(--canvas-alt,#FAF9F7); border-top:1px solid var(--line,#E4E2DD); }
.cs-cta h2 { font-size:clamp(27px,3.2vw,40px); font-weight:700; letter-spacing:-.03em; line-height:1.3;
    color:var(--ink,#16181D); margin-bottom:16px; word-break:keep-all; }
.cs-cta h2 .g { color:var(--accent,#E8451A); }
.cs-cta > .cs-wrap > p { font-size:16.5px; color:var(--body,#5B6169); line-height:1.75; max-width:620px; margin:0 auto 12px; word-break:keep-all; }
.cs-cta .price-note { display:inline-flex; align-items:center; gap:7px; font-size:14px; font-weight:600;
    color:var(--accent-2,#0F766E); background:var(--accent-2-soft,#E4F1EF); padding:9px 16px; border-radius:999px; margin:0 auto 28px; }

/* ══ 형제 상품 안내 ══ */
.cs-sib { padding:76px 0; background:var(--canvas,#fff); border-top:1px solid var(--line,#E4E2DD); }
.cs-sib-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.cs-sib-card { display:block; text-decoration:none; padding:24px 24px; border-radius:var(--r-lg,8px);
    background:var(--surface,#fff); border:1px solid var(--line,#E4E2DD); transition:border-color .2s, transform .2s, box-shadow .2s; }
.cs-sib-card:hover { transform:translateY(-3px); border-color:var(--line-strong,#C9C6BF); box-shadow:var(--shadow,0 12px 32px -16px rgba(22,24,29,.16)); }
.cs-sib-card i { font-size:20px; color:var(--accent-2,#0F766E); margin-bottom:11px; display:block; }
.cs-sib-card h3 { font-size:16px; font-weight:600; color:var(--ink,#16181D); margin-bottom:6px; letter-spacing:-.02em; }
.cs-sib-card p { font-size:13.5px; color:var(--body,#5B6169); line-height:1.6; word-break:keep-all; }

/* ══ 반응형 ══ */
@media (max-width:900px) {
    .cs-wrap { padding:0 24px; }
    .cs-hero { padding:112px 0 68px; }
    .cs-feature, .cs-benefit, .cs-effect, .cs-install, .cs-tech, .cs-faq, .cs-cta { padding:76px 0; }
    .cs-head { margin-bottom:38px; }
    .cs-grid, .cs-grid.two, .cs-ben-grid, .cs-sib-grid { grid-template-columns:1fr; }
    .cs-steps, .cs-steps.three { grid-template-columns:repeat(2,1fr); }
    .cs-vs { grid-template-columns:1fr; }
    .cs-spec th { width:130px; }
}
@media (max-width:520px) {
    .cs-wrap { padding:0 18px; }
    .cs-steps, .cs-steps.three { grid-template-columns:1fr; }
    .cs-btn { width:100%; justify-content:center; }
    .cs-spec, .cs-spec tbody, .cs-spec tr, .cs-spec th, .cs-spec td { display:block; width:auto; }
    .cs-spec th { border-bottom:none; padding-bottom:6px; }
    .cs-spec td { padding-top:0; }
}
