/* 생성물 — 직접 수정 금지. 원본 = landings/sprint/sprint.src.css · 도구 = tools/scope-css.mjs (v5 §8-2) */
.lp-sprint{--ink-1:#0f172a;--brand-500:#f97316}
.lp-sprint{display:block;overflow-x:clip}
.lp-sprint :where(h1,h2,h3,h4,h5,h6){font-size:revert;font-weight:revert}
.lp-sprint :where(ul,ol){list-style:revert}
.lp-sprint :where(svg,video){display:revert}
.lp-sprint {
  --brand: #f97316;
  --brand-600: #ea580c;
  --brand-700: #c2410c;
  --brand-50: #fff7ed;
  --brand-100: #ffedd5;
  --ink: #0f172a;
  --ink-2: #1f2937;
  --ink-3: #334155;
  --muted: #64748b;
  --muted-2: #94a3b8;
  --line: #e2e8f0;
  --bg: #ffffff;
  --bg-soft: #fafaf9;
  --success: #16a34a;
}
:where(.lp-sprint, .lp-sprint *) { box-sizing: border-box; margin: 0; padding: 0; }
.lp-sprint { overflow-x: clip; }
.lp-sprint {
  font-family: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  background: var(--bg);
  color: var(--ink);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "ss06";
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
  overflow-x: clip;
  max-width: 100vw;
}
.lp-sprint h1, .lp-sprint h2, .lp-sprint h3, .lp-sprint h4, .lp-sprint h5, .lp-sprint h6, .lp-sprint p, .lp-sprint li, .lp-sprint summary, .lp-sprint span, .lp-sprint div, .lp-sprint a, .lp-sprint button {
  word-break: keep-all;
  overflow-wrap: break-word;
}
.lp-sprint .nb { white-space: nowrap; }
.lp-sprint img { max-width: 100%; display: block; }
.lp-sprint a { color: inherit; text-decoration: none; }
.lp-sprint .wrap { max-width: 1100px; margin: 0 auto; padding: 0 24px; }

/* Sticky banner */
.lp-sprint .ticker {
  background: #0f172a;
  color: #fff;
  text-align: center;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.01em;
}
.lp-sprint .ticker b { color: #fbbf24; }

/* Header */
.lp-sprint header .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
}

/* Buttons */
.lp-sprint .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 800;
  cursor: pointer;
  border: none;
  transition: all .2s ease;
  text-decoration: none;
  letter-spacing: -.01em;
}
.lp-sprint .btn-primary {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 20px -8px rgba(249,115,22,.6), 0 2px 4px rgba(249,115,22,.1);
}
.lp-sprint .btn-primary:hover {
  background: var(--brand-600);
  transform: translateY(-1px);
  box-shadow: 0 10px 30px -8px rgba(249,115,22,.7);
}
.lp-sprint .btn-primary.xl {
  padding: 22px 44px;
  font-size: 20px;
  border-radius: 18px;
}
.lp-sprint .btn-secondary {
  background: #fff;
  color: var(--ink);
  border: 1.5px solid var(--line);
}
.lp-sprint .btn-secondary:hover { border-color: var(--brand); color: var(--brand-600); }

/* Hero */
.lp-sprint .hero {
  padding: 64px 0 80px;
  background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
  position: relative;
  overflow: hidden;
}
.lp-sprint .hero .wrap { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 56px; align-items: center; }
.lp-sprint .hero .kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid #fed7aa;
  color: var(--brand-700);
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 2px 8px rgba(249,115,22,.08);
}
.lp-sprint .hero h1 {
  margin-top: 20px;
  font-size: 66px;
  line-height: 1.05;
  letter-spacing: -0.035em;
  font-weight: 900;
  word-break: keep-all;
  color: var(--ink);
}
.lp-sprint .hero h1 .accent {
  color: var(--brand);
  background: linear-gradient(180deg, transparent 72%, #fed7aa 72%);
}
.lp-sprint .hero p.lead {
  margin-top: 28px;
  font-size: 21px;
  line-height: 1.55;
  color: var(--ink-3);
  font-weight: 500;
}
.lp-sprint .hero .cta-row {
  margin-top: 36px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.lp-sprint .hero .proof {
  margin-top: 20px;
  font-size: 14px;
  color: var(--muted);
  font-weight: 600;
}
.lp-sprint .hero .proof span { color: var(--success); }
.lp-sprint .hero .img {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(15,23,42,.2);
  border: 1px solid var(--line);
  aspect-ratio: 4 / 3;
}
.lp-sprint .hero .img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* Today's Build (강사 데모 = 오늘 만들 사이트, 2026-05-19 신설) */

/* Logo strip */

/* Sections */
.lp-sprint section { padding: 96px 0; }
.lp-sprint section h2 {
  font-size: 52px;
  line-height: 1.1;
  letter-spacing: -0.03em;
  font-weight: 900;
  color: var(--ink);
  text-align: center;
}
.lp-sprint section h2 .accent { color: var(--brand); }
.lp-sprint section .subhead {
  font-size: 20px;
  color: var(--muted);
  text-align: center;
  margin-top: 16px;
  font-weight: 500;
}

/* Pain section */
.lp-sprint .pain { background: #0f172a; color: #fff; }
.lp-sprint .pain h2 { color: #fff; }
.lp-sprint .pain .subhead { color: #94a3b8; }
.lp-sprint .pain-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-sprint .pain-card {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: 20px;
  padding: 32px;
}
.lp-sprint .pain-card .q { font-size: 18px; font-weight: 800; color: #fbbf24; margin-bottom: 12px; }
.lp-sprint .pain-card p { font-size: 16px; color: #cbd5e1; line-height: 1.65; }

/* Promise */
.lp-sprint .promise .big {
  margin: 48px auto 0;
  max-width: 900px;
  text-align: center;
  font-size: 38px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: -.025em;
  color: var(--ink);
}
.lp-sprint .promise .big .hl { background: #fef3c7; padding: 2px 8px; border-radius: 6px; }

/* Buyer Questions (구매 직전 의문 2가지 — 2026-05-20 신설) */

/* Curriculum timeline */
.lp-sprint .cur {
  background: var(--bg-soft);
}
.lp-sprint .cur-timeline {
  margin-top: 56px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint .cur-row {
  display: grid;
  grid-template-columns: 140px 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  margin-bottom: 12px;
  transition: all .2s ease;
}
.lp-sprint .cur-row:hover {
  transform: translateX(4px);
  border-color: var(--brand);
  box-shadow: 0 10px 30px -15px rgba(249,115,22,.3);
}
.lp-sprint .cur-row .time {
  font-family: 'SF Mono', Menlo, monospace;
  font-size: 14px;
  font-weight: 800;
  color: var(--brand-600);
}
.lp-sprint .cur-row .content h4 { font-size: 19px; font-weight: 800; margin-bottom: 4px; }
.lp-sprint .cur-row .content p { font-size: 15px; color: var(--muted); }
.lp-sprint .cur-row .tag {
  background: #fef3c7;
  color: #b45309;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}
.lp-sprint .cur-row.fire { border-color: var(--brand); background: var(--brand-50); }
.lp-sprint .cur-row.fire .tag { background: var(--brand); color: #fff; }

/* 4모듈 · 페이스 선택 (2026-07-17 [[2026-07-17-cohort-timeslot-3track]]) */
.lp-sprint .cur-lede { max-width: 760px; margin: 14px auto 0; font-size: 16px; color: var(--muted); line-height: 1.7; text-align: center; }
.lp-sprint .cur-pace-toggle { display: flex; gap: 12px; max-width: 720px; margin: 32px auto 0; justify-content: center; flex-wrap: wrap; }
.lp-sprint .cur-pace { flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; text-align: left; padding: 16px 20px; background: #fff; border: 1.5px solid var(--line); border-radius: 14px; cursor: pointer; transition: all .16s ease; font-family: inherit; }
.lp-sprint .cur-pace:hover { border-color: var(--brand); }
.lp-sprint .cur-pace b { font-size: 17px; font-weight: 800; color: var(--ink); }
.lp-sprint .cur-pace span { font-size: 13px; color: var(--muted); font-weight: 600; }
.lp-sprint .cur-pace.on { border-color: var(--brand); background: var(--brand-50); box-shadow: 0 8px 24px -14px rgba(249,115,22,.5); }
.lp-sprint .cur-pace.on b { color: var(--brand-700); }
.lp-sprint .cur-pace-note { max-width: 720px; margin: 16px auto 0; text-align: center; font-size: 14px; color: var(--ink-2); font-weight: 600; }
.lp-sprint .cur-phases { margin: 34px auto 0; max-width: 960px; display: flex; flex-direction: column; gap: 22px; animation: curSwap .4s cubic-bezier(.22,.61,.36,1) both; }
@keyframes curSwap { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.lp-sprint .cur-phase { border: 1px dashed var(--line); border-radius: 20px; padding: 16px 16px 18px; }
.lp-sprint .cur-phase-head { display: flex; align-items: center; gap: 10px; margin: 0 4px 14px; }
.lp-sprint .cur-phase-label { background: var(--brand); color: #fff; font-size: 13px; font-weight: 800; padding: 5px 14px; border-radius: 999px; letter-spacing: .01em; }
.lp-sprint .cur-phase-time { font-size: 13px; font-weight: 700; color: var(--muted); }
.lp-sprint .cur-phase-mods { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.lp-sprint .cur-mod { background: #fff; border: 1.5px solid var(--line); border-radius: 18px; padding: 22px 24px; transition: border-color .2s ease, box-shadow .2s ease; }
.lp-sprint .cur-mod:hover { border-color: var(--brand); box-shadow: 0 12px 32px -18px rgba(249,115,22,.35); }
.lp-sprint .cur-mod.core { border-color: var(--brand); background: var(--brand-50); }
.lp-sprint .cur-mod-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.lp-sprint .cur-mod-core { flex: 0 0 auto; background: var(--brand); color: #fff; font-size: 11px; font-weight: 800; padding: 3px 10px; border-radius: 999px; letter-spacing: .04em; }
.lp-sprint .cur-mod-name { font-size: 18px; font-weight: 800; color: var(--ink); margin: 0; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lp-sprint .cur-mod-id { font-size: 13px; font-weight: 900; color: var(--brand); background: #fff; border: 1.5px solid var(--brand); border-radius: 8px; padding: 2px 8px; }
.lp-sprint .cur-mod-parts { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lp-sprint .cur-mod-parts li { position: relative; padding-left: 20px; font-size: 14.5px; color: var(--ink-2); line-height: 1.5; }
.lp-sprint .cur-mod-parts li::before { content: ''; position: absolute; left: 4px; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--brand); }
.lp-sprint .cur-mod-build { margin: 0; font-size: 13.5px; font-weight: 700; color: var(--brand-700); line-height: 1.5; }
@media (max-width: 720px) { .lp-sprint .cur-phase-mods { grid-template-columns: 1fr; } .lp-sprint .cur-pace { min-width: 0; } }
@media (prefers-reduced-motion: reduce) { .lp-sprint .cur-phases { animation: none; } }

/* Differentiators */
.lp-sprint .diff-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.lp-sprint .diff-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 24px;
  padding: 40px 32px;
  transition: all .2s ease;
}
.lp-sprint .diff-card:hover {
  transform: translateY(-4px);
  border-color: var(--brand);
  box-shadow: 0 20px 40px -16px rgba(249,115,22,.2);
}
.lp-sprint .diff-card .icon {
  font-size: 40px;
  margin-bottom: 16px;
}
.lp-sprint .diff-card h3 {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 12px;
  letter-spacing: -.02em;
}
.lp-sprint .diff-card p { font-size: 16px; color: var(--ink-3); }

/* Instructors */
.lp-sprint .inst {
  background: var(--bg-soft);
}
.lp-sprint .inst-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
.lp-sprint .inst-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.lp-sprint .inst-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
}
.lp-sprint .inst-card-aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  margin-bottom: 22px;
}
.lp-sprint .inst-card-body {
  display: flex;
  flex-direction: column;
}

/* KPI 좌우 2개 */
.lp-sprint .inst-kpis {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  width: 100%;
  margin-top: 6px;
}
.lp-sprint .inst-kpi {
  background: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);
  border: 1.5px solid #fed7aa;
  border-radius: 16px;
  padding: 18px 16px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-decoration: none;
  cursor: pointer;
  font: inherit;
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.lp-sprint button.inst-kpi { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.lp-sprint .inst-kpi:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(249, 115, 22, .18);
  border-color: var(--brand);
}
.lp-sprint .inst-kpi-value {
  font-size: 26px;
  font-weight: 900;
  color: var(--ink-1, #111827);
  letter-spacing: -0.02em;
  line-height: 1.1;
}
.lp-sprint .inst-kpi-sub {
  font-size: 13px;
  font-weight: 700;
  color: var(--brand-700, #c2410c);
  letter-spacing: .01em;
  line-height: 1.35;
}

/* 동그란 프로필 사진 (카드 상단 중앙) */
.lp-sprint .inst-portrait {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 25%;
  border: 4px solid #fff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, .12);
}
.lp-sprint .inst-name-block {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.lp-sprint .inst-role {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand-600);
}
.lp-sprint .inst-name {
  font-size: 28px;
  font-weight: 900;
  color: var(--ink-1, #111827);
  letter-spacing: -0.02em;
  margin: 0;
  line-height: 1.1;
}

/* 헤드라인 = 2줄 분리 */
.lp-sprint .inst-headline {
  margin: 14px 0 14px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: var(--ink-1, #111827);
  text-align: center;
}
.lp-sprint .inst-headline-l1 {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-3, #4b5563);
}
.lp-sprint .inst-headline-l2 {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 900;
}
.lp-sprint .inst-headline em.accent {
  font-style: normal;
  color: var(--brand);
  font-weight: 900;
}
.lp-sprint .inst-intro {
  font-size: 14px;
  line-height: 1.7;
  color: var(--ink-2, #374151);
  margin: 0 0 24px;
}

.lp-sprint .inst-bio-label {
  font-size: 12px;
  font-weight: 800;
  color: var(--ink-2, #374151);
  margin-bottom: 10px;
  letter-spacing: -0.005em;
}
.lp-sprint .inst-bio {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}
.lp-sprint .inst-bio li {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-3, #4b5563);
  padding: 4px 0 4px 16px;
  text-align: left;
  position: relative;
}
.lp-sprint .inst-bio li::before {
  content: "·";
  position: absolute;
  left: 4px;
  top: 4px;
  color: var(--brand);
  font-weight: 900;
  font-size: 16px;
  line-height: 1.55;
}
.lp-sprint .inst-bio-trigger,
.lp-sprint .inst-bio li a {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: 0;
  padding: 0;
  font: inherit;
  color: var(--brand-700, #c2410c);
  text-align: left;
  width: 100%;
  cursor: pointer;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
}
.lp-sprint .inst-bio-text {
  flex: 1;
}
.lp-sprint .inst-bio-arrow {
  flex-shrink: 0;
  color: var(--brand, #f97316);
  font-weight: 900;
  font-size: 13px;
}
.lp-sprint .inst-bio-trigger:hover,
.lp-sprint .inst-bio li a:hover {
  color: var(--brand);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lp-sprint .inst-bio li:has(.inst-bio-trigger)::before,
.lp-sprint .inst-bio li:has(a)::before {
  color: var(--brand);
}

@media (max-width: 900px) {
  .lp-sprint .inst-grid { grid-template-columns: 1fr; gap: 24px; }
  .lp-sprint .inst-card { padding: 28px; }
  .lp-sprint .inst-portrait { width: 140px; height: 140px; }
  .lp-sprint .inst-name { font-size: 26px; }
  .lp-sprint .inst-headline-l2 { font-size: 18px; }
}
@media (max-width: 480px) {
  .lp-sprint .inst-kpis { grid-template-columns: 1fr; }
  .lp-sprint .inst-portrait { width: 120px; height: 120px; }
}

/* MediaModal */
.media-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(0, 0, 0, .85);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  animation: mm-fade .18s ease-out;
}
.media-modal-panel {
  position: relative;
  max-width: 1100px;
  width: 100%;
  max-height: 90vh;
  background: #fff;
  border-radius: 20px;
  padding: 36px 28px 28px;
  overflow-y: auto;
  animation: mm-pop .22s ease-out;
}
.media-modal-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 0;
  background: #f3f4f6;
  color: #111827;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.media-modal-close:hover { background: #e5e7eb; }
.media-modal-grid {
  display: grid;
  gap: 16px;
}
.media-modal-grid[data-count="1"] { grid-template-columns: 1fr; }
.media-modal-grid[data-count="2"] { grid-template-columns: 1fr 1fr; }
.media-modal-grid img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--line);
}
.media-modal-caption {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px dashed var(--line);
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-2, #374151);
  text-align: center;
}
@media (max-width: 720px) {
  .media-modal-grid[data-count="2"] { grid-template-columns: 1fr; }
  .media-modal-panel { padding: 36px 20px 20px; }
}
@keyframes mm-fade {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes mm-pop {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}
.lp-sprint .inst-card h3 { font-size: 24px; font-weight: 900; margin-top: 6px; }
.lp-sprint .inst-card p { font-size: 14px; color: var(--ink-3); margin-top: 12px; }

/* Stats */

/* Beta-1 Proof (v2 — 2026-05-18 신설, docs/plans/2026-05-18-beta-1-proof-design.md) */
.lp-sprint .beta-proof {
  background: var(--bg);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.lp-sprint .beta-proof h2 { text-align: center; }
.lp-sprint .beta-proof .subhead { text-align: center; color: var(--muted); }
.lp-sprint .beta-photos {
  margin-top: 40px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.lp-sprint .beta-photo {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--line);
  background: #fff;
  aspect-ratio: 4 / 3;
}
.lp-sprint .beta-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-sprint .beta-metrics {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-sprint .beta-metrics .metric {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 32px 24px;
  text-align: center;
}
.lp-sprint .beta-metrics .metric-num {
  font-size: 48px;
  font-weight: 800;
  color: var(--brand-600);
  line-height: 1;
  margin-bottom: 8px;
}
.lp-sprint .beta-metrics .metric-label {
  font-size: 14px;
  color: var(--ink-3);
  font-weight: 600;
}
.lp-sprint .beta-quote {
  margin-top: 28px;
  padding: 24px 28px;
  background: var(--brand-50);
  border-left: 4px solid var(--brand-600);
  border-radius: 0 12px 12px 0;
}
.lp-sprint .beta-quote p {
  font-size: 16px;
  color: var(--ink-2);
  line-height: 1.6;
  font-style: italic;
  margin: 0;
}
.lp-sprint .beta-quote cite {
  display: block;
  margin-top: 12px;
  font-size: 13px;
  color: var(--muted);
  font-style: normal;
  font-weight: 600;
}
@media (max-width: 768px) {
  .lp-sprint .beta-photos { grid-template-columns: 1fr; }
  .lp-sprint .beta-metrics { grid-template-columns: 1fr; }
  /* nb (nowrap) 모바일에서 풀어주기 — viewport overflow 방지 */
  .lp-sprint .nb { white-space: normal; }
  /* hero 영역 모바일 reset */
  .lp-sprint .hero { padding: 40px 0 56px; }
  .lp-sprint .hero .wrap { grid-template-columns: 1fr; gap: 32px; }
  .lp-sprint .hero h1 { font-size: 40px; margin-top: 16px; }
  .lp-sprint .hero .kicker { font-size: 12px; padding: 6px 12px; flex-wrap: wrap; line-height: 1.4; }
  .lp-sprint .hero p.lead { font-size: 17px; margin-top: 20px; }
  .lp-sprint .hero .cta-row { margin-top: 24px; }
  .lp-sprint .hero .proof { font-size: 13px; line-height: 1.5; }
  .lp-sprint .btn-primary.xl { padding: 16px 24px; font-size: 16px; border-radius: 14px; }
  .lp-sprint .btn { font-size: 14px; padding: 12px 20px; }
  .lp-sprint .wrap { padding: 0 20px; }
  /* ticker / header 모바일 reset */
  .lp-sprint .ticker { font-size: 11px; padding: 8px 12px; line-height: 1.5; }
  .lp-sprint header .wrap { padding: 12px 16px; gap: 10px; }
  .lp-sprint header .btn { font-size: 12px; padding: 8px 14px; white-space: nowrap; }
  /* 컨텐츠가 viewport 밖으로 나가는 일반 가드 */
  .lp-sprint section, .lp-sprint .card { max-width: 100%; }
  .lp-sprint img, .lp-sprint video, .lp-sprint iframe { max-width: 100%; height: auto; }
}
@media (max-width: 480px) {
  /* hero h1 줄 단위는 강제 nowrap 유지 — "SaaS(구독제 웹사이트)를." 두 줄 깨짐 방지. ≤480 부터 동적 축소 */
  .lp-sprint .hero h1 { font-size: clamp(18px, 7vw, 32px); line-height: 1.2; letter-spacing: -0.025em; }
  .lp-sprint .hero h1 .nb { white-space: nowrap; }
  .lp-sprint .hero p.lead { font-size: 15px; }
  .lp-sprint .hero .kicker { font-size: 11px; }
  .lp-sprint .btn-primary.xl { padding: 14px 18px; font-size: 14px; }
  .lp-sprint .wrap { padding: 0 16px; }
}

/* Showcase */
.lp-sprint .showcase { background: var(--bg-soft); }

/* Pricing */

/* /test 페이지 — 테스트 회차 카드 */

/* Cohort grid (PRICING 섹션 안의 3 회차 선택 카드) */

/* Apply CTA (가격 카드 내부의 신청하기 버튼 — 모달 트리거) */

/* 회차 선택 Modal */
@keyframes cohortModalIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes cohortPanelIn {
  from { opacity: 0; transform: translateY(12px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
/* sticky 닫기 버튼 + 제목 영역 — 스크롤 중에도 항상 보임 */

/* Guarantee */
.lp-sprint .guarantee {
  background: #0f172a;
  color: #fff;
  text-align: center;
}
.lp-sprint .guarantee h2 { color: #fff; }
.lp-sprint .guarantee .shield {
  display: inline-flex;
  width: 80px;
  height: 80px;
  background: var(--brand);
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  margin-bottom: 24px;
}
.lp-sprint .guarantee p.lead {
  font-size: 20px;
  color: #cbd5e1;
  max-width: 700px;
  margin: 24px auto 0;
  line-height: 1.6;
}

/* FAQ */
.lp-sprint details.faq {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px 24px;
  margin-bottom: 10px;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint details.faq[open] { border-color: var(--brand); }
.lp-sprint details.faq summary {
  font-size: 17px;
  font-weight: 800;
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.lp-sprint details.faq summary::after {
  content: "+";
  font-size: 24px;
  font-weight: 300;
  color: var(--brand);
  transition: transform .2s;
}
.lp-sprint details.faq[open] summary::after { transform: rotate(45deg); }
.lp-sprint details.faq p {
  margin-top: 0;
  font-size: 15px;
  color: var(--ink-3);
  line-height: 1.7;
}
.lp-sprint details.faq .faq-body {
  margin-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lp-sprint details.faq .faq-body p {
  margin: 0;
  padding-left: 14px;
  border-left: 3px solid var(--line);
}
.lp-sprint details.faq .faq-body p:first-child {
  border-left-color: var(--brand);
  color: var(--ink-2, #374151);
  font-weight: 600;
}

/* Final CTA */

/* Footer */
.lp-sprint footer {
  background: #0a0a0a;
  color: #94a3b8;
  padding: 40px 0;
  font-size: 13px;
  text-align: center;
}
.lp-sprint footer p { margin: 4px 0; }
.lp-sprint footer a { color: #cbd5e1; text-decoration: underline; display: inline-block; padding: 14px 6px; }

/* Responsive */
@media (max-width: 900px) {
  /* hero wrap padding — 좌우 약간 여백 (≤900 12px) */
  .lp-sprint .hero .wrap { grid-template-columns: 1fr; gap: 32px; padding: 0 12px; }
  /* clamp fluid 단일 — 320~620 영역 동적 (9vw), 620+ max 56px. letter-spacing -0.035 로 글자 압축. padding 12 고려해 vw 9 로 안전 */
  .lp-sprint .hero h1 { font-size: clamp(22px, 9vw, 56px); letter-spacing: -0.035em; line-height: 1.18; }
  .lp-sprint .hero h1 .nb { white-space: nowrap; }
  .lp-sprint section h2 { font-size: 36px; }
  .lp-sprint .pain-grid,
  .lp-sprint .diff-grid { grid-template-columns: 1fr; }
  .lp-sprint .inst-grid { grid-template-columns: 1fr; }
  .lp-sprint .inst-card { grid-template-columns: 1fr; }
  .lp-sprint .cur-row { grid-template-columns: 1fr; }
  .lp-sprint .promise .big { font-size: 24px; }
  .lp-sprint section { padding: 64px 0; }
  /* The two big highlight diff cards have inline 1fr 1fr — override for mobile */
  /* 시안 ④ DIFFERENTIATORS 철학 strip — 모바일 1열 + 좌·우 border 제거 */
  /* 시안 ⑤ THE CONDITION grid — 모바일 1열 */
}

/* hero h1 모바일 narrow viewport (≤480) override — L1337 max-width:900 의 min 32px 룰 뒤 source 우선. 좁은 viewport 에서 동적 축소 보장 */
@media (max-width: 480px) {
  /* PAIN 4박스 — 모바일 1열로 (2열에선 박스 폭 좁아 글자 stack) */
  /* 클로드코드 hub-flow — 모바일 4 결과카드 2열 */
}

/* 2026-06-01 — 회차별 progress bar ([[2026-06-01-cohort-kakao-urls-pro-upgrade]]) */

/* 2026-06-01 — cohort grid dynamic loading state */

/* ==========================================================================
   Vibe Sprint — Sprint-specific additions (2026-06-04)
   Sections not in landing: cases (7-card grid), conditions, environment,
   deliverables, logistics, selection, single-tier pricing, sprint hero badges
   ========================================================================== */

/* Hero badges (D-day · 정원 · 한정가) */
.lp-sprint .sprint-hero-badges {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.lp-sprint .sprint-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 16px;
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  color: var(--ink-2);
}
.lp-sprint .sprint-hero-badge b { color: var(--brand-600); }

/* 7-card cases grid */
.lp-sprint .case-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 28px 24px;
  transition: all .2s ease;
}
.lp-sprint .case-card:hover {
  transform: translateY(-3px);
  border-color: var(--brand);
  box-shadow: 0 14px 36px -14px rgba(249,115,22,.25);
}
.lp-sprint .case-card h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: -.015em;
  margin-bottom: 8px;
}
.lp-sprint .case-card p {
  font-size: 14px;
  color: var(--ink-3);
  line-height: 1.6;
}
.lp-sprint .case-card .case-tag {
  display: inline-block;
  margin-top: 14px;
  font-size: 12px;
  color: var(--brand-700);
  background: var(--brand-50);
  padding: 4px 10px;
  border-radius: 999px;
  font-weight: 700;
}

/* Participation conditions */
.lp-sprint .conditions-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-sprint .condition-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 32px 28px;
}
.lp-sprint .condition-card .num {
  font-size: 14px;
  font-weight: 900;
  color: var(--brand-600);
  letter-spacing: .05em;
  margin-bottom: 12px;
}
.lp-sprint .condition-card h3 {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.015em;
  margin-bottom: 10px;
}
.lp-sprint .condition-card p {
  font-size: 14px;
  color: var(--ink-3);
  line-height: 1.65;
}

/* Environment section (강의장 사진 + spec) */
.lp-sprint .env-block {
  background: var(--bg-soft);
}
.lp-sprint .env-venue {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
}
.lp-sprint .env-venue-photos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}
.lp-sprint .env-venue-photo {
  margin: 0;
  border-radius: 16px;
  overflow: hidden;
  background: #e2e8f0;
  aspect-ratio: 4 / 3;
  box-shadow: 0 8px 24px -16px rgba(15,23,42,.18);
}
.lp-sprint .env-venue-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lp-sprint .env-specs {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.lp-sprint .env-spec {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px 24px;
}
.lp-sprint .env-spec .l { font-size: 12px; font-weight: 800; color: var(--muted); letter-spacing: .06em; text-transform: uppercase; }
.lp-sprint .env-spec .v { margin-top: 6px; font-size: 18px; font-weight: 800; color: var(--ink); }
.lp-sprint .env-spec .v-note { margin-top: 6px; font-size: 13px; font-weight: 600; color: var(--muted); line-height: 1.55; }
.lp-sprint .env-note {
  margin: 20px 0 0;
  padding: 14px 18px;
  background: #fff7ed;
  border: 1px solid rgba(234, 88, 12, 0.28);
  border-radius: 12px;
  color: #9a3412;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.lp-sprint .env-note b { font-weight: 800; }
.lp-sprint .env-note-must {
  display: inline-block;
  color: #fff;
  background: var(--brand);
  padding: 2px 9px;
  border-radius: 7px;
  font-weight: 900;
  white-space: nowrap;
}
@media (max-width: 720px) {
  .lp-sprint .env-specs { grid-template-columns: 1fr; }
}

/* Deliverables */

/* Logistics */

/* Selection 박스 */
.lp-sprint .selection-box {
  margin-top: 48px;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(180deg, var(--brand-50) 0%, #fff 100%);
  border: 2px solid var(--brand);
  border-radius: 24px;
  padding: 40px 36px;
  text-align: center;
  box-shadow: 0 20px 50px -20px rgba(249,115,22,.25);
}
.lp-sprint .selection-box .seat-count {
  display: inline-block;
  background: var(--brand);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 6px 14px;
  border-radius: 999px;
  margin-bottom: 18px;
}
.lp-sprint .selection-box h3 {
  font-size: 28px;
  font-weight: 900;
  letter-spacing: -.02em;
  line-height: 1.3;
}
.lp-sprint .selection-box p { margin-top: 14px; font-size: 16px; color: var(--ink-3); line-height: 1.7; }
.lp-sprint .selection-box ul {
  list-style: none;
  padding: 0;
  margin: 22px auto 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  max-width: 480px;
  text-align: left;
}
.lp-sprint .selection-box ul li {
  padding: 12px 16px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 14px;
  position: relative;
  padding-left: 38px;
}
.lp-sprint .selection-box ul li::before {
  content: "✓";
  position: absolute;
  left: 16px;
  color: var(--brand);
  font-weight: 900;
}

/* Sprint single tier */
.lp-sprint .sprint-tier {
  max-width: 480px;
  margin: 56px auto 0;
  background: linear-gradient(180deg, #fff 0%, var(--brand-50) 100%);
  border: 2.5px solid var(--brand);
  border-radius: 28px;
  padding: 44px 36px;
  text-align: center;
  box-shadow: 0 30px 80px -30px rgba(249,115,22,.4);
}
.lp-sprint .sprint-tier .price {
  font-size: 60px;
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--brand);
  line-height: 1;
}
.lp-sprint .sprint-tier .pay-note {
  margin-top: 22px;
  background: #fff7ed;
  border: 1.5px dashed #fed7aa;
  border-radius: 14px;
  padding: 14px 18px;
  font-size: 13px;
  color: var(--ink-3);
  line-height: 1.65;
  text-align: left;
}

/* CTA Sprint final */
.lp-sprint .sprint-final {
  background: linear-gradient(135deg, #f97316 0%, #fb923c 60%, #fdba74 100%);
  color: #fff;
  text-align: center;
}
.lp-sprint .sprint-final h2 { color: #fff; font-size: 56px; }
.lp-sprint .sprint-final p { color: rgba(255,255,255,.95); font-size: 20px; margin-top: 18px; }
.lp-sprint .sprint-final .btn-primary {
  background: #fff;
  color: var(--brand-600);
  margin-top: 32px;
}
.lp-sprint .sprint-final .btn-primary:hover { background: #fef3c7; }

/* ── 후기 섹션 (카페 후기 카드 — 릴/글, 모바일 가로 캐러셀) ── */
.lp-sprint .rv-sec {
  background: linear-gradient(180deg, #fff 0%, var(--brand-50) 100%);
  border-top: 1px solid var(--brand-100);
}
.lp-sprint #testimonials .wrap { text-align: center; }
.lp-sprint .rv-stars {
  margin: 10px 0 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--brand-700, #c2410c);
}
/* 「지금까지 N명이 거쳐 갔다」 (2026-10-01) — 제목 바로 아래, 별점 줄 위 */
.lp-sprint .rv-count {
  display: inline-block;
  margin: 14px 0 0;
  padding: 8px 18px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--brand-100);
  font-size: 16px;
  font-weight: 700;
  color: var(--ink-2, #374151);
  letter-spacing: -.01em;
}
.lp-sprint .rv-count b { color: var(--brand-600); font-size: 19px; font-weight: 900; }
.lp-sprint .rv-count + .rv-stars { margin-top: 12px; }
@media (max-width: 640px) {
  .lp-sprint .rv-count { font-size: 14px; padding: 7px 14px; }
  .lp-sprint .rv-count b { font-size: 16px; }
}
.lp-sprint .rv-wrap { position: relative; margin: 32px 0 0; }
.lp-sprint .rv-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px 16px 8px;
  scroll-padding-left: 16px;
}
.lp-sprint .rv-track::-webkit-scrollbar { display: none; }
.lp-sprint .rv-wrap .rv-arrow { display: none; }
.lp-sprint .rv-card {
  flex: 0 0 82%;
  max-width: 340px;
  scroll-snap-align: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .07);
  text-decoration: none;
  display: flex;
  flex-direction: column;
  text-align: left;
  transition: transform .15s ease, box-shadow .15s ease;
}
.lp-sprint .rv-card:hover { transform: translateY(-3px); box-shadow: 0 14px 32px rgba(15, 23, 42, .12); }
.lp-sprint .rv-media {
  position: relative;
  aspect-ratio: 3 / 4;
  background: #0b0b0d;
  overflow: hidden;
}
.lp-sprint .rv-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lp-sprint .rv-chip {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  background: var(--brand); color: #fff;
  font-size: 11.5px; font-weight: 800;
  padding: 3px 9px; border-radius: 999px;
}
.lp-sprint .rv-chip-text { background: #0f172a; }
.lp-sprint .rv-play {
  position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); z-index: 2;
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(255, 255, 255, .92); color: var(--brand);
  display: flex; align-items: center; justify-content: center;
  font-size: 19px; padding-left: 3px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}
.lp-sprint .rv-oq {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 2;
  padding: 30px 14px 12px;
  color: #fff; font-size: 15px; font-weight: 800; line-height: 1.35;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .78));
}
.lp-sprint .rv-media-text {
  aspect-ratio: 3 / 4;
  background: linear-gradient(160deg, #fff, var(--brand-50));
  display: flex; align-items: center;
  padding: 20px 18px;
}
.lp-sprint .rv-excerpt {
  margin: 0; font-size: 15px; line-height: 1.65; font-weight: 600;
  color: var(--ink-2, #374151);
  border-left: 3px solid var(--brand);
  padding-left: 12px;
  display: -webkit-box; -webkit-line-clamp: 7; -webkit-box-orient: vertical; overflow: hidden;
}
/* 증빙(세금계산서) 카드 — 이미지가 카드 전체를 채움(cover, 잘림 허용) */
.lp-sprint .rv-media-doc { background: #fff; }
.lp-sprint .rv-media-doc img { object-fit: cover; object-position: center; }
.lp-sprint .rv-chip-doc { background: #059669; }
.lp-sprint .rv-cap { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 7px; flex: 1; }
.lp-sprint .rv-desc { margin: 0; font-size: 13.5px; line-height: 1.5; font-weight: 700; color: var(--ink-1, #111827); flex: 1; }
.lp-sprint .rv-meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.lp-sprint .rv-meta b { font-size: 13px; font-weight: 800; color: var(--ink-1, #111827); }
.lp-sprint .rv-meta span { font-size: 12px; color: var(--muted, #6b7280); font-weight: 600; }
.lp-sprint .rv-link { font-size: 12.5px; font-weight: 800; color: var(--brand-700, #c2410c); }
.lp-sprint .rv-dots { display: flex; justify-content: center; gap: 8px; margin: 16px 0 0; }
.lp-sprint .rv-dot { width: 8px; height: 8px; border-radius: 50%; border: 0; padding: 0; background: #e5e7eb; cursor: pointer; transition: all .2s ease; }
.lp-sprint .rv-dot.on { background: var(--brand); width: 22px; border-radius: 999px; }
.lp-sprint .rv-more {
  display: inline-flex; margin: 28px auto 0; justify-content: center; align-items: center;
  padding: 15px 30px; background: #fff7ed; border: 1.5px solid #fed7aa; border-radius: 999px;
  color: var(--brand-700, #c2410c); font-weight: 800; font-size: 15px; text-decoration: none;
  transition: background .15s ease, border-color .15s ease;
}
.lp-sprint .rv-more:hover { background: #ffedd5; border-color: var(--brand); }

/* ---------- 실물 카톡 후기 (rv-sec 안, 캐러셀 아래) ---------- */
.lp-sprint .kakao-proof { margin: 34px auto 0; max-width: 900px; padding-top: 28px; border-top: 1px dashed var(--line); }
.lp-sprint .kakao-proof-head { text-align: center; margin-bottom: 20px; }
.lp-sprint .kakao-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 6px 14px; border-radius: 999px;
  background: var(--brand-50); border: 1px solid #fed7aa;
  color: var(--brand-700); font-weight: 800; font-size: 13px;
}
.lp-sprint .kakao-proof-head p { margin: 10px 0 0; font-size: 15px; color: var(--muted); }
/* 캡처 높이가 469~1571px 로 제각각이라 grid 면 짧은 칸 아래가 통째로 빈다.
   CSS 멀티컬럼(masonry)이면 세로로 흘러 들어가 빈칸이 안 생긴다. */
.lp-sprint .kakao-shots { columns: 2; column-gap: 16px; }
.lp-sprint .kakao-shots figure {
  margin: 0 0 16px; break-inside: avoid; -webkit-column-break-inside: avoid;
  border: 1px solid var(--line); border-radius: 14px; overflow: hidden;
  background: #0f0f10; /* 카톡 다크 캡처와 이어지도록 카드 배경도 어둡게 */
}
.lp-sprint .kakao-shots img { width: 100%; display: block; }
.lp-sprint .kakao-shots figcaption {
  padding: 12px 15px; font-size: 13.5px; line-height: 1.55; color: var(--ink-3);
  background: var(--bg-soft); border-top: 1px solid var(--line);
}
.lp-sprint .kakao-shots figcaption b { color: var(--brand-700); font-weight: 800; }
.lp-sprint .kakao-note { display: block; margin-top: 6px; font-size: 12.5px; color: var(--muted); }
/* 출처 칩 — 어느 상품·회차에서 온 후기인지. block+fit-content 라야 인용문이 다음 줄에서 시작한다. */
.lp-sprint .kakao-src {
  display: block; width: -moz-fit-content; width: fit-content; max-width: 100%; margin: 0 0 7px;
  padding: 3px 9px; border-radius: 999px;
  background: #fff; border: 1px solid var(--line);
  font-size: 11.5px; font-weight: 700; color: var(--muted); letter-spacing: -.01em;
}
.lp-sprint .kakao-foot { margin: 10px 0 0; text-align: center; font-size: 12.5px; color: var(--muted); }
@media (max-width: 720px) { .lp-sprint .kakao-shots { columns: 1; } }

/* ---------- 카톡 후기 접힘/펼침 (2026-08-28 · 2026-09-01 8장으로 개편) ----------
   캡처 8장이 모바일 1열에서 **4,902px**(390px 뷰포트 실측 2026-09-01)이고, 바로 아래가 가격·CTA(#cta) 라 길이가 곧 이탈이다.
   접으면 2,047px — 즉 이 토글이 2,855px 를 줄인다.
   DOM 에는 8장을 전부 두고(캡션이 검색 유입 자산 + 하이드레이션 미스매치 회피) CSS 로만 접는다.
   React 는 .is-open 토글 하나만 하고, **어느 높이에서 자를지는 미디어쿼리가 정한다.**
   컨테이너를 쪼개지 않는 이유 = columns(masonry) 흐름이 두 덩어리로 갈려 이음매가 생긴다. */

/* ⭐ 2026-09-01 개편 — **자르는 단위를 「카드 개수」에서 「높이」로 바꿨다.**
   구 방식: 앞 N장만 `display`, 마지막 1장만 150px 로 클립(peek).
     → 1열에선 맞지만 **2열에선 잘린 카드가 한쪽 칼럼의 끝**이 되고 반대쪽은 계속 흘러
       그 아래가 통째로 빈다(실측 ~700px 백지). 카드 경계로 끊으면 두 칼럼 바닥이 절대 안 맞는다.
   새 방식: 그리드 전체를 **한 높이에서 자르고 그 면을 하얗게 페이드아웃**한다.
     경계가 카드가 아니라 수평선이라 **두 칼럼이 같은 선에서 끊긴다.**
     카드가 중간에 잘려도 된다 — 그 면을 페이드가 덮는다(사용자 지시 2026-09-01).
   래퍼(.kakao-fold)를 쓰는 이유 = 그라데이션을 multicol 컨테이너 안에 넣으면 칼럼으로 쪼개진다. */
.lp-sprint .kakao-fold {
  position: relative; overflow: hidden;
  /* ⚠️ 펼침 상한. 실측 최대 = 모바일 1열 4,902px. 캡처를 늘리면 이 값도 같이 올릴 것 —
     안 올리면 펼친 상태에서 조용히 잘린다. transition 을 위해 `none` 대신 큰 px 를 쓴다. */
  max-height: 7000px;
  transition: max-height .55s cubic-bezier(.22, .61, .36, 1);
}
.lp-sprint .kakao-fold:not(.is-open) { max-height: 2000px; }
/* ⚠️ 두 값은 임의 수치가 아니라 **카드 누적 높이에 맞춰 잡은 선**이다.
   모바일 2000px = 1·2·3번이 온전히 들어오는 높이 / 데스크톱 1800px = 칼럼1 의 1·2번, 칼럼2 의 5·6번.
   캡처를 추가·교체하면 이 값도 다시 잴 것 — 안 재면 중요한 카드가 페이드 밑으로 숨는다. */
@media (min-width: 721px) { .lp-sprint .kakao-fold:not(.is-open) { max-height: 1800px; } }

/* 잘린 면을 덮는 페이드 — 배경(--brand-50)으로 수렴시켜 "하얗게 사라지는" 것처럼 보이게 한다.
   높이를 넉넉히(200px) 잡아야 잘린 말풍선의 글자가 중간에 뚝 끊긴 것처럼 안 읽힌다. */
.lp-sprint .kakao-fold:not(.is-open)::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 200px;
  background: linear-gradient(180deg, rgba(255, 247, 237, 0) 0%, rgba(255, 247, 237, .92) 58%, var(--brand-50) 100%);
  pointer-events: none;
}

.lp-sprint .kakao-more {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  margin: 2px auto 0; padding: 12px 24px;
  background: #fff; border: 1.5px solid #fed7aa; border-radius: 999px;
  color: var(--brand-700); font-family: inherit; font-weight: 800; font-size: 14.5px;
  cursor: pointer; transition: background .15s ease, border-color .15s ease;
}
.lp-sprint .kakao-more:hover { background: var(--brand-50); border-color: var(--brand); }
.lp-sprint .kakao-more:focus-visible { outline: 3px solid var(--brand); outline-offset: 2px; }
.lp-sprint .kakao-chev { transition: transform .3s cubic-bezier(.22, .61, .36, 1); }
.lp-sprint .kakao-more[aria-expanded="true"] .kakao-chev { transform: rotate(180deg); }

@media (prefers-reduced-motion: reduce) {
  .lp-sprint .kakao-fold { transition: none; }
  .lp-sprint .kakao-chev { transition: none; }
}
@media (min-width: 720px) {
  .lp-sprint .rv-track { padding: 8px 4px 14px; scroll-padding-left: 4px; }
  .lp-sprint .rv-card { flex: 0 0 clamp(258px, 25vw, 296px); max-width: none; scroll-snap-align: start; }
  .lp-sprint .rv-dots { display: none; }
  .lp-sprint .rv-wrap .rv-arrow { display: flex; }
}

/* Mobile collapsing */
@media (max-width: 900px) {
  .lp-sprint .conditions-grid,
  .lp-sprint .env-specs {
    grid-template-columns: 1fr;
  }
  .lp-sprint .sprint-final h2 { font-size: 36px; }
  .lp-sprint .sprint-tier { padding: 32px 24px; }
  .lp-sprint .sprint-tier .price { font-size: 48px; }
  .lp-sprint .selection-box { padding: 32px 24px; }
  .lp-sprint .selection-box h3 { font-size: 22px; }
  .lp-sprint .sprint-hero-badges { gap: 8px; }
  .lp-sprint .sprint-hero-badge { font-size: 12px; padding: 8px 12px; }
}

/* ==========================================================================
   2026-06-04 Phase K — visual review fixes
   - Cases: 7번째 카드 외로움 → 마지막 행 가운데 정렬
   - CTA: sprint-tier 양옆 supplementary 박스 (선발 요약 + 환불 요약)
   - Hero: 우측 카드 padding/visual 강화
   ========================================================================== */

/* Cases — 마지막 1 카드 가운데 (3-column 일 때 7번째가 마지막 행에 혼자 떨어지면) */

/* CTA — sprint-final 양옆 supplementary 컨피던스 박스 grid */
.lp-sprint .sprint-final .sprint-tier {
  margin: 0 auto;
  max-width: 100%;
}

/* Hero 우측 카드 — visual 강화 (placeholder 일 때 floating mark) */
.lp-sprint .hero .img {
  background: linear-gradient(180deg, #fff 0%, #fff7ed 100%);
  padding: 0;
}
.lp-sprint .hero .img img { display: block; width: 100%; height: auto; }

/* Mobile collapse for sprint-cta-grid */

/* Footer nav + biz info (Phase M 2026-06-05) */

/* ==========================================================================
   2026-06-05 Phase N — retn 누락 차용 7개 보충
   - Program strip · Problem closing CTA · Philosophy 3-card
   - Selection 모십니다/거절합니다 · Logistics 4-info · Testimonials BEFORE/AFTER
   - Deliverables 4→6 (deliv-grid 자동 wrap)
   ========================================================================== */

/* PROGRAM strip — Hero 직후 한 줄 요약 */
.lp-sprint .program {
  background: #fff;
  padding: 64px 0 56px;
  border-bottom: 1px solid var(--line);
  text-align: center;
}

/* PAIN insight — Problem 섹션 closing */
.lp-sprint .pain-insight {
  margin-top: 56px;
  padding: 36px 32px;
  background: rgba(255,255,255,.04);
  border: 1.5px solid #334155;
  border-radius: 24px;
  text-align: center;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint .pain-insight-quote {
  font-size: 22px;
  line-height: 1.55;
  color: #fff;
  font-weight: 500;
  margin: 0 0 18px;
}
.lp-sprint .pain-insight-quote strong { color: #fbbf24; font-weight: 800; }
.lp-sprint .pain-insight-cta {
  font-size: 16px;
  color: #cbd5e1;
  margin: 0;
}
@media (max-width: 720px) {
  .lp-sprint .pain-insight { padding: 28px 22px; }
  .lp-sprint .pain-insight-quote { font-size: 18px; }
}

/* PHILOSOPHY 3-card grid */
.lp-sprint .philosophy-cards {
  margin-top: 64px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.lp-sprint .philo-card {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 32px 28px;
  position: relative;
  transition: all .2s ease;
}
.lp-sprint .philo-card:hover {
  transform: translateY(-3px);
  border-color: var(--brand);
  box-shadow: 0 16px 40px -16px rgba(249,115,22,.25);
}
.lp-sprint .philo-num {
  position: absolute;
  top: 24px;
  right: 28px;
  font-size: 32px;
  font-weight: 900;
  color: var(--brand-100);
  letter-spacing: -.03em;
  line-height: 1;
}
.lp-sprint .philo-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  color: var(--brand-700);
  background: var(--brand-50);
  padding: 4px 10px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.lp-sprint .philo-card h3 {
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.015em;
  margin: 0 0 12px;
}
.lp-sprint .philo-card p {
  font-size: 14px;
  color: var(--ink-3);
  line-height: 1.65;
}
@media (max-width: 900px) {
  .lp-sprint .philosophy-cards { grid-template-columns: 1fr; }
}

/* SELECTION 모십니다 vs 거절합니다 */
.lp-sprint .selection-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint .selection-col {
  background: #fff;
  border: 2px solid var(--line);
  border-radius: 20px;
  padding: 28px 26px;
}
.lp-sprint .selection-col.welcome { border-color: rgba(22,163,74,.35); background: linear-gradient(180deg, rgba(22,163,74,.06) 0%, #fff 50%); }
.lp-sprint .selection-col.reject { border-color: rgba(220,38,38,.25); background: linear-gradient(180deg, rgba(220,38,38,.05) 0%, #fff 50%); }
.lp-sprint .selection-col-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.lp-sprint .selection-mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  font-size: 18px;
  font-weight: 900;
  color: #fff;
}
.lp-sprint .selection-mark.welcome { background: #16a34a; }
.lp-sprint .selection-mark.reject { background: #dc2626; }
.lp-sprint .selection-col h4 {
  font-size: 18px;
  font-weight: 900;
  letter-spacing: -.01em;
  color: var(--ink);
  margin: 0;
}
.lp-sprint .selection-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp-sprint .selection-col li {
  padding: 12px 16px;
  background: rgba(255,255,255,.7);
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-3);
}
@media (max-width: 900px) {
  .lp-sprint .selection-grid { grid-template-columns: 1fr; }
}

/* LOGISTICS — 4 정보 + 포함 strip */

/* TESTIMONIALS BEFORE / AFTER */

/* DELIVERABLES 6 카드 — 기존 .deliv-grid 4col 을 mobile 자동 wrap 안전하게 */

/* ==========================================================================
   2026-06-05 Phase Q — Cases 카드에 thumbnail mockup 박제
   ========================================================================== */
.lp-sprint .case-card {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.lp-sprint .case-card .case-thumb {
  margin: 0;
  aspect-ratio: 16 / 10;
  background: linear-gradient(180deg, #fff7ed 0%, #ffedd5 100%);
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.lp-sprint .case-card .case-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.lp-sprint .case-card:hover .case-thumb img { transform: scale(1.03); }
.lp-sprint .case-card .case-body { padding: 22px 24px 28px; }
.lp-sprint .case-card .case-body h3 {
  font-size: 17px;
  line-height: 1.35;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}
.lp-sprint .case-card .case-icon-inline { font-size: 18px; flex-shrink: 0; line-height: 1.3; }
.lp-sprint .case-card .case-tag {
  margin-top: 0;
  margin-bottom: 12px;
}

/* ==========================================================================
   2026-06-05 Phase R — 후킹 element 10개 보충
   ========================================================================== */

/* Hero — 공감 라인 (kicker 아래, h1 위) */
.lp-sprint .hero-empathy {
  margin-top: 14px;
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink-3);
  font-weight: 600;
  font-style: italic;
  border-left: 3px solid var(--brand);
  padding-left: 14px;
  max-width: 540px;
}

/* Program — 진단 라인 + end promise 라인 */

/* Cases — result chip + footer more link */
.lp-sprint .case-meta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}
.lp-sprint .case-result {
  font-size: 12px;
  font-weight: 800;
  color: var(--brand-700);
  background: #fff;
  border: 1px solid var(--brand);
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}
/* 카페 결과물 카드 — 만든이 라인 (SprintCafeWorks 전용) */
/* SprintCases footer CTA (격상 — 헤드라인 + sub + 가격 reframe + trust bullets + 버튼 + micro) */
.lp-sprint .cases-cta {
  margin: 64px auto 0;
  max-width: 780px;
  text-align: center;
  padding: 44px 32px 36px;
  background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
  border: 1.5px solid #fed7aa;
  border-radius: 22px;
  box-shadow: 0 16px 32px -20px rgba(249,115,22,.20);
}
.lp-sprint .cases-cta-head {
  margin: 0 0 14px;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -0.02em;
  line-height: 1.3;
}
.lp-sprint .cases-cta-sub {
  margin: 0 auto 26px;
  max-width: 600px;
  font-size: 15px;
  font-weight: 500;
  color: #475569;
  line-height: 1.6;
}
.lp-sprint .cases-cta-btn { display: inline-flex; }

@media (max-width: 540px) {
  .lp-sprint .cases-cta { padding: 32px 20px 28px; margin-top: 48px; }
  .lp-sprint .cases-cta-head { font-size: 20px; margin-bottom: 12px; }
  .lp-sprint .cases-cta-sub { font-size: 14px; margin-bottom: 22px; }
}

/* Conditions — large icon */
.lp-sprint .condition-icon {
  font-size: 36px;
  line-height: 1;
  margin-bottom: 14px;
}

/* Curriculum — CORE tag + after line */
.lp-sprint .cur-core-tag {
  display: inline-block;
  margin-left: 10px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .12em;
  background: var(--brand);
  color: #fff;
  padding: 3px 8px;
  border-radius: 4px;
  vertical-align: middle;
}
.lp-sprint .cur-after {
  margin-top: 8px !important;
  font-size: 13px !important;
  color: var(--brand-700) !important;
  font-weight: 700;
  padding-top: 8px;
  border-top: 1px dashed var(--line);
}

/* Mentors — verify links row */

/* Selection — value redefine 라인 */

/* CTA — end vision 라인 */

@media (max-width: 720px) {
  .lp-sprint .hero-empathy { font-size: 14px; max-width: 100%; }
}

/* ==========================================================================
   2026-06-05 Phase S — Sticky CTA + CTA polish + Header link
   ========================================================================== */

/* Header 우상단 — 신청버튼 → 커리큘럼 anchor 로 변환 */

/* Sticky bottom CTA bar (항상 떠있는 신청 바) */
.lp-sprint .sticky-cta {
  position: fixed;
  bottom: 16px;
  left: 16px;
  right: 16px;
  z-index: 90;
  background: #0f172a;
  border-radius: 20px;
  box-shadow: 0 20px 60px -20px rgba(0,0,0,.5), 0 8px 24px rgba(249,115,22,.2);
  border: 1.5px solid rgba(249,115,22,.4);
  overflow: hidden;
  animation: stickyCtaIn .4s cubic-bezier(.16,1,.3,1) .3s both;
}
@keyframes stickyCtaIn {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}
.lp-sprint .sticky-cta-info {
  flex: 1;
  min-width: 0;
}
.lp-sprint .sticky-cta-price-old {
  font-size: 14px;
  color: #94a3b8;
  text-decoration: line-through;
  font-weight: 700;
}
.lp-sprint .sticky-cta-arrow {
  color: #fbbf24;
  font-weight: 900;
  font-size: 14px;
}
.lp-sprint .sticky-cta-price-now {
  font-size: 22px;
  font-weight: 900;
  color: #fff;
  letter-spacing: -.02em;
}
.lp-sprint .sticky-cta-button {
  white-space: nowrap;
  padding: 14px 24px !important;
  font-size: 15px !important;
  flex-shrink: 0;
  box-shadow: 0 8px 24px rgba(249,115,22,.5);
}

/* sticky cta 가 fixed 라 페이지 하단 footer 가 가려지지 않게 body padding-bottom 추가 */

@media (max-width: 720px) {
  .lp-sprint .sticky-cta { bottom: 8px; left: 8px; right: 8px; border-radius: 16px; }
  .lp-sprint .sticky-cta-price-now { font-size: 18px; }
  .lp-sprint .sticky-cta-price-old { font-size: 12px; }
  .lp-sprint .sticky-cta-button { padding: 11px 16px !important; font-size: 13px !important; }
}

/* CTA 섹션 박스 polish */

/* Sprint-tier 가격 박스 polish */
.lp-sprint .sprint-tier {
  background: linear-gradient(180deg, #fff 0%, #fff7ed 100%) !important;
  border: 3px solid var(--brand) !important;
  box-shadow: 0 30px 80px -25px rgba(249,115,22,.5), 0 8px 24px rgba(0,0,0,.1) !important;
  padding: 36px 28px !important;
}
.lp-sprint .sprint-tier .price {
  font-size: 68px !important;
  font-weight: 900;
  letter-spacing: -.04em;
  color: var(--brand) !important;
  line-height: 1;
}
.lp-sprint .apply-button {
  margin-top: 22px !important;
  width: 100%;
  box-shadow: 0 12px 32px rgba(249,115,22,.5), inset 0 -3px 0 rgba(0,0,0,.1) !important;
}
.lp-sprint .apply-button:hover {
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .lp-sprint .sprint-tier .price { font-size: 52px !important; }
}

/* 2026-06-10 — 월 환산 메인 가격 (fastcampus 패턴: 월 hero + 정가→할인→할인가 breakdown) */
.lp-sprint .price-monthly {
  margin: 8px auto 0;
  max-width: 420px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.lp-sprint .price-monthly-off {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  font-size: 40px;
  font-weight: 900;
  color: #dc2626;
  letter-spacing: -0.03em;
  flex-shrink: 0;
}
.lp-sprint .price-monthly-off .lead {
  font-size: 20px;
  font-weight: 800;
}
.lp-sprint .price-monthly-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1;
}
.lp-sprint .price-monthly-num {
  font-size: 40px;
  font-weight: 900;
  color: #dc2626 !important;
  letter-spacing: -0.03em;
  line-height: 1.1;
}
.lp-sprint .price-monthly-note {
  margin-top: 3px;
  font-size: 14px;
  font-weight: 600;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.lp-sprint .price-monthly-tip {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: help;
  outline: none;
}
.lp-sprint .price-monthly-tip-ico {
  font-size: 14px;
  color: #94a3b8;
  line-height: 1;
}
.lp-sprint .price-monthly-tip-bubble {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  width: max-content;
  max-width: 240px;
  padding: 8px 12px;
  background: #1f2937;
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.45;
  border-radius: 8px;
  box-shadow: 0 8px 24px -8px rgba(0,0,0,.4);
  opacity: 0;
  visibility: hidden;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 20;
  white-space: normal;
  text-align: center;
}
.lp-sprint .price-monthly-tip-bubble::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #1f2937;
}
.lp-sprint .price-monthly-note:hover .price-monthly-tip-bubble,
.lp-sprint .price-monthly-tip:hover .price-monthly-tip-bubble,
.lp-sprint .price-monthly-tip:focus .price-monthly-tip-bubble,
.lp-sprint .price-monthly-tip:focus-within .price-monthly-tip-bubble {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
/* breakdown — fastcampus/노션 클린 행 (회색 박스 X, 행 + 하단 구분선만) */
.lp-sprint .price-breakdown {
  margin: 20px auto 0;
  max-width: 420px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--line);
}
/* 결제 직전 특전 총액 리마인드 (본 섹션은 후기 직후로 이동, 2026-07-21) */
.lp-sprint .cta-bene-note { margin: 14px auto 0; max-width: 420px; text-align: center; }
.lp-sprint .cta-bene-note a {
  color: var(--brand);
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.lp-sprint .price-breakdown-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 16px;
}
.lp-sprint .price-breakdown-row .l { color: var(--muted); font-weight: 600; }
.lp-sprint .price-breakdown-row .v { font-weight: 700; color: var(--ink-2); }
.lp-sprint .price-breakdown-row .v s { color: #94a3b8; font-weight: 500; }
.lp-sprint .price-breakdown-row .v.off { color: #dc2626; }
.lp-sprint .price-breakdown-row .v.off em {
  display: inline-block;
  margin-left: 6px;
  padding: 2px 7px;
  background: #ea580c;
  color: #fff;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: 0.02em;
  vertical-align: middle;
}
.lp-sprint .price-breakdown-row.total {
  margin-top: 2px;
}
.lp-sprint .price-breakdown-row.total .l { color: var(--ink); font-weight: 800; }
.lp-sprint .price-breakdown-row.total .v { font-size: 20px; font-weight: 900; color: var(--ink); }
@media (max-width: 900px) {
  .lp-sprint .price-monthly { gap: 14px; }
  .lp-sprint .price-monthly-num { font-size: 32px; }
  .lp-sprint .price-monthly-off { font-size: 32px; }
  .lp-sprint .price-monthly-off .lead { font-size: 16px; }
}

/* ==========================================================================
   2026-06-05 Phase U — KAKAO 1:1 상담 FAB + Cases 폰트 ↑
   ========================================================================== */

/* KAKAO 1:1 오픈채팅 floating button (오른쪽 하단, sticky-cta 위) */
/* sticky-cta 노출 시 kakao-fab 위로 올라옴 (sticky 가 차지하는 자리 회피) */

/* Cases 카드 본문 폰트 ↑ (사용자 요청: 폰트 좀 크게) */
.lp-sprint .case-card .case-body {
  padding: 24px 26px 30px;
}
.lp-sprint .case-card .case-body h3 {
  font-size: 19px;
  line-height: 1.4;
  font-weight: 900;
}
.lp-sprint .case-card .case-body p {
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink-3);
  margin-top: 10px;
}
.lp-sprint .case-card .case-tag {
  font-size: 13px;
  padding: 5px 12px;
}
.lp-sprint .case-card .case-result {
  font-size: 13px;
  padding: 5px 12px;
}
.lp-sprint .case-card .case-icon-inline { font-size: 20px; }

/* Hero 공감 라인 폰트 ↑ */
.lp-sprint .hero-empathy { font-size: 18px; }
@media (max-width: 720px) {
  .lp-sprint .hero-empathy { font-size: 15px; }
}

/* Program 라인 폰트 ↑ */

/* Curriculum row 본문 폰트 ↑ */
.lp-sprint .cur-row .content h4 { font-size: 21px; }
.lp-sprint .cur-row .content p { font-size: 16px; }
.lp-sprint .cur-after { font-size: 14px !important; }

/* FAQ 폰트 ↑ */
.lp-sprint details.faq summary { font-size: 18px; }
.lp-sprint details.faq p { font-size: 16px; }

/* ==========================================================================
   2026-06-05 Phase V — Sticky CTA 2단 구조 (vibemake.kr 패턴)
   Phase S 다크 결 overrides
   ========================================================================== */

/* Layout: vertical stack — 상 정보 strip / 하 오렌지 풀폭 버튼 */
.lp-sprint .sticky-cta {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 90 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 -10px 32px -8px rgba(15,23,42,.18) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  animation: stickyCtaIn .4s cubic-bezier(.16,1,.3,1) .3s both;
}
/* 옛 .sticky-cta-wrap 룰 비활성 */

/* 상단 흰 정보 strip */
.lp-sprint .sticky-cta-info {
  background: #fff;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid #fed7aa;
  padding: 12px 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-family: inherit;
}

/* 하단 오렌지 full-width 버튼 */
.lp-sprint .sticky-cta-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  padding: 18px 24px !important;
  background: var(--brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 17px !important;
  font-weight: 900;
  letter-spacing: -.01em;
  text-decoration: none;
  box-shadow: 0 -2px 0 rgba(0,0,0,.12) inset !important;
  transition: background .15s ease;
  cursor: pointer;
}
.lp-sprint .sticky-cta-button:hover {
  background: var(--brand-600) !important;
  transform: none !important;
}

/* 옛 다크 결 .sticky-cta-discount-badge / .sticky-cta-price-row 비활성 */

/* sticky cta 가 fixed 라 body padding-bottom — sticky 활성 시만 적용 */

/* KAKAO FAB 도 sticky 활성 시에만 sticky 위로 (118 + 12) */

@media (max-width: 720px) {
  .lp-sprint .sticky-cta-info { padding: 10px 16px; flex-wrap: wrap; gap: 6px; }
  .lp-sprint .sticky-cta-button { padding: 16px 18px !important; font-size: 16px !important; }
}

/* ==========================================================================
   2026-06-05 Phase X — Sticky CTA 좌·우 분할 결 (vibemake 패턴 정확 차용)
   ========================================================================== */

/* info strip 안 좌·우 분할 */
.lp-sprint .sticky-cta-fire {
  font-size: 18px;
  filter: drop-shadow(0 1px 0 rgba(249,115,22,.3));
}
.lp-sprint .sticky-cta-cohort {
  font-size: 14px;
  color: var(--ink);
  font-weight: 900;
  letter-spacing: -.01em;
}
.lp-sprint .sticky-cta-urgency {
  font-size: 13px;
  color: var(--brand-700);
  font-weight: 900;
}
.lp-sprint .sticky-cta-dot {
  color: var(--muted);
  font-weight: 700;
}
.lp-sprint .sticky-cta-info-limit {
  font-size: 12px;
  color: var(--ink-2);
  font-weight: 800;
  padding: 2px 6px;
  background: var(--brand-50);
  border: 1px solid var(--brand-100);
  border-radius: 6px;
  letter-spacing: .03em;
}

/* 옛 sticky-cta-info-head / sticky-cta-info-meta / sticky-cta-info-price-old / sticky-cta-info-arrow 비활성 */

@media (max-width: 720px) {
  .lp-sprint .sticky-cta-info { padding: 10px 14px; }
  .lp-sprint .sticky-cta-cohort { font-size: 13px; }
  .lp-sprint .sticky-cta-urgency { font-size: 12px; }
  .lp-sprint .sticky-cta-info-limit { font-size: 11px; padding: 1px 5px; }
  .lp-sprint .sticky-cta-fire { font-size: 16px; }
}

/* ==========================================================================
   2026-06-05 Phase Y — Sticky 폰트 ↑ + CTA 섹션 단일 카드
   ========================================================================== */

/* Sticky strip 폰트 ↑ */
.lp-sprint .sticky-cta-cohort { font-size: 16px !important; }
.lp-sprint .sticky-cta-urgency { font-size: 15px !important; }
.lp-sprint .sticky-cta-info-limit { font-size: 13px !important; padding: 3px 8px !important; }
.lp-sprint .sticky-cta-fire { font-size: 20px; }
.lp-sprint .sticky-cta-button {
  padding: 20px 24px !important;
  font-size: 19px !important;
}

@media (max-width: 720px) {
  .lp-sprint .sticky-cta-cohort { font-size: 14px !important; }
  .lp-sprint .sticky-cta-urgency { font-size: 13px !important; }
  .lp-sprint .sticky-cta-info-limit { font-size: 12px !important; padding: 2px 6px !important; }
  .lp-sprint .sticky-cta-fire { font-size: 17px; }
  .lp-sprint .sticky-cta-button { padding: 17px 18px !important; font-size: 16px !important; }
}

/* CTA 섹션 — 양옆 박스 (sprint-cta-aside) 제거, 단일 sprint-tier 카드 */
.lp-sprint .sprint-tier-solo {
  max-width: 560px !important;
  margin: 56px auto 0 !important;
  background: #fff !important;
  border: 3px solid var(--brand) !important;
  border-radius: 28px !important;
  padding: 40px 36px !important;
  box-shadow: 0 30px 80px -25px rgba(0,0,0,.45), 0 8px 24px rgba(0,0,0,.15) !important;
  position: relative;
}

.lp-sprint .tier-includes {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px dashed var(--line);
  text-align: left;
}
.lp-sprint .tier-includes-head {
  font-size: 12px;
  font-weight: 900;
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 14px;
  text-align: center;
}
.lp-sprint .tier-includes ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.lp-sprint .tier-includes ul li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 13px;
  background: var(--bg-soft);
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  color: var(--ink-2);
  border: none !important;
}
.lp-sprint .tier-includes ul li::before { display: none !important; }
.lp-sprint .tier-includes ul li .ico {
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 1px;
}
.lp-sprint .tier-includes ul li .txt {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.lp-sprint .tier-includes ul li .lbl {
  line-height: 1.35;
}
.lp-sprint .tier-includes ul li .tag {
  align-self: flex-start;
  font-size: 11px;
  font-weight: 800;
  color: var(--brand-700);
  background: rgba(249, 115, 22, 0.12);
  padding: 2px 9px;
  border-radius: 999px;
  letter-spacing: 0.01em;
}

.lp-sprint .sprint-tier-solo .apply-button {
  margin-top: 28px !important;
  background: var(--brand) !important;
  color: #fff !important;
  font-size: 19px !important;
  padding: 18px 24px !important;
  box-shadow: 0 12px 32px rgba(249,115,22,.5) !important;
}

.lp-sprint .sprint-tier-solo .pay-note {
  margin-top: 18px !important;
  background: var(--bg-soft) !important;
  border: 1px dashed var(--line) !important;
  padding: 14px 16px !important;
  font-size: 13px !important;
  color: var(--ink-3) !important;
  line-height: 1.65;
  text-align: left;
  border-radius: 12px;
}

@media (max-width: 600px) {
  .lp-sprint .sprint-tier-solo { padding: 32px 24px !important; }
  .lp-sprint .tier-includes ul { grid-template-columns: 1fr; }
  .lp-sprint .sprint-tier-solo .apply-button { font-size: 17px !important; padding: 16px 20px !important; }
}

/* ==========================================================================
   2026-06-05 Phase Z — BetaProof polish (/arrange + /polish)
   사진 비율 차이 대응 + 패딩·gap·shadow·hover 정리
   ========================================================================== */

.lp-sprint .beta-proof {
  padding: 96px 0 88px !important;
}

/* Kicker chip 강조 */
.lp-sprint .beta-proof-kicker {
  display: inline-block;
  background: var(--brand-50) !important;
  color: var(--brand-700) !important;
  border: 1px solid var(--brand-100);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 7px 14px !important;
  border-radius: 999px;
  margin: 0 auto 22px;
  text-transform: uppercase;
}

/* h2 + subhead 정합 */
.lp-sprint .beta-proof h2 {
  margin-bottom: 18px !important;
}
.lp-sprint .beta-proof .subhead {
  max-width: 720px !important;
  margin: 0 auto !important;
  line-height: 1.7;
  font-size: 17px !important;
  color: var(--ink-3) !important;
}

/* photo grid: gap ↑, max-width, 사진과 metric 사이 ↑ */
.lp-sprint .beta-photos {
  margin-top: 56px !important;
  gap: 24px !important;
  max-width: 1180px !important;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint .beta-photo {
  aspect-ratio: 5 / 4 !important;
  border-radius: 22px !important;
  border: none !important;
  box-shadow: 0 14px 40px -14px rgba(15,23,42,.25), 0 4px 10px rgba(15,23,42,.06) !important;
  background: var(--bg-soft) !important;
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.lp-sprint .beta-photo:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px -16px rgba(15,23,42,.32), 0 8px 18px rgba(15,23,42,.08) !important;
}
.lp-sprint .beta-photo img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
/* 9컷 혼합(세로·가로·오버헤드) — 전부 center cover */
.lp-sprint .beta-photo img { object-position: center; }

/* metric 강화 — border 정합, hover, gap */
.lp-sprint .beta-metrics {
  margin-top: 48px !important;
  gap: 22px !important;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
}
.lp-sprint .beta-metrics .metric {
  background: #fff !important;
  border: 1px solid var(--line) !important;
  border-radius: 20px !important;
  padding: 32px 24px !important;
  box-shadow: 0 8px 24px -12px rgba(15,23,42,.1);
  transition: transform .3s ease, box-shadow .3s ease;
}
.lp-sprint .beta-metrics .metric:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px -16px rgba(249,115,22,.25);
}
.lp-sprint .beta-metrics .metric-num {
  font-size: 52px !important;
  line-height: 1;
  font-weight: 900;
  background: linear-gradient(180deg, var(--brand), var(--brand-700));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: -.02em;
}
.lp-sprint .beta-metrics .metric-label {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink-3) !important;
  margin-top: 10px;
  letter-spacing: -.005em;
}

/* quote 박스 정합 */
.lp-sprint .beta-quote {
  margin-top: 36px !important;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
  background: linear-gradient(180deg, var(--brand-50) 0%, #fff 100%) !important;
  border-left: 4px solid var(--brand) !important;
  border-radius: 0 16px 16px 0 !important;
  padding: 22px 28px !important;
}
.lp-sprint .beta-quote p {
  font-size: 17px !important;
  color: var(--ink-2) !important;
  line-height: 1.7;
  font-style: italic;
  font-weight: 500;
}

@media (max-width: 900px) {
  .lp-sprint .beta-proof { padding: 64px 0 56px !important; }
  .lp-sprint .beta-photos { gap: 16px !important; }
  .lp-sprint .beta-photo { aspect-ratio: 4 / 3 !important; }
  .lp-sprint .beta-metrics { gap: 14px !important; }
  .lp-sprint .beta-metrics .metric-num { font-size: 40px !important; }
  .lp-sprint .beta-metrics .metric { padding: 24px 18px !important; }
  .lp-sprint .beta-quote p { font-size: 15px !important; }
}

/* ==========================================================================
   2026-06-05 Phase AA — Sticky CTA floating 카드 결
   데스크탑: 중앙 정렬 + max-width 600px, 좌우 여백 / 모바일: 양옆 12px
   ========================================================================== */

.lp-sprint .sticky-cta {
  position: fixed !important;
  bottom: 18px !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  width: calc(100% - 40px) !important;
  max-width: 600px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  box-shadow:
    0 24px 48px -16px rgba(15,23,42,.35),
    0 8px 24px -4px rgba(15,23,42,.18) !important;
  border: 1px solid var(--line) !important;
  background: #fff !important;
}

/* 카드 내부 strip — border-radius 위쪽이 카드에 흡수 */
.lp-sprint .sticky-cta-info {
  border-top: none !important;
  border-bottom-color: #fed7aa !important;
  border-radius: 0 !important;
  padding: 12px 18px !important;
}

/* 카드 안 오렌지 버튼 — full bleed within card */
.lp-sprint .sticky-cta-button {
  border-radius: 0 !important;
  padding: 16px 22px !important;
}

/* KAKAO FAB — sticky 노출 시에만 위로 (sticky 미노출 시 default 하단 유지) */

@media (max-width: 720px) {
  .lp-sprint .sticky-cta {
    bottom: 12px !important;
    width: calc(100% - 20px) !important;
    max-width: none !important;
    border-radius: 16px !important;
  }
  .lp-sprint .sticky-cta-info { padding: 9px 14px !important; }
  .lp-sprint .sticky-cta-button { padding: 15px 18px !important; }
}

/* ==========================================================================
   2026-06-05 Phase BB — CTA 섹션 흰 배경 (오렌지 그라데이션 폐기)
   ========================================================================== */

.lp-sprint .sprint-final {
  background: var(--bg-soft) !important;
  color: var(--ink) !important;
  padding: 96px 0 80px !important;
}
.lp-sprint .sprint-final h2 {
  color: var(--ink) !important;
  font-size: 52px;
}
.lp-sprint .sprint-final h2 .accent { color: var(--brand); }
.lp-sprint .sprint-final p {
  color: var(--ink-3) !important;
}

/* end-vision 박스 — 오렌지 액센트 박스로 (다크 위에서 흰글이 아니라 흰 위에서 brand 색) */

/* cta-hook — 마지막 CTA 임팩트 hero (eyebrow + 거대 헤드 + sub) */
.lp-sprint .cta-hook {
  text-align: center;
  margin: 0 auto 36px;
  max-width: 880px;
}
.lp-sprint .cta-hook-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 16px;
  background: linear-gradient(90deg, #dc2626 0%, #ea580c 100%);
  color: #fff;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-bottom: 22px;
  box-shadow: 0 6px 18px -6px rgba(220,38,38,.4);
}
.lp-sprint .sprint-final .cta-hook-head {
  font-size: clamp(30px, 4.8vw, 56px);
  font-weight: 900;
  line-height: 1.2;
  color: var(--ink);
  letter-spacing: -0.025em;
  margin: 0 0 18px;
}
.lp-sprint .cta-hook-accent {
  background: linear-gradient(180deg, transparent 62%, rgba(249,115,22,.32) 62%, rgba(249,115,22,.32) 92%, transparent 92%);
  padding: 0 2px;
  color: var(--ink);
}
.lp-sprint .sprint-final .cta-hook-sub {
  font-size: clamp(15px, 1.6vw, 19px) !important;
  font-weight: 600 !important;
  color: var(--ink-2) !important;
  margin: 0 auto !important;
  max-width: 640px;
  line-height: 1.55 !important;
}

/* cta-reframe-vis — 기존 vs 지금 좌우 비교 카드 */
.lp-sprint .cta-reframe-vis {
  margin: 32px auto 28px;
  max-width: 880px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 14px;
}
/* CTA 값 재정의 — reframe ↔ 가격 사이 메인 훅 메시지 (밑줄 강조 + 넓은 행간 + 넉넉한 여백) */
.lp-sprint .sprint-final .cta-value-statement {
  margin: 80px auto 72px !important;
  max-width: 800px;
  text-align: center;
  font-size: clamp(27px, 3.7vw, 40px) !important;
  font-weight: 800;
  line-height: 1.42;
  color: var(--ink) !important;
  letter-spacing: -0.03em;
}
.lp-sprint .sprint-final .cta-value-statement b {
  font-weight: 900;
  color: var(--brand-700);
  background: linear-gradient(180deg, transparent 62%, rgba(249,115,22,0.22) 62%);
  text-decoration: underline;
  -webkit-text-decoration-color: var(--brand);
          text-decoration-color: var(--brand);
  text-decoration-thickness: 3px;
  text-underline-offset: 5px;
}
.lp-sprint .sprint-final .cta-value-statement q {
  quotes: none;
  font-weight: 800;
  color: var(--ink);
}
.lp-sprint .sprint-final .cta-value-statement q::before { content: "\2018"; }
.lp-sprint .sprint-final .cta-value-statement q::after { content: "\2019"; }
@media (max-width: 720px) {
  .lp-sprint .sprint-final .cta-value-statement { font-size: 24px !important; margin: 56px auto 52px !important; line-height: 1.5; }
}
.lp-sprint .reframe-col {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  text-align: center;
  box-shadow: 0 4px 14px -8px rgba(15,23,42,.08);
}
.lp-sprint .reframe-col.hi {
  background: linear-gradient(180deg, #fff7ed 0%, #fff 100%);
  border: 2px solid #fb923c;
  box-shadow: 0 14px 32px -16px rgba(249,115,22,.35);
}
.lp-sprint .reframe-col .reframe-l {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #94a3b8;
}
.lp-sprint .reframe-col.hi .reframe-l { color: #c2410c; }
.lp-sprint .reframe-col .reframe-v {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: #475569;
  text-decoration: line-through;
  -webkit-text-decoration-color: rgba(148,163,184,.6);
          text-decoration-color: rgba(148,163,184,.6);
}
.lp-sprint .reframe-col.hi .reframe-v {
  color: #ea580c;
  text-decoration: none;
  font-size: 26px;
}
.lp-sprint .reframe-col .reframe-sub {
  margin-top: 4px;
  font-size: 13px;
  font-weight: 600;
  color: #94a3b8;
}
.lp-sprint .reframe-col.hi .reframe-sub { color: #b45309; font-weight: 700; }
.lp-sprint .reframe-arrow {
  align-self: center;
  font-size: 28px;
  font-weight: 900;
  color: #ea580c;
  letter-spacing: -0.04em;
}

/* sub-cta 톤 다운 (legacy, 현재 미사용) */

/* sprint-tier-solo 카드 강조 — 흰 배경 위라 shadow 더 부드럽게 */
.lp-sprint .sprint-final .sprint-tier-solo {
  box-shadow: 0 30px 80px -25px rgba(15,23,42,.2), 0 12px 32px rgba(15,23,42,.08) !important;
  background: #fff !important;
}

@media (max-width: 900px) {
  .lp-sprint .sprint-final h2 { font-size: 36px; }
  .lp-sprint .sprint-final { padding: 64px 0 56px !important; }
  .lp-sprint .cta-reframe-vis {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .lp-sprint .reframe-arrow {
    transform: rotate(90deg);
    align-self: center;
    font-size: 22px;
  }
  .lp-sprint .reframe-col .reframe-v { font-size: 17px; }
  .lp-sprint .reframe-col.hi .reframe-v { font-size: 21px; }
}

/* ==========================================================================
   2026-06-05 Phase CC — Cases mockup lightbox 확대
   ========================================================================== */

/* case-thumb button reset + cursor + zoom 아이콘 */
.lp-sprint .case-thumb-btn {
  border: none;
  padding: 0;
  background: transparent;
  cursor: zoom-in;
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  font: inherit;
  color: inherit;
}
.lp-sprint .case-thumb-btn:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
}
.lp-sprint .case-thumb-link { cursor: pointer; }
.lp-sprint .case-thumb-zoom {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  background: rgba(15, 23, 42, .72);
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity .2s ease, transform .2s ease;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
}
.lp-sprint .case-thumb-btn:hover .case-thumb-zoom,
.lp-sprint .case-thumb-btn:focus-visible .case-thumb-zoom {
  opacity: 1;
  transform: scale(1.06);
}

/* Lightbox overlay */
@keyframes lbIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes lbFigIn {
  from { opacity: 0; transform: scale(.96); }
  to { opacity: 1; transform: scale(1); }
}

@media (max-width: 720px) {
  .lp-sprint .case-thumb-zoom { width: 32px; height: 32px; font-size: 16px; opacity: 1; }
}

/* ==========================================================================
   2026-06-05 Phase DD — Sticky 2-row strip + ⚡ button (vibemake 결)
   ========================================================================== */

/* strip: 가운데 정렬 2줄 */
.lp-sprint .sticky-cta-info {
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 10px 18px 12px !important;
  text-align: center;
}
.lp-sprint .sticky-cta-row {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}
.lp-sprint .sticky-cta-row.top { gap: 10px; margin-bottom: 4px; }
.lp-sprint .sticky-cta-row.top .sticky-cta-cohort {
  font-size: 15px;
  font-weight: 900;
  color: var(--ink);
  letter-spacing: -.01em;
}
.lp-sprint .sticky-cta-row.top .sticky-cta-urgency {
  font-size: 14px;
  font-weight: 800;
  color: var(--brand-700);
  background: none;
  padding: 0;
  border: 0;
}
.lp-sprint .sticky-cta-row.top .sticky-cta-fire {
  font-size: 17px;
  align-self: center;
}

.lp-sprint .sticky-cta-row.bot {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding: 0 6px;
}
.lp-sprint .sticky-cta-monthly-block {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}
.lp-sprint .sticky-cta-price-reframe {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-price-old {
  color: var(--muted) !important;
  text-decoration: line-through;
  font-size: 16px !important;
  background: none !important;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-arrow {
  color: var(--brand) !important;
  font-weight: 900;
  font-size: 16px !important;
  background: none !important;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-price-now {
  font-size: 22px !important;
  font-weight: 900;
  color: var(--brand-700) !important;
  letter-spacing: -.01em;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-monthly {
  font-size: 19px !important;
  font-weight: 900;
  color: #dc2626 !important;
  letter-spacing: -.02em;
  line-height: 1.05;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-monthly-note {
  font-size: 10px;
  color: var(--muted);
  font-weight: 600;
  margin-top: 1px;
}
.lp-sprint .sticky-cta-dot { color: var(--muted); font-weight: 700; }

/* ⚡ Button — 라벨 + dot + 가격 chained */
.lp-sprint .sticky-cta-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 16px 22px !important;
  background: var(--brand) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 900 !important;
  letter-spacing: -.01em;
  box-shadow: 0 -2px 0 rgba(0,0,0,.12) inset !important;
}
.lp-sprint .sticky-cta-button:hover { background: var(--brand-600) !important; }
.lp-sprint .sticky-cta-bolt {
  font-size: 18px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.lp-sprint .sticky-cta-btn-arrow {
  font-weight: 900;
  font-size: 1.05em;
}

/* 옛 좌우 분할 룰 비활성 */
.lp-sprint .sticky-cta-info-limit { display: none !important; }

@media (max-width: 720px) {
  .lp-sprint .sticky-cta-info { padding: 9px 14px 11px !important; gap: 3px !important; }
  .lp-sprint .sticky-cta-row.top .sticky-cta-cohort { font-size: 13px; }
  .lp-sprint .sticky-cta-row.top .sticky-cta-urgency { font-size: 12px; }
  .lp-sprint .sticky-cta-row.top .sticky-cta-fire { font-size: 15px; }
  .lp-sprint .sticky-cta-row.bot { font-size: 12px; }
  .lp-sprint .sticky-cta-row.bot { gap: 10px; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-price-old { font-size: 11px !important; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-price-now { font-size: 13px !important; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-monthly { font-size: 16px !important; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-monthly-note { font-size: 9px; }
  .lp-sprint .sticky-cta-button { padding: 14px 16px !important; font-size: 15px !important; gap: 6px !important; }
  .lp-sprint .sticky-cta-bolt { font-size: 16px; }
}

/* ==========================================================================
   2026-06-05 Phase EE-A — Value Prop 3카드 3-column 균등
   ========================================================================== */
.lp-sprint section#value .diff-grid {
  grid-template-columns: repeat(3, 1fr) !important;
  max-width: 1180px;
  margin: 56px auto 0 !important;
}
@media (max-width: 900px) {
  .lp-sprint section#value .diff-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ==========================================================================
   2026-06-05 Phase EE-B — Cases mockup 컴포넌트 CSS (m1-m7)
   case-mockups.html 의 inline style 을 React 컴포넌트 전용으로 이식
   ========================================================================== */

/* === #1 시장 데이터 === */

/* === #2 출석 === */

/* === #3 사전 예약 === */

/* === #4 회의록 === */

/* === #5 콘텐츠 생성기 === */

/* === #6 폼 자동화 === */

/* === #7 경비 정산서 === */

/* === Lightbox 안 mockup wrapper — viewport 맞춤 scale === */

/* ==========================================================================
   2026-06-05 Phase FF — Sticky CTA landing(.mobile-sticky-bar) 정확 매핑
   ========================================================================== */

.lp-sprint .sticky-cta {
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;
  width: auto !important;
  max-width: none !important;
  background: #fff !important;
  border: none !important;
  border-top: 3px solid var(--brand) !important;
  border-radius: 0 !important;
  padding: 12px 16px 14px !important;
  z-index: 9998 !important;
  box-shadow: 0 -8px 24px rgba(0,0,0,0.12) !important;
  text-align: center !important;
  flex-direction: column !important;
  display: flex !important;
  gap: 0 !important;
}

/* 내부 info strip — padding 0 (외부 컨테이너 padding 흡수), 2줄 가운데 */
.lp-sprint .sticky-cta-info {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin: 0 0 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  text-align: center;
  align-items: center;
}
.lp-sprint .sticky-cta-row { display: inline-flex; align-items: baseline; gap: 7px; flex-wrap: wrap; justify-content: center; }

/* 줄1 — countdown 톤 (#9a3412 dark orange) */
.lp-sprint .sticky-cta-row.top {
  font-size: 13px;
  font-weight: 800;
  color: #9a3412 !important;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
}
.lp-sprint .sticky-cta-fire { font-size: 16px; }
.lp-sprint .sticky-cta-row.top .sticky-cta-cohort {
  font-size: 13px !important;
  color: #9a3412 !important;
  font-weight: 900;
  letter-spacing: -.01em;
}
.lp-sprint .sticky-cta-row.top .sticky-cta-urgency {
  font-size: 13px !important;
  color: #9a3412 !important;
  font-weight: 900;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
.lp-sprint .sticky-cta-row.top .sticky-cta-dot { color: #c2410c !important; }

/* 줄2 — price 톤 (#475569 slate) */
.lp-sprint .sticky-cta-row.bot {
  font-size: 12.5px;
  color: #475569 !important;
  font-weight: 600;
  line-height: 1.4;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-price-old {
  color: var(--muted) !important;
  text-decoration: line-through;
  font-size: 12.5px !important;
  background: none !important;
  font-weight: 600;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-arrow {
  color: var(--brand) !important;
  font-weight: 900;
  font-size: 13px !important;
  background: none !important;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-price-now {
  font-size: 13.5px !important;
  font-weight: 900;
  color: var(--brand-700) !important;
  letter-spacing: -.01em;
}
.lp-sprint .sticky-cta-row.bot .sticky-cta-dot { color: #94a3b8 !important; }

/* 버튼 — gradient 135deg + box-shadow */
.lp-sprint .sticky-cta-button {
  display: block !important;
  background: linear-gradient(135deg, #f97316 0%, #ea580c 100%) !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  padding: 13px 18px !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(249,115,22,.35) !important;
  letter-spacing: -.01em !important;
  border: none !important;
  text-align: center;
  transition: transform .15s ease;
}
.lp-sprint .sticky-cta-button:hover {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  transform: none !important;
}
.lp-sprint .sticky-cta-button:active { transform: scale(.98) !important; }
.lp-sprint .sticky-cta-bolt { font-size: 16px; margin-right: 2px; }

/* 데스크탑 ≥769px — centered + max-width 640 + border 2px + bottom 24 */
@media (min-width: 769px) {
  .lp-sprint .sticky-cta {
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    max-width: 640px !important;
    width: calc(100% - 48px) !important;
    bottom: 24px !important;
    padding: 16px 28px 18px !important;
    border: 2px solid var(--brand) !important;
    border-top: 3px solid var(--brand) !important;
    border-radius: 18px !important;
    box-shadow: 0 12px 40px rgba(0,0,0,.18) !important;
  }
  .lp-sprint .sticky-cta-row.top { font-size: 14px; }
  .lp-sprint .sticky-cta-row.top .sticky-cta-cohort { font-size: 14px !important; }
  .lp-sprint .sticky-cta-row.top .sticky-cta-urgency { font-size: 14px !important; }
  .lp-sprint .sticky-cta-row.bot { font-size: 13.5px; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-price-old { font-size: 13.5px !important; }
  .lp-sprint .sticky-cta-row.bot .sticky-cta-price-now { font-size: 15px !important; }
  .lp-sprint .sticky-cta-info { margin-bottom: 12px !important; }
  .lp-sprint .sticky-cta-button { font-size: 16px !important; padding: 14px 22px !important; }
}

/* body padding-bottom + KAKAO FAB 위치 — sticky 활성 시에만 (landing 룰 정확) */

/* ==========================================================================
   2026-06-05 Phase HH — Lightbox scale ↑ + 7 mockup 브랜드 컬러
   각 mockup 이 독립 SaaS 브랜드 결을 갖도록 (오렌지 단일 → 다양 팔레트)
   ========================================================================== */

/* Lightbox mockup scale 상향 */

/* === #1 MarketWatch — sky blue 핀테크 === */

/* === #2 BarreFlow — pink 헬스 === */

/* === #3 LinenStore — amber-brown 럭셔리 === */

/* === #4 MeetScribe — violet 회의 === */

/* === #5 콘텐츠 — cyan === */

/* === #6 FormAutomation — amber (카톡 결) === */

/* === #7 Expense — slate (회계) === */

/* === 신규 element CSS — Phase HH 풍부 mock === */
/* 공통 toast */

/* m1 — 추가 row, filter chip */

/* m2 — alert + 추가 메트릭 */

/* m3 — 리뷰 별점 + sticker */

/* m4 — search + summary tabs */

/* m5 — recently generated + 카운트 */

/* m6 — webhook log */

/* m7 — category pie + summary */

/* ==========================================================================
   2026-06-05 Phase JJ — 진짜 product 사진으로 mockup 자산 교체
   ========================================================================== */

/* m3 — pseudo bottle 제거 + 실 PNG */

/* m7 — 영수증 텍스트 박스 → 실 사진 img */

/* ==========================================================================
   2026-06-05 Phase LL-3 — Cohort Modal (landing 패턴 차용)
   ========================================================================== */
@keyframes cohortModalIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes cohortPanelIn {
  from { opacity: 0; transform: translateY(12px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
/* 할인 앵커 — 배지(위) + 가격(아래) 세로 배치, 모달 전체에서 1회만 */
@keyframes cohortSkeleton {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* 가격 그룹 (750→540 + 월환산) = 서로 가깝게 */

/* 상태 그룹 (마감 임박) = 가격과 분리, 액션과도 분리 */

/* 상태(좌) + CTA(우) 한 줄 푸터 — 프로그레스 바 제거로 카드 높이 축소 */

/* ==========================================================================
   2026-06-05 Phase MM — Sticky CTA 지연 등장 (scroll 1.2vh + fade-up)
   ========================================================================== */

/* 기본: 숨김 + 슬라이드 다운 위치 */
.lp-sprint .sticky-cta {
  opacity: 0 !important;
  transform: translate(-50%, calc(100% + 24px)) !important;
  pointer-events: none !important;
  transition: opacity .35s cubic-bezier(.16,1,.3,1),
              transform .45s cubic-bezier(.16,1,.3,1) !important;
  animation: none !important;
}

/* 보이기: scroll ≥ 1.2vh 후 fade-up */
.lp-sprint .sticky-cta.is-visible {
  opacity: 1 !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

@media (max-width: 768px) {
  /* 모바일 — 좌우 꽉이라 translateX 없이 Y 만 */
  .lp-sprint .sticky-cta {
    transform: translateY(120%) !important;
  }
  .lp-sprint .sticky-cta.is-visible {
    transform: translateY(0) !important;
  }
}

/* ==========================================================================
   2026-06-05 Phase GG — PROGRAM 섹션 다이어트
   결과 시각화 한 줄 (timestamp + statement + CTA), 사족 다 제거.
   ========================================================================== */

/* 옛 program-* 룰 비활성 (kicker · diagnosis · title · chips · end-promise) */

/* PROGRAM 새 layout — 호흡 큰 spacing */
.lp-sprint .program {
  background: #fff !important;
  padding: 128px 0 120px !important;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  text-align: center !important;
}

/* program-time — "이번 주 토 → 다음 주 일" 큰 글자 + 그라데이션 직관 강조 (2026-06-09 재설계) */
.lp-sprint .program-time {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 22px;
}
.lp-sprint .program-time-pair {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 36px;
}
.lp-sprint .program-time-col {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.lp-sprint .program-time-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 14px;
  background: var(--brand-50);
  color: var(--brand-700);
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.06em;
}
.lp-sprint .program-time-big {
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  font-size: clamp(40px, 7vw, 88px);
  color: var(--ink);
  background: linear-gradient(180deg, var(--ink) 0%, var(--brand-700) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.lp-sprint .program-time-hour {
  font-family: ui-monospace, SFMono-Regular, Menlo, "SF Mono", monospace;
  font-size: 15px;
  font-weight: 700;
  color: var(--muted);
  letter-spacing: 0.02em;
}
.lp-sprint .program-time-arrow {
  font-size: clamp(28px, 4vw, 48px);
  color: var(--brand);
  font-weight: 900;
  align-self: center;
  transform: translateY(-12px);
}
.lp-sprint .program-time-total {
  display: inline-block;
  padding: 10px 22px;
  background: var(--brand-50);
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: clamp(15px, 1.6vw, 18px);
  font-weight: 800;
  color: var(--brand-700);
  letter-spacing: -0.01em;
}

/* statement */
.lp-sprint .program-statement {
  margin: 36px auto 0 !important;
  max-width: 760px;
  font-size: clamp(20px, 2.4vw, 28px) !important;
  line-height: 1.45;
  color: var(--ink-2) !important;
  font-weight: 700;
  letter-spacing: -.015em;
  text-align: center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 24px !important;
}

/* CTA */
.lp-sprint .program-cta {
  margin-top: 44px !important;
  display: inline-flex;
}

@media (max-width: 720px) {
  .lp-sprint .program {
    padding: 72px 0 64px !important;
  }
  .lp-sprint .program-time { gap: 16px; }
  .lp-sprint .program-time-pair { flex-direction: column; gap: 18px; }
  .lp-sprint .program-time-arrow { transform: rotate(90deg); margin: 0; font-size: 28px; }
  .lp-sprint .program-time-big { font-size: clamp(34px, 10vw, 56px); }
  .lp-sprint .program-time-chip { font-size: 11px; padding: 4px 10px; }
  .lp-sprint .program-time-hour { font-size: 13px; }
  .lp-sprint .program-time-total { font-size: 14px; padding: 8px 16px; }
  .lp-sprint .program-statement { margin-top: 22px !important; padding: 0 16px !important; }
  .lp-sprint .program-cta { margin-top: 26px !important; padding: 16px 24px !important; font-size: 16px !important; }
}

/* program-hook v4 — 흰 배경 + 큰 폰트 + 강조 (박스 폐기) */
.lp-sprint .program-hook {
  max-width: 920px;
  margin: 0 auto 64px !important;
  padding: 0 24px;
  word-break: keep-all;
  display: flex;
  flex-direction: column;
  gap: 20px;
  text-align: center;
}
.lp-sprint .program-hook-q {
  margin: 0;
  font-size: clamp(28px, 4vw, 54px);
  line-height: 1.28;
  font-weight: 900;
  letter-spacing: -.025em;
  color: var(--ink);
}
.lp-sprint .program-hook-q .hl {
  background: linear-gradient(180deg, transparent 62%, #fed7aa 62%, #fed7aa 92%, transparent 92%);
  color: var(--brand-700);
  padding: 0 4px;
}
.lp-sprint .program-hook-a {
  margin: 0;
  font-size: clamp(17px, 2.1vw, 24px);
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: -.01em;
  color: var(--ink-3);
}
.lp-sprint .program-hook-a b {
  font-weight: 900;
  color: var(--brand-700);
}
@media (max-width: 720px) {
  .lp-sprint .program-hook {
    margin: 0 auto 36px !important;
    padding: 0 16px;
    gap: 14px;
  }
  .lp-sprint .program-hook-q { font-size: clamp(22px, 6.2vw, 32px); }
  .lp-sprint .program-hook-a { font-size: clamp(14px, 3.8vw, 18px); }
}

/* 가격 reframe 카드 (2026-06-08 [[2026-06-08-2week-pivot]] §5.4 — 외주·검색 지옥 대비 프레임) */

/* ──────────────────────────────────────────────────────────────
 * hero lead 2줄 분리 + .pain section transition polish
 * (2026-06-08 [[2026-06-08-2week-pivot]] §5 hero lead 줄바꿈 + Problem spacing)
 * ──────────────────────────────────────────────────────────── */

/* hero lead 2-row list — 1회 / 2회 명확 분리 */
.lp-sprint .hero-lead-list {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lp-sprint .hero-lead-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  padding: 14px 18px;
  background: #fff;
  border-left: 3px solid var(--brand);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
  font-size: 17px;
  line-height: 1.55;
  color: var(--ink);
}
.lp-sprint .hero-lead-label {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  background: var(--brand-50);
  color: var(--brand-700);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.lp-sprint .hero-lead-body {
  flex: 1 1 auto;
  font-weight: 500;
  color: var(--ink-2, #334155);
  min-width: 0;
}

/* .pain section 진입 시 spacing + 다크 전환 시각 분리 강화 */
.lp-sprint .pain {
  padding: 120px 0 96px;
  position: relative;
}
.lp-sprint .pain::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 4px;
  background: var(--brand);
  border-radius: 2px;
}
.lp-sprint .pain .kicker {
  display: inline-block;
  margin-bottom: 16px;
  padding: 6px 14px;
  background: rgba(249, 115, 22, 0.15);
  color: #fdba74;
  border: 1px solid rgba(249, 115, 22, 0.35);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.lp-sprint .pain h2 {
  margin-top: 8px;
  font-size: clamp(28px, 3.4vw, 40px);
  line-height: 1.3;
  letter-spacing: -0.025em;
}

@media (max-width: 720px) {
  .lp-sprint .hero-lead-list {
    margin: 20px 0 0;
    gap: 10px;
  }
  .lp-sprint .hero-lead-list li {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px 14px;
    font-size: 15px;
  }
  .lp-sprint .pain { padding: 88px 0 64px; }
  .lp-sprint .pain::before { width: 40px; height: 3px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * 2026-06-08 design polish 통합 패스 — /arrange + /polish + /typeset
 * 전체 landing 의 spacing·typography·card·section transition 일관화
 * (기존 정의 위에 override — !important 최소화, specificity 로 처리)
 * ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* 1. section h2 — clamp + tight line-height 통일 */
.lp-sprint section h2 {
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.28;
  letter-spacing: -0.028em;
  font-weight: 900;
}
.lp-sprint .pain h2 { color: #fff; }
.lp-sprint .sprint-final h2 { color: #fff; font-size: clamp(32px, 4vw, 52px); }

/* 2. section kicker 일관 — 오렌지 ghost chip (전 section 통일) */
.lp-sprint section > .wrap > .kicker:not(.pain .kicker):not(.sprint-final .kicker) {
  display: inline-block;
  padding: 6px 14px;
  background: var(--brand-50);
  color: var(--brand-700);
  border: 1px solid #fed7aa;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

/* 3. section subhead 일관 — h2 다음 lead 톤 */
.lp-sprint section .subhead {
  margin: 16px auto 0;
  max-width: 720px;
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.6;
  color: var(--ink-3);
  font-weight: 500;
}

/* 4. 카드 공통 base — border-radius 20 통일 (기존 더 작은 값 override) */
.lp-sprint .pain-card,
.lp-sprint .condition-card,
.lp-sprint .sprint-tier {
  border-radius: 20px;
}
.lp-sprint .cur-row,
.lp-sprint .case-card {
  border-radius: 18px;
}

/* 5. CTA 버튼 polish — 일관 padding/font */
.lp-sprint .btn.btn-primary.xl {
  padding: 16px 36px;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: -0.01em;
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(249, 115, 22, 0.28);
  transition: transform 0.2s, box-shadow 0.2s;
}
.lp-sprint .btn.btn-primary.xl:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(249, 115, 22, 0.36);
}
.lp-sprint .btn.btn-secondary {
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 700;
  border-radius: 12px;
}

/* 6. section 사이 시각 리듬 — 다크 다음 라이트 section 위에 오렌지 divider */
.lp-sprint .pain + section::before {
  content: "";
  display: block;
  width: 56px;
  height: 4px;
  margin: 0 auto 32px;
  background: var(--brand);
  border-radius: 2px;
}

/* 7. mobile breakpoint 정합 — section padding 통일 */
@media (max-width: 720px) {
  .lp-sprint section { padding: 72px 0 56px; }
  .lp-sprint .hero { padding: 56px 0 48px; }
  .lp-sprint .pain { padding: 88px 0 64px; }
  .lp-sprint .sprint-final { padding: 88px 0 72px; }
  .lp-sprint section h2 { font-size: clamp(24px, 6vw, 32px); }
  .lp-sprint .btn.btn-primary.xl { padding: 14px 28px; font-size: 15px; }
}

/* 8. hero 내부 spacing polish — kicker → empathy → h1 → lead 간격 */
.lp-sprint .hero .kicker { margin-bottom: 16px; }
.lp-sprint .hero-empathy {
  margin: 0 0 20px;
  font-size: clamp(15px, 1.7vw, 18px);
  color: var(--ink-3);
  font-weight: 600;
  line-height: 1.5;
}
.lp-sprint .hero h1 { margin-top: 0; }
.lp-sprint .hero .cta-row { margin-top: 32px; }
.lp-sprint .hero .proof { margin-top: 22px; line-height: 1.6; }

/* 9. badges 행간·간격 polish */
.lp-sprint .sprint-hero-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin: 22px 0 4px;
}
.lp-sprint .sprint-hero-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 13px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  color: var(--ink-2, #334155);
}
.lp-sprint .sprint-hero-badge b {
  margin-left: 4px;
  color: var(--brand-700);
  font-weight: 800;
}

/* 10. .wrap max-width 일관 */
.lp-sprint section > .wrap {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}
@media (max-width: 720px) {
  .lp-sprint section > .wrap { padding-left: 16px; padding-right: 16px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * SprintCases 캐러셀 — scroll-snap + 좌우 arrow 버튼 (2026-06-08)
 * ──────────────────────────────────────────────────────────── */
.lp-sprint .cases-carousel-wrap {
  position: relative;
  margin: 56px -24px 0;
  padding: 0 24px;
}
.lp-sprint .cases-carousel {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 24px;
  padding: 8px 0 28px;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}
.lp-sprint .cases-carousel::-webkit-scrollbar {
  height: 6px;
}
.lp-sprint .cases-carousel::-webkit-scrollbar-thumb {
  background: rgba(249, 115, 22, 0.35);
  border-radius: 3px;
}
.lp-sprint .cases-carousel::-webkit-scrollbar-track {
  background: transparent;
}
.lp-sprint .cases-carousel .case-card {
  flex: 0 0 clamp(280px, 32vw, 380px);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  margin-top: 0;
}

/* arrow 버튼 */
.lp-sprint .cases-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #fff;
  border: 1.5px solid var(--line);
  color: var(--brand-700);
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  z-index: 3;
  box-shadow: 0 6px 16px rgba(15, 23, 42, 0.12);
  transition: transform 0.18s, box-shadow 0.18s, background 0.18s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lp-sprint .cases-arrow:hover {
  transform: translateY(-50%) scale(1.06);
  background: var(--brand-50);
  border-color: var(--brand);
  box-shadow: 0 10px 24px rgba(249, 115, 22, 0.22);
}
.lp-sprint .cases-arrow:active {
  transform: translateY(-50%) scale(0.96);
}
.lp-sprint .cases-arrow:focus-visible {
  outline: 3px solid var(--brand);
  outline-offset: 2px;
}
.lp-sprint .cases-arrow-prev { left: -8px; }
.lp-sprint .cases-arrow-next { right: -8px; }

@media (max-width: 720px) {
  .lp-sprint .cases-carousel-wrap {
    margin: 36px -16px 0;
    padding: 0 16px;
  }
  .lp-sprint .cases-carousel {
    gap: 14px;
    scroll-padding-inline: 16px;
    padding-bottom: 20px;
  }
  .lp-sprint .cases-carousel .case-card {
    flex: 0 0 clamp(260px, 84vw, 320px);
  }
  .lp-sprint .cases-arrow {
    width: 40px;
    height: 40px;
    font-size: 22px;
  }
  .lp-sprint .cases-arrow-prev { left: -4px; }
  .lp-sprint .cases-arrow-next { right: -4px; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 * hero-lead-list 후킹 제목 + body 2단 구조 (2026-06-08)
 * ──────────────────────────────────────────────────────────── */
.lp-sprint .hero-lead-list li {
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  padding: 18px 22px;
}
.lp-sprint .hero-lead-head {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  flex-wrap: wrap;
}
.lp-sprint .hero-lead-title {
  margin: 0;
  font-size: clamp(17px, 2vw, 21px);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--ink);
  line-height: 1.3;
}
.lp-sprint .hero-lead-body {
  margin: 0;
  font-size: clamp(14px, 1.5vw, 16px);
  line-height: 1.55;
  color: var(--ink-3);
  font-weight: 500;
}

@media (max-width: 720px) {
  .lp-sprint .hero-lead-list li {
    padding: 14px 16px;
    gap: 6px;
  }
  .lp-sprint .hero-lead-head { gap: 8px; }
  .lp-sprint .hero-lead-title { font-size: 16px; }
  .lp-sprint .hero-lead-body { font-size: 14px; }
}

/* ==========================================================================
   2026-06-09 — ddukddak flow 차용 (SprintTestimonials·Welcome·SelfSufficiency)
   상단으로 끌어올린 후기·이런분·결과물·사례·자립 5 섹션
   ========================================================================== */

/* SprintSelectionWelcome — "이런 분이면 딱 맞습니다" 페르소나 카드 (5장, icon + title + body) */
.lp-sprint .welcome-grid {
  margin-top: 56px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.lp-sprint .welcome-card {
  background: var(--bg-soft, #f8fafc);
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 28px 28px 26px;
  transition: border-color .2s, transform .2s, box-shadow .2s;
}
.lp-sprint .welcome-card:hover {
  border-color: var(--brand-500);
  transform: translateY(-2px);
  background: #fff;
  box-shadow: 0 14px 32px -16px rgba(249,115,22,.20);
}
.lp-sprint .welcome-card-icon {
  font-size: 32px;
  line-height: 1;
  margin-bottom: 14px;
}
.lp-sprint .welcome-card-title {
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 8px;
  line-height: 1.4;
}
.lp-sprint .welcome-card-body {
  font-size: 14px;
  line-height: 1.6;
  color: var(--muted);
  margin: 0;
}

/* SprintSelection reject-only — single column */
.lp-sprint .selection-grid-reject-only {
  grid-template-columns: 1fr !important;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* SprintSelfSufficiency — "강의 끝나도 혼자서 또" 단계별 progression stack (ddukddak 패턴) */
.lp-sprint .self-suff {
  background: linear-gradient(180deg, #fff7ed 0%, #ffffff 100%);
}
.lp-sprint .self-suff-steps {
  margin: 56px auto 0;
  max-width: 880px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.lp-sprint .self-suff-step {
  background: #fff;
  border: 1.5px solid var(--line);
  border-radius: 20px;
  padding: 28px 32px;
  transition: border-color .2s, box-shadow .2s;
}
.lp-sprint .self-suff-step:hover {
  border-color: var(--brand-500);
  box-shadow: 0 14px 32px -16px rgba(249,115,22,.20);
}
.lp-sprint .self-suff-step-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}
.lp-sprint .self-suff-step-num {
  font-size: 13px;
  font-weight: 900;
  color: var(--brand-600);
  letter-spacing: .12em;
  flex-shrink: 0;
}
.lp-sprint .self-suff-step-head h3 {
  font-size: 19px;
  font-weight: 800;
  color: var(--ink);
  margin: 0;
  line-height: 1.3;
}
.lp-sprint .self-suff-step-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lp-sprint .self-suff-step-list li {
  position: relative;
  padding-left: 22px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-3, #475569);
}
.lp-sprint .self-suff-step-list li::before {
  content: "·";
  position: absolute;
  left: 6px;
  top: -2px;
  font-size: 22px;
  font-weight: 900;
  color: var(--brand-500);
  line-height: 1;
}

@media (max-width: 720px) {
  .lp-sprint .self-suff-step { padding: 24px 22px; }
  .lp-sprint .self-suff-step-head { gap: 12px; }
  .lp-sprint .self-suff-step-head h3 { font-size: 17px; }
  .lp-sprint .self-suff-step-list li { font-size: 14px; padding-left: 18px; }
  .lp-sprint .welcome-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .lp-sprint .welcome-grid { grid-template-columns: 1fr; }
}

/* 2026-06-09 — SprintDeliverables 6장 grid → 3단계 stack 재설계 (ddukddak vibe-coding-4 패턴) */
.lp-sprint .deliv-stack {
  margin: 56px auto 0;
  max-width: 880px;
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.lp-sprint .deliv-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: start;
  gap: 24px;
}
.lp-sprint .deliv-row-num {
  font-size: 64px;
  font-weight: 900;
  color: var(--line);
  line-height: 1;
  letter-spacing: -0.02em;
  text-align: left;
}
.lp-sprint .deliv-row-body h3 {
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 10px;
  line-height: 1.3;
}
.lp-sprint .deliv-row-body p {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ink-3, #475569);
  margin: 0;
}

@media (max-width: 720px) {
  .lp-sprint .deliv-row {
    grid-template-columns: 64px 1fr;
    gap: 16px;
  }
  .lp-sprint .deliv-row-num { font-size: 40px; }
  .lp-sprint .deliv-row-body h3 { font-size: 19px; }
  .lp-sprint .deliv-row-body p { font-size: 15px; }
}

/* 2026-06-09 — SprintCurriculum 위계·마진 통일 (inline style 제거 → CSS class)
   계층: h2 (섹션) → .cur-overview (전체 안내) → .cur-week-head (회차 구획) → .cur-week-sub → Timeline
   가로 정렬: 모두 .wrap 의 좌측 정렬에 정합, 중앙 정렬 강제 X */
.lp-sprint .cur-week-head {
  margin: 80px auto 0;
  max-width: 900px;
  font-size: 22px;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -0.01em;
  text-align: left;
  display: flex;
  align-items: baseline;
  gap: 14px;
  flex-wrap: wrap;
}
.lp-sprint .cur-week-title {
  flex: 1;
  min-width: 0;
  line-height: 1.3;
}
.lp-sprint .cur-week-sub {
  margin: 14px auto 0;
  max-width: 900px;
  font-size: 15.5px;
  line-height: 1.65;
  color: var(--ink-2);
  font-weight: 600;
  text-align: left;
}
.lp-sprint .cur-week-sub + .cur-timeline {
  margin-top: 28px;
}

@media (max-width: 720px) {
  .lp-sprint .cur-week-head {
    margin-top: 64px;
    font-size: 18px;
    gap: 10px;
  }
  .lp-sprint .cur-week-sub { font-size: 14px; }
}

/* 2026-06-09 — SprintProgram statement 안 "본인 프로젝트가 진짜" 강조 */
.lp-sprint .program-statement-emph {
  color: var(--brand-600);
  font-weight: 900;
  font-size: 1.12em;
  letter-spacing: -0.01em;
}

/* 2026-06-10 — "정원 모집 중" → "⚡ 마감 임박!" (빨강 강조, 사용자 정합) */

/* 2026-06-10 — 특별 기한 할인 카운트다운 (pill / card 2 variant) */

/* pill variant — Hero badges 영역 inline */

/* card variant — 긴급성(타이머)만. 컴팩트 단일 행: 라벨 + 타이머 (가격 reframe 분리됨) */
.lp-sprint .countdown-card {
  display: flex;
  flex-direction: column;
  margin: 8px 0;
  padding: 10px 16px;
  background: #fff7ed;
  border: 1px solid rgba(234,88,12,.18);
  border-radius: 12px;
}
.lp-sprint .countdown-card-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}
.lp-sprint .countdown-card-label {
  display: inline-flex;
  align-items: center;
  color: #b91c1c;
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
@media (max-width: 720px) {
  .lp-sprint .countdown-card-label { font-size: 19px; }
}
.lp-sprint .countdown-card-time {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: 3px;
  color: #dc2626;
  font-family: ui-monospace, SFMono-Regular, Menlo, "SF Mono", monospace;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
  animation: countdownPulse 1.1s ease-in-out infinite;
}
@keyframes countdownPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.045); }
}
.lp-sprint .countdown-card-time .ico {
  font-size: 28px;
  line-height: 1;
  align-self: center;
  margin-right: 5px;
  opacity: 0.7;
}
.lp-sprint .countdown-card-time .big {
  font-size: 46px;
  font-weight: 900;
  line-height: 1;
  color: #dc2626;
  letter-spacing: -0.02em;
  text-shadow: 0 2px 10px rgba(220,38,38,.18);
}
.lp-sprint .countdown-card-time .ms {
  font-size: 46px;
  font-weight: 800;
  color: #ea580c;
  line-height: 1;
  min-width: 72px;
  text-align: left;
  letter-spacing: -0.02em;
}
@media (max-width: 720px) {
  .lp-sprint .countdown-card-time .ico { font-size: 22px; }
  .lp-sprint .countdown-card-time .big { font-size: 36px; }
  .lp-sprint .countdown-card-time .ms { font-size: 36px; min-width: 56px; }
}
/* 모바일(≤540px) — 모달 내부 전체 폰트 컴팩트화 (과대·가림 해소). 카운트다운 720px 블록 뒤에 와야 우선순위 승) */
@media (max-width: 540px) {

  .lp-sprint .countdown-card { margin: 6px 0; padding: 8px 12px; }
  .lp-sprint .countdown-card-row { gap: 3px; }
  .lp-sprint .countdown-card-label { font-size: 14px; }
  .lp-sprint .countdown-card-time .ico { font-size: 17px; margin-right: 4px; }
  .lp-sprint .countdown-card-time .big { font-size: 27px; }
  .lp-sprint .countdown-card-time .ms { font-size: 27px; min-width: 42px; }
}
.lp-sprint .countdown-card.expired {
  background: #f1f5f9;
  border-color: #cbd5e1;
}
.lp-sprint .countdown-card-msg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 6px 0 2px;
}
.lp-sprint .countdown-card-msg-text {
  color: #475569;
  font-weight: 600;
  font-size: 14px;
}
.lp-sprint .countdown-card-msg-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 20px;
  background: #fff;
  color: #1f2937;
  border-radius: 10px;
  font-weight: 900;
  font-size: 14px;
  letter-spacing: -0.01em;
  text-decoration: none;
  box-shadow: 0 4px 12px -4px rgba(0,0,0,.20);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.lp-sprint .countdown-card-msg-btn:hover {
  transform: translateY(-1px);
  background: #fef3c7;
  box-shadow: 0 8px 18px -6px rgba(0,0,0,.28);
}
.lp-sprint .countdown-card-msg-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px -2px rgba(0,0,0,.20);
}

/* inline variant — sticky CTA 같은 좁은 영역 (텍스트 + 시간) */
.lp-sprint .countdown-inline {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  font-weight: 800;
  color: inherit;
}
.lp-sprint .countdown-inline-label {
  color: inherit;
  opacity: 0.9;
}
.lp-sprint .countdown-inline-time {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-family: ui-monospace, SFMono-Regular, Menlo, "SF Mono", monospace;
  font-weight: 700;
  letter-spacing: 0.01em;
  padding: 3px 11px;
  background: rgba(15,23,42,.05);
  color: #1f2937;
  border-radius: 7px;
  border: 1px solid rgba(15,23,42,.08);
  font-variant-numeric: tabular-nums;
}
.lp-sprint .countdown-inline-time .big { font-size: 17px; color: #dc2626; font-weight: 800; }
.lp-sprint .countdown-inline-time .ms {
  font-size: 17px;
  color: #ea580c;
  font-weight: 700;
  min-width: 28px;
  text-align: left;
}
.lp-sprint .countdown-inline.expired {
  color: #94a3b8;
  font-size: 12px;
  font-weight: 700;
}

/* 2026-06-21 — m6 재설계: 신청 자동화 관리 대시보드 (다이어그램 → 실제 앱 화면) */

/* 2026-06-21 — 스티키 CTA 가격 화살표 옆 할인 배지 */
.lp-sprint .sticky-cta-off { display: inline-flex; align-items: center; font-size: 11px; font-weight: 900; letter-spacing: -0.01em; color: #fff; background: #dc2626; padding: 3px 8px; border-radius: 7px; margin-left: 8px; white-space: nowrap; box-shadow: 0 4px 10px -4px rgba(220,38,38,.5); }
@media (max-width: 720px) { .lp-sprint .sticky-cta-off { font-size: 10px; padding: 2px 6px; margin-left: 6px; } }

/* 2026-06-21 — NVIDIA 다크 테마 (시세 대시보드 #1) — getdesign nvidia */

/* 2026-06-21 — Linear 다크 테마 (회의록 #4) — getdesign linear.app */

/* 2026-06-21 — Stripe 라이트 인디고 테마 (경비 #7) — getdesign stripe */

/* 2026-06-21 — Notion 테마 (콘텐츠 생성기 #5) — getdesign notion */

/* 2026-06-21 — 커리큘럼 오버뷰 카드 클릭 → 해당 회차 상세로 스크롤 */
.lp-sprint #cur-day1, .lp-sprint #cur-day2 { scroll-margin-top: 90px; }

/* 2026-07-20 — 신청 특전 5 (SprintBenefits). 최종 CTA 바로 위 value-stack 섹션.
   라이트 테마 소프트 브랜드 틴트 배경 → 아래 dark/orange CTA 로 자연스러운 전환. */
.lp-sprint .bene-sec {
  background: linear-gradient(180deg, #fff 0%, var(--brand-50) 100%);
  border-top: 1px solid var(--brand-100);
}
/* kicker 는 전역 section kicker 규칙(오렌지 pill)을 그대로 사용 — 다른 섹션과 톤 통일 */
.lp-sprint .bene-grid {
  margin: 44px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
}
.lp-sprint .bene-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--line);
  border-top: 3px solid var(--brand);
  border-radius: 16px;
  padding: 22px 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, .05);
}
.lp-sprint .bene-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lp-sprint .bene-ico { font-size: 30px; line-height: 1; }
.lp-sprint .bene-num {
  font-size: 15px;
  font-weight: 900;
  color: var(--brand);
  letter-spacing: .04em;
}
.lp-sprint .bene-title {
  font-size: 16.5px;
  font-weight: 800;
  color: var(--ink);
  line-height: 1.35;
  margin: 2px 0 0;
}
.lp-sprint .bene-desc {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-3, #334155);
  margin: 0;
  flex: 1;
}
.lp-sprint .bene-anchor {
  align-self: flex-start;
  background: var(--brand-50);
  border: 1px solid var(--brand-100);
  color: var(--brand-700);
  font-size: 12.5px;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 8px;
  letter-spacing: .01em;
}
.lp-sprint .bene-total {
  margin: 34px 0 0;
  text-align: center;
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
}
.lp-sprint .bene-total::before { content: "🎉 "; }
@media (max-width: 1000px) {
  .lp-sprint .bene-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
  .lp-sprint .bene-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .lp-sprint .bene-card { padding: 18px 15px 16px; }
  .lp-sprint .bene-ico { font-size: 26px; }
  .lp-sprint .bene-title { font-size: 15px; }
  .lp-sprint .bene-desc { font-size: 12.5px; }
  .lp-sprint .bene-total { font-size: 15px; }
}
@media (max-width: 420px) {
  .lp-sprint .bene-grid { grid-template-columns: 1fr; }
}

/* ── 커뮤니티 증거 밴드 (특전 04 질문방 · 05 스터디 실물 증거) ── */
.lp-sprint .bene-proof {
  margin: 40px 0 0;
  padding: 30px 26px 28px;
  background: #fff;
  border: 1px solid var(--brand-100);
  border-radius: 22px;
  box-shadow: 0 12px 34px rgba(15, 23, 42, .07);
}
.lp-sprint .bene-proof-head { text-align: center; margin-bottom: 24px; }
.lp-sprint .bene-proof-kicker {
  display: inline-block;
  font-size: 13px;
  font-weight: 800;
  color: var(--brand-700);
  background: var(--brand-50);
  border: 1px solid var(--brand-100);
  padding: 5px 13px;
  border-radius: 999px;
  letter-spacing: .01em;
}
.lp-sprint .bene-proof-title {
  margin: 13px 0 0;
  font-size: 23px;
  font-weight: 900;
  color: var(--ink);
  line-height: 1.34;
}
.lp-sprint .bene-proof-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.lp-sprint .bene-proof-card {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .05);
}
.lp-sprint .bene-proof-media {
  position: relative;
  height: 360px;
  background: #0b0b0d;
  overflow: hidden;
}
.lp-sprint .bene-proof-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.lp-sprint .bene-proof-media--chat img { object-position: top center; }
/* 채팅 컷의 하단이 '잘린 느낌'이 되지 않도록 부드러운 페이드 */
.lp-sprint .bene-proof-media--chat::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 56px;
  background: linear-gradient(180deg, rgba(11,11,13,0) 0%, rgba(11,11,13,.55) 100%);
  pointer-events: none;
}
.lp-sprint .bene-proof-cap {
  padding: 16px 18px 18px;
  border-top: 3px solid var(--brand);
}
.lp-sprint .bene-proof-ico { font-size: 22px; line-height: 1; }
.lp-sprint .bene-proof-cap b {
  display: block;
  margin: 6px 0 4px;
  font-size: 16.5px;
  font-weight: 800;
  color: var(--ink);
}
.lp-sprint .bene-proof-cap p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--ink-3, #334155);
}
@media (max-width: 720px) {
  .lp-sprint .bene-proof { padding: 22px 15px 20px; border-radius: 18px; }
  .lp-sprint .bene-proof-head { margin-bottom: 18px; }
  .lp-sprint .bene-proof-title { font-size: 19px; }
  .lp-sprint .bene-proof-grid { grid-template-columns: 1fr; gap: 14px; }
  .lp-sprint .bene-proof-media { height: 300px; }
}
.lp-sprint .inst-grid:has(> .inst-card:only-child) { grid-template-columns: minmax(0, 620px); justify-content: center; }   /* 2026-09-29 강사 1명 — 가운데 한 장 */
