/* Zone 2 Running Coach landing page (simplified). Uses tokens from styles.css. */
.lp-section { padding-block: clamp(64px, 9vw, 112px); }
.lp-head { max-width: 640px; }
.lp-h2 { font-family: var(--font-display); font-size: clamp(2rem, 4.4vw, 3.4rem); font-weight: 700; letter-spacing: -.05em; line-height: 1.05; color: var(--forest); }
.lp-h2--light { color: #f3f3e8; }
.lp-body { margin-top: 18px; color: #50645d; font-size: 1.08rem; line-height: 1.7; max-width: 52ch; }
.lp-body--light { color: #c9d9ce; }
.lp-num { font-family: var(--font-display); font-weight: 700; color: #678879; font-size: .9rem; letter-spacing: .1em; }
.lp-btn { min-height: 52px; padding: 16px 26px; font-size: .92rem; }
.lp-textlink { display: inline-block; margin-top: 32px; font-weight: 600; font-size: .95rem; color: var(--accent-dark); }
.lp-textlink--light { margin-top: 0; color: #dce9dc; text-decoration-color: rgba(220,233,220,.45); }
.lp-textlink--light:hover { color: #fff; }

.lp-phone { margin: 0; justify-self: center; width: min(100%, 300px); }
.lp-phone img { width: 100%; height: auto; border-radius: 14% / 6.7%; box-shadow: 0 24px 60px rgba(5,31,27,.28); }
.lp-phone figcaption { margin-top: 12px; font-size: .72rem; text-align: center; color: #64796e; }

/* Hero */
.lp-hero { background: var(--forest); color: #f3f3e8; padding-block: clamp(48px, 7vw, 96px); border-bottom: 3px solid var(--moss); }
.lp-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.lp-kicker { color: var(--moss); font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; margin-bottom: 22px; }
.lp-hero__title { font-family: var(--font-display); font-size: clamp(2.6rem, 6.4vw, 5.4rem); font-weight: 700; letter-spacing: -.065em; line-height: .98; max-width: 12ch; }
.lp-hero__lede { margin-top: 24px; color: #c9d9ce; font-size: clamp(1.02rem, 1.6vw, 1.18rem); line-height: 1.7; max-width: 46ch; }
.lp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 26px; margin-top: 32px; }
.lp-facts { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(201,221,196,.2); color: #a9c0b4; font-size: .82rem; font-weight: 600; }
.lp-facts li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 9px; border-radius: 50%; background: var(--moss); vertical-align: middle; }
.lp-phone--hero figcaption { color: #a9c0b4; }

/* Benefits */
.lp-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; border-top: 1px solid var(--line); }
.lp-benefits li { padding: 28px 28px 28px 0; }
.lp-benefits li + li { border-left: 1px solid var(--line); padding-left: 28px; }
.lp-benefits h3 { margin-top: 14px; font-family: var(--font-display); font-size: clamp(1.3rem, 2vw, 1.6rem); color: var(--forest); letter-spacing: -.035em; }
.lp-benefits p { margin-top: 8px; color: #50645d; }

/* Coach (key differentiator) */
.lp-coach { background: var(--forest-deep); padding-block: clamp(64px, 9vw, 120px); }
.lp-coach__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.lp-phone--coach { width: min(100%, 340px); }
.lp-phone--coach figcaption { color: #a9c0b4; }
.lp-badge { display: inline-block; margin-bottom: 22px; padding: 7px 14px; background: var(--moss); color: var(--forest-deep); font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; border-radius: 3px; }
.lp-asks { display: flex; flex-direction: column; gap: 10px; margin-top: 30px; }
.lp-asks li { align-self: flex-start; padding: 12px 18px; background: #d1e0ce; color: var(--forest-deep); border-radius: 14px 14px 14px 2px; font-weight: 600; }
.lp-coach__answer { margin-top: 26px; font-family: var(--font-display); font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 700; color: var(--moss); letter-spacing: -.03em; }

/* How */
.lp-how { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: clamp(36px, 7vw, 100px); align-items: center; }
.lp-steps { margin-top: 40px; counter-reset: none; }
.lp-steps li { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding-block: 22px; border-top: 1px solid var(--line); }
.lp-steps li:last-child { border-bottom: 1px solid var(--line); }
.lp-steps .lp-num { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--forest); color: var(--moss); letter-spacing: 0; }
.lp-steps h3 { font-family: var(--font-display); font-size: 1.25rem; color: var(--forest); }
.lp-steps p { margin-top: 4px; color: #50645d; }

/* Philosophy */
.lp-philosophy { background: var(--mist); padding-block: clamp(64px, 9vw, 112px); border-top: 1px solid var(--line); }
.lp-philosophy__title { font-family: var(--font-display); font-size: clamp(2.3rem, 6vw, 4.8rem); letter-spacing: -.06em; line-height: 1; color: var(--forest); max-width: 16ch; }
.lp-philosophy__title span { color: var(--accent-dark); font-style: italic; }
.lp-philosophy__copy { margin-top: 30px; max-width: 560px; margin-left: auto; color: #50645d; font-size: 1.05rem; }
.lp-philosophy__copy p + p { margin-top: 10px; }
.lp-philosophy__strong { color: var(--forest); font-weight: 700; }

/* Final CTA */
.lp-final { background: var(--forest); padding-block: clamp(64px, 9vw, 112px); text-align: center; }
.lp-final__inner { display: flex; flex-direction: column; align-items: center; }
.lp-final .lp-body { margin-inline: auto; margin-bottom: 30px; }
.lp-final__lead { margin-top: 18px; font-family: var(--font-display); font-size: clamp(1.15rem, 2vw, 1.4rem); color: #dce9dc; font-weight: 700; }
.lp-final__note { margin-top: 16px; color: #a9c0b4; font-size: .84rem; }

.lp-disclaimer { max-width: 480px; margin-bottom: 18px; color: #a9bdb1; font-size: .8rem; line-height: 1.55; }

@media (max-width: 860px) {
  .lp-hero__grid, .lp-coach__grid, .lp-how { grid-template-columns: 1fr; }
  .lp-phone--hero { width: min(72%, 260px); }
  .lp-phone--coach { width: min(80%, 300px); order: 2; }
  .lp-phone--how { width: min(72%, 260px); }
  .lp-benefits { grid-template-columns: 1fr; }
  .lp-benefits li, .lp-benefits li + li { padding: 22px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .lp-philosophy__copy { margin-left: 0; }
}
@media (max-width: 520px) {
  .lp-actions .lp-btn { width: 100%; }
  .lp-hero__title { font-size: 2.5rem; }
}
