/* ============================================================
   상품 판매 랜딩 페이지 전용 스타일
   (히어로·통계칩·가격카드·가치스택 + 최종 CTA)
   본문 섹션은 style.css의 검증된 컴포넌트(.check-list/.steps/.a-*/.figure/.faq)를 재사용
   ============================================================ */

/* ---------- 히어로 ---------- */
.lp-hero{position:relative;overflow-x:clip;
  background:radial-gradient(120% 120% at 85% -10%,rgba(41,98,255,.10),transparent 55%),
    radial-gradient(90% 100% at -5% 110%,rgba(14,165,233,.08),transparent 55%),var(--paper-2);
  border-bottom:1px solid var(--line)}
.lp-hero-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,52px);align-items:center;
  padding-top:clamp(30px,5vw,64px);padding-bottom:clamp(30px,5vw,64px)}
.lp-eyebrow{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid #cdd9ff;
  color:var(--brand-ink);font-size:12.5px;font-weight:800;padding:6px 13px;border-radius:999px}
.lp-eyebrow .d{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.lp-h1{font-size:clamp(26px,4.4vw,42px);font-weight:900;letter-spacing:-.035em;line-height:1.22;margin:18px 0 0}
.lp-h1 .hl{color:var(--brand)}
.lp-sub{font-size:clamp(15px,1.9vw,17.5px);color:var(--ink-soft);line-height:1.72;margin:16px 0 0;max-width:520px;font-weight:500}
.lp-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.lp-cta-row .btn{font-size:15.5px}
.lp-trust{display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin-top:18px;font-size:13.5px;color:var(--gray);font-weight:600}
.lp-trust b{color:var(--ink)}
.lp-trust .cor{color:var(--brand)}
.lp-note{margin-top:12px;font-size:12.5px;color:var(--gray-2);display:flex;align-items:center;gap:7px}
.lp-note .ck{color:var(--good);font-weight:800}

/* 히어로 통계 칩 (인포그래픽 느낌) */
.lp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px}
.lp-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 14px;box-shadow:var(--shadow-sm)}
.lp-stat .n{font-size:clamp(20px,2.6vw,26px);font-weight:900;letter-spacing:-.03em;color:var(--brand);line-height:1.1}
.lp-stat .l{font-size:12px;color:var(--gray);font-weight:700;margin-top:5px;line-height:1.45}

/* 히어로 비주얼 카드 */
.lp-visual{position:relative}
.lp-visual .card{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-lg);
  padding:22px;position:relative;z-index:1}
.lp-visual .card .cap{font-size:12px;font-weight:800;color:var(--gray-2);letter-spacing:.02em}
.lp-visual svg{display:block;width:100%;height:auto;margin-top:8px}
.lp-visual .fchip{position:absolute;z-index:2;background:#fff;border:1px solid var(--line);border-radius:13px;
  box-shadow:var(--shadow-md);padding:10px 13px;display:flex;align-items:center;gap:9px;font-weight:800;font-size:13px}
.lp-visual .fchip .ic{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:14px;flex:none}
.lp-visual .fchip small{display:block;font-size:11px;color:var(--gray-2);font-weight:600}
.lp-visual .fchip.a{top:-16px;right:-10px}
.lp-visual .fchip.b{bottom:-18px;left:-14px}

/* ---------- 섹션 공통 리듬 ---------- */
.lp-sec{padding-top:clamp(44px,6vw,82px);padding-bottom:0}
.lp-sec.soft{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding-bottom:clamp(44px,6vw,82px);margin-top:clamp(44px,6vw,82px)}
.lp-sec.soft + .lp-sec{padding-top:clamp(44px,6vw,82px)}
.lp-kicker{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.04em;color:var(--brand);
  text-transform:uppercase;margin-bottom:10px}
.lp-h2{font-size:clamp(21px,3vw,30px);font-weight:900;letter-spacing:-.03em;line-height:1.3;margin:0}
.lp-lead{font-size:clamp(15px,1.8vw,17px);color:var(--ink-soft);line-height:1.75;margin:14px 0 0;font-weight:500}
.lp-center{text-align:center}
.lp-center .lp-lead{margin-left:auto;margin-right:auto;max-width:600px}

/* 큰 강조 문장 */
.lp-punch{font-size:clamp(19px,2.6vw,26px);font-weight:800;line-height:1.5;letter-spacing:-.02em;color:var(--ink);
  text-align:center;margin:clamp(30px,4vw,44px) auto 0;max-width:720px}
.lp-punch .hl{color:var(--brand)}

/* Before → After */
.lp-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin-top:8px}
.lp-ba .col{border:1px solid var(--line);border-radius:16px;padding:22px;background:#fff}
.lp-ba .col.after{border-color:#cdd9ff;background:var(--brand-soft)}
.lp-ba .col h4{margin:0 0 12px;font-size:14px;font-weight:800;color:var(--gray-2)}
.lp-ba .col.after h4{color:var(--brand-ink)}
.lp-ba .col ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.lp-ba .col li{display:flex;gap:9px;align-items:flex-start;font-size:14.5px;line-height:1.5;color:var(--ink-soft);font-weight:600}
.lp-ba .col li .mk{flex:none;font-weight:800}
.lp-ba .col.before .mk{color:var(--gray-2)}
.lp-ba .col.after li{color:var(--ink)}
.lp-ba .col.after .mk{color:var(--brand)}
.lp-ba .arw{align-self:center;color:var(--brand);font-weight:900;font-size:22px}

/* ---------- 가격 / 신청 ---------- */
.lp-price-wrap{max-width:620px;margin:0 auto}
.lp-price{background:#fff;border:1px solid var(--line-strong);border-radius:22px;box-shadow:var(--shadow-lg);
  padding:clamp(26px,4vw,38px);position:relative;overflow:hidden}
.lp-price::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--brand),#8b5cf6)}
.lp-price .tag{display:inline-block;background:var(--brand-soft);color:var(--brand-ink);font-size:12px;font-weight:800;
  padding:6px 13px;border-radius:999px;margin-bottom:16px}
.lp-price .amt-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.lp-price .was{font-size:16px;color:var(--gray-2);font-weight:600}
.lp-price .was s{opacity:.85}
.lp-price .off{font-size:26px;font-weight:900;color:#e2456a;letter-spacing:-.02em}
.lp-price .amt{font-size:34px;font-weight:900;letter-spacing:-.04em}
.lp-price .soon{font-size:24px;font-weight:900;color:var(--brand);letter-spacing:-.03em}
.lp-price .subamt{font-size:13.5px;color:var(--gray-2);font-weight:600;margin-top:6px}
.lp-value{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:11px}
.lp-value li{display:flex;gap:11px;align-items:flex-start;font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.5}
.lp-value li .ic{flex:none;width:22px;height:22px;border-radius:7px;background:var(--brand-soft);color:var(--brand);
  display:grid;place-items:center;font-size:12px;font-weight:800;margin-top:1px}
.lp-value li .strike{color:var(--gray-2);text-decoration:line-through;font-weight:500;margin-left:auto;flex:none}
.lp-price .btn{width:100%;justify-content:center;margin-top:24px;font-size:16px;padding:16px}
.lp-guarantee{display:flex;gap:11px;align-items:flex-start;margin-top:16px;padding:14px 16px;
  background:var(--good-soft);border:1px solid #b9e6cd;border-radius:13px;font-size:13px;color:#1a7d4f;line-height:1.6;font-weight:600}
.lp-guarantee .ic{flex:none;font-size:16px}
.lp-price .fineprint{margin-top:14px;font-size:11.5px;color:var(--gray-2);line-height:1.6;text-align:center}
.lp-price .fineprint a{color:var(--ink-soft);text-decoration:underline}

/* ---------- 최종 CTA 밴드 ---------- */
.lp-final{background:radial-gradient(120% 150% at 50% -10%,#1d2f55,#0e1730 60%,#070d1e);color:#fff;
  text-align:center;margin-top:0}
.lp-final .lp-h2{color:#fff}
.lp-final p{color:rgba(255,255,255,.72);font-size:15.5px;line-height:1.7;margin:14px auto 0;max-width:540px}
.lp-final .btn{margin-top:26px;font-size:16px;padding:15px 32px}
.lp-final .mini{margin-top:14px;font-size:12.5px;color:rgba(255,255,255,.55)}

/* ---------- 노후 구멍 계산 (필요생활비 − 국민연금 = 부족분) ---------- */
.gap-calc{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch;margin-top:8px}
.gap-calc .gc{border:1px solid var(--line);border-radius:16px;padding:22px 18px;background:#fff;text-align:center;
  display:flex;flex-direction:column;justify-content:center}
.gap-calc .gc.result{border-color:#ffd7de;background:#fff4f6}
.gap-calc .gc .lb{font-size:12.5px;font-weight:700;color:var(--gray-2)}
.gap-calc .gc .v{font-size:clamp(22px,3vw,30px);font-weight:900;letter-spacing:-.03em;margin-top:6px;color:var(--ink)}
.gap-calc .gc.result .v{color:#e2456a}
.gap-calc .gc .u{font-size:12px;color:var(--gray-2);font-weight:600;margin-top:4px}
.gap-calc .op{align-self:center;font-size:26px;font-weight:800;color:var(--gray-2)}
.gap-calc-note{text-align:center;font-size:12.5px;color:var(--gray-2);margin-top:14px;line-height:1.6}

/* ---------- 패키지 키트 구성 ---------- */
.kit-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:8px}
.kit-item{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:14px;
  padding:16px 17px;background:#fff}
.kit-item .ic{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-size:19px;
  background:var(--brand-soft)}
.kit-item h4{margin:0 0 3px;font-size:14.5px;font-weight:800;letter-spacing:-.01em}
.kit-item p{margin:0;font-size:12.5px;color:var(--gray);line-height:1.55;font-weight:500}

/* ---------- 반응형 ---------- */
@media(max-width:820px){
  .gap-calc{grid-template-columns:1fr;gap:8px}
  .gap-calc .op{transform:rotate(90deg);justify-self:center}
  .gap-calc .gc{padding:16px}
  .kit-grid{grid-template-columns:1fr}
}
@media(max-width:920px){
@media(max-width:920px){
  .lp-hero-in{grid-template-columns:1fr;gap:30px}
  .lp-visual{max-width:440px}
}
@media(max-width:620px){
  .lp-stats{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .lp-stat{padding:12px 10px}
  .lp-stat .n{font-size:19px}
  .lp-stat .l{font-size:10.5px;margin-top:3px}
  .lp-cta-row{gap:10px}
  .lp-cta-row .btn{width:100%;justify-content:center}
  .lp-visual .fchip{display:none}       /* 모바일에선 겹침 방지 */
  .lp-ba{grid-template-columns:1fr;gap:10px}
  .lp-ba .arw{transform:rotate(90deg);justify-self:center}
  .lp-ba .col{padding:16px 17px}
  .lp-ba .col li{font-size:14px}
  .lp-punch{font-size:19px}
  .lp-value li{font-size:13.5px}
  .lp-price .amt{font-size:28px}
  .lp-price .off{font-size:22px}
}
