@charset "utf-8";
/* ==========================================================================
   lp-revive.css — 회생파산 랜딩 전용 컴포넌트 (최종 3안)
   히어로·정찰제·9가지 솔루션·성공사례·배정원 배너·예비진단 등 랜딩에만 쓰이는
   블록을 담는다. 색·간격 토큰(--lp-*, --fl-*)과 사이드바·타이포 같은 전역 규칙은
   design-geopyeong.css 의 :root 에 있으며 서브페이지와 공유한다.
   ========================================================================== */

/* 공통 섹션 래퍼 */
.lp-sec { padding: 96px 32px; }
.lp-sec-inner { max-width: var(--lp-max); margin: 0 auto; }
.lp-sec-tight { padding: 64px 32px; }
.lp-sec-dark { background: var(--lp-dark); color: var(--lp-white); }
.lp-sec-surface { background: var(--lp-surface); }

.lp-kicker {
  font-family: var(--lp-font);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--lp-blue);
  margin: 0 0 10px;
}
.lp-sec-dark .lp-kicker { color: var(--lp-cream); }

.lp-h2 {
  font-family: var(--lp-font);
  font-size: clamp(30px, 3.4vw, 46px);
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -0.025em;
  color: var(--lp-ink);
  margin: 0 0 16px;
}
.lp-sec-dark .lp-h2 { color: var(--lp-white); }
.lp-h2 em { font-style: normal; color: var(--lp-cream); }

.lp-sub {
  font-family: var(--lp-font);
  font-size: 18px;
  line-height: 1.6;
  color: var(--lp-body);
  margin: 0;
}
.lp-sec-dark .lp-sub { color: rgba(255, 255, 255, 0.66); }

/* 근거 각주 */
.lp-note {
  font-family: var(--lp-font);
  font-size: 13px;
  line-height: 1.7;
  color: var(--lp-muted);
  margin: 20px 0 0;
}
.lp-sec-dark .lp-note,
.lp-hero .lp-note { color: rgba(255, 255, 255, 0.42); }

/* --------------------------------------------------------------------------
   2. 히어로 (슬라이더 구조)
   -------------------------------------------------------------------------- */
.lp-hero {
  position: relative;
  background: var(--lp-black);
  overflow: hidden;
  aspect-ratio: 1650 / 996;
  min-height: 420px;
}
.lp-hero-track { position: absolute; inset: 0; }
.lp-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity .5s ease;
}
.lp-hero-slide.is-active { opacity: 1; visibility: visible; }

.lp-hero-media { position: absolute; inset: 0; }
.lp-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
  display: block;
}
.lp-hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, .12) 24%,
    rgba(0, 0, 0, .60) 40%,
    rgba(0, 0, 0, .94) 48%,
    #000 52%
  );
}

.lp-hero-body {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  text-align: right;
  padding: 0 clamp(24px, 4vw, 72px);
}
.lp-hero-eyebrow {
  font-family: var(--lp-font);
  font-size: clamp(15px, 1.5vw, 22px);
  font-weight: 700;
  color: var(--lp-white);
  margin: 0 0 6px;
}
.lp-hero-title {
  font-family: var(--lp-font);
  font-size: clamp(24px, 2.9vw, 42px);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: var(--lp-white);
  margin: 0;
  line-height: 1.2;
}
.lp-hero-rule {
  width: 64px;
  height: 3px;
  background: var(--lp-white);
  margin: 14px 0 6px;
}
.lp-hero-figure {
  font-family: var(--lp-font);
  font-size: clamp(56px, 8.2vw, 124px);
  font-weight: 900;
  letter-spacing: -0.035em;
  line-height: 1;
  color: var(--lp-cream);
  margin: 0;
}
.lp-hero-lead {
  font-family: var(--lp-font);
  font-size: clamp(14px, 1.3vw, 19px);
  font-weight: 500;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.76);
  margin: 18px 0 0;
  max-width: 40ch;
}
.lp-hero .lp-note { margin-top: 12px; }

/* 슬라이더 컨트롤 — 슬라이드 2장 이상일 때만 노출 */
.lp-hero-controls {
  position: absolute;
  z-index: 3;
  left: clamp(24px, 4vw, 72px);
  bottom: clamp(24px, 4vw, 56px);
  display: none;
  align-items: center;
  gap: 14px;
}
.lp-hero.has-slides .lp-hero-controls { display: flex; }
.lp-hero-arrow {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 0;
  background: rgba(255, 255, 255, 0.16);
  color: var(--lp-white);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background .15s ease;
}
.lp-hero-arrow:hover { background: rgba(255, 255, 255, 0.32); }
.lp-hero-count {
  font-family: var(--lp-font);
  font-size: 15px;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.04em;
}

/* --------------------------------------------------------------------------
   3. 숨김 없는 정찰제
   -------------------------------------------------------------------------- */
.lp-price-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  margin-top: 48px;
}
.lp-price-col {
  text-align: center;
  padding: 0 16px;
  border-left: 1px solid var(--lp-line);
}
.lp-price-col:first-child { border-left: 0; }
.lp-price-label {
  font-family: var(--lp-font);
  font-size: clamp(16px, 1.5vw, 21px);
  font-weight: 600;
  color: var(--lp-ink);
  margin: 0 0 10px;
}
.lp-price-value {
  font-family: var(--lp-font);
  font-size: clamp(38px, 5vw, 76px);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--lp-blue);
  margin: 0;
  white-space: nowrap;
}
.lp-price-value .lp-unit {
  font-size: 0.42em;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.lp-price-value .lp-from {
  font-size: 0.30em;
  font-weight: 700;
  color: var(--lp-body);
  margin-left: 2px;
}
.lp-price-value.is-text { font-size: clamp(26px, 3.2vw, 48px); }

/* --------------------------------------------------------------------------
   4. 9가지 솔루션 (다크)
   -------------------------------------------------------------------------- */
.lp-solutions { text-align: center; }
.lp-solutions-eyebrow {
  font-family: var(--lp-font);
  font-size: clamp(13px, 1.2vw, 17px);
  font-weight: 400;
  letter-spacing: 0.62em;
  text-indent: 0.62em;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 48px;
}
.lp-solutions .lp-h2 { margin-bottom: 56px; }
.lp-solutions .lp-h2 small {
  display: block;
  font-size: 0.62em;
  font-weight: 800;
  color: var(--lp-white);
  margin-bottom: 4px;
}
.lp-sol-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  text-align: left;
}
.lp-sol-card {
  background: rgba(255, 255, 255, 0.045);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 6px;
  padding: 24px 22px 26px;
  transition: background .15s ease, transform .15s ease;
}
.lp-sol-card:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-3px);
}
.lp-sol-n {
  font-family: var(--lp-font);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: var(--lp-cream);
  margin: 0 0 10px;
}
.lp-sol-t {
  font-family: var(--lp-font);
  font-size: clamp(16px, 1.4vw, 19px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--lp-white);
  margin: 0 0 8px;
}
.lp-sol-d {
  font-family: var(--lp-font);
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
}

/* --------------------------------------------------------------------------
   5. 성공사례 — 탕감율
   -------------------------------------------------------------------------- */
.lp-cases { text-align: center; }
.lp-cases-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 26px;
  color: var(--lp-ink);
}
.lp-cases-mark::before,
.lp-cases-mark::after {
  content: '';
  height: 1px;
  width: min(300px, 26vw);
  background: linear-gradient(90deg, transparent, var(--lp-line), transparent);
}
.lp-case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 52px;
  text-align: left;
}
.lp-case-card {
  background: var(--lp-card-dark);
  border-radius: 8px;
  overflow: hidden;
}
.lp-case-doc {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 609 / 557;
  object-fit: cover;
  object-position: top center;
}
.lp-case-stats { padding: 22px 24px 24px; }
.lp-case-stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.lp-case-stat + .lp-case-stat { margin-top: 12px; }
.lp-case-stat dt {
  font-family: var(--lp-font);
  font-size: clamp(15px, 1.3vw, 19px);
  font-weight: 800;
  color: var(--lp-white);
  margin: 0;
}
.lp-case-stat dd {
  font-family: var(--lp-font);
  font-size: clamp(19px, 1.8vw, 27px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--lp-cream);
  margin: 0;
  white-space: nowrap;
}

/* 탕감율 블록 */
.lp-rate {
  background: linear-gradient(180deg, #1B1B1B 0%, var(--lp-card-dark) 55%);
  border-radius: 8px;
  padding: 30px 26px 32px;
  margin-top: 12px;
}
.lp-rate-head {
  font-family: var(--lp-font);
  font-size: clamp(24px, 2.4vw, 36px);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--lp-white);
  text-align: center;
  margin: 0 0 26px;
}
.lp-rate-head em { font-style: normal; color: var(--lp-cream); }
.lp-rate-head.is-all { color: var(--lp-cream); }
.lp-rate-row {
  display: grid;
  grid-template-columns: 96px 1fr;
  align-items: center;
  gap: 12px;
}
.lp-rate-row + .lp-rate-row { margin-top: 12px; }
.lp-rate-tag {
  font-family: var(--lp-font);
  font-size: 15px;
  font-weight: 800;
  text-align: center;
  border-radius: 999px;
  padding: 8px 0;
}
.lp-rate-before .lp-rate-tag {
  background: linear-gradient(180deg, #E9E9EA, #BFBFC2);
  color: #5C5C60;
}
.lp-rate-after .lp-rate-tag {
  background: var(--lp-blue);
  color: var(--lp-white);
}
.lp-rate-bar {
  font-family: var(--lp-font);
  font-size: clamp(15px, 1.4vw, 20px);
  font-weight: 800;
  text-align: right;
  border-radius: 6px;
  padding: 9px 16px;
  white-space: nowrap;
}
.lp-rate-before .lp-rate-bar {
  background: linear-gradient(90deg, #C9C9CC, #EDEDEF);
  color: #4E4E52;
}
.lp-rate-after .lp-rate-bar {
  background: var(--lp-white);
  color: var(--lp-blue);
  border-left: 10px solid var(--lp-blue);
}

/* 해시태그 */
.lp-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.lp-tags li {
  list-style: none;
  font-family: var(--lp-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--lp-ink);
  border: 1px solid var(--lp-line);
  border-radius: 999px;
  padding: 7px 15px;
  background: var(--lp-white);
}

/* --------------------------------------------------------------------------
   6. 배정원 배너
   -------------------------------------------------------------------------- */
.lp-expert {
  background: var(--lp-black);
  color: var(--lp-white);
  overflow: hidden;
}
.lp-expert-inner {
  max-width: 1500px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: 24px;
}
.lp-expert-body { padding: 72px 24px 72px 48px; }
.lp-expert-title {
  font-family: var(--lp-font);
  font-size: clamp(30px, 3.4vw, 52px);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: -0.035em;
  margin: 0 0 24px;
  color: var(--lp-white);
}
.lp-expert-title em { font-style: normal; color: var(--lp-cream); }
.lp-expert-lead {
  font-family: var(--lp-font);
  font-size: clamp(15px, 1.4vw, 19px);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
  margin: 0 0 32px;
}
.lp-expert-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 190px));
  gap: 16px;
}
.lp-expert-badge {
  background: linear-gradient(180deg, #E8EEFB, #C9D8F3);
  border-radius: 10px;
  padding: 22px 18px;
  text-align: center;
  color: var(--lp-ink);
}
.lp-expert-badge svg { color: var(--lp-blue); }
.lp-expert-badge-t {
  font-family: var(--lp-font);
  font-size: 14px;
  font-weight: 600;
  margin: 12px 0 6px;
}
.lp-expert-badge-v {
  font-family: var(--lp-font);
  font-size: clamp(17px, 1.6vw, 21px);
  font-weight: 800;
  color: var(--lp-blue);
  margin: 0;
}
.lp-expert-photo { align-self: stretch; }
.lp-expert-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* --------------------------------------------------------------------------
   7. 회생 vs 파산
   -------------------------------------------------------------------------- */
.lp-compare { text-align: center; }
.lp-compare-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 44px;
  text-align: left;
}
.lp-compare-card {
  background: var(--lp-white);
  border: 1px solid var(--lp-line);
  border-radius: 10px;
  padding: 30px 32px 32px;
}
.lp-compare-chip {
  display: inline-block;
  font-family: var(--lp-font);
  font-size: 13px;
  font-weight: 700;
  color: var(--lp-body);
  background: var(--lp-surface);
  border-radius: 999px;
  padding: 6px 14px;
  margin-bottom: 14px;
}
.lp-compare-card h3 {
  font-family: var(--lp-font);
  font-size: clamp(22px, 2.2vw, 31px);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--lp-ink);
  margin: 0 0 10px;
}
.lp-compare-card p {
  font-family: var(--lp-font);
  font-size: 16px;
  line-height: 1.65;
  color: var(--lp-body);
  margin: 0;
}

/* --------------------------------------------------------------------------
   7-1. 1분 예비진단 진입 (→ /diagnosis/)
   -------------------------------------------------------------------------- */
.lp-diag-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  gap: clamp(24px, 4vw, 56px);
  align-items: center;
  background: var(--lp-dark);
  border-radius: 14px;
  padding: clamp(32px, 4vw, 56px);
  color: var(--lp-white);
}
.lp-diag-card .lp-kicker { color: var(--lp-cream); }
.lp-diag-card .lp-h2 { color: var(--lp-white); }
.lp-diag-card .lp-sub { color: rgba(255, 255, 255, 0.68); }
.lp-diag-card .lp-note { color: rgba(255, 255, 255, 0.40); }

.lp-diag-points {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lp-diag-points li {
  font-family: var(--lp-font);
  font-size: 14px;
  font-weight: 600;
  color: var(--lp-cream);
  background: rgba(255, 230, 186, 0.10);
  border: 1px solid rgba(255, 230, 186, 0.22);
  border-radius: 999px;
  padding: 8px 14px;
}

.lp-diag-cta { display: grid; gap: 12px; margin-top: 28px; max-width: 320px; }
.lp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  border-radius: 8px;
  font-family: var(--lp-font);
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid transparent;
  transition: transform .15s ease, background .15s ease;
}
.lp-btn:hover { transform: translateY(-2px); }
/* 새 탭으로 열리는 버튼 — 외부열기 아이콘 + 스크린리더 안내 */
.lp-btn-ext { display: inline-flex; margin-left: 8px; opacity: .8; }
.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-btn-primary { background: var(--lp-blue); color: var(--lp-white); }
.lp-btn-primary:hover { background: #1b3cff; color: var(--lp-white); }
.lp-btn-ghost {
  background: transparent;
  color: var(--lp-white);
  border-color: rgba(255, 255, 255, 0.28);
}
.lp-btn-ghost:hover { background: rgba(255, 255, 255, 0.08); color: var(--lp-white); }

/* 진단서 미리보기 — 실제 「개인회생 예비진단서」 조판을 축소 재현.
   숫자는 tabular-nums 모노, 괘선은 2px 실선 + 1px 헤어라인. */
.lp-doc {
  background: var(--lp-white);
  color: var(--lp-ink);
  padding: 26px 24px 0;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .40);
  position: relative;
  overflow: hidden;
  font-family: var(--lp-font);
}
.lp-doc-num,
.lp-doc .v,
.lp-doc-basis dd {
  font-family: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.02em;
}

.lp-doc-ident {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  font-size: 10.5px; color: var(--lp-muted); letter-spacing: .02em;
}
.lp-doc-badge {
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  padding: 3px 7px; border: 1px solid var(--lp-blue);
  color: var(--lp-blue); background: var(--lp-blue-050);
}
.lp-doc-title {
  margin: 12px 0 2px; font-size: 21px; font-weight: 800;
  letter-spacing: -.03em; color: var(--lp-ink);
}
.lp-doc-meta {
  margin: 0 0 14px; font-size: 11.5px; color: var(--lp-muted);
  padding-bottom: 14px; border-bottom: 2px solid var(--lp-ink);
}

.lp-doc-verdict { margin-bottom: 18px; }
.lp-doc-kicker {
  font-size: 10.5px; font-weight: 700; letter-spacing: .13em;
  color: var(--lp-blue);
}
.lp-doc-head {
  margin: 7px 0 0; font-size: 20px; font-weight: 800;
  line-height: 1.32; letter-spacing: -.03em; color: var(--lp-ink);
}

/* 수치 4칸 — 2px 프레임 + 1px 헤어라인 그리드 */
.lp-doc-figs {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: 1px; background: rgba(17, 17, 17, .14);
  border: 2px solid var(--lp-ink);
}
.lp-doc-figs > div { background: var(--lp-white); padding: 12px 12px 13px; }
.lp-doc-figs .k {
  display: block; font-size: 10px; font-weight: 700;
  letter-spacing: .06em; color: var(--lp-muted);
}
.lp-doc-figs .v {
  display: block; margin-top: 5px; font-size: 19px;
  font-weight: 700; color: var(--lp-ink);
}
.lp-doc-figs .v small { font-size: 11px; font-weight: 500; margin-left: 1px; letter-spacing: 0; }
.lp-doc-figs .n { display: block; margin-top: 3px; font-size: 10.5px; color: var(--lp-muted); }
.lp-doc-figs .is-cut .v { color: var(--lp-blue); }

.lp-doc-lb {
  margin: 22px 0 7px; font-size: 10.5px; font-weight: 700;
  letter-spacing: .13em; color: var(--lp-muted);
}
.lp-doc-basis { margin: 0; padding: 0; border: 2px solid var(--lp-ink); }
.lp-doc-basis > div {
  display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
  padding: 9px 12px; border-bottom: 1px solid rgba(17, 17, 17, .14);
}
.lp-doc-basis > div:last-child { border-bottom: 0; }
.lp-doc-basis > div.is-key { background: var(--lp-surface); }
.lp-doc-basis dt { margin: 0; font-size: 12px; color: var(--lp-body); }
.lp-doc-basis dt i {
  display: block; font-style: normal; font-size: 10.5px;
  color: var(--lp-muted); margin-top: 1px; line-height: 1.45;
}
.lp-doc-basis dd {
  margin: 0; font-size: 13px; font-weight: 700;
  color: var(--lp-ink); white-space: nowrap;
}

/* 문서가 이어진다는 신호 — 아래로 페이드아웃 */
.lp-doc-more {
  display: block; position: relative; z-index: 1;
  font-size: 10.5px; color: var(--lp-muted);
  padding: 15px 0 22px; text-align: center;
}
.lp-doc::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,0), var(--lp-white) 85%);
  pointer-events: none;
}

/* --------------------------------------------------------------------------
   8. 제휴 로고
   -------------------------------------------------------------------------- */
.lp-partners {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: clamp(20px, 3.2vw, 46px);
}
.lp-partners img {
  height: 44px;
  width: auto;
  filter: grayscale(1);
  opacity: .62;
}

/* --------------------------------------------------------------------------
   10. 반응형
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .lp-sec { padding: 72px 24px; }
  .lp-sec-tight { padding: 52px 24px; }
  .lp-sol-grid,
  .lp-case-grid { grid-template-columns: repeat(2, 1fr); }
  .lp-expert-inner { grid-template-columns: 1fr; }
  .lp-diag-card { grid-template-columns: 1fr; }
  .lp-expert-body { padding: 56px 24px 8px; }
  .lp-expert-photo img { height: auto; }
}

@media (max-width: 760px) {
  /* 히어로: 사진 위 글자 대신 사진 아래 텍스트로 분리 */
  .lp-hero { aspect-ratio: auto; min-height: 0; }
  .lp-hero-track { position: static; }
  .lp-hero-slide { position: static; display: none; }
  .lp-hero-slide.is-active { display: block; }
  .lp-hero-media { position: relative; aspect-ratio: 16 / 10; }
  /* 세로로 긴 결정문(845x996)을 16:10 에 cover 로 담으면 세로 47% 가 잘린다.
     center 면 위아래로 23.5% 씩 깎여 상단의 "대리인 법무법인 프런티어" 줄이 사라진다.
     위쪽을 더 남겨 로펌명과 주문을 함께 보이게 한다. 폭이 달라져도 잘리는 비율은 같다. */
  .lp-hero-media img { object-fit: cover; object-position: left 25%; }
  .lp-hero-media::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .55) 100%);
  }
  .lp-hero-body {
    height: auto;
    align-items: flex-start;
    text-align: left;
    padding: 28px 24px 34px;
  }
  .lp-hero-lead { max-width: none; }
  .lp-hero-controls { position: static; margin: 0 24px 28px; }

  .lp-sec { padding: 56px 20px; }
  .lp-sec-tight { padding: 44px 20px; }

  .lp-price-row { grid-template-columns: 1fr; gap: 28px; }
  .lp-price-col { border-left: 0; padding: 0; }
  .lp-price-col + .lp-price-col { border-top: 1px solid var(--lp-line); padding-top: 28px; }

  .lp-sol-grid,
  .lp-case-grid,
  .lp-compare-grid { grid-template-columns: 1fr; }

  .lp-cases-mark::before,
  .lp-cases-mark::after { width: 56px; }

  .lp-expert-badges { grid-template-columns: repeat(2, 1fr); }
  .lp-diag-cta .lp-btn { width: 100%; }
  .lp-partners img { height: 34px; }
}

/* 플로팅 상담버튼(52px + right:24px) 회피 — design-geopyeong.css 의
   .fl-section 규칙과 같은 목적. 이 파일이 뒤에 로드되므로 여기서 지정한다. */
@media (min-width: 1280px) {
  .lp-sec { padding-left: 88px; padding-right: 88px; }
}
