/* ==========================================================================
   Responsive — Speak to Lead™  (PI-inspired)
   ========================================================================== */

/* ── Tablet  ≤ 900px ─────────────────────────────────────────────────────── */
@media (max-width: 900px) {

  :root {
    --section-pad-v: 4rem;
    --section-pad-h: 1.5rem;
  }

  /* Hero */
  .hero { padding: var(--section-pad-v) var(--section-pad-h); }
  .hero-top { grid-template-columns: 1fr; gap: 1.25rem; }
  .hero-support { padding-top: 0; }
  .hero-overview { flex-direction: column; gap: 2rem; }

  /* Stats */
  .stat-block { padding: 1.5rem 2rem; }

  /* Overview */
  .overview { padding: var(--section-pad-v) var(--section-pad-h); }
  .overview-row--what,
  .overview-row--facilitator { grid-template-columns: 1fr; gap: 2rem; }
  .overview-photo-wrap { max-width: 320px; }

  /* Section 3 */
  .s3-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Section 12 */
  .qualify-top { grid-template-columns: 1fr; gap: 2rem; }
  .qualify-card { grid-template-columns: 1fr; gap: 2.5rem; padding: 2.5rem 2rem; }
  .qualify-dates { flex-direction: row; justify-content: flex-start; align-items: flex-start; }

  /* Section 8 */
  .highlight-card { grid-template-columns: 1fr; gap: 2.5rem; padding: 3rem 2.5rem; }
  .highlight-right { align-items: flex-start; }

  /* Section 7 */
  .snapshot-inner { grid-template-columns: 1fr; gap: 2rem; }
  .snapshot-row { grid-template-columns: 120px 1fr; gap: 1.25rem; padding: 1.75rem 0; }
  .snapshot-label { font-size: 0.875rem; }
  .snapshot-value { font-size: 0.9375rem; }

  /* Section 6 */
  .roi-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Section 4 */
  .why-inner { grid-template-columns: 1fr; gap: 2rem; }

  /* Section 5 */
  .walkaway-grid { grid-template-columns: repeat(2, 1fr); column-gap: 2.5rem; row-gap: 3rem; }
  .walkaway-intro { margin-bottom: 3.5rem; }

  /* Problem */
  .problem-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Curriculum */
  .days-grid { grid-template-columns: 1fr; }

  /* Facilitator */
  .facilitator-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .facilitator-img-wrap { max-width: 280px; }
  .facilitator-img-placeholder { max-width: 280px; }

  /* Outcomes */
  .outcomes-grid { grid-template-columns: repeat(2, 1fr); }

  /* Who */
  .who-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Tabbed FAQ */
  .faq-tabs-title { font-size: 2rem; }
  .faq-tabs-nav { gap: 0.5rem; }

  /* Choose / Comparison Table — tablet: heading above, two price cols side by side */
  .choose { padding: 4rem 2rem; }
  .choose-top {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
  }
  .choose-top-heading { width: 100%; margin-bottom: 1.5rem; }
  .choose-top-col { flex: 1 1 0; text-align: center; padding: 0 1rem; min-width: 0; }
  .choose-title { font-size: 28px; }
  .choose-col-price { font-size: 24px; }
  .choose-bottom { display: flex; justify-content: center; }
  .choose-bottom-col { text-align: center; }

  /* Reassurance strip */
  .reassurance-inner { gap: 1.5rem 2rem; }

  /* Testimonials */
  .testimonials-grid { grid-template-columns: 1fr; }

  /* Final CTA */
  .final-cta-inner { grid-template-columns: 1fr; gap: 2.5rem; }

  /* Countdown timer */
  .countdown-num { font-size: 1.75rem; }

  /* Typography scale-downs */
  .hero-support { font-size: 20px; }
  .why-group-label { font-size: 20px; }
  .roi-subhead { font-size: 20px; }
  .walkaway-item-title { font-size: 18px; }
}


/* ── Mobile  ≤ 600px ─────────────────────────────────────────────────────── */
@media (max-width: 600px) {

  :root {
    --section-pad-v: 3.5rem;
    --section-pad-h: 1.125rem;
  }

  /* Nav */
  .nav-inner { height: 56px; }
  .nav-logo { font-size: 0.9rem; white-space: nowrap; gap: 0.5rem; }
  .nav-ubuntu-logo { height: 28px; }
  .nav-cta { white-space: nowrap; font-size: 0.75rem; padding: 0.5rem 0.875rem; flex-shrink: 0; }

  /* Hero */
  .hero { padding: var(--section-pad-v) var(--section-pad-h); }
  .hero-cta { width: 100%; text-align: center; }

  /* Stats bar */
  .stats-bar-inner { flex-direction: column; }
  .stat-block {
    border-right: none;
    border-bottom: 1px solid var(--cream-dk);
    padding: 1.25rem 1.5rem;
    width: 100%;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  .stat-block:last-child { border-bottom: none; }
  .stat-num { font-size: 1.75rem; }
  .stat-lbl { margin-top: 0; }

  /* Section 8 */
  .highlight-card { padding: 2.25rem 1.5rem; border-radius: 16px; }
  .highlight-right { align-items: center; text-align: center; }

  /* Section 7 */
  .snapshot-row { grid-template-columns: 1fr; gap: 0.25rem; padding: 1.25rem 0; }
  .snapshot-label { font-size: 0.8125rem; margin-bottom: 0.1rem; }
  .snapshot-value { font-size: 0.9375rem; line-height: 1.5; }

  /* Trusted by */
  .trusted-by-logos { gap: 1.25rem; flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; padding-bottom: 8px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .trusted-by-logos::-webkit-scrollbar { display: none; }
  .trusted-logo { width: 120px; height: 56px; flex-shrink: 0; }

  /* Section 5 */
  .walkaway-grid { grid-template-columns: 1fr; }

  /* Outcomes */
  .outcomes-grid { grid-template-columns: 1fr; }

  /* Tabbed FAQ */
  .faq-tabs-section { padding: 3rem 1.125rem; }
  .faq-tabs-title { font-size: 1.75rem; margin-bottom: 1.5rem; }
  .faq-tabs-nav { gap: 0.4rem; }
  .faq-tab-btn { font-size: 0.8rem; padding: 0.45rem 0.875rem; }
  .faq-q { font-size: 1rem; }
  .faq-a { font-size: 0.9375rem; }

  /* Choose / Comparison Table — mobile */
  .choose { padding: 3.5rem 1.25rem; }

  /* 2-col grid: label | bundle col */
  .choose-top {
    display: grid;
    grid-template-columns: 1fr 80px;
    grid-template-rows: auto auto;
    align-items: end;
    gap: 0;
    border-bottom: 1px solid #CFCFCF;
    padding-bottom: 1.5rem;
  }
  .choose-top-heading {
    grid-column: 1 / -1;
    grid-row: 1;
    margin-bottom: 1.5rem;
    width: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  /* Place bundle price col into col 2 of row 2 */
  .choose-top-col {
    grid-row: 2;
    grid-column: 2;
    text-align: center;
    padding: 0 0.25rem;
    min-width: 0;
  }

  .choose-title { font-size: 20px; }
  .choose-col-name { font-size: 11px; }
  .choose-col-price { font-size: 18px; }
  .choose-col-sub { font-size: 10px; white-space: nowrap; }
  .cmp-row { grid-template-columns: 1fr 80px; }
  .cmp-label { font-size: 0.875rem; }
  .cmp-cell { font-size: 0.9375rem; }
  .choose-bottom { grid-template-columns: 1fr; gap: 1.5rem; }
  .choose-bottom-col { text-align: center; }

  /* Reassurance strip */
  .reassurance-item { max-width: 100%; }
  .reassurance-inner { flex-direction: column; gap: 1rem; }

  /* Testimonials */
  .testimonials { padding: 3rem 1.125rem; }
  .testimonial-card { padding: 1.5rem 1.25rem; }
  .testimonial-quote { font-size: 0.9375rem; }
  .testimonials-inner .section-eyebrow { font-size: 20px; }

  /* Final CTA */
  .final-cta-inner { grid-template-columns: 1fr; gap: 2rem; }
  .final-cta-btns { flex-direction: column; }
  .final-cta-btns .final-cta-btn { width: 100%; text-align: center; box-sizing: border-box; }

  /* Lead magnet */
  .lead-magnet-form { flex-direction: column; }
  .lead-magnet-input, .lead-magnet-btn { width: 100%; box-sizing: border-box; flex: none; }

  /* Exit popup */
  .exit-popup-card { padding: 2.5rem 1.5rem; }

  /* Footer */
  .footer-inner { flex-direction: column; text-align: center; }
  .footer-links { justify-content: center; }

  /* Typography scale-downs */
  p, li, td, th { font-size: 17px; }
  .hero-support { font-size: 17px; }
  .why-group-label { font-size: 18px; }
  .roi-subhead { font-size: 18px; }
  .walkaway-item-title { font-size: 17px; }
  .s3-tier-detail,
  .s3-tier-meta,
  .s3-tier-desc { font-size: 17px; }

  /* Full-width CTAs */
  .btn-primary,
  .choose-btn,
  .highlight-btn { width: 100%; text-align: center; box-sizing: border-box; }

  /* Qualify card */
  .qualify-card { padding: 2rem 1.5rem; }
  .qualify-dates { flex-direction: row; gap: 1rem; justify-content: center; align-items: flex-end; }
  .qualify-date-card { width: 120px; }
  .qualify-date-label { font-size: 0.8rem; max-width: 120px; }
  .qualify-date-num { font-size: 3.5rem; }

  /* Countdown timer */
  .countdown-num { font-size: 1.5rem; }
  #countdown-hero { justify-content: center; }

  /* Highlight date card */
  .highlight-date-card { width: 140px; }
  .highlight-date-num { font-size: 4rem; }
}
