/* ================================================
   GEO 컨설팅 — consult_style.css
   (주)비즈스프링  |  모든 클래스에 consult_ 접두사 적용
   밝고 선명한 라이트/화이트 테마
   ================================================ */

/* ===== CSS VARIABLES ===== */
:root {
  /* Brand Colors — 밝고 선명한 팔레트 */
  --c-bg:          #f5f7fa;       /* 페이지 배경 (연한 회색) */
  --c-surface:     #ffffff;       /* 카드 / 섹션 배경 */
  --c-surface-alt: #eef1f6;       /* 교차 섹션 배경 */
  --c-navy:        #0a2d6e;       /* 진한 네이비 (헤더 배경) */
  --c-navy-dark:   #071f50;       /* 더 어두운 네이비 */
  --c-accent:      #1a6ef7;       /* 밝은 블루 포인트 */
  --c-accent-dark: #1256cc;       /* 호버용 다크 블루 */
  --c-accent-light:#e8f0fe;       /* 연한 블루 배경 */
  --c-text:        #1a1f36;       /* 본문 주요 텍스트 */
  --c-text-sub:    #4a5568;       /* 보조 텍스트 */
  --c-text-muted:  #718096;       /* 흐린 텍스트 */
  --c-border:      #d1d9e6;       /* 경계선 */
  --c-border-light:#e8edf5;       /* 연한 경계선 */
  --c-white:       #ffffff;
  --c-hero-bg:     #0d1b4b;       /* 히어로 배경 (진한 네이비) */
  --c-hero-text:   #ffffff;

  /* Typography */
  --font-serif:    Georgia, 'Nanum Myeongjo', serif;
  --font-sans:     'Inter', 'Noto Sans KR', sans-serif;

  /* Spacing */
  --section-py:    80px;
  --container-max: 1180px;

  /* Radius */
  --radius-sm:     6px;
  --radius-md:     12px;
  --radius-lg:     20px;

  /* Shadow */
  --shadow-sm:     0 2px 8px rgba(10,45,110,0.08);
  --shadow-md:     0 4px 20px rgba(10,45,110,0.12);
  --shadow-lg:     0 8px 40px rgba(10,45,110,0.16);

  /* Transition */
  --ease:          0.22s cubic-bezier(.4,0,.2,1);
}

/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body {
  font-family: var(--font-sans);
  background: var(--c-bg);
  color: var(--c-text);
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul, ol { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ===== CONTAINER ===== */
.consult_container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 24px;
}

/* ===== SECTION ===== */
.consult_section {
  padding: var(--section-py) 0;
}
.consult_section--alt {
  background: var(--c-surface-alt);
}
.consult_section--dark {
  background: var(--c-navy);
  color: var(--c-white);
}
.consult_section--white {
  background: var(--c-surface);
}

/* ===== SECTION HEADER ===== */
.consult_section-header {
  text-align: center;
  margin-bottom: 56px;
}
.consult_section-eyebrow {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 16px;
  position: relative;
  padding-bottom: 10px;
}
.consult_section-eyebrow::after {
  content: '';
  display: block;
  width: 36px;
  height: 2px;
  background: var(--c-accent);
  margin: 8px auto 0;
}
/* 캡슐형 태그 eyebrow 변형 */
.consult_eyebrow-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 16px;
  background: var(--c-accent-light);
  border: 1.5px solid rgba(26,110,247,0.25);
  border-radius: 100px;
  letter-spacing: 0.1em;
  padding-bottom: 6px;  /* padding-bottom override */
}
.consult_eyebrow-tag::after {
  display: none;  /* 아래 바 제거 */
}
.consult_section-title {
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  color: var(--c-text);
  line-height: 1.25;
  margin-bottom: 16px;
}
.consult_section-title em {
  font-style: normal;
  color: var(--c-accent);
}
.consult_section--dark .consult_section-title {
  color: var(--c-white);
}
.consult_section--dark .consult_section-title em {
  color: #7eb3ff;
}
.consult_section-rule {
  width: 48px;
  height: 1px;
  background: var(--c-border);
  margin: 20px auto;
}
.consult_section-lead {
  font-size: 1.05rem;
  color: var(--c-text-sub);
  max-width: 620px;
  margin: 0 auto;
  line-height: 1.8;
}
.consult_section--dark .consult_section-lead {
  color: rgba(255,255,255,0.75);
}

/* ===== AOS ANIMATIONS ===== */
[data-aos] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.35s ease, transform 0.35s ease;
}
[data-aos="fade-down"] { transform: translateY(-20px); }
[data-aos="fade-right"] { transform: translateX(30px); opacity: 0; }
[data-aos="fade-left"]  { transform: translateX(-30px); opacity: 0; }

[data-aos-delay="50"]  { transition-delay: 0.05s; }
[data-aos-delay="100"] { transition-delay: 0.08s; }
[data-aos-delay="150"] { transition-delay: 0.12s; }
[data-aos-delay="200"] { transition-delay: 0.15s; }
[data-aos-delay="250"] { transition-delay: 0.15s; }
[data-aos-delay="300"] { transition-delay: 0.15s; }

.consult_aos-animate {
  opacity: 1 !important;
  transform: none !important;
}

/* ===================================================
   NAVBAR — BizSpring Global
   =================================================== */
.consult_bz-navbar {
  position: sticky;
  top: 0;
  z-index: 900;
  background: var(--c-navy);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.consult_bz-nav-container {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 24px;
  height: 60px;
  display: flex;
  align-items: center;
  gap: 32px;
}
.consult_bz-logo {
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--c-white);
  letter-spacing: -0.02em;
  white-space: nowrap;
  flex-shrink: 0;
}
.consult_bz-logo-reg {
  font-size: 0.65rem;
  vertical-align: super;
  font-weight: 400;
  opacity: 0.7;
}
.consult_bz-nav-menu {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}
.consult_bz-nav-item {}
.consult_bz-nav-link {
  display: block;
  padding: 8px 12px;
  font-size: 0.85rem;
  font-weight: 500;
  color: rgba(255,255,255,0.82);
  border-radius: var(--radius-sm);
  transition: color var(--ease), background var(--ease);
  white-space: nowrap;
}
.consult_bz-nav-link:hover {
  color: var(--c-white);
  background: rgba(255,255,255,0.1);
}
.consult_bz-nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.consult_bz-cta {
  display: inline-flex;
  align-items: center;
  padding: 9px 22px;
  background: var(--c-accent);
  color: var(--c-white) !important;
  font-size: 0.85rem;
  font-weight: 700;
  border-radius: var(--radius-sm);
  transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
  white-space: nowrap;
  position: relative;
}
.consult_bz-cta:hover {
  background: var(--c-accent-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 16px rgba(26,110,247,0.45);
}
/* pulse ring — 주목 유도 */
@keyframes consult-pulse-ring {
  0%   { box-shadow: 0 0 0 0 rgba(26,110,247,0.55); }
  70%  { box-shadow: 0 0 0 10px rgba(26,110,247,0); }
  100% { box-shadow: 0 0 0 0 rgba(26,110,247,0); }
}
.consult_bz-cta--pulse {
  animation: consult-pulse-ring 2.4s ease-out infinite;
}
.consult_bz-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  gap: 5px;
}
.consult_bz-hamburger span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--c-white);
  border-radius: 2px;
  transition: transform 0.22s, opacity 0.22s;
}
.consult_bz-hamburger.consult_open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.consult_bz-hamburger.consult_open span:nth-child(2) { opacity: 0; }
.consult_bz-hamburger.consult_open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* ===================================================
   GNB 문의하기 버튼 — 주황 차별화 (피드백 #2)
   =================================================== */
.consult_bz-cta {
  background: #ff6b2b !important;
  border-radius: var(--radius-sm);
}
.consult_bz-cta:hover {
  background: #e85a1e !important;
  box-shadow: 0 4px 18px rgba(255,107,43,0.5) !important;
}
@keyframes consult-orange-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255,107,43,0.6); }
  70%  { box-shadow: 0 0 0 10px rgba(255,107,43,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,107,43,0); }
}
.consult_bz-cta--pulse {
  animation: consult-orange-pulse 2.4s ease-out infinite !important;
}

/* ===================================================
   HERO
   =================================================== */
.consult_hero {
  background: var(--c-hero-bg);
  color: var(--c-hero-text);
  position: relative;
  overflow: hidden;
  padding: 90px 0 70px;
}
.consult_hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(26,110,247,0.12) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(26,110,247,0.15) 0%, transparent 60%);
  pointer-events: none;
}
/* 그리드 패턴 */
.consult_hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.consult_hero-inner {
  position: relative;
  z-index: 1;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.consult_hero-left {
  text-align: center;
  width: 100%;
}
.consult_hero-left--center {
  text-align: center;
}
.consult_hero-eyebrow {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}
/* 배지 형태의 eyebrow */
.consult_hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: rgba(126,179,255,0.15);
  border: 1px solid rgba(126,179,255,0.35);
  color: #a8cfff;
}
.consult_hero-badge--dim {
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.55);
}
.consult_hero-headline {
  font-family: var(--font-serif);
  font-size: clamp(2.4rem, 4.5vw, 4rem);
  font-weight: 400;
  line-height: 1.18;
  color: var(--c-white);
  letter-spacing: -0.02em;
  margin-bottom: 28px;
  text-align: center;
}
.consult_hero-headline em {
  font-style: normal;
  color: #7eb3ff;
}
/* 추가 하이라이트: 더 채도 높은 스카이블루 강조 */
.consult_hero-hl {
  color: #60b0ff;
  text-shadow: 0 0 40px rgba(96,176,255,0.35);
}
.consult_hero-desc {
  font-size: 1rem;
  color: rgba(255,255,255,0.8);
  line-height: 1.85;
  max-width: 640px;
  margin: 0 auto 40px;
  text-align: center;
}
.consult_hero-desc strong {
  color: var(--c-white);
  font-weight: 600;
}
.consult_hero-desc abbr {
  text-decoration: underline dotted rgba(126,179,255,0.6);
  cursor: help;
  color: #a8cfff;
  font-weight: 600;
}
.consult_hero-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}

/* Hero 키워드 칩 (모바일 서브텍스트 대체, 피드백 #4) */
.consult_hero-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
  justify-content: center;
}
.consult_hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 12px;
  background: rgba(126,179,255,0.12);
  border: 1px solid rgba(126,179,255,0.28);
  border-radius: 100px;
  font-size: 0.75rem;
  font-weight: 600;
  color: #a8cfff;
}

/* Hero CTA glow + 화살표 애니메이션 (피드백 #3) */
.consult_btn-glow {
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 0 rgba(26,110,247,0.6), 0 4px 20px rgba(26,110,247,0.4);
  animation: consult-btn-glow-pulse 2.6s ease-out infinite;
}
@keyframes consult-btn-glow-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(26,110,247,0.55), 0 4px 20px rgba(26,110,247,0.35); }
  60%  { box-shadow: 0 0 0 12px rgba(26,110,247,0), 0 6px 24px rgba(26,110,247,0.45); }
  100% { box-shadow: 0 0 0 0 rgba(26,110,247,0), 0 4px 20px rgba(26,110,247,0.35); }
}
.consult_btn-glow:hover {
  box-shadow: 0 0 28px rgba(26,110,247,0.7), 0 8px 32px rgba(26,110,247,0.5) !important;
  animation: none;
}
.consult_btn-arrow {
  flex-shrink: 0;
  transition: transform 0.22s ease;
}
.consult_btn-glow:hover .consult_btn-arrow {
  transform: translateX(5px);
}

/* Buttons */
.consult_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 28px;
  font-size: 0.88rem;
  font-weight: 600;
  border-radius: var(--radius-sm);
  transition: background var(--ease), color var(--ease), transform var(--ease), box-shadow var(--ease);
  cursor: pointer;
  border: none;
}
.consult_btn-primary {
  background: linear-gradient(135deg, #2a7fff 0%, var(--c-accent) 100%);
  color: var(--c-white);
  box-shadow: 0 4px 16px rgba(26,110,247,0.35);
}
.consult_btn-primary:hover {
  background: linear-gradient(135deg, #1a6ef7 0%, var(--c-accent-dark) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(26,110,247,0.55);
}
.consult_btn-outline {
  background: transparent;
  color: var(--c-white);
  border: 1.5px solid rgba(255,255,255,0.4);
}
.consult_btn-outline:hover {
  border-color: var(--c-white);
  background: rgba(255,255,255,0.08);
  transform: translateY(-2px);
}
.consult_btn-full { width: 100%; }

/* ===================================================
   HERO 우측 AI 답변 목업 v2 (피드백 #1)
   =================================================== */
.consult_hero-right {
  display: flex;
  align-items: center;
  justify-content: center;
}
.consult_hero-mockup-v2 {
  width: 100%;
  max-width: 400px;
  background: #1a1f2e;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(126,179,255,0.2);
  box-shadow: 0 24px 64px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.06);
}
/* 브라우저 바 */
.consult_hmv2-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #12161f;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.consult_hmv2-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.consult_hmv2-dot--r { background: #ff5f57; }
.consult_hmv2-dot--y { background: #ffbd2e; }
.consult_hmv2-dot--g { background: #28c840; }
.consult_hmv2-url {
  margin-left: 8px;
  font-size: 0.7rem;
  color: rgba(255,255,255,0.35);
  letter-spacing: 0.02em;
}
/* 질문 */
.consult_hmv2-query {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.consult_hmv2-query-label {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7eb3ff;
  flex-shrink: 0;
}
.consult_hmv2-query-text {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.7);
}
/* 답변 영역 */
.consult_hmv2-answer {
  padding: 16px;
}
.consult_hmv2-answer-intro {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 12px;
}
.consult_hmv2-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.consult_hmv2-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
}
.consult_hmv2-item--highlight {
  background: linear-gradient(135deg, rgba(26,110,247,0.18) 0%, rgba(96,176,255,0.1) 100%);
  border: 1px solid rgba(96,176,255,0.35);
}
.consult_hmv2-item--dim {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.07);
  opacity: 0.55;
}
.consult_hmv2-rank {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.65rem;
  font-weight: 800;
  flex-shrink: 0;
  background: rgba(96,176,255,0.2);
  color: #7eb3ff;
}
.consult_hmv2-item--dim .consult_hmv2-rank {
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.4);
}
.consult_hmv2-brand {
  font-size: 0.84rem;
  font-weight: 700;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}
.consult_hmv2-brand--dim { color: rgba(255,255,255,0.45); }
.consult_hmv2-badge-new {
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: #1a6ef7;
  color: #fff;
  padding: 2px 6px;
  border-radius: 4px;
}
.consult_hmv2-brand-desc {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.4;
}
/* 타이핑 커서 */
.consult_hmv2-cursor {
  display: inline-block;
  width: 2px;
  height: 14px;
  background: #7eb3ff;
  border-radius: 1px;
  margin-left: 4px;
  vertical-align: middle;
  animation: consult-blink 1s step-end infinite;
}
@keyframes consult-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: 0; }
}
/* 하단 힌트 */
.consult_hmv2-footer {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  border-top: 1px solid rgba(255,255,255,0.06);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.35);
  background: #12161f;
}

/* Hero Right Panel (구버전 호환) */
/* ── Mockup 카드 ── */
.consult_hero-mockup {
  width: 100%;
  max-width: 400px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(126,179,255,0.2);
  border-radius: var(--radius-lg);
  backdrop-filter: blur(12px);
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}
.consult_mockup-topbar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.consult_mockup-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.consult_mockup-dot--red    { background: #ff5f57; }
.consult_mockup-dot--yellow { background: #ffbd2e; }
.consult_mockup-dot--green  { background: #28c840; }
.consult_mockup-url {
  font-size: 0.66rem;
  color: rgba(255,255,255,0.4);
  letter-spacing: 0.04em;
  margin-left: 6px;
}
.consult_mockup-body {
  padding: 20px 20px 22px;
}
.consult_mockup-query {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.7);
  background: rgba(255,255,255,0.07);
  border-radius: var(--radius-sm);
  padding: 8px 12px;
  margin-bottom: 18px;
  font-style: italic;
}
.consult_mockup-answer-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 14px;
}
.consult_mockup-bar-row {
  display: grid;
  grid-template-columns: 80px 1fr 38px;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.consult_mockup-bar-row:last-of-type { margin-bottom: 0; }
.consult_mockup-brand {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.6);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.consult_mockup-bar-track {
  height: 8px;
  background: rgba(255,255,255,0.08);
  border-radius: 4px;
  overflow: hidden;
}
@keyframes consult-bar-grow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}
.consult_mockup-bar {
  height: 100%;
  background: linear-gradient(90deg, #1a6ef7, #60b0ff);
  border-radius: 4px;
  transform-origin: left;
  animation: consult-bar-grow 1.2s cubic-bezier(.4,0,.2,1) forwards;
}
.consult_mockup-bar--dim {
  background: rgba(255,255,255,0.22);
}
.consult_mockup-pct {
  font-size: 0.72rem;
  font-weight: 700;
  color: #7eb3ff;
  text-align: right;
}
.consult_mockup-pct--dim { color: rgba(255,255,255,0.35); }
.consult_mockup-bar-row--highlight .consult_mockup-brand {
  color: rgba(255,255,255,0.4);
}
.consult_mockup-cta-hint {
  margin-top: 18px;
  padding: 12px 14px;
  background: rgba(26,110,247,0.18);
  border: 1px solid rgba(96,176,255,0.3);
  border-radius: var(--radius-sm);
  font-size: 0.78rem;
  color: rgba(255,255,255,0.8);
  line-height: 1.5;
}
.consult_mockup-cta-hint strong {
  color: #60b0ff;
  font-weight: 700;
}
.consult_hero-strategy {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: var(--radius-lg);
  padding: 28px;
  backdrop-filter: blur(8px);
}
.consult_strategy-panel-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.consult_strategy-panel-item {
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,0.07);
  transition: background var(--ease);
}
.consult_strategy-panel-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.consult_sp-header {
  display: flex;
  align-items: center;
  gap: 16px;
}
.consult_sp-num {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 400;
  color: rgba(126,179,255,0.5);
  min-width: 36px;
  line-height: 1;
}
.consult_sp-title {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--c-white);
  margin-bottom: 3px;
}
.consult_sp-badge {
  font-size: 0.72rem;
  font-weight: 600;
  color: #7eb3ff;
  letter-spacing: 0.05em;
}

/* Hero Scroll Indicator */
.consult_hero-scroll {
  position: absolute;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  z-index: 2;
}
.consult_hero-scroll-line {
  width: 1px;
  height: 40px;
  background: linear-gradient(to bottom, rgba(255,255,255,0.5), transparent);
  animation: consult_scrollLine 1.6s ease-in-out infinite;
}
@keyframes consult_scrollLine {
  0%   { opacity: 1; transform: scaleY(1); }
  50%  { opacity: 0.4; transform: scaleY(0.6); }
  100% { opacity: 1; transform: scaleY(1); }
}
.consult_hero-scroll span {
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
}

/* ===================================================
   PLATFORM STRIP
   =================================================== */
.consult_platform-strip {
  background: var(--c-surface);
  border-bottom: 1px solid var(--c-border-light);
  padding: 20px 0;
}
.consult_platform-inner {
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 28px;
}
.consult_platform-label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.consult_platform-divider {
  width: 1px;
  height: 24px;
  background: var(--c-border);
  flex-shrink: 0;
}
.consult_platform-list {
  display: flex;
  align-items: center;
  gap: 28px;
  flex-wrap: wrap;
}
.consult_platform-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.consult_platform-logo {
  width: 22px;
  height: 22px;
}
.consult_platform-logo path { fill: var(--c-text-muted); }
.consult_platform-name {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-text-sub);
}

/* ===================================================
   WHY GEO — COMPARISON
   =================================================== */
.consult_comparison-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 32px;
}
.consult_compare-col {
  background: var(--c-surface);
  padding: 36px;
}
.consult_compare-col.consult_col-new {
  background: var(--c-accent-light);
  border-left: 3px solid var(--c-accent);
}
.consult_compare-heading {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 10px;
}
.consult_compare-col.consult_col-new .consult_compare-heading {
  color: var(--c-accent);
}
.consult_compare-heading.consult_active { color: var(--c-accent); }
.consult_compare-title {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--c-text);
  margin-bottom: 24px;
}
.consult_compare-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.consult_compare-list li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--c-text-sub);
}
.consult_compare-marker {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-border);
  flex-shrink: 0;
}
.consult_col-new .consult_compare-marker {
  background: var(--c-accent);
}
.consult_col-new .consult_compare-list li {
  color: var(--c-text);
  font-weight: 500;
}
.consult_paradigm-callout {
  background: var(--c-navy);
  color: var(--c-white);
  padding: 28px 36px;
  border-radius: var(--radius-md);
  font-size: 1rem;
  font-style: italic;
  line-height: 1.7;
  position: relative;
}
.consult_paradigm-callout strong { color: #7eb3ff; font-style: normal; font-weight: 600; }
.consult_callout-source {
  display: block;
  font-size: 0.75rem;
  font-style: normal;
  color: rgba(255,255,255,0.5);
  margin-top: 12px;
  letter-spacing: 0.08em;
}

/* ===================================================
   SEO vs GEO TABLE
   =================================================== */
.consult_comparison-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-md);
  border: 1px solid var(--c-border);
  margin-bottom: 24px;
  /* 전체 열린 비론 비교표 두녈려보이게 */
  box-shadow: var(--shadow-sm);
}
.consult_comparison-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  /* GEO 컨럼이 앞으로 튜어 나오는 느낙을 위한 table-layout */
  table-layout: fixed;
}
.consult_comparison-table thead {
  background: var(--c-navy);
  color: var(--c-white);
}
.consult_comparison-table thead th {
  padding: 18px 20px;
  text-align: left;
  font-weight: 600;
  font-size: 0.85rem;
  letter-spacing: 0.05em;
  vertical-align: top;
}
/* 비교항목 컨럼 */
.consult_comparison-table thead th:first-child {
  width: 18%;
  color: rgba(255,255,255,0.6);
}
/* SEO 컨럼 — 스콤 열갈 */
.consult_col-seo {
  width: 32%;
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.75);
}
/* GEO 컨럼 — 상위 헤더 강조 */
.consult_col-geo {
  width: 50%;
  background: var(--c-accent);
  position: relative;
}
.consult_col-geo::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 4px;
  height: 100%;
  background: #a8cfff;
}
/* th 내부 아이콘 */
.consult_th-icon {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 4px;
}
/* GEO 컨럼 sub 라벨 */
.consult_th-sub {
  display: block;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.75);
  margin-top: 4px;
}
.consult_th-badge {
  display: inline-block;
  margin-top: 8px;
  padding: 2px 10px;
  background: rgba(255,255,255,0.18);
  border-radius: 100px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--c-white);
}
/* tbody rows */
.consult_comparison-table tbody tr {
  border-bottom: 1px solid var(--c-border-light);
  transition: background var(--ease);
}
.consult_comparison-table tbody tr:hover { background: var(--c-accent-light); }
.consult_comparison-table tbody tr:last-child { border-bottom: none; }
.consult_comparison-table td {
  padding: 16px 20px;
  color: var(--c-text-sub);
  vertical-align: middle;
}
.consult_td-label {
  font-weight: 700;
  color: var(--c-text);
  background: var(--c-surface-alt);
  font-size: 0.82rem;
  letter-spacing: 0.04em;
}
/* SEO 열 스켄 */
.consult_td-seo {
  background: #fafbfc;
  color: var(--c-text-muted);
  font-size: 0.88rem;
}
.consult_td-icon {
  margin-right: 5px;
  font-size: 0.95em;
}
/* GEO 열 강조 */
.consult_td-geo {
  color: var(--c-text);
  font-weight: 500;
  background: rgba(26,110,247,0.04);
  border-left: 3px solid var(--c-accent);
  box-shadow: inset 4px 0 0 rgba(26,110,247,0.08);
}
/* 파란색 키워드 */
.consult_kw {
  color: var(--c-accent);
  font-weight: 700;
  font-style: normal;
}
.consult_td-both {
  background: var(--c-accent-light);
  color: var(--c-accent);
  font-weight: 600;
  text-align: center;
}
.consult_table-note {
  font-size: 0.88rem;
  color: var(--c-text-sub);
  text-align: center;
  line-height: 1.8;
}
.consult_table-note strong { color: var(--c-accent); }

/* ===================================================
   SERVICES
   =================================================== */
.consult_services-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.consult_service-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 32px 28px;
  position: relative;
  transition: box-shadow var(--ease), transform var(--ease), border-color var(--ease);
}
.consult_service-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--c-accent);
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  opacity: 0;
  transition: opacity var(--ease);
}
.consult_service-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
  border-color: var(--c-accent);
}
.consult_service-card:hover::before { opacity: 1; }
.consult_service-num {
  font-family: var(--font-serif);
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--c-accent);
  opacity: 0.4;
  margin-bottom: 12px;
  line-height: 1;
}
.consult_service-title {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--c-text);
  margin-bottom: 4px;
}
.consult_service-subtitle {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 14px;
}
.consult_service-desc {
  font-size: 0.88rem;
  color: var(--c-text-sub);
  line-height: 1.75;
  margin-bottom: 18px;
}
.consult_service-features {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.consult_service-features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--c-text-sub);
  line-height: 1.5;
}
.consult_sf-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
  margin-top: 6px;
}

/* ===================================================
   WHY NOW 섹션 (B-1)
   =================================================== */
.consult_whynow {
  background: linear-gradient(160deg, #f0f5ff 0%, #ffffff 60%);
}

/* 변화 흐름 */
.consult_wn-flow {
  display: flex;
  align-items: center;
  margin-bottom: 48px;
  background: #fff;
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.consult_wn-flow-step {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 32px 20px;
  text-align: center;
}
.consult_wn-flow-step--now {
  background: var(--c-navy);
}
.consult_wn-flow-step--now .consult_wn-flow-desc { color: rgba(255,255,255,0.85) !important; }
.consult_wn-flow-step--now .consult_wn-flow-desc strong { color: #7eb3ff; }
.consult_wn-flow-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.consult_wn-icon--old  { background: #f3f4f6; color: #9ca3af; }
.consult_wn-icon--now  { background: rgba(126,179,255,0.2); color: #7eb3ff; }
.consult_wn-icon--future { background: var(--c-accent-light); color: var(--c-accent); }
.consult_wn-flow-era {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.consult_wn-flow-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: var(--c-accent);
  color: #fff;
  padding: 2px 10px;
  border-radius: 100px;
}
.consult_wn-flow-desc {
  font-size: 0.88rem;
  color: var(--c-text-sub);
  line-height: 1.55;
}
.consult_wn-flow-desc strong { color: var(--c-text); }
.consult_wn-flow-arrow {
  font-size: 1.4rem;
  color: var(--c-accent);
  flex-shrink: 0;
  opacity: 0.5;
  padding: 0 4px;
}

/* 통계 수치 */
.consult_wn-stats {
  display: flex;
  align-items: center;
  background: var(--c-navy);
  border-radius: var(--radius-md);
  padding: 36px 48px;
  margin-bottom: 48px;
}
.consult_wn-stat {
  flex: 1;
  text-align: center;
}
.consult_wn-stat-num {
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  font-weight: 800;
  color: #7eb3ff;
  margin-bottom: 8px;
  letter-spacing: -0.03em;
  line-height: 1;
}
.consult_wn-stat-unit { font-size: 0.6em; }
.consult_wn-stat-label {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
}
.consult_wn-stat-label strong { color: rgba(255,255,255,0.9); }
.consult_wn-stat-divider {
  width: 1px;
  height: 48px;
  background: rgba(255,255,255,0.15);
  flex-shrink: 0;
  margin: 0 24px;
}

/* SEO → GEO 브릿지 */
.consult_wn-bridge {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.consult_wn-bridge-col { padding: 32px 28px; }
.consult_wn-bridge-col--seo {
  background: #f8f9fb;
  opacity: 0.75;
}
.consult_wn-bridge-col--geo {
  background: linear-gradient(160deg, #ddeaff 0%, #e8f1ff 100%);
  border-left: 3px solid var(--c-accent);
  position: relative;
}
/* "핵심" 배지 */
.consult_wn-bridge-col--geo::before {
  content: '✦ 핵심 전략';
  position: absolute;
  top: -1px;
  left: 12px;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--c-accent);
  color: #fff;
  padding: 2px 10px;
  border-radius: 0 0 6px 6px;
}
.consult_wn-bridge-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 14px;
}
.consult_wn-bridge-col--geo .consult_wn-bridge-label { color: var(--c-accent); }
.consult_wn-bridge-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.consult_wn-bridge-list li {
  font-size: 0.85rem;
  color: var(--c-text-sub);
  padding-left: 16px;
  position: relative;
  line-height: 1.4;
}
.consult_wn-bridge-list li::before {
  content: '·';
  position: absolute;
  left: 4px;
  color: var(--c-accent);
  font-weight: 700;
}
.consult_wn-bridge-plus {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 0 24px;
  flex-shrink: 0;
}
.consult_wn-bridge-plus span {
  font-size: 2rem;
  font-weight: 300;
  color: var(--c-accent);
  line-height: 1;
}
.consult_wn-bridge-plus p {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-accent);
}
.consult_wn-bridge-result {
  padding: 32px 28px;
  background: var(--c-navy);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.consult_wn-bridge-result-label {
  font-size: 0.95rem;
  font-weight: 700;
  color: #7eb3ff;
  margin-bottom: 8px;
  line-height: 1.3;
}
.consult_wn-bridge-result-sub {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.5;
}

/* ===================================================
   SERVICE CARD v2 (A-2 압축 스타일)
   =================================================== */
.consult_svc-v2 {
  padding: 28px 24px 24px;
}
.consult_svc-icon {
  width: 52px;
  height: 52px;
  background: var(--c-accent-light);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  margin-bottom: 16px;
  transition: background var(--ease), color var(--ease);
}
.consult_service-card:hover .consult_svc-icon {
  background: var(--c-accent);
  color: #fff;
}
.consult_svc-core {
  font-size: 0.9rem;
  color: var(--c-text-sub);
  line-height: 1.7;
  margin-bottom: 16px;
}
.consult_svc-core strong { color: var(--c-text); }
.consult_svc-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.consult_svc-tags li {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--c-accent);
  background: var(--c-accent-light);
  border: 1px solid #c5d8fd;
  border-radius: 100px;
  padding: 3px 10px;
  line-height: 1.4;
}

/* ===================================================
   PROCESS
   =================================================== */
.consult_process-callout {
  background: var(--c-accent-light);
  border-left: 4px solid var(--c-accent);
  padding: 20px 28px;
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-size: 0.92rem;
  color: var(--c-text);
  font-style: italic;
  margin-bottom: 48px;
  line-height: 1.7;
}
.consult_process-grid,
.consult_process-grid-bottom {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 20px;
}
.consult_pstep {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 28px;
  transition: box-shadow var(--ease), border-color var(--ease);
}
.consult_pstep:hover {
  box-shadow: var(--shadow-sm);
  border-color: var(--c-accent);
}
.consult_pstep-num {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.consult_pstep-title {
  font-family: var(--font-serif);
  font-size: 1rem;
  font-weight: 400;
  color: var(--c-text);
  margin-bottom: 12px;
  line-height: 1.4;
}
.consult_pstep-desc {
  font-size: 0.82rem;
  color: var(--c-text-muted);
  line-height: 1.7;
}

/* ===================================================
   INSIGHTS
   =================================================== */
.consult_insights-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-bottom: 32px;
}
.consult_insight-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 28px;
  transition: box-shadow var(--ease), transform var(--ease);
}
.consult_insight-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.consult_insight-num {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 10px;
}
.consult_insight-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 10px;
  line-height: 1.4;
}
.consult_insight-desc {
  font-size: 0.82rem;
  color: var(--c-text-sub);
  line-height: 1.75;
  margin-bottom: 14px;
}
.consult_insight-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.consult_insight-tags span {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--c-accent);
  background: var(--c-accent-light);
  padding: 3px 10px;
  border-radius: 20px;
}
.consult_opt-box {
  background: var(--c-navy);
  color: var(--c-white);
  border-radius: var(--radius-md);
  padding: 36px;
}
.consult_opt-box-title {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 20px;
}
.consult_opt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.consult_opt-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.88rem;
  color: rgba(255,255,255,0.82);
  line-height: 1.5;
}
.consult_opt-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #7eb3ff;
  flex-shrink: 0;
  margin-top: 6px;
}

/* ===================================================
   STRATEGY
   =================================================== */
.consult_strategy-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 40px;
}
.consult_strategy-col {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 36px;
}
.consult_strategy-col.consult_col-anchor {
  border-top: 3px solid var(--c-accent);
}
.consult_strategy-col-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.consult_strategy-col-title {
  font-family: var(--font-serif);
  font-size: 1.1rem;
  font-weight: 400;
  color: var(--c-text);
  margin-bottom: 10px;
  line-height: 1.45;
}
.consult_strategy-col-lead {
  font-size: 0.88rem;
  color: var(--c-text-sub);
  margin-bottom: 24px;
  line-height: 1.7;
}
.consult_strategy-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.consult_strategy-list-item {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding-left: 14px;
  border-left: 2px solid var(--c-accent-light);
}
.consult_strategy-list-item strong {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-text);
}
.consult_strategy-list-item span {
  font-size: 0.8rem;
  color: var(--c-text-sub);
  line-height: 1.6;
}
.consult_strategy-flow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.consult_flow-step {
  padding: 24px;
  background: var(--c-surface);
  border-right: 1px solid var(--c-border-light);
  transition: background var(--ease);
}
.consult_flow-step:last-child { border-right: none; }
.consult_flow-step:hover { background: var(--c-accent-light); }
.consult_flow-num {
  font-family: var(--font-serif);
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--c-accent);
  opacity: 0.45;
  margin-bottom: 8px;
}
.consult_flow-label {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--c-text);
  display: flex;
  flex-direction: column;
  gap: 4px;
  line-height: 1.4;
}
.consult_flow-sub {
  font-size: 0.75rem;
  font-weight: 400;
  color: var(--c-text-muted);
}

/* ===================================================
   PACKAGES
   =================================================== */
.consult_packages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.consult_pkg-card {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--radius-md);
  padding: 36px 32px;
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--ease), transform var(--ease);
  position: relative;
}
.consult_pkg-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}
.consult_pkg-featured {
  border-top: 3px solid var(--c-accent);
  background: var(--c-navy);
  box-shadow: var(--shadow-md);
}
.consult_pkg-featured .consult_pkg-name {
  color: #ffffff;
}
.consult_pkg-featured .consult_pkg-sub {
  color: rgba(255,255,255,0.65);
  border-bottom-color: rgba(255,255,255,0.12);
}
.consult_pkg-featured .consult_pkg-features li {
  color: rgba(255,255,255,0.75);
}
.consult_pkg-featured-label {
  position: absolute;
  top: -1px;
  right: 20px;
  background: var(--c-accent);
  color: var(--c-white);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 12px;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
}
.consult_pkg-name {
  font-family: var(--font-serif);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--c-text);
  margin-bottom: 6px;
}
.consult_pkg-sub {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-accent);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--c-border-light);
}
.consult_pkg-features {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 28px;
  flex: 1;
}
.consult_pkg-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.85rem;
  color: var(--c-text-sub);
  line-height: 1.5;
}
.consult_pkg-check {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--c-accent);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}
.consult_pkg-check::after {
  content: '✓';
  font-size: 10px;
  color: white;
  font-weight: 700;
}
.consult_pkg-btn {
  display: block;
  text-align: center;
  padding: 12px;
  border: 1.5px solid var(--c-accent);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--c-accent);
  transition: background var(--ease), color var(--ease), transform var(--ease);
}
.consult_pkg-btn:hover {
  background: var(--c-accent);
  color: var(--c-white);
  transform: translateY(-1px);
}
.consult_pkg-btn-primary {
  background: var(--c-accent);
  color: var(--c-white) !important;
}
.consult_pkg-btn-primary:hover {
  background: var(--c-accent-dark) !important;
}

/* ===================================================
   FAQ
   =================================================== */
.consult_faq-list {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.consult_faq-item {
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--c-surface);
}
.consult_faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  font-size: 0.92rem;
  font-weight: 600;
  color: var(--c-text);
  text-align: left;
  gap: 16px;
  transition: background var(--ease);
}
.consult_faq-question:hover { background: var(--c-accent-light); }
.consult_faq-icon {
  width: 20px;
  height: 20px;
  border: 1.5px solid var(--c-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform var(--ease), border-color var(--ease);
  font-size: 0.8rem;
  color: var(--c-text-muted);
}
.consult_faq-icon::after { content: '+'; }
.consult_faq-question[aria-expanded="true"] .consult_faq-icon {
  transform: rotate(45deg);
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.consult_faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s ease, padding 0.22s ease;
}
.consult_faq-answer.consult_open { max-height: 400px; }
.consult_faq-answer p {
  padding: 0 24px 20px;
  font-size: 0.88rem;
  color: var(--c-text-sub);
  line-height: 1.8;
}

/* ===================================================
   HERO TRUST ROW (신뢰 지표 인라인)
   =================================================== */
.consult_hero-trust-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.consult_hero-trust-item {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.75);
  font-weight: 400;
}
.consult_hero-trust-item strong {
  color: #7eb3ff;
  font-weight: 700;
}
.consult_hero-trust-sep {
  color: rgba(255,255,255,0.25);
  font-size: 0.75rem;
}

/* ===================================================
   USP STATEMENT & BRIDGE
   =================================================== */
.consult_usp-statement {
  font-size: 1.05rem;
  color: var(--c-text-sub);
  line-height: 1.9;
  max-width: 700px;
  margin: 0 auto 48px;
  text-align: center;
}
.consult_usp-statement strong { color: var(--c-text); font-weight: 700; }
.consult_usp-statement em { color: var(--c-accent); font-style: normal; font-weight: 600; }

.consult_usp-bridge {
  background: var(--c-accent-light);
  border-left: 4px solid var(--c-accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 28px;
  margin-bottom: 40px;
}
.consult_usp-bridge-text {
  font-size: 0.93rem;
  color: var(--c-text-sub);
  line-height: 1.85;
}
.consult_usp-bridge-text strong { color: var(--c-text); font-weight: 700; }
.consult_usp-bridge-text em { color: var(--c-accent); font-style: normal; font-weight: 600; }

/* ===================================================
   3STEP ROW (진단 → 최적화 → 성과측정)
   =================================================== */
.consult_3step-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin: 0 auto 56px;
  flex-wrap: wrap;
  max-width: 860px;
}
.consult_3step-item {
  flex: 1;
  min-width: 180px;
  max-width: 240px;
  background: var(--c-surface);
  border: 1.5px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 24px 20px;
  text-align: center;
  transition: box-shadow var(--ease), transform var(--ease);
}
.consult_3step-item:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-3px);
}
.consult_3step-item--accent {
  background: var(--c-accent);
  border-color: var(--c-accent);
}
.consult_3step-item--accent .consult_3step-num,
.consult_3step-item--accent .consult_3step-label,
.consult_3step-item--accent .consult_3step-desc {
  color: #ffffff;
}
.consult_3step-item--accent .consult_3step-num { opacity: 0.7; }
.consult_3step-num {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  color: var(--c-accent);
  margin-bottom: 8px;
}
.consult_3step-label {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 8px;
}
.consult_3step-desc {
  font-size: 0.78rem;
  color: var(--c-text-sub);
  line-height: 1.6;
}
.consult_3step-arrow {
  font-size: 1.4rem;
  color: var(--c-accent);
  font-weight: 700;
  flex-shrink: 0;
  opacity: 0.5;
}

/* ===================================================
   DATA TRUST BOX (24년 데이터 역량 강조)
   =================================================== */
.consult_data-trust-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  background: var(--c-navy);
  border-radius: var(--radius-lg);
  padding: 48px 52px;
  margin-bottom: 64px;
}
.consult_dt-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 14px;
}
.consult_dt-title {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1.4;
  margin-bottom: 18px;
}
.consult_dt-desc {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.85;
}
.consult_dt-desc strong { color: #ffffff; font-weight: 600; }
.consult_dt-right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.consult_dt-stat {
  display: flex;
  align-items: baseline;
  gap: 14px;
  border-left: 2px solid rgba(255,255,255,0.12);
  padding-left: 20px;
}
.consult_dt-stat-num {
  font-size: 2.4rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.03em;
  line-height: 1;
}
.consult_dt-stat-unit {
  font-size: 1rem;
  font-weight: 600;
  color: var(--c-accent);
}
.consult_dt-stat-label {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.5;
}

/* ===================================================
   PROCESS STEPS
   =================================================== */
.consult_process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 48px;
}
.consult_process-step {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 24px 20px;
  transition: box-shadow var(--ease), transform var(--ease);
}
.consult_process-step:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-3px);
}
.consult_process-num {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--c-accent);
  background: var(--c-accent-light);
  border-radius: var(--radius-sm);
  padding: 6px 10px;
  flex-shrink: 0;
  line-height: 1;
}
.consult_process-body { flex: 1; }
.consult_process-title {
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 4px;
  line-height: 1.4;
}
.consult_process-sub {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--c-accent);
  margin-bottom: 8px;
  letter-spacing: 0.04em;
}
.consult_process-desc {
  font-size: 0.8rem;
  color: var(--c-text-sub);
  line-height: 1.65;
}

/* ===================================================
   PROCESS TIMELINE (A-3)
   =================================================== */
/* 범례 */
.consult_tl-legend {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}
.consult_tl-legend-item {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding: 4px 14px;
  border-radius: 100px;
}
.consult_tl-legend--phase1 { background: #e8f0fe; color: #1a6ef7; border: 1px solid #c5d8fd; }
.consult_tl-legend--phase2 { background: #e8f9ef; color: #1a8f50; border: 1px solid #b6edce; }
.consult_tl-legend--phase3 { background: #fff3e0; color: #c05c00; border: 1px solid #fdd9aa; }

/* 타임라인 테이블 */
.consult_tl-wrap {
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  margin-bottom: 36px;
}
.consult_tl-header,
.consult_tl-row {
  display: grid;
  grid-template-columns: 260px repeat(5, 1fr);
  align-items: stretch;
}
.consult_tl-header {
  background: var(--c-navy);
  color: var(--c-white);
}
.consult_tl-step-label,
.consult_tl-week {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 12px 8px;
  border-left: 1px solid rgba(255,255,255,0.12);
  line-height: 1.4;
}
.consult_tl-step-label { border-left: none; text-align: left; padding-left: 20px; }
.consult_tl-week--ongoing { color: #7eb3ff; }

/* 행 */
.consult_tl-row {
  border-top: 1px solid var(--c-border-light);
  background: #fff;
  transition: background 0.2s;
}
.consult_tl-row:hover { background: var(--c-accent-light); }
.consult_tl-row--phase1 { border-left: 4px solid #1a6ef7; }
.consult_tl-row--phase2 { border-left: 4px solid #1a8f50; }
.consult_tl-row--phase3 { border-left: 4px solid #c05c00; }

.consult_tl-step-info {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 16px 18px 16px;
}
.consult_tl-num {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--c-accent);
  background: var(--c-accent-light);
  padding: 5px 9px;
  border-radius: 6px;
  flex-shrink: 0;
  line-height: 1;
}
.consult_tl-name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 3px;
  line-height: 1.3;
}
.consult_tl-sub {
  font-size: 0.72rem;
  color: var(--c-text-sub);
  line-height: 1.4;
}

/* 셀 (활성/비활성) */
.consult_tl-bar-cell {
  border-left: 1px solid var(--c-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  position: relative;
}
.consult_tl-active {
  background: linear-gradient(135deg, #e8f0fe 0%, #d0e2fd 100%);
}
.consult_tl-active::after {
  content: '●';
  font-size: 0.65rem;
  color: #1a6ef7;
}
.consult_tl-active--phase2 {
  background: linear-gradient(135deg, #e8f9ef 0%, #c8eed9 100%);
}
.consult_tl-active--phase2::after { color: #1a8f50; }
.consult_tl-active--phase3 {
  background: linear-gradient(135deg, #fff3e0 0%, #fde0b5 100%);
}
.consult_tl-active--phase3::after { color: #c05c00; }
.consult_tl-ongoing::before {
  content: '';
  position: absolute;
  inset: 8px;
  border-radius: 4px;
  border: 2px dashed currentColor;
  opacity: 0.4;
}

/* 마일스톤 카드 */
.consult_tl-milestone {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
  background: var(--c-navy);
  border-radius: var(--radius-md);
  padding: 28px 32px;
}
.consult_tl-milestone-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
}
.consult_tl-milestone-week {
  font-size: 1.1rem;
  font-weight: 800;
  color: #7eb3ff;
  letter-spacing: -0.02em;
}
.consult_tl-milestone-desc {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.4;
}
.consult_tl-milestone-arrow {
  font-size: 1.4rem;
  color: rgba(255,255,255,0.3);
  flex-shrink: 0;
}

/* ===================================================
   FINAL CTA 섹션
   =================================================== */
.consult_final-cta {
  background: var(--c-navy);
  padding: 96px 0;
}
.consult_final-cta-inner {
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}
.consult_final-cta-eyebrow {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7eb3ff;
  background: rgba(126,179,255,0.12);
  border: 1px solid rgba(126,179,255,0.25);
  border-radius: 20px;
  padding: 6px 18px;
  margin-bottom: 24px;
}
.consult_final-cta-title {
  font-family: var(--font-serif);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  color: #ffffff;
  line-height: 1.3;
  margin-bottom: 18px;
}
.consult_final-cta-sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.85;
  margin-bottom: 48px;
}
.consult_final-cta-actions {
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 22px;
}
.consult_final-cta-contact {
  font-size: 0.83rem;
  color: rgba(255,255,255,0.45);
}
.consult_final-cta-contact a {
  color: rgba(255,255,255,0.7);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color var(--ease);
}
.consult_final-cta-contact a:hover { color: #ffffff; }

/* 버튼 확장 */
.consult_btn-lg {
  padding: 16px 36px;
  font-size: 0.98rem;
}
.consult_btn-outline-white {
  background: transparent;
  color: rgba(255,255,255,0.85);
  border: 1.5px solid rgba(255,255,255,0.35);
  border-radius: var(--radius-sm);
  padding: 13px 28px;
  font-size: 0.88rem;
  font-weight: 600;
  transition: background var(--ease), color var(--ease), border-color var(--ease);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.consult_btn-outline-white:hover {
  background: rgba(255,255,255,0.1);
  color: #ffffff;
  border-color: rgba(255,255,255,0.6);
}
.consult_btn-dashboard {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: var(--c-accent);
  color: #ffffff;
  border-radius: var(--radius-sm);
  font-size: 0.87rem;
  font-weight: 600;
  transition: background var(--ease), transform var(--ease);
}
.consult_btn-dashboard:hover {
  background: var(--c-accent-dark);
  transform: translateY(-1px);
}

/* ===================================================
   FREE OFFER 카드 그리드
   =================================================== */
.consult_offer-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 40px;
  text-align: left;
}
.consult_offer-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-md);
  padding: 26px 22px;
  transition: background var(--ease), border-color var(--ease), transform var(--ease);
}
.consult_offer-card:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(126,179,255,0.4);
  transform: translateY(-3px);
}
.consult_offer-card--primary {
  border-color: var(--c-accent);
  background: rgba(26,110,247,0.12);
}
.consult_offer-icon {
  font-size: 1.6rem;
  margin-bottom: 12px;
}
.consult_offer-name {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 8px;
}
.consult_offer-title {
  font-size: 0.97rem;
  font-weight: 700;
  color: #ffffff;
  line-height: 1.45;
  margin-bottom: 10px;
}
.consult_offer-desc {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.7;
  margin-bottom: 14px;
}
.consult_offer-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  color: #7eb3ff;
  background: rgba(126,179,255,0.12);
  border: 1px solid rgba(126,179,255,0.2);
  border-radius: 20px;
  padding: 3px 10px;
}

/* ===================================================
   CONTACT
   =================================================== */
.consult_contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.consult_contact-desc {
  font-size: 0.95rem;
  color: var(--c-text-sub);
  line-height: 1.8;
  margin-bottom: 28px;
}
.consult_contact-checklist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
}
.consult_contact-check-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.88rem;
  color: var(--c-text-sub);
  font-weight: 500;
}
.consult_check-square {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: var(--c-accent);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.consult_check-square::after {
  content: '✓';
  font-size: 11px;
  color: white;
  font-weight: 700;
}
.consult_contact-bizinfo {
  padding: 20px;
  background: var(--c-surface-alt);
  border-radius: var(--radius-md);
  border: 1px solid var(--c-border-light);
}
.consult_bizinfo-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--c-text-muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 12px;
}
.consult_bizinfo-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.consult_bizinfo-row {
  display: flex;
  gap: 10px;
  font-size: 0.83rem;
  color: var(--c-text-sub);
  line-height: 1.5;
}
.consult_bizinfo-key {
  font-weight: 600;
  color: var(--c-text);
  min-width: 44px;
}
.consult_contact-form {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 36px;
}
.consult_form-section-title {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--c-border-light);
}
.consult_form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
.consult_form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.consult_form-group label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-text);
}
.consult_required {
  color: var(--c-accent);
}
.consult_form-group input,
.consult_form-group select,
.consult_form-group textarea {
  padding: 10px 14px;
  border: 1px solid var(--c-border);
  border-radius: var(--radius-sm);
  font-size: 0.88rem;
  font-family: var(--font-sans);
  color: var(--c-text);
  background: var(--c-bg);
  transition: border-color var(--ease), box-shadow var(--ease);
  outline: none;
}
.consult_form-group input:focus,
.consult_form-group select:focus,
.consult_form-group textarea:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(26,110,247,0.1);
}
.consult_form-group textarea { resize: vertical; min-height: 100px; }
/* 체크박스 라벨 */
.consult_form-group--check {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.consult_check-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--c-text-sub);
  cursor: pointer;
}
.consult_check-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  accent-color: var(--c-accent);
  cursor: pointer;
  flex-shrink: 0;
}
/* reCAPTCHA 고지 */
.consult_recaptcha-notice {
  font-size: 0.75rem;
  color: var(--c-text-muted);
  line-height: 1.6;
  margin-bottom: 16px;
}
.consult_recaptcha-notice a {
  color: var(--c-accent);
  text-decoration: underline;
}

.consult_contact-success {
  display: none;
  text-align: center;
  padding: 48px 24px;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
}
.consult_contact-success.consult_show { display: block; }
.consult_success-mark {
  width: 56px;
  height: 56px;
  background: #22c55e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  color: white;
  margin: 0 auto 20px;
}
.consult_contact-success h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 8px;
}
.consult_contact-success p {
  font-size: 0.88rem;
  color: var(--c-text-sub);
}

/* ===================================================
   FOOTER
   =================================================== */
.consult_footer {
  background: var(--c-navy);
  color: rgba(255,255,255,0.8);
  padding: 56px 0 0;
}
.consult_footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1.5fr;
  gap: 48px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.consult_footer-brand {}
.consult_nav-logo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 10px;
}
.consult_logo-geo {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--c-white);
  letter-spacing: -0.02em;
}
.consult_logo-text {
  font-size: 1.1rem;
  font-weight: 300;
  color: rgba(255,255,255,0.7);
}
.consult_logo-by {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.45);
}
.consult_footer-brand-sub {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 10px;
}
.consult_footer-brand-sub strong { color: rgba(255,255,255,0.7); font-weight: 600; }
.consult_footer-brand p {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.7;
}
.consult_footer-links h4 {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 16px;
}
.consult_footer-links ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.consult_footer-links a {
  font-size: 0.83rem;
  color: rgba(255,255,255,0.65);
  transition: color var(--ease);
}
.consult_footer-links a:hover { color: var(--c-white); }
.consult_footer-contact-col h4 {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.45);
  margin-bottom: 16px;
}
.consult_footer-contact-col p {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin-bottom: 6px;
}
.consult_fc-key {
  font-weight: 600;
  color: rgba(255,255,255,0.5);
  margin-right: 6px;
}
.consult_footer-bottom {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.consult_footer-bottom p {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.35);
}
.consult_footer-desc {
  font-size: 0.75rem !important;
  color: rgba(255,255,255,0.25) !important;
}

/* ===================================================
   RESULTS — 성과 수치 + 사례 섹션
   =================================================== */
.consult_results-section {
  background: var(--c-navy);
  padding: var(--section-py) 0;
}

/* KPI 숫자 행 */
.consult_results-kpi-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-bottom: 64px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: var(--radius-lg);
  padding: 36px 48px;
  flex-wrap: wrap;
}
.consult_kpi-item {
  text-align: center;
  flex: 1;
  min-width: 120px;
}
.consult_kpi-num {
  font-size: 3rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.03em;
  line-height: 1;
  margin-bottom: 8px;
}
.consult_kpi-unit {
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--c-accent);
}
.consult_kpi-label {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.55);
  font-weight: 500;
  line-height: 1.4;
}
.consult_kpi-divider {
  width: 1px;
  height: 60px;
  background: rgba(255,255,255,0.1);
  flex-shrink: 0;
  margin: 0 8px;
}

/* ---- KPI 라이트 버전 (흰 배경 위 다크 글자) ---- */
.consult_results-kpi-row--light {
  background: var(--c-accent-light);
  border: 1px solid var(--c-border-light);
}
.consult_kpi-num--dark {
  color: var(--c-text) !important;
}
.consult_kpi-unit--dark {
  color: var(--c-accent) !important;
}
.consult_kpi-label--dark {
  color: var(--c-text-sub) !important;
}
.consult_kpi-divider--dark {
  background: var(--c-border) !important;
}

/* 섹션 헤더 소형 (results용) */
.consult_section-header--sm {
  margin-bottom: 36px;
}
.consult_results-section .consult_section-title,
.consult_results-section .consult_section-title em {
  color: #ffffff;
}
.consult_results-section .consult_section-eyebrow {
  color: var(--c-accent);
}
.consult_results-section .consult_section-eyebrow::after {
  background: var(--c-accent);
}
.consult_results-section .consult_section-rule {
  background: rgba(255,255,255,0.15);
}

/* 사례 카드 그리드 */
.consult_cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-bottom: 28px;
}
.consult_case-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: border-color var(--ease), background var(--ease), transform var(--ease);
  position: relative;
}
.consult_case-card:hover {
  border-color: rgba(26,110,247,0.5);
  background: rgba(26,110,247,0.06);
  transform: translateY(-4px);
}
.consult_case-card--featured {
  border-color: var(--c-accent);
  background: rgba(26,110,247,0.1);
}
.consult_case-featured-badge {
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-accent);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.consult_case-industry {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-accent);
  opacity: 0.9;
}
.consult_case-metrics {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.consult_case-metric {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.consult_case-before {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.45);
  text-decoration: line-through;
}
.consult_case-arrow {
  font-size: 1rem;
  color: rgba(255,255,255,0.3);
}
.consult_case-after {
  font-size: 1.35rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.02em;
}
.consult_case-metric-label {
  font-size: 0.78rem;
  color: rgba(255,255,255,0.5);
  line-height: 1.4;
}
.consult_case-period {
  font-size: 0.82rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.5;
  padding: 8px 12px;
  background: rgba(255,255,255,0.05);
  border-radius: var(--radius-sm);
  border-left: 3px solid var(--c-accent);
}
.consult_case-period strong { color: #fff; font-weight: 700; }
.consult_case-points {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 0;
  margin: 0;
  flex: 1;
}
.consult_case-points li {
  font-size: 0.8rem;
  color: rgba(255,255,255,0.6);
  line-height: 1.55;
  padding-left: 14px;
  position: relative;
}
.consult_case-points li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: var(--c-accent);
  font-weight: 700;
}

/* 면책 문구 */
.consult_cases-disclaimer {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.3);
  text-align: center;
  line-height: 1.7;
}

/* ===================================================
/* ===================================================
   GEO DEFINITION BAR (AI 인용 최적화 — 정의형 문장)
   =================================================== */
.consult_geo-def-bar {
  background: #f0f5ff;
  border-top: 3px solid #1a6ef7;
  border-bottom: 1px solid #d0e2ff;
  padding: 28px 0;
}
.consult_geo-def-inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  flex-wrap: wrap;
}
.consult_geo-def-label {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: #1a6ef7;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  border-radius: 4px;
  text-transform: uppercase;
  margin-top: 3px;
}
.consult_geo-def-text {
  flex: 1;
  font-size: 0.975rem;
  line-height: 1.75;
  color: #1a2540;
  margin: 0;
  min-width: 260px;
}
.consult_geo-def-text strong {
  color: #0a2d6e;
}
.consult_geo-def-text em {
  font-style: normal;
  color: #1a6ef7;
  font-weight: 600;
}
.consult_geo-def-link {
  flex-shrink: 0;
  align-self: center;
  font-size: 0.82rem;
  font-weight: 600;
  color: #1a6ef7;
  text-decoration: none;
  white-space: nowrap;
  border-bottom: 1px solid rgba(26,110,247,0.3);
  padding-bottom: 1px;
  transition: color 0.2s, border-color 0.2s;
}
.consult_geo-def-link:hover {
  color: #0a2d6e;
  border-color: #0a2d6e;
}

/* ===================================================
   FREE DIAGNOSIS CTA BAR
   =================================================== */
.consult_diag-bar {
  background: linear-gradient(90deg, #0a2d6e 0%, #1a6ef7 100%);
  padding: 28px 0;
}
.consult_diag-bar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}
.consult_diag-bar-text {
  flex: 1;
}
.consult_diag-bar-q {
  font-size: 1.05rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 6px;
  line-height: 1.4;
}
.consult_diag-bar-sub {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.5;
}
.consult_diag-bar-sub strong { color: #ffffff; }
.consult_diag-bar-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: #ffffff;
  color: var(--c-navy);
  font-size: 0.92rem;
  font-weight: 700;
  border-radius: var(--radius-md);
  white-space: nowrap;
  flex-shrink: 0;
  transition: background var(--ease), color var(--ease), transform var(--ease), box-shadow var(--ease);
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
}
.consult_diag-bar-btn:hover {
  background: var(--c-accent-light);
  color: var(--c-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}

/* ===================================================
   PACKAGE PRICE
   =================================================== */
.consult_pkg-price-row {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin: 16px 0 4px;
  flex-wrap: wrap;
}
.consult_pkg-price {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--c-accent);
  letter-spacing: -0.02em;
  line-height: 1;
}
.consult_pkg-price--white {
  color: #ffffff;
}
.consult_pkg-price-unit {
  font-size: 1rem;
  font-weight: 600;
}
.consult_pkg-duration {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-text-muted);
  background: var(--c-accent-light);
  padding: 3px 10px;
  border-radius: 20px;
}
.consult_pkg-duration--white {
  background: rgba(255,255,255,0.18);
  color: rgba(255,255,255,0.85);
}
.consult_pkg-price-note {
  font-size: 0.77rem;
  color: var(--c-text-muted);
  margin-bottom: 16px;
  line-height: 1.4;
}
.consult_pkg-price-note--white {
  color: rgba(255,255,255,0.6);
}

/* ===================================================
   TEAM 섹션
   =================================================== */
.consult_team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-bottom: 40px;
}
.consult_team-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-lg);
  padding: 28px 26px;
  transition: box-shadow var(--ease), transform var(--ease);
}
.consult_team-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.consult_team-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c-accent) 0%, #6c3fff 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.consult_team-avatar--b { background: linear-gradient(135deg, #059669 0%, #0891b2 100%); }
.consult_team-avatar--c { background: linear-gradient(135deg, #d97706 0%, #dc2626 100%); }
.consult_team-avatar--d { background: linear-gradient(135deg, #7c3aed 0%, #db2777 100%); }
.consult_team-avatar-initials {
  font-size: 0.85rem;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.05em;
}
.consult_team-body {
  flex: 1;
}
.consult_team-name {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 3px;
  line-height: 1.3;
}
.consult_team-role {
  font-size: 0.77rem;
  font-weight: 600;
  color: var(--c-accent);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.consult_team-bio {
  font-size: 0.84rem;
  color: var(--c-text-sub);
  line-height: 1.7;
  margin-bottom: 12px;
}
.consult_team-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.consult_team-tags span {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--c-accent);
  background: var(--c-accent-light);
  padding: 3px 10px;
  border-radius: 20px;
}

/* 회사 신뢰 배지 */
.consult_team-trust {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-lg);
  padding: 20px 32px;
}
.consult_trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.83rem;
  color: var(--c-text-sub);
  font-weight: 500;
  padding: 8px 20px;
}
.consult_trust-item svg { color: var(--c-accent); flex-shrink: 0; }
.consult_trust-divider {
  width: 1px;
  height: 28px;
  background: var(--c-border-light);
}

/* ===================================================
   RESPONSIVE — RESULTS + TEAM + DIAG BAR
   =================================================== */
@media (max-width: 1024px) {
  .consult_cases-grid { grid-template-columns: repeat(2, 1fr); }
  .consult_team-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .consult_results-kpi-row { padding: 24px 20px; gap: 0; }
  .consult_kpi-divider { height: 40px; }
  .consult_kpi-num { font-size: 2.2rem; }
  .consult_cases-grid { grid-template-columns: 1fr; }
  .consult_team-grid { grid-template-columns: 1fr; }
  .consult_diag-bar-inner { flex-direction: column; text-align: center; gap: 20px; }
  .consult_diag-bar-btn { width: 100%; justify-content: center; }
  .consult_team-trust { flex-direction: column; align-items: flex-start; gap: 4px; padding: 20px 24px; }
  .consult_trust-divider { width: 100%; height: 1px; }
}
@media (max-width: 480px) {
  .consult_results-kpi-row { flex-direction: column; gap: 20px; }
  .consult_kpi-divider { width: 40px; height: 1px; }
  .consult_team-card { flex-direction: column; align-items: flex-start; }
  .consult_trust-item { padding: 6px 0; font-size: 0.8rem; }
}

/* ===================================================
   GEO CAPABILITY — Why BizSpring GEO 섹션
   =================================================== */

/* 섹션 헤더 */
.consult_capability-header {
  text-align: center;
  margin-bottom: 60px;
}

/* 메인 2-컬럼 레이아웃 */
.consult_capability-main {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 64px;
  align-items: start;
  margin-bottom: 64px;
}
/* 슬림 버전: 좌측 텍스트 없이 카드만 3열 풀너비 */
.consult_capability-main--slim {
  grid-template-columns: 1fr;
  gap: 0;
}
.consult_capability-main--slim .consult_capability-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.consult_capability-main--slim .consult_capability-cards-label {
  grid-column: 1 / -1;
}

/* ---- 좌측 메시지 영역 ---- */
.consult_capability-left {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.consult_capability-lead {
  font-size: 1.22rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.7;
}
.consult_capability-lead strong { color: var(--c-accent); }
.consult_capability-sub {
  font-size: 0.97rem;
  color: var(--c-text-sub);
  line-height: 1.85;
}

/* 차별성 박스 */
.consult_capability-diff-box {
  background: var(--c-accent-light);
  border-left: 4px solid var(--c-accent);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 24px 28px;
}
.consult_capability-diff-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--c-accent);
  margin-bottom: 12px;
}
.consult_capability-diff-text {
  font-size: 0.9rem;
  color: var(--c-text-sub);
  line-height: 1.85;
  margin-bottom: 14px;
}
.consult_capability-diff-text strong { color: var(--c-accent); }
.consult_capability-diff-bottom {
  font-size: 0.88rem;
  color: var(--c-text);
  line-height: 1.8;
  font-weight: 500;
}
.consult_capability-diff-bottom strong { color: var(--c-accent-dark); }

/* 히어로 연결 문구 */
.consult_capability-connect {
  background: var(--c-navy);
  border-radius: var(--radius-md);
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.consult_capability-connect-q {
  font-size: 0.95rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  line-height: 1.65;
  font-style: italic;
}
.consult_capability-connect-arrow {
  font-size: 1.4rem;
  color: var(--c-accent);
  font-weight: 700;
  line-height: 1;
}
.consult_capability-connect-a {
  font-size: 0.88rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
}

/* ---- 우측 역량 카드 ---- */
.consult_capability-cards {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.consult_capability-cards-label {
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--c-text-muted);
  letter-spacing: 0.02em;
  margin-bottom: 4px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-border-light);
}

.consult_capability-card {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 24px 26px;
  transition: box-shadow var(--ease), transform var(--ease), border-color var(--ease);
}
.consult_capability-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
  border-color: var(--c-accent);
}

.consult_capability-card-num {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--c-accent);
  line-height: 1;
  letter-spacing: -0.03em;
  flex-shrink: 0;
  width: 36px;
  padding-top: 2px;
  opacity: 0.85;
}
.consult_capability-card-body {
  flex: 1;
}
.consult_capability-card-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-text);
  margin-bottom: 8px;
  line-height: 1.4;
}
.consult_capability-card-desc {
  font-size: 0.87rem;
  color: var(--c-text-sub);
  line-height: 1.75;
  margin-bottom: 8px;
}
.consult_capability-card-desc strong { color: var(--c-accent); font-weight: 600; }
.consult_capability-card-detail {
  font-size: 0.82rem;
  color: var(--c-text-muted);
  line-height: 1.7;
  padding-top: 8px;
  border-top: 1px dashed var(--c-border-light);
}

/* ---- 하단 흐름 구조 ---- */
.consult_capability-flow-wrap {
  background: var(--c-surface-alt);
  border-radius: var(--radius-lg);
  padding: 40px 48px;
  text-align: center;
  margin-bottom: 40px;
  border: 1px solid var(--c-border-light);
}
.consult_capability-flow-title {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  margin-bottom: 28px;
}
.consult_capability-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.consult_capflow-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.consult_capflow-icon {
  width: 52px;
  height: 52px;
  background: var(--c-surface);
  border: 1.5px solid var(--c-border);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-text-sub);
  transition: border-color var(--ease), color var(--ease), background var(--ease);
}
.consult_capflow-step:hover .consult_capflow-icon {
  border-color: var(--c-accent);
  color: var(--c-accent);
  background: var(--c-accent-light);
}
.consult_capflow-highlight .consult_capflow-icon {
  background: var(--c-accent-light);
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.consult_capflow-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-text-sub);
  white-space: nowrap;
}
.consult_capflow-highlight .consult_capflow-label {
  color: var(--c-accent);
}
.consult_capflow-arrow {
  font-size: 1.3rem;
  color: var(--c-border);
  font-weight: 300;
  line-height: 1;
  padding-bottom: 24px;
}
.consult_capability-flow-desc {
  font-size: 0.9rem;
  color: var(--c-text-sub);
  line-height: 1.8;
}
.consult_capability-flow-desc strong { color: var(--c-text); font-weight: 700; }

/* ---- CTA 강조 스트립 ---- */
.consult_capability-cta-strip {
  background: linear-gradient(135deg, var(--c-navy) 0%, #1a3a8f 100%);
  border-radius: var(--radius-lg);
  padding: 44px 48px;
  text-align: center;
}
.consult_capability-cta-text {
  font-size: 1.35rem;
  font-weight: 700;
  color: rgba(255,255,255,0.9);
  line-height: 1.65;
  margin-bottom: 14px;
}
.consult_capability-cta-text em {
  font-style: normal;
  color: #6fb3ff;
}
.consult_capability-cta-sub {
  font-size: 1rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.6;
}
.consult_capability-cta-sub strong {
  color: rgba(255,255,255,0.9);
  font-weight: 700;
}

/* ---- 반응형 ---- */
@media (max-width: 1024px) {
  .consult_capability-main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .consult_capability-main {
    grid-template-columns: 1fr;
    gap: 36px;
  }
  .consult_capability-main--slim .consult_capability-cards {
    grid-template-columns: 1fr;
  }
  .consult_capability-flow-wrap { padding: 30px 24px; }
  .consult_capability-cta-strip { padding: 36px 28px; }
  .consult_capability-cta-text { font-size: 1.1rem; }
  .consult_capflow-arrow { font-size: 1rem; padding-bottom: 20px; }
}
@media (max-width: 480px) {
  .consult_capability-lead { font-size: 1.05rem; }
  .consult_capability-flow { gap: 8px; }
  .consult_capflow-step { min-width: 64px; }
  .consult_capability-cta-text { font-size: 1rem; }
}

/* ===================================================
   SYNERGY BANNER (SEO + GEO 결론 강조 박스)
   =================================================== */
.consult_synergy-banner {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 24px 32px;
  background: linear-gradient(135deg, var(--c-navy) 0%, #0e3a8a 100%);
  border-radius: var(--radius-md);
  border-left: 5px solid var(--c-accent);
  box-shadow: var(--shadow-md);
  margin-top: 8px;
  flex-wrap: wrap;
}
.consult_synergy-icon {
  font-size: 1.8rem;
  flex-shrink: 0;
  line-height: 1;
}
.consult_synergy-text {
  flex: 1;
  min-width: 200px;
}
.consult_synergy-label {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 6px;
}
.consult_synergy-msg {
  font-size: 1rem;
  color: var(--c-white);
  line-height: 1.65;
}
.consult_synergy-msg strong {
  color: #a8cfff;
  font-weight: 700;
}
.consult_synergy-msg em {
  color: #60b0ff;
  font-style: normal;
  font-weight: 700;
}
.consult_synergy-br { display: none; }
.consult_synergy-cta {
  display: inline-flex;
  align-items: center;
  padding: 10px 22px;
  background: var(--c-accent);
  color: var(--c-white);
  font-size: 0.85rem;
  font-weight: 700;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
  flex-shrink: 0;
}
.consult_synergy-cta:hover {
  background: #4a9aff;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26,110,247,0.4);
}

/* ===================================================
   SCROLL TOP BUTTON (FAB 확장형)
   =================================================== */
.consult_scroll-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 800;
  height: 44px;
  min-width: 44px;
  background: var(--c-accent);
  color: var(--c-white);
  border-radius: 100px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 16px;
  font-size: 0.8rem;
  font-weight: 700;
  box-shadow: 0 4px 20px rgba(26,110,247,0.45);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity var(--ease), transform var(--ease), background var(--ease), box-shadow var(--ease), min-width var(--ease);
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
}
.consult_scroll-top-arrow {
  font-size: 1rem;
  line-height: 1;
  flex-shrink: 0;
}
.consult_scroll-top-label {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.consult_scroll-top.consult_visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
.consult_scroll-top:hover {
  background: var(--c-accent-dark);
  box-shadow: 0 6px 28px rgba(26,110,247,0.55);
  transform: translateY(-2px);
}

/* ===================================================
   QNA SLIDE PANEL
   =================================================== */

/* 오버레이 (어두운 배경) */
.consult_qna-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(7, 18, 40, 0.55);
  backdrop-filter: blur(3px);
  z-index: 1100;
  opacity: 0;
  transition: opacity 0.35s ease;
}
body.consult_qna-open .consult_qna-overlay {
  display: block;
  opacity: 1;
}

/* 슬라이드 패널 본체 */
.consult_qna-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 460px;
  max-width: 100vw;
  height: 100%;
  background: var(--c-white);
  z-index: 1200;
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 40px rgba(10, 45, 110, 0.18);
  transform: translateX(100%);
  transition: transform 0.38s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
}
body.consult_qna-open .consult_qna-panel {
  transform: translateX(0);
}

/* 헤더 */
.consult_qna-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 28px 28px 22px;
  background: var(--c-navy);
  color: var(--c-white);
  flex-shrink: 0;
}
.consult_qna-header-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 8px;
}
.consult_qna-header-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--c-white);
  margin: 0;
}
.consult_qna-close {
  background: rgba(255,255,255,0.1);
  border: none;
  color: var(--c-white);
  font-size: 1.4rem;
  line-height: 1;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background var(--ease);
}
.consult_qna-close:hover { background: rgba(255,255,255,0.22); }

/* 바디 (스크롤 영역) */
.consult_qna-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px 28px 32px;
  -webkit-overflow-scrolling: touch;
}
.consult_qna-body::-webkit-scrollbar { width: 5px; }
.consult_qna-body::-webkit-scrollbar-track { background: var(--c-surface-alt); }
.consult_qna-body::-webkit-scrollbar-thumb { background: var(--c-border); border-radius: 4px; }

/* 폼 필드 */
.consult_qna-field {
  margin-bottom: 16px;
}
.consult_qna-label {
  display: block;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--c-text);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.consult_qna-req {
  color: #e53e3e;
  margin-left: 2px;
}
.consult_qna-input {
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--radius-sm);
  font-size: 0.88rem;
  color: var(--c-text);
  background: var(--c-white);
  transition: border-color var(--ease), box-shadow var(--ease);
  font-family: var(--font-sans);
  outline: none;
  appearance: none;
}
.consult_qna-input:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(26,110,247,0.12);
}
.consult_qna-input.consult_qna-error {
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229,62,62,0.1);
}
.consult_qna-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 40px;
  cursor: pointer;
}
.consult_qna-textarea {
  min-height: 110px;
  resize: vertical;
  line-height: 1.65;
}

/* 약관 동의 */
.consult_qna-agree {
  margin-bottom: 20px;
  padding: 14px;
  background: var(--c-surface-alt);
  border-radius: var(--radius-sm);
}
.consult_qna-agree-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  font-size: 0.82rem;
  color: var(--c-text-sub);
  line-height: 1.55;
}
.consult_qna-agree-label input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--c-accent);
  cursor: pointer;
}
.consult_qna-agree-label a {
  color: var(--c-accent);
  text-decoration: underline;
}

/* 제출 버튼 */
.consult_qna-submit {
  width: 100%;
  padding: 14px;
  background: linear-gradient(135deg, #2a7fff 0%, var(--c-accent) 100%);
  color: var(--c-white);
  font-size: 0.95rem;
  font-weight: 700;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 16px rgba(26,110,247,0.35);
  transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
}
.consult_qna-submit:hover {
  background: linear-gradient(135deg, #1a6ef7 0%, var(--c-accent-dark) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26,110,247,0.45);
}
.consult_qna-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
  transform: none;
}

/* 하단 연락처 */
.consult_qna-footer-note {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--c-border-light);
  font-size: 0.8rem;
  color: var(--c-text-muted);
  text-align: center;
  line-height: 1.8;
}
.consult_qna-footer-note a {
  color: var(--c-accent);
  font-weight: 600;
}

/* 모바일 */
@media (max-width: 768px) {
  .consult_qna-panel { width: 100%; }
  .consult_qna-header { padding: 22px 20px 18px; }
  .consult_qna-body { padding: 20px 20px 28px; }
}

/* ===================================================
   BOX-COLLAPSE QNA SLIDE PANEL
   =================================================== */

/* 오버레이 */
.consult_qna-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(7,18,40,0.52);
  backdrop-filter: blur(3px);
  z-index: 1100;
  opacity: 0;
  transition: opacity 0.32s ease;
}
body.box-collapse-open .consult_qna-overlay {
  display: block;
  opacity: 1;
}

/* 패널 본체 */
.box-collapse {
  position: fixed;
  top: 0;
  right: 0;
  width: 500px;
  max-width: 100vw;
  height: 100%;
  background: #fff;
  z-index: 1200;
  display: flex;
  flex-direction: column;
  box-shadow: -6px 0 36px rgba(10,45,110,0.16);
  transform: translateX(110%);
  transition: transform 0.38s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
}
body.box-collapse-open .box-collapse {
  transform: translateX(0);
}

/* 헤더 타이틀 영역 */
.title-box-d {
  padding: 28px 32px 20px;
  background: var(--c-navy);
  flex-shrink: 0;
}
.consult_qna-eyebrow {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #7eb3ff;
  margin-bottom: 6px;
}
.title-box-d .title-d {
  font-family: var(--font-serif);
  font-size: 1.4rem;
  font-weight: 400;
  color: #fff;
  margin: 0;
}

/* 닫기 버튼 */
.close-box-collapse {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 36px;
  height: 36px;
  background: rgba(255,255,255,0.12);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  transition: background var(--ease);
}
.close-box-collapse:hover { background: rgba(255,255,255,0.25); }

/* 스크롤 래퍼 */
.box-collapse-wrap.form {
  flex: 1;
  overflow-y: auto;
  padding: 24px 32px 36px;
  -webkit-overflow-scrolling: touch;
}
.box-collapse-wrap.form::-webkit-scrollbar { width: 5px; }
.box-collapse-wrap.form::-webkit-scrollbar-track { background: var(--c-surface-alt); }
.box-collapse-wrap.form::-webkit-scrollbar-thumb { background: var(--c-border); border-radius: 4px; }

/* Grid row */
.box-collapse .row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -8px;
}
.box-collapse .col-md-6 {
  width: 50%;
  padding: 0 8px;
}
.box-collapse .col-md-12 {
  width: 100%;
  padding: 0 8px;
}
.box-collapse .mb-2 { margin-bottom: 14px; }
.box-collapse .mt-3 { margin-top: 18px; }

/* form-group */
.box-collapse .form-group { margin: 0; }
.box-collapse .form-group label {
  display: block;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--c-text);
  margin-bottom: 5px;
  letter-spacing: 0.02em;
}
.qna-req {
  color: #e53e3e;
  margin-right: 2px;
}

/* 공통 인풋 */
.form-control-a {
  width: 100%;
  padding: 10px 13px;
  border: 1.5px solid var(--c-border);
  border-radius: var(--radius-sm);
  font-size: 0.86rem;
  color: var(--c-text);
  background: #fff;
  font-family: var(--font-sans);
  outline: none;
  appearance: none;
  transition: border-color var(--ease), box-shadow var(--ease);
  box-sizing: border-box;
}
.form-control-a:focus {
  border-color: var(--c-accent);
  box-shadow: 0 0 0 3px rgba(26,110,247,0.11);
}
.form-control-a.input-error {
  border-color: #e53e3e;
  box-shadow: 0 0 0 3px rgba(229,62,62,0.09);
}
select.form-control-a {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%234a5568' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
  padding-right: 36px;
  cursor: pointer;
}
textarea.form-control-a {
  resize: vertical;
  line-height: 1.6;
}
.min-h100 { min-height: 90px; }
.fz-14 { font-size: 0.82rem; color: var(--c-text-muted); }

/* 개인정보 동의 */
.qna-agree-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.84rem;
  color: var(--c-text-sub);
  cursor: pointer;
}
.qna-agree-label input[type="checkbox"] {
  width: 15px;
  height: 15px;
  accent-color: var(--c-accent);
  flex-shrink: 0;
  cursor: pointer;
}

/* reCAPTCHA 고지 */
.recaptcha-terms {
  font-size: 0.75rem;
  color: var(--c-text-muted);
  line-height: 1.6;
}
.recaptcha-terms a {
  color: var(--c-accent);
  text-decoration: underline;
}

/* 제출 버튼 */
.consult_qna-submit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 13px 40px;
  background: linear-gradient(135deg, #2a7fff 0%, var(--c-accent) 100%);
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  border: none;
  border-radius: var(--radius-sm);
  cursor: pointer;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 16px rgba(26,110,247,0.32);
  transition: background var(--ease), transform var(--ease), box-shadow var(--ease);
  min-width: 160px;
}
.consult_qna-submit-btn:hover {
  background: linear-gradient(135deg, #1a6ef7 0%, var(--c-accent-dark) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(26,110,247,0.42);
}
.consult_qna-submit-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* 하단 연락처 */
.qna-contact-line {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--c-border-light);
  font-size: 0.8rem;
  color: var(--c-text-muted);
  text-align: center;
  line-height: 1.9;
}
.qna-contact-line a {
  color: var(--c-accent);
  font-weight: 600;
}

/* text-center 유틸 */
.text-center { text-align: center; }

/* 모바일 반응형 */
@media (max-width: 640px) {
  .box-collapse { width: 100%; }
  .title-box-d { padding: 22px 20px 16px; }
  .box-collapse-wrap.form { padding: 20px 20px 32px; }
  .box-collapse .col-md-6 { width: 100%; }
}

/* ===================================================
   RESPONSIVE — 1024px
   =================================================== */
@media (max-width: 1024px) {
  .consult_hero-inner {
    grid-template-columns: 1fr;
    gap: 48px;
  }
  .consult_hero-left { text-align: center; }
  .consult_hero-eyebrow { justify-content: center; }
  .consult_hero-actions { justify-content: center; }
  .consult_hero-chips { justify-content: center; }
  .consult_hero-desc { margin-left: auto; margin-right: auto; }
  .consult_hero-right { max-width: 480px; margin: 0 auto; }
  .consult_services-grid { grid-template-columns: repeat(2, 1fr); }
  .consult_insights-grid { grid-template-columns: repeat(2, 1fr); }
  .consult_strategy-flow { grid-template-columns: repeat(2, 1fr); }
  .consult_footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
}

/* ===================================================
   RESPONSIVE — 768px
   =================================================== */
@media (max-width: 768px) {
  :root { --section-py: 56px; }

  .consult_bz-nav-menu {
    display: none;
    position: fixed;
    top: 60px;
    left: 0; right: 0;
    background: var(--c-navy-dark);
    flex-direction: column;
    padding: 20px 0;
    gap: 0;
    z-index: 800;
  }
  .consult_bz-nav-menu.consult_open { display: flex; }
  .consult_bz-nav-link {
    padding: 14px 24px;
    font-size: 0.95rem;
    border-radius: 0;
    border-bottom: 1px solid rgba(255,255,255,0.05);
  }
  .consult_bz-hamburger { display: flex; }
  .consult_bz-cta { display: none; }

  .consult_hero { padding: 60px 0 50px; }
  /* 모바일: 목업 카드 숨김 → 텍스트+칩 집중 */
  .consult_hero-right { display: none; }
  /* 모바일: desc 텍스트 숨기고 칩만 표시 */
  .consult_hero-desc { display: none; }
  .consult_comparison-wrap { grid-template-columns: 1fr; }
  .consult_services-grid { grid-template-columns: 1fr; }
  .consult_process-grid,
  .consult_process-grid-bottom { grid-template-columns: 1fr; }
  /* 타임라인 모바일: 주차 헤더/셀 숨기고 단계 정보만 세로 나열 */
  .consult_tl-header { display: none; }
  .consult_tl-row {
    grid-template-columns: 1fr;
    padding-bottom: 4px;
  }
  .consult_tl-bar-cell { display: none; }
  .consult_tl-step-info { padding: 14px 16px; }
  .consult_tl-milestone { gap: 12px; padding: 20px; }
  .consult_tl-milestone-arrow { display: none; }
  .consult_tl-milestone-item { flex-direction: row; gap: 10px; }
  .consult_tl-legend { gap: 8px; }
  /* Why Now 모바일 */
  .consult_wn-flow { flex-direction: column; }
  .consult_wn-flow-arrow { transform: rotate(90deg); padding: 4px 0; }
  .consult_wn-stats { flex-direction: column; gap: 24px; padding: 28px 24px; }
  .consult_wn-stat-divider { width: 60px; height: 1px; margin: 0 auto; }
  .consult_wn-bridge { grid-template-columns: 1fr; }
  .consult_wn-bridge-plus { padding: 12px 0; flex-direction: row; gap: 8px; }
  .consult_insights-grid { grid-template-columns: 1fr; }
  .consult_strategy-grid { grid-template-columns: 1fr; }
  .consult_strategy-flow { grid-template-columns: repeat(2, 1fr); }
  .consult_packages-grid { grid-template-columns: 1fr; }
  .consult_contact-grid { grid-template-columns: 1fr; gap: 40px; }

  /* 비교표 모바일 */
  .consult_comparison-table { table-layout: auto; font-size: 0.8rem; }
  .consult_comparison-table thead th:first-child { width: auto; }
  .consult_col-seo, .consult_col-geo { width: auto; }

  /* Synergy Banner 모바일 */
  .consult_synergy-banner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 20px; }
  .consult_synergy-br { display: inline; }
  .consult_synergy-cta { width: 100%; justify-content: center; }

  /* FAB 모바일: 텍스트 숨기고 원형만 표시 */
  .consult_scroll-top { padding: 0; min-width: 44px; width: 44px; border-radius: 50%; }
  .consult_scroll-top-label { display: none; }
  .consult_form-row { grid-template-columns: 1fr; }
  .consult_opt-grid { grid-template-columns: 1fr; }
  .consult_footer-grid { grid-template-columns: 1fr; gap: 24px; }
  .consult_footer-bottom { flex-direction: column; text-align: center; }
  .consult_platform-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .consult_platform-divider { display: none; }
}

/* ===================================================
   RESPONSIVE — 480px
   =================================================== */
@media (max-width: 480px) {
  .consult_hero-headline { font-size: 2rem; }
  .consult_hero-actions { flex-direction: column; }
  .consult_btn { width: 100%; text-align: center; justify-content: center; }
  .consult_strategy-flow { grid-template-columns: 1fr; }
  .consult_contact-form { padding: 24px; }
}

/* ===================================================
   CONTACT — Single Layout (폼 제거 후)
   =================================================== */
.consult_contact-single {
  max-width: 720px;
  margin: 0 auto;
}
.consult_contact-single .consult_section-title { text-align: left; }
.consult_contact-single .consult_section-rule  { margin-left: 0; }
.consult_contact-single .consult_section-eyebrow { display: inline-block; }
.consult_contact-single .consult_section-eyebrow::after { margin: 8px 0 0; }

/* ===================================================
   GEO DASHBOARD
   =================================================== */
.consult_dashboard-cta-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
.consult_btn-dashboard {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: linear-gradient(135deg, var(--c-accent) 0%, #6c3fff 100%);
  color: var(--c-white);
  font-size: 1rem;
  font-weight: 600;
  border-radius: var(--radius-md);
  transition: opacity var(--ease), transform var(--ease), box-shadow var(--ease);
  box-shadow: 0 4px 20px rgba(26,110,247,0.35);
}
.consult_btn-dashboard:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(26,110,247,0.4);
}

/* ===================================================
   GEOCARE 탭 갤러리
   =================================================== */
/* 탭 바 */
.consult_gc-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.consult_gc-tab {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 18px;
  background: #fff;
  border: 1.5px solid var(--c-border-light);
  border-radius: var(--radius-sm);
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-text-sub);
  cursor: pointer;
  transition: all 0.2s;
}
.consult_gc-tab:hover {
  border-color: var(--c-accent);
  color: var(--c-accent);
}
.consult_gc-tab--active {
  background: var(--c-accent);
  border-color: var(--c-accent);
  color: #fff;
}

/* 패널 */
.consult_gc-panel {
  display: none;
}
.consult_gc-panel--active {
  display: block;
}
.consult_gc-panel-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.consult_gc-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: var(--c-accent-light);
  color: var(--c-accent);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  border-radius: 4px;
  text-transform: uppercase;
}
.consult_gc-desc {
  font-size: 0.875rem;
  color: var(--c-text-sub);
  line-height: 1.6;
  margin: 0;
}

/* 이미지 래퍼 — 브라우저 프레임 느낌 */
.consult_gc-img-wrap {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: 0 4px 40px rgba(10,45,110,0.13), 0 1px 6px rgba(10,45,110,0.07);
  background: #f0f4ff;
  line-height: 0;
}
.consult_gc-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-md);
  transition: transform 0.4s ease;
}
.consult_gc-img-wrap:hover .consult_gc-img {
  transform: scale(1.015);
}
/* 미묘한 반사광 오버레이 */
.consult_gc-img-shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.06) 0%, transparent 60%);
  pointer-events: none;
  border-radius: var(--radius-md);
}

/* GEOcare CTA */
.consult_gc-cta-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-top: 40px;
}
.consult_gc-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 13px 28px;
  background: var(--c-navy);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  border-radius: var(--radius-sm);
  text-decoration: none;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.consult_gc-cta-btn:hover {
  background: var(--c-accent);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(26,110,247,0.35);
}
.consult_gc-cta-note {
  font-size: 0.78rem;
  color: var(--c-text-sub);
  margin: 0;
  letter-spacing: 0.02em;
}
.consult_dashboard-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  max-width: 600px;
  margin: 0 auto 32px;
  background: rgba(26,110,247,0.06);
  border: 1px solid rgba(26,110,247,0.18);
  border-radius: var(--radius-md);
  padding: 14px 20px;
  font-size: 0.86rem;
  color: var(--c-text-sub);
  line-height: 1.7;
  text-align: center;
}
.consult_dashboard-note svg { color: var(--c-accent); }
.consult_dashboard-iframe-wrap {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-lg);
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  margin-bottom: 32px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.consult_dashboard-iframe {
  display: block;
  width: 100%;
  height: 520px;
  border: none;
}
/* 피처 4개 */
.consult_dashboard-features {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}
.consult_dashboard-feature {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  padding: 20px 18px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  text-align: center;
  transition: box-shadow var(--ease), transform var(--ease);
}
.consult_dashboard-feature:hover {
  box-shadow: var(--shadow-sm);
  transform: translateY(-2px);
}
.consult_df-icon {
  width: 44px;
  height: 44px;
  background: var(--c-accent-light);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-accent);
  flex-shrink: 0;
}
.consult_df-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--c-text-sub);
  line-height: 1.5;
}

/* 반응형 */
@media (max-width: 1024px) {
  .consult_dashboard-features { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .consult_dashboard-iframe { height: 380px; }
  .consult_dashboard-features { grid-template-columns: repeat(2, 1fr); }
  .consult_dashboard-note { flex-direction: column; text-align: left; }
  .consult_gc-tabs { gap: 6px; }
  .consult_gc-tab { padding: 7px 13px; font-size: 0.78rem; }
  .consult_gc-panel-meta { flex-direction: column; align-items: flex-start; gap: 8px; }
}
@media (max-width: 480px) {
  .consult_dashboard-iframe { height: 300px; }
  .consult_dashboard-features { grid-template-columns: 1fr 1fr; }
  .consult_gc-tab { padding: 6px 11px; font-size: 0.75rem; }
  .consult_gc-cta-btn { font-size: 0.85rem; padding: 11px 20px; }
}

/* 섹션 제목 */
.consult_articles-heading {
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: var(--c-text);
  text-align: center;
  margin-bottom: 0;
}

/* 전체 래퍼: 좌(피처드) + 우(그리드) */
.consult_articles-wrap {
  display: grid;
  grid-template-columns: 1fr 1.7fr;
  gap: 32px;
  align-items: start;
}

/* ── 좌측 피처드 카드 ── */
.consult_articles-featured {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.consult_featured-img-link {
  display: block;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  overflow: hidden;
}
.consult_featured-thumb {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.consult_featured-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.consult_featured-img-link:hover .consult_featured-thumb img {
  transform: scale(1.04);
}
/* 이미지 오버레이 */
.consult_featured-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, rgba(10,40,110,0.55) 0%, rgba(0,0,0,0.25) 60%, transparent 100%);
  padding: 20px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 10px;
}
.consult_featured-brand {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255,255,255,0.85);
  letter-spacing: 0.05em;
}
.consult_featured-brand sup {
  font-size: 0.55rem;
  vertical-align: super;
}
.consult_featured-overlay-text {
  font-size: 1rem;
  font-weight: 700;
  color: var(--c-white);
  line-height: 1.45;
  max-width: 220px;
}
.consult_featured-overlay-text strong {
  color: #7eb3ff;
}
/* 피처드 텍스트 바디 */
.consult_featured-body {
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-top: none;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  padding: 24px;
}
.consult_featured-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--c-text);
  line-height: 1.45;
  margin-bottom: 10px;
}
.consult_featured-title a {
  color: inherit;
  transition: color var(--ease);
}
.consult_featured-title a:hover { color: var(--c-accent); }
.consult_featured-desc {
  font-size: 0.84rem;
  color: var(--c-text-sub);
  line-height: 1.75;
  margin-bottom: 16px;
}
.consult_featured-cta {
  display: inline-block;
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-accent);
  transition: color var(--ease), letter-spacing var(--ease);
}
.consult_featured-cta:hover {
  color: var(--c-accent-dark);
  letter-spacing: 0.02em;
}

/* ── 우측 2×2 그리드 ── */
.consult_articles-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.consult_article-card {
  display: flex;
  flex-direction: column;
  background: var(--c-surface);
  border: 1px solid var(--c-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: box-shadow var(--ease), transform var(--ease);
  color: inherit;
}
.consult_article-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.consult_article-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--c-surface-alt);
  flex-shrink: 0;
}
.consult_article-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease;
}
.consult_article-card:hover .consult_article-thumb img {
  transform: scale(1.05);
}
.consult_article-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.consult_article-date {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-text-muted);
}
.consult_article-title {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--c-text);
  line-height: 1.5;
  margin: 0;
}
.consult_article-card:hover .consult_article-title {
  color: var(--c-accent);
}

/* ── 반응형 ── */
@media (max-width: 1024px) {
  .consult_articles-wrap {
    grid-template-columns: 1fr 1.4fr;
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .consult_articles-wrap {
    grid-template-columns: 1fr;
  }
  .consult_articles-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .consult_articles-grid {
    grid-template-columns: 1fr;
  }
}

/* ===================================================
   반응형 — 신규 섹션 (3step, data-trust, offer, process)
   =================================================== */
@media (max-width: 1024px) {
  .consult_data-trust-box {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 36px 32px;
  }
  .consult_dt-right {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 16px;
  }
  .consult_dt-stat { flex: 1; min-width: 140px; }
  .consult_process-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .consult_offer-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .consult_3step-row {
    flex-direction: column;
    align-items: stretch;
    max-width: 320px;
  }
  .consult_3step-arrow {
    transform: rotate(90deg);
    text-align: center;
  }
  .consult_3step-item { max-width: 100%; }
  .consult_data-trust-box { padding: 28px 20px; }
  .consult_dt-right { flex-direction: column; }
  .consult_process-grid {
    grid-template-columns: 1fr;
  }
  .consult_offer-grid {
    grid-template-columns: 1fr;
  }
  .consult_final-cta { padding: 64px 0; }
  .consult_hero-trust-row { gap: 8px; }
}
