/* 공개 랜딩 페이지 (PR #3)
 * tokens.css + components.css 의존. cre.ma 톤 미니멀 흑/회.
 */

body {
  font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont,
               system-ui, "Apple SD Gothic Neo", "Noto Sans KR", sans-serif;
  background: var(--bg-page);
  color: var(--ink-900);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}
* { box-sizing: border-box; }

/* ── 글로벌 네비 ── */
.lp-nav {
  position: sticky; top: 0; z-index: 50;
  background: rgba(255,255,255,0.92);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--ink-100);
  transition: background 0.25s ease, border-color 0.25s ease;
}

/* 랜딩에서는 nav 투명, 스크롤 시 화이트 */
.lp-landing .lp-nav {
  background: transparent;
  border-bottom-color: transparent;
  backdrop-filter: none;
}
.lp-landing.is-scrolled .lp-nav {
  background: rgba(255,255,255,0.94);
  border-bottom-color: var(--ink-100);
  backdrop-filter: saturate(180%) blur(12px);
}
.lp-nav-inner {
  max-width: 1400px; margin: 0 auto;
  padding: 20px var(--sp-10);
  min-height: 80px;
  display: flex; align-items: center; gap: var(--sp-6);
}
/* 중앙 nav-link 그룹: 가운데 정렬 + 양옆 균형 */
.lp-nav .nav-center {
  flex: 1;
  justify-content: center;
  gap: var(--sp-4);
}
.lp-nav .nav-cta { gap: var(--sp-2); }
.lp-nav a.nav-link,
.lp-nav button.nav-link {
  font-size: 15px; font-weight: 600; color: var(--ink-700);
  text-decoration: none; padding: 8px 14px; border-radius: 100px;
}
.lp-nav a.nav-link:hover,
.lp-nav button.nav-link:hover { color: var(--ink-800); background: var(--ink-100); }
.lp-nav button.nav-link {
  background: none; border: none; cursor: pointer;
  font-family: inherit;
  display: inline-flex; align-items: center; gap: 4px;
}

/* 데스크탑/모바일 분기 */
.nav-desktop { display: flex; align-items: center; gap: var(--sp-2); }
.nav-hamburger {
  display: none;
  background: none; border: none; padding: 8px;
  cursor: pointer; color: var(--ink-700);
  border-radius: var(--r-sm);
}
.nav-hamburger:hover { background: var(--ink-100); }
@media (max-width: 960px) {
  .nav-desktop { display: none; }
  .nav-hamburger { display: inline-flex; }
}

/* 제품 드롭다운 */
.nav-dropdown { position: relative; }
.nav-dropdown-panel {
  position: absolute;
  top: calc(100% + 8px); left: 0;
  min-width: 280px;
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-3);
  padding: var(--sp-2);
  display: flex; flex-direction: column; gap: 2px;
  z-index: var(--z-overlay);
}
.nav-dropdown-panel a {
  display: flex; flex-direction: column; gap: 2px;
  padding: 10px 12px;
  text-decoration: none;
  border-radius: var(--r-md);
  transition: background var(--dur-fast) var(--ease-out);
}
.nav-dropdown-panel a:hover { background: var(--accent-pale); }
.nav-dropdown-panel strong {
  font-size: 14px; font-weight: 700; color: var(--ink-800);
  letter-spacing: -0.01em;
}
.nav-dropdown-panel span {
  font-size: 12px; color: var(--ink-500);
}
[x-cloak] { display: none !important; }

/* 모바일 드로어 */
.nav-mobile {
  background: var(--paper);
  border-top: 1px solid var(--ink-100);
  padding: var(--sp-4);
  display: flex; flex-direction: column; gap: 2px;
}
.nav-mobile a {
  padding: 12px;
  font-size: 14px; font-weight: 500;
  color: var(--ink-700);
  text-decoration: none;
  border-radius: var(--r-md);
}
.nav-mobile a:hover { background: var(--ink-100); }
.nav-mobile .nav-mobile-sep {
  height: 1px; background: var(--ink-100);
  margin: var(--sp-2) 0;
}
.nav-mobile .nav-mobile-cta {
  background: var(--accent); color: var(--paper);
  text-align: center;
  font-weight: 700;
  margin-top: var(--sp-2);
}
.nav-mobile .nav-mobile-cta:hover { background: var(--accent-hover); }

/* ── 히어로 ── */
.lp-hero { padding: var(--sp-24) var(--sp-6) var(--sp-20); max-width: 1280px; margin: 0 auto; }

/* 배경 이미지 모드 — 풀-블리드 */
.lp-hero--bg {
  position: relative;
  max-width: none;
  min-height: 100vh;
  margin-top: -80px;
  padding: calc(80px + var(--sp-12)) var(--sp-10) var(--sp-12);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  background-color: #f4f7f4;
  display: flex; align-items: center;
}
.lp-hero--bg::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(90deg,
    rgba(245,248,245,0.95) 0%,
    rgba(245,248,245,0.85) 28%,
    rgba(245,248,245,0.4) 50%,
    rgba(245,248,245,0) 70%);
  pointer-events: none;
}
.lp-hero--bg .lp-hero-grid {
  position: relative;
  grid-template-columns: minmax(0, 620px);
  max-width: 1320px;
  width: 100%;
  margin: 0 auto;
}
.lp-hero--bg .hero-title {
  font-size: clamp(40px, 5.2vw, 76px);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.035em;
  margin: 0 0 var(--sp-5);
}
.lp-hero--bg p.sub {
  font-size: 17px;
  color: var(--ink-600);
  margin-bottom: var(--sp-6);
}
.lp-hero--bg .hero-features { margin: var(--sp-4) 0 var(--sp-6); }
.lp-hero--bg .hero-trust { margin-top: var(--sp-6); }

/* 헤드라인 민트 그린 강조 (Hero 한정) */
.lp-hero--bg .hero-title em { color: var(--accent); font-style: normal; }
.lp-hero--bg .btn-link-play .play-bubble { background: var(--accent-pale); color: var(--accent); }
.lp-hero--bg .btn-link-play:hover .play-bubble { background: var(--accent); color: #fff; }

/* ── 히어로 헤드라인 타자기 ── */
.hero-title.is-typing { min-height: 2.2em; }   /* 2줄 공간 확보 → 타이핑 중 레이아웃 점프 방지 */
.tw-caret {
  display: inline-block;
  width: 3px; height: 0.95em;
  margin-left: 2px;
  vertical-align: text-bottom;
  background: var(--accent);
  border-radius: 2px;
  animation: tw-blink 0.8s step-end infinite;
}
.tw-done .tw-caret { display: none; }
@keyframes tw-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } }

/* ── 히어로 CTA 반짝임(shine sweep) ── */
.lp-cta-shine { position: relative; overflow: hidden; }
.lp-cta-shine::after {
  content: "";
  position: absolute; top: 0; left: -75%;
  width: 50%; height: 100%;
  background: linear-gradient(115deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.55) 50%,
    rgba(255,255,255,0) 100%);
  transform: skewX(-20deg);
  /* 배지 등장 끝나면 .is-shining 부여 → 시작 */
}
.lp-cta-shine.is-shining::after {
  animation: lp-cta-shine 3.2s ease-in-out infinite;
}
@keyframes lp-cta-shine {
  0%   { left: -75%; }
  55%  { left: 130%; }
  100% { left: 130%; }
}
@media (prefers-reduced-motion: reduce) {
  .lp-cta-shine::after { animation: none; display: none; }
}

/* ── 우측 플로팅 카드 오버레이 ── */
.lp-hero-cards {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
/* 얼굴 피해 3곳 분산 + 살짝 기울임 → 활기 */
.lp-hero-cards .lp-hcard--repeat { top: 26%; left: 48%; }
.lp-hero-cards .lp-hcard--heart  { top: 6%;  right: 0.5%; }
.lp-hero-cards .lp-hcard--star   { bottom: 10%; right: 9%; }
.lp-hcard {
  position: absolute;
  display: flex; align-items: center; gap: var(--sp-3);
  background: rgba(255,255,255,0.96);
  border: 1px solid rgba(0,0,0,0.04);
  border-radius: 16px;
  padding: 12px 18px;
  box-shadow: 0 10px 30px rgba(15,23,42,0.10);
  backdrop-filter: blur(6px);
  min-width: 200px;
  --scale: 1;
  transform: rotate(var(--tilt, 0)) scale(var(--scale));
  opacity: 0;   /* 타자기 완료(is-revealed) 전까지 숨김 — 독립 타이밍 대신 관계 */
}
/* 타자기 완료 후 .is-revealed 부여 → 순차 통통통 등장 */
.lp-hero-cards.is-revealed .lp-hcard {
  animation:
    lp-hcard-pop .9s linear both,
    lp-hcard-float 4s ease-in-out infinite;
}
.lp-hero-cards.is-revealed .lp-hcard--repeat { animation-delay: 0s, .9s; }
.lp-hero-cards.is-revealed .lp-hcard--heart  { animation-delay: .15s, 1.05s; }
.lp-hero-cards.is-revealed .lp-hcard--star   { animation-delay: .3s, 1.2s; }
/* 아래→위로 튀어오르며 통통통 — 바닥(y=0)에 점점 작게 바운스 */
@keyframes lp-hcard-pop {
  0%   { opacity: 0; transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(64px); }
  18%  { opacity: 1; }
  28%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(-24px); }  /* 1차 큰 튐 */
  44%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(0); }
  58%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(-13px); }  /* 2차 */
  72%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(0); }
  84%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(-5px); }   /* 3차 작게 */
  94%  { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(0); }
  100% { opacity: 1; transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(0); }
}
@keyframes lp-hcard-float {
  0%, 100% { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(0); }
  50%      { transform: rotate(var(--tilt, 0)) scale(var(--scale)) translateY(-7px); }
}
@media (prefers-reduced-motion: reduce) {
  .lp-hcard,
  .tw-caret,
  .hero-dataflow .hero-node { animation: none; }
  .tw-caret { display: none; }
  .lp-hcard { opacity: 1; }   /* 타자기 콜백 안 타므로 즉시 표시 */
}
.lp-hcard-emoji { font-size: 22px; }
.lp-hcard-ic { display: inline-flex; }
.lp-hcard div { display: flex; flex-direction: column; line-height: 1.35; }
.lp-hcard strong { font-size: 14px; font-weight: 700; color: var(--ink-900); }
.lp-hcard span { font-size: 13px; color: var(--ink-700); }
.lp-hcard .lp-hcard-label { font-size: 12px; color: var(--ink-500); font-weight: 600; }
.lp-hcard .lp-hcard-num { font-size: 18px; font-weight: 800; color: #10b981; }
.lp-hcard .lp-hcard-num em { font-size: 12px; font-weight: 600; color: var(--ink-400); font-style: normal; margin-left: 4px; }
.lp-hcard--repeat .lp-hcard-num,
.lp-hcard--star .lp-hcard-num { color: var(--ink-900); }
.lp-hcard--repeat .lp-hcard-num { color: #10b981; }

@media (max-width: 1100px) {
  .lp-hcard { --scale: 0.82; min-width: 0; padding: 10px 14px; transform-origin: center; }
  .lp-hcard-num { font-size: 16px; }
}
@media (max-width: 960px) {
  .lp-hero--bg {
    background-position: center bottom;
    min-height: auto;
    padding-top: calc(64px + var(--sp-16));
  }
  .lp-hero--bg::before {
    background: linear-gradient(180deg,
      rgba(245,248,245,0.97) 0%,
      rgba(245,248,245,0.7) 55%,
      rgba(245,248,245,0.2) 100%);
  }
  .lp-hero-cards { display: none; }
}
.lp-hero .badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 100px;
  background: var(--accent-pale); color: var(--accent);
  font-size: 12px; font-weight: 700; letter-spacing: 0.04em;
  margin-bottom: var(--sp-6);
}
.lp-hero h1 {
  font-size: var(--fs-display); line-height: 1.05;
  font-weight: 800; letter-spacing: -0.03em;
  margin: 0 0 var(--sp-6); color: var(--ink-900);
  max-width: 880px;
}
.lp-hero h1 em { font-style: normal; color: var(--accent); }
.lp-hero h1.hero-title {
  font-weight: 900;
  letter-spacing: -0.035em;
  margin-top: var(--sp-4);
}
.lp-hero p.sub {
  font-size: 18px; line-height: 1.6; color: var(--ink-500);
  max-width: 640px; margin: 0 0 var(--sp-8);
}
.lp-hero .cta-row { display: flex; gap: var(--sp-3); flex-wrap: wrap; align-items: center; }
.lp-hero .cta-row .note { font-size: 12px; color: var(--ink-400); margin-left: 8px; }
/* 히어로 1차 CTA = 브랜드 파랑 (글로벌 btn-primary 검정은 유지) */
.lp-hero .cta-row .btn-primary { background: var(--accent); color: #fff; }
.lp-hero .cta-row .btn-primary:hover:not(:disabled) { background: var(--accent-hover); }

@media (max-width: 720px) {
  .lp-hero { padding: var(--sp-16) var(--sp-4) var(--sp-12); }
  .lp-hero h1 { font-size: 40px; }
  .lp-hero p.sub { font-size: 16px; }
}

/* ── 데모 카드 (히어로 우측) ── */
.lp-hero-grid {
  display: grid; grid-template-columns: 1fr 1.15fr;
  gap: var(--sp-10); align-items: center;
}
@media (max-width: 960px) { .lp-hero-grid { grid-template-columns: 1fr; gap: var(--sp-8); } }

/* ── 섹션 공통 ── */
.lp-section { padding: var(--sp-24) var(--sp-6); max-width: 1200px; margin: 0 auto; }
.lp-section.snug { padding: var(--sp-16) var(--sp-6); }
.lp-section h2 {
  font-size: var(--fs-h1); font-weight: 800; letter-spacing: -0.025em;
  line-height: 1.1; color: var(--ink-900); margin: 0 0 var(--sp-3);
  max-width: 720px;
}
.lp-section .lead {
  font-size: 17px; line-height: 1.6; color: var(--ink-500);
  max-width: 640px; margin: 0 0 var(--sp-12);
}
.lp-eyebrow {
  display: inline-block;
  font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--accent); margin-bottom: var(--sp-4);
}

@media (max-width: 640px) {
  .lp-section h2 { font-size: 28px; }
  .lp-section .lead { font-size: 15px; }
}

/* ── 스텝 3개 (수집·분석·답변) ── */
.lp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6); }
@media (max-width: 720px) { .lp-steps { grid-template-columns: 1fr; } }
.lp-step {
  padding: var(--sp-6);
  border-top: 1px solid var(--ink-200);
}
.lp-step .step-num {
  display: inline-block;
  font-size: 12px; font-weight: 700; color: var(--ink-400);
  margin-bottom: var(--sp-4); letter-spacing: 0.04em;
}
.lp-step h3 {
  font-size: 22px; font-weight: 700; letter-spacing: -0.015em;
  margin: 0 0 10px; color: var(--ink-900);
}
.lp-step p { font-size: 15px; line-height: 1.6; color: var(--ink-500); margin: 0; }

/* ── 인터뷰 카드 (cre.ma 톤 고객 사례) ── */
.lp-interviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); }
@media (max-width: 720px) { .lp-interviews { grid-template-columns: 1fr; } }
.iv-card {
  padding: var(--sp-8);
  background: var(--ink-50); border-radius: 24px;
}
.iv-card .iv-eyebrow {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--accent); margin-bottom: var(--sp-4);
}
.iv-card blockquote {
  font-size: 22px; line-height: 1.5; font-weight: 600; letter-spacing: -0.01em;
  color: var(--ink-900); margin: 0 0 var(--sp-6);
}
.iv-card blockquote::before { content: '“'; color: var(--ink-300); margin-right: 4px; }
.iv-card blockquote::after  { content: '”'; color: var(--ink-300); margin-left: 4px; }

/* ── 하단 CTA ── */
.lp-cta-band {
  background: var(--ink-900); color: var(--paper);
  padding: var(--sp-24) var(--sp-6);
  text-align: center;
}
.lp-cta-band h2 {
  font-size: var(--fs-h1); font-weight: 800; letter-spacing: -0.025em;
  margin: 0 0 var(--sp-6); color: var(--paper);
}
.lp-cta-band p { font-size: 17px; color: var(--ink-300); margin: 0 0 var(--sp-8); }
.lp-cta-band .btn-primary { background: var(--paper); color: var(--ink-900); }
.lp-cta-band .btn-primary:hover { background: var(--ink-100); }

/* ── 기능 그리드 (6카드 3×2) ── */
.lp-features-grid {
  display: grid; grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-4);
}
@media (max-width: 960px) { .lp-features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lp-features-grid { grid-template-columns: 1fr; } }
.lp-feature-card {
  background: var(--bg-surface);
  border: 1px solid var(--ink-100);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
}
.lp-feature-card:hover {
  border-color: var(--ink-200);
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.lp-feature-card .fc-icon {
  width: 44px; height: 44px; border-radius: 12px;
  background: var(--ink-50);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: var(--sp-4);
  color: var(--ink-900);
}
.lp-feature-card .fc-icon svg { width: 22px; height: 22px; }
.lp-feature-card:hover .fc-icon { background: var(--accent-pale); color: var(--accent); }
.lp-feature-card h3 {
  font-size: 18px; font-weight: 700; letter-spacing: -0.01em;
  margin: 0 0 8px; color: var(--ink-900);
}
.lp-feature-card p { font-size: 14px; line-height: 1.6; color: var(--ink-500); margin: 0; }

/* ── 누적 성과 (큰 숫자 4개) ── */
.lp-stats { background: var(--bg-elev); padding: var(--sp-16) var(--sp-6); }
.lp-stats-inner { max-width: 1200px; margin: 0 auto; }
.lp-stats .lp-eyebrow { text-align: center; display: block; margin-bottom: var(--sp-8); }
.lp-stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-6);
}
@media (max-width: 720px) { .lp-stats-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-4); } }
.lp-stat { text-align: center; padding: var(--sp-4); }
.lp-stat .s-num {
  font-size: 48px; font-weight: 800; letter-spacing: -0.035em;
  color: var(--ink-900); line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.lp-stat .s-num em { font-style: normal; color: var(--accent); }
.lp-stat .s-label { font-size: 13px; color: var(--ink-500); margin-top: 8px; }
@media (max-width: 720px) { .lp-stat .s-num { font-size: 32px; } }

/* ── 도입 문의 (좌 텍스트 + 우 카드) ── */
.lp-inquiry { background: var(--ink-50); padding: var(--sp-24) var(--sp-6); }
.lp-inquiry-grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1.1fr 1fr;
  gap: var(--sp-12); align-items: center;
}
@media (max-width: 960px) {
  .lp-inquiry-grid { grid-template-columns: 1fr; gap: var(--sp-8); }
}
.lp-inquiry h2 {
  font-size: var(--fs-h1); font-weight: 800; letter-spacing: -0.025em;
  color: var(--ink-900); margin: 0 0 var(--sp-4); line-height: 1.1;
}
.lp-inquiry p.lead {
  font-size: 17px; line-height: 1.6; color: var(--ink-500);
  margin: 0 0 var(--sp-6);
}
.lp-inquiry ul.checks {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.lp-inquiry ul.checks li {
  font-size: 15px; color: var(--ink-700);
  display: flex; gap: 10px; align-items: center;
}
.lp-inquiry ul.checks li::before {
  content: '✓'; color: var(--accent); font-weight: 800;
}
.lp-inquiry-card {
  background: var(--paper);
  border-radius: var(--r-xl);
  padding: var(--sp-8);
  box-shadow: var(--shadow-3);
}
.lp-inquiry-card .ic-eyebrow {
  font-size: 12px; font-weight: 700; color: var(--accent);
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px;
}
.lp-inquiry-card .ic-title {
  font-size: 22px; font-weight: 800; color: var(--ink-900);
  margin: 0 0 var(--sp-2); letter-spacing: -0.015em;
}
.lp-inquiry-card .ic-meta { font-size: 13px; color: var(--ink-500); margin: 0 0 var(--sp-6); }
.lp-inquiry-card .ic-mail {
  display: block; font-size: 18px; font-weight: 700;
  color: var(--ink-900); margin-bottom: var(--sp-4);
  text-decoration: none;
}
.lp-inquiry-card .ic-mail:hover { color: var(--accent); }

/* 문의 폼 필드 */
.lp-inquiry-card .ic-field {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: var(--sp-3);
}
.lp-inquiry-card .ic-field > span {
  font-size: 12px; font-weight: 700; color: var(--ink-600);
  letter-spacing: 0.02em;
}
.lp-inquiry-card .ic-field > span em {
  color: var(--accent); font-style: normal; font-weight: 800;
}
.lp-inquiry-card .ic-field input,
.lp-inquiry-card .ic-field select,
.lp-inquiry-card .ic-field textarea {
  font-family: inherit; font-size: 14px;
  color: var(--ink-900);
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-md);
  padding: 10px 12px;
  transition: border-color 0.15s, box-shadow 0.15s;
  width: 100%;
}
.lp-inquiry-card .ic-field input:focus,
.lp-inquiry-card .ic-field select:focus,
.lp-inquiry-card .ic-field textarea:focus {
  outline: none; border-color: var(--ink-900);
  box-shadow: 0 0 0 3px rgba(15,17,21,0.06);
}
.lp-inquiry-card .ic-field textarea { resize: vertical; min-height: 72px; }
.lp-inquiry-card .ic-status {
  margin-top: var(--sp-3);
  font-size: 13px; font-weight: 600; min-height: 18px;
}
.lp-inquiry-card .ic-status[data-state="loading"] { color: var(--ink-500); }
.lp-inquiry-card .ic-status[data-state="success"] { color: var(--pos); }
.lp-inquiry-card .ic-status[data-state="error"]   { color: var(--accent); }

/* ── CTA 밴드 보조 outline 버튼 ── */
.lp-cta-band .btn-outline {
  background: transparent; color: var(--paper);
  border: 1px solid rgba(255,255,255,0.3);
}
.lp-cta-band .btn-outline:hover {
  border-color: var(--paper);
  background: rgba(255,255,255,0.08);
}
.lp-cta-band .cta-row {
  display: inline-flex; gap: var(--sp-3); flex-wrap: wrap; justify-content: center;
}

/* ── 다크 푸터 (cre.ma 톤) ── */
.lp-footer {
  background: var(--ink-900);
  color: var(--ink-300);
  padding: var(--sp-16) var(--sp-6) var(--sp-8);
}
.lp-footer-inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;
  gap: var(--sp-8);
}
@media (max-width: 720px) {
  .lp-footer-inner { grid-template-columns: 1fr 1fr; gap: var(--sp-6); }
}
.lp-footer .lf-brand .wordmark { color: var(--paper); }
.lp-footer .lf-brand .wordmark .wordmark-sub { color: var(--ink-400); }
.lp-footer .lf-brand p {
  font-size: 13px; color: var(--ink-400);
  margin: var(--sp-3) 0 0; line-height: 1.6; max-width: 280px;
}
.lp-footer h4 {
  font-size: 12px; font-weight: 700; color: var(--paper);
  letter-spacing: 0.08em; text-transform: uppercase;
  margin: 0 0 var(--sp-4);
}
.lp-footer ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.lp-footer ul a {
  font-size: 13.5px; color: var(--ink-300);
  text-decoration: none; transition: color 0.15s;
}
.lp-footer ul a:hover { color: var(--paper); }
.lp-footer-bottom {
  max-width: 1200px; margin: var(--sp-12) auto 0;
  padding-top: var(--sp-6);
  border-top: 1px solid var(--ink-800);
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--sp-3);
  font-size: 12px; color: var(--ink-500);
}
.lp-footer-bottom .lf-biz { flex-basis: 100%; line-height: 1.7; opacity: 0.85; }

/* ════════════════════════════════════════════════════
 * PR-04/05/06 신규 섹션 (cre.ma 톤 수렴)
 * ════════════════════════════════════════════════════ */

/* ── 다크 푸터 컬러 재정의 (네이비 톤) ── */
.lp-footer { background: var(--dark-bg); color: var(--dark-text-mut); }
.lp-footer-bottom { border-top-color: var(--dark-border); color: var(--dark-text-mut); }
.lp-footer h4 { color: var(--dark-text); }
.lp-footer ul a { color: var(--dark-text-mut); }
.lp-footer ul a:hover { color: var(--dark-text); }
.lp-footer .lf-brand .wordmark { color: var(--dark-text); }
.lp-footer .lf-brand .wordmark-dot { background: var(--accent-light); }
.lp-footer .lf-brand .wordmark-sub { color: var(--dark-text-mut); }
.lp-footer .lf-brand p { color: var(--dark-text-mut); }

/* ── 히어로 좌측 피처 3개 ── */
.hero-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-4);
  margin: var(--sp-6) 0 var(--sp-6);
  list-style: none; padding: 0;
}
.hero-features li {
  display: flex; flex-direction: column; gap: 4px;
  text-align: left;
}
.hero-features .hf-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  margin-bottom: var(--sp-2);
}
.hero-features .hf-icon--chart { background: var(--accent-pale); color: var(--accent); }
.hero-features .hf-icon--heart { background: #ffe9ea; color: #e85b6b; }
.hero-features .hf-icon--star  { background: #fff4d6; color: #e0a800; }
.hero-features strong { font-size: 15px; font-weight: 700; color: var(--ink-900); }
.hero-features .hf-sub { font-size: 12.5px; color: var(--ink-500); }
@media (max-width: 540px) {
  .hero-features { grid-template-columns: repeat(3, 1fr); gap: var(--sp-2); }
  .hero-features strong { font-size: 13px; }
  .hero-features .hf-sub { font-size: 11px; }
}

/* ── 보조 링크(서비스 둘러보기) ── */
.btn-link-play {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 600;
  color: var(--ink-700); text-decoration: none;
  padding: 8px 4px;
}
.btn-link-play:hover { color: var(--accent); }
.btn-link-play .play-bubble {
  display: inline-flex; align-items: center; justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--accent-pale);
  color: var(--accent);
  transition: background 0.15s var(--ease-in-out);
}
.btn-link-play:hover .play-bubble {
  background: var(--accent);
  color: var(--paper);
}

/* ── 히어로 하단 trust + 로고 strip ── */
.hero-trust { margin-top: var(--sp-8); }
.hero-trust-label {
  display: block;
  font-size: 12.5px; color: var(--ink-500);
  margin-bottom: var(--sp-3);
}
.hero-trust-label strong { color: var(--ink-700); font-weight: 700; }
.brand-strip {
  display: flex; flex-wrap: wrap;
  gap: var(--sp-4) var(--sp-8);
  align-items: center;
}
.brand-strip span {
  font-size: 12.5px; font-weight: 600;
  color: var(--ink-400);
  letter-spacing: 0.08em;
  white-space: nowrap;
  transition: color 0.15s var(--ease-in-out);
}
.brand-strip span:hover { color: var(--ink-700); }
@media (max-width: 540px) {
  .brand-strip { gap: var(--sp-3) var(--sp-4); }
  .brand-strip span { font-size: 11.5px; }
}

/* ── STEP 다크 섹션 ── */
.lp-steps-dark {
  background: var(--dark-bg);
  background-image: var(--grad-dark);
  color: var(--dark-text);
  padding: var(--sp-24) var(--sp-6);
}
.lp-steps-dark-inner { max-width: var(--container); margin: 0 auto; }
.lp-eyebrow-light { color: var(--accent-light); }
.lp-steps-dark h2 {
  font-size: var(--fs-h1); font-weight: 800; letter-spacing: var(--ls-tight);
  color: var(--dark-text); line-height: 1.1; margin: 0 0 var(--sp-3);
  max-width: 720px;
}
.lead-light {
  font-size: 17px; line-height: 1.6; color: var(--dark-text-mut);
  max-width: 640px; margin: 0 0 var(--sp-12);
}
.lp-steps-dark-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-6);
}
@media (max-width: 960px) { .lp-steps-dark-grid { grid-template-columns: 1fr; } }
.lp-step-dark {
  padding: var(--sp-8);
  background: var(--dark-surface);
  border: 1px solid var(--dark-border);
  border-radius: var(--r-xl);
  position: relative;
  transition: transform var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);
}
.lp-step-dark:hover { transform: translateY(-4px); border-color: var(--accent-light); }
.lp-step-dark .step-big-num {
  font-size: 64px; font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1.5px var(--dark-border);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: var(--sp-4);
}
.lp-step-dark .step-tag {
  display: inline-block;
  padding: 4px 10px;
  background: var(--accent);
  color: var(--paper);
  font-size: 11px; font-weight: 700; letter-spacing: 0.04em;
  border-radius: var(--r-pill);
  margin-bottom: var(--sp-3);
}
.lp-step-dark h3 {
  font-size: 22px; font-weight: 700; color: var(--dark-text);
  margin: 0 0 var(--sp-2); letter-spacing: -0.015em;
}
.lp-step-dark p {
  font-size: 14px; line-height: 1.65; color: var(--dark-text-mut);
  margin: 0 0 var(--sp-6);
}
.lp-step-dark .step-link {
  font-size: 13px; font-weight: 700; color: var(--accent-light);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
.lp-step-dark .step-link:hover { color: var(--paper); }

/* ── 통합 어드민 시각화 ── */
.lp-admin-section { padding-bottom: var(--sp-32); }
.lp-admin-visual {
  position: relative;
  border-radius: var(--r-2xl);
  background: linear-gradient(135deg, var(--accent-pale) 0%, var(--accent-pale-2) 100%);
  padding: var(--sp-8) var(--sp-6);
  margin-top: var(--sp-8);
  box-shadow: var(--shadow-3);
  overflow: hidden;
}
.lp-admin-visual svg {
  width: 100%; height: auto;
  border-radius: var(--r-xl);
  box-shadow: var(--shadow-2);
  display: block;
}
.lp-admin-pulse {
  position: absolute;
  top: 12%; right: 18%;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 0 rgba(16,185,129,0.5);
  animation: adminPulse 2s infinite;
}
@keyframes adminPulse {
  0%   { box-shadow: 0 0 0 0 rgba(16,185,129,0.6); }
  70%  { box-shadow: 0 0 0 24px rgba(16,185,129,0); }
  100% { box-shadow: 0 0 0 0 rgba(16,185,129,0); }
}
@media (prefers-reduced-motion: reduce) {
  .lp-admin-pulse { animation: none; }
}

.iv-card { height: 100%; display: flex; flex-direction: column; }
.iv-card .iv-impact {
  margin-top: auto;
  padding-top: var(--sp-4);
  border-top: 1px solid var(--ink-200);
  font-size: 13px; color: var(--ink-500);
}
.iv-card .iv-impact em {
  font-style: normal; font-weight: 800; color: var(--accent);
  font-size: 18px;
}

/* ── 자료 다운로드 그리드 ── */
.lp-resources-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-4);
}
@media (max-width: 960px) { .lp-resources-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lp-resources-grid { grid-template-columns: 1fr; } }
.lp-resource-card {
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  text-align: left;
  cursor: pointer;
  transition: all var(--dur-fast) var(--ease-out);
  font-family: inherit;
  display: flex; flex-direction: column; gap: 6px;
}
.lp-resource-card:hover {
  border-color: var(--accent);
  transform: translateY(-2px);
  box-shadow: var(--shadow-2);
}
.lp-resource-card .rc-icon { font-size: 32px; margin-bottom: var(--sp-2); }
.lp-resource-card h3 {
  font-size: 16px; font-weight: 700; color: var(--ink-800);
  margin: 0; letter-spacing: -0.01em;
}
.lp-resource-card p {
  font-size: 13px; color: var(--ink-500); line-height: 1.55;
  margin: 0;
}
.lp-resource-card .rc-cta {
  margin-top: var(--sp-3);
  font-size: 13px; font-weight: 700; color: var(--accent);
}

/* ── Alpine 모달 ── */
.lp-modal-backdrop {
  position: fixed; inset: 0;
  background: rgba(25,21,78,0.55);
  display: flex; align-items: center; justify-content: center;
  z-index: var(--z-modal);
  padding: var(--sp-4);
}
.lp-modal {
  background: var(--paper);
  border-radius: var(--r-xl);
  padding: var(--sp-8);
  width: 100%; max-width: 420px;
  position: relative;
  box-shadow: var(--shadow-3);
}
.lp-modal-close {
  position: absolute; top: var(--sp-4); right: var(--sp-4);
  background: none; border: none;
  font-size: 18px; color: var(--ink-500); cursor: pointer;
  width: 32px; height: 32px;
  border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
}
.lp-modal-close:hover { background: var(--ink-100); color: var(--ink-800); }
.lp-modal-eyebrow {
  font-size: 11px; font-weight: 700; color: var(--accent);
  letter-spacing: 0.08em; text-transform: uppercase;
  margin-bottom: 8px;
}
.lp-modal h3 {
  font-size: 22px; font-weight: 800; color: var(--ink-800);
  margin: 0 0 var(--sp-2); letter-spacing: -0.02em;
}
.lp-modal-sub {
  font-size: 14px; color: var(--ink-500);
  margin: 0 0 var(--sp-6);
}
.lp-modal form { display: flex; flex-direction: column; gap: var(--sp-3); }
.lp-modal input {
  font-family: inherit; font-size: 14px;
  padding: 12px 14px;
  border: 1px solid var(--ink-200);
  border-radius: var(--r-md);
  background: var(--paper);
  color: var(--ink-800);
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.lp-modal input:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-pale);
}

/* ── 1:1 컨설팅 카드 (도입문의와 동일 스타일) ── */
.lp-consult-card {
  background: var(--paper);
  border-radius: var(--r-xl);
  padding: var(--sp-8);
  box-shadow: var(--shadow-3);
  border: 2px solid var(--accent);
}
.lp-consult-card .ic-eyebrow {
  font-size: 12px; font-weight: 700; color: var(--accent);
  letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 8px;
}
.lp-consult-card .ic-title {
  font-size: 22px; font-weight: 800; color: var(--ink-800);
  margin: 0 0 var(--sp-2); letter-spacing: -0.015em; line-height: 1.2;
}
.lp-consult-card .ic-meta { font-size: 13px; color: var(--ink-500); margin: 0 0 var(--sp-6); }
.lp-consult-card .ic-field {
  display: flex; flex-direction: column; gap: 6px;
  margin-bottom: var(--sp-3);
}
.lp-consult-card .ic-field > span {
  font-size: 12px; font-weight: 700; color: var(--ink-600);
}
.lp-consult-card .ic-field > span em { color: var(--accent); font-style: normal; font-weight: 800; }
.lp-consult-card .ic-field input,
.lp-consult-card .ic-field select,
.lp-consult-card .ic-field textarea {
  font-family: inherit; font-size: 14px;
  color: var(--ink-800);
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-md);
  padding: 10px 12px;
  width: 100%;
  transition: border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);
}
.lp-consult-card .ic-field input:focus,
.lp-consult-card .ic-field select:focus,
.lp-consult-card .ic-field textarea:focus {
  outline: none; border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-pale);
}
.lp-consult-card textarea { resize: vertical; min-height: 72px; }
.lp-consult-card [data-form-status] {
  margin-top: var(--sp-3);
  font-size: 13px; font-weight: 600; min-height: 18px;
}
.lp-consult-card [data-form-status][data-state="loading"] { color: var(--ink-500); }
.lp-consult-card [data-form-status][data-state="success"] { color: var(--pos); }
.lp-consult-card [data-form-status][data-state="error"]   { color: var(--neg); }

/* ── FAQ 아코디언 ── */
.lp-faq-list {
  display: flex; flex-direction: column; gap: var(--sp-2);
  max-width: 840px;
  margin-top: var(--sp-10);   /* h2(lead 없음) ↔ 첫 카드 간격 확보 */
}
.lp-faq-item {
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--dur-fast) var(--ease-out);
}
.lp-faq-item.is-open { border-color: var(--accent); }
.faq-q {
  width: 100%;
  padding: var(--sp-4) var(--sp-6);
  background: none; border: none;
  font-family: inherit; font-size: 15px; font-weight: 600;
  color: var(--ink-800);
  text-align: left; cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  letter-spacing: -0.01em;
}
.faq-q svg {
  transition: transform var(--dur-base) var(--ease-out);
  flex-shrink: 0; margin-left: var(--sp-3);
  color: var(--ink-400);
}
.lp-faq-item.is-open .faq-q svg { transform: rotate(180deg); color: var(--accent); }
.faq-a {
  padding: 0 var(--sp-6) var(--sp-6);
}
.faq-a p {
  font-size: 14px; line-height: 1.65; color: var(--ink-600);
  margin: 0;
}

/* ── 토스트 ── */
.lp-toast {
  position: fixed;
  bottom: var(--sp-6); left: 50%;
  transform: translateX(-50%);
  background: var(--ink-800);
  color: var(--dark-text);
  padding: 12px 20px;
  border-radius: var(--r-pill);
  box-shadow: var(--shadow-3);
  font-size: 14px; font-weight: 600;
  z-index: var(--z-toast);
}
.lp-toast.is-error { background: var(--neg); }

/* ── CTA 밴드 추가 톤 ── */
.lp-cta-band { background: var(--dark-bg); }
.lp-cta-band h2 { color: var(--dark-text); }
.lp-cta-band p { color: var(--dark-text-mut); }
.lp-cta-band .btn-primary { background: var(--paper); color: var(--ink-800); }
.lp-cta-band .btn-primary:hover { background: var(--ink-100); }
.lp-cta-band .btn-outline {
  background: transparent; color: var(--dark-text);
  border: 1px solid var(--dark-border);
}
.lp-cta-band .btn-outline:hover {
  border-color: var(--accent-light);
  color: var(--accent-light);
  background: rgba(255,255,255,0.04);
}

/* ════════════════════════════════════════════════════
 * PR-07 신규 페이지 (resources/consult/about/product)
 * ════════════════════════════════════════════════════ */

/* 페이지 히어로 (랜딩 외 페이지 공통) */
.lp-page-hero {
  background: linear-gradient(180deg, var(--accent-pale) 0%, var(--bg-page) 100%);
  padding: var(--sp-24) var(--sp-6) var(--sp-16);
}
.lp-page-hero-inner {
  max-width: var(--container);
  margin: 0 auto;
}
.lp-page-hero h1 {
  font-size: var(--fs-display); font-weight: 800;
  letter-spacing: var(--ls-display); line-height: 1.05;
  color: var(--ink-800);
  margin: var(--sp-3) 0 var(--sp-4);
  max-width: 880px;
}
.lp-page-hero .lead {
  font-size: 18px; line-height: 1.6; color: var(--ink-500);
  max-width: 640px; margin: 0 0 var(--sp-8);
}
.lp-page-hero .cta-row {
  display: flex; gap: var(--sp-3); align-items: center; flex-wrap: wrap;
}
@media (max-width: 720px) {
  .lp-page-hero { padding: var(--sp-16) var(--sp-4) var(--sp-12); }
  .lp-page-hero h1 { font-size: 36px; }
  .lp-page-hero .lead { font-size: 15px; }
}

/* 컨설팅 페이지 2-up 그리드 */
.lp-consult-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-12);
  max-width: var(--container);
  margin: 0 auto;
}
@media (max-width: 960px) {
  .lp-consult-grid { grid-template-columns: 1fr; gap: var(--sp-8); }
}

.lp-consult-benefits,
.lp-consult-flow {
  background: var(--paper);
  border: 1px solid var(--ink-200);
  border-radius: var(--r-xl);
  padding: var(--sp-6);
  margin-bottom: var(--sp-4);
}
.lp-consult-benefits h3,
.lp-consult-flow h3 {
  font-size: 16px; font-weight: 700; color: var(--ink-800);
  margin: 0 0 var(--sp-4); letter-spacing: -0.01em;
}
.lp-consult-benefits ul.checks {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.lp-consult-benefits ul.checks li {
  font-size: 14px; color: var(--ink-700);
  display: flex; gap: 10px; align-items: flex-start;
  line-height: 1.55;
}
.lp-consult-benefits ul.checks li::before {
  content: '✓'; color: var(--accent); font-weight: 800;
  flex-shrink: 0;
}
.lp-consult-flow ol {
  margin: 0; padding-left: 20px;
  display: flex; flex-direction: column; gap: 8px;
}
.lp-consult-flow ol li {
  font-size: 14px; color: var(--ink-600); line-height: 1.55;
}
.lp-consult-flow ol li strong {
  color: var(--ink-800); font-weight: 700;
}

/* ── WHY 셀링 섹션 ── */
.lp-why-lead { text-align: center; }
.lp-why-pillars-sec { text-align: center; }
.lp-why-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-6);
  margin-top: var(--sp-12);
  text-align: left;
}
.lp-why-pillar {
  padding: var(--sp-7, 28px) var(--sp-6);
  border: 1px solid var(--line, #ebeef4);
  border-radius: var(--r-lg);
  background: var(--paper, #fff);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.lp-why-pillar:hover {
  transform: translateY(-4px);
  border-color: var(--accent-pale-3);
  box-shadow: 0 12px 32px rgba(16,185,129,0.10);
}
.lp-why-pillar .wp-icon {
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--r-md);
  background: var(--accent-pale);
  color: var(--accent);
  margin-bottom: var(--sp-4);
}
.lp-why-pillar .wp-icon svg { width: 24px; height: 24px; }
.lp-why-pillar h3 {
  font-size: 18px;
  font-weight: 800;
  color: var(--ink-900);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.lp-why-pillar p {
  font-size: 14px;
  line-height: 1.65;
  color: var(--ink-500);
  margin: 0;
}
@media (max-width: 960px) {
  .lp-why-pillars { grid-template-columns: 1fr; }
}
/* ── 문의 단일폼 + sr-only ── */
.lp-inquiry-grid--single { grid-template-columns: 1fr; max-width: 620px; margin-left: auto; margin-right: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* ── 요금제 섹션 ── */
.lp-pricing-sec { text-align: center; }
.lp-pricing-sec h2, .lp-pricing-sec .lead { margin-left: auto; margin-right: auto; text-align: center; }
.lp-pricing-sec h2 { max-width: none; }
@media (min-width: 641px) { .lp-pricing-sec h2 { white-space: nowrap; } }
.lp-pricing-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp-4);
  margin-top: var(--sp-10);
  text-align: left;
  align-items: stretch;
}
.lp-plan {
  display: flex;
  flex-direction: column;
  padding: var(--sp-6);
  border: 1px solid var(--line, #ebeef4);
  border-radius: var(--r-lg);
  background: var(--paper, #fff);
}
.lp-plan--featured {
  position: relative;
  border: 2px solid var(--accent);
  box-shadow: 0 12px 32px rgba(16,185,129,0.12);
}
.lp-plan .plan-badge {
  position: absolute; top: -12px; left: var(--sp-6);
  background: var(--accent); color: #fff;
  font-size: 12px; font-weight: 700;
  padding: 4px 12px; border-radius: var(--r-pill);
}
.lp-plan .plan-name { font-size: 15px; font-weight: 800; color: var(--ink-900); }
.lp-plan .plan-price { margin: var(--sp-2) 0 var(--sp-4); }
.lp-plan .plan-price strong { font-size: 28px; font-weight: 800; color: var(--ink-900); letter-spacing: -0.02em; }
.lp-plan .plan-price span { font-size: 14px; color: var(--ink-500); margin-left: 4px; }
.lp-plan .plan-feats { list-style: none; padding: 0; margin: 0 0 var(--sp-6); display: grid; gap: 10px; flex: 1; }
.lp-plan .plan-feats li { font-size: 14px; color: var(--ink-700); padding-left: 22px; position: relative; }
.lp-plan .plan-feats li::before { content: "✓"; position: absolute; left: 0; color: var(--accent); font-weight: 800; }
.lp-plan .btn { width: 100%; justify-content: center; }
.lp-pricing-note { font-size: 13px; color: var(--ink-500); margin-top: var(--sp-12); }
@media (max-width: 960px) { .lp-pricing-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .lp-pricing-grid { grid-template-columns: 1fr; } }
