/* 넥젠리뷰이관: 청록 색과 이 사이트 전용 요소만 둔다. 공통 효과는 _core 에 있다. */
:root {
  --brand: #0d9488;
  --brand-ink: #0f766e;
  --brand-soft: #e3f6f3;
  --brand-light: #5eead4;
  --brand-rgb: 13, 148, 136;
  --accent-rgb: 14, 165, 233;
  --hero-1: #062a33;
  --hero-2: #0a3341;
  --hero-3: #041b24;
}

/* 공통 CSS 의 남색 고정값을 청록 남색으로 */
.nav { background: rgba(4, 27, 36, .55); }
.nav.scrolled { background: rgba(4, 27, 36, .92); }
.footer { background: #03141b; }
.btn-primary { background: var(--brand-ink); }
.btn-primary:hover { background: #115e59; }
.eyebrow { color: var(--brand-ink); }
.step::before { background: var(--brand-ink); }
.num { color: var(--brand-light); }
td.hl { color: var(--brand-ink); }
.side-nav a.on { color: var(--brand-ink); }
.side-nav.on-dark a.on { color: #fff; }
.hero .pill .dot { background: #fbbf24; box-shadow: 0 0 0 4px rgba(251, 191, 36, .22); }
.hero-note i { color: #fbbf24; }
.lead, .hero-note, .section.dark .sec-head p, .dark .card p, .cta-final p { color: #b7cbd0; }
.stat span { color: #d3e2e4; }
.stat small { color: #8fa9b0; }
.marquee-track { color: #7f9ea6; }
.scroll-cue { color: #8fa9b0; }

/* 히어로 예시 표기 */
.hero-cap { margin-top: 10px; font-size: 12.5px; color: #8fa9b0; text-align: center; }
.hero-visual .hero-cap { position: relative; }
.hero .browser img { width: 100%; }

/* 하위 페이지 머리 */
.page-hero { padding: 132px 0 56px; }
.page-hero .lead { max-width: 640px; margin-bottom: 0; }

/* 표 묶음 */
.tables { display: grid; gap: 22px; }
.table-wrap table { min-width: 560px; }
tbody tr:last-child th, tbody tr:last-child td { border-bottom: 0; }

/* 단계의 담당 표시 */
.who { display: inline-block; margin-top: 12px; padding: 3px 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--brand-ink); background: var(--brand-soft); }
.who.ops { color: #fff; background: var(--brand-ink); }

/* 요금 계산 */
.calc label { display: block; margin-bottom: 12px; font-size: 16px; font-weight: 700; }
.calc output { color: var(--brand-ink); }
.fine { margin-top: 18px; font-size: 14.5px; color: var(--ink-2); }
.fine a { color: var(--brand-ink); font-weight: 700; text-decoration: underline; }

/* 자주 묻는 질문 */
.more { margin-top: 26px; text-align: center; }
.faq-group { max-width: 820px; margin: 46px auto 14px; font-size: 22px; }
.faq-group:first-child { margin-top: 0; }

/* 카페24 관리자 경로 */
.path { list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 16px; padding: 0; font-size: 14px; font-weight: 700; }
.path li { padding: 6px 11px; border-radius: 8px; background: var(--bg-soft); border: 1px solid var(--line); }
.path li:not(:last-child)::after { content: "\F285"; font-family: "bootstrap-icons"; margin-left: 8px; font-size: 11px; color: var(--ink-3); }
.path li:last-child { color: #fff; background: var(--brand-ink); border-color: var(--brand-ink); }

@media (max-width: 960px) {
  .nav-links { background: rgba(4, 27, 36, .97); }
  .page-hero { padding: 110px 0 44px; }
}

/* 좁은 화면: 표를 가로로 밀지 않고 항목별로 쌓는다(요금 계산 예시표 제외) */
@media (max-width: 640px) {
  .stack table { min-width: 0; }
  .stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .stack tr { display: block; padding: 12px 16px; border-bottom: 1px solid var(--line); }
  .stack tbody tr:last-child { border-bottom: 0; }
  .stack th, .stack td { display: block; padding: 2px 0; border: 0; }
  .stack caption { display: block; padding: 12px 16px; }
}
