/* =======================================================
   RESPONSIVE OVERRIDES
   All media queries in one place — edit breakpoint
   behaviour for any section here.
======================================================= */

/* -------------------------------------------------------
   TABLET (max-width: 980px)
------------------------------------------------------- */
@media (max-width: 980px) {
  .hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

/* -------------------------------------------------------
   SMALL TABLET (max-width: 920px)
------------------------------------------------------- */
@media (max-width: 920px) {
  /* Tighten section padding on smaller screens */
  .solutions,
  .process,
  .proof,
  .pricing,
  .faq,
  .final-cta {
    padding: 3.5rem 0;
  }
  .hero {
    padding: 6rem 0 2.5rem;
  }

  /* Tighten section-header margins on mobile */
  .solutions-head { margin-bottom: 2rem; }
  .process-head { margin-bottom: 2rem; }
  .pricing-head { margin-bottom: 2rem; }

  /* Solutions - compact strip stacks on mobile */
  .sol-strip {
    grid-template-columns: 1fr;
    gap: .75rem;
  }
  .video-caption-title {
    font-size: 1rem;
  }

  /* Process */
  .process-steps {
    grid-template-columns: 1fr;
  }
  .process-line { display: none; }
  .process-step {
    text-align: left;
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--rule-soft);
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
  }
  .process-step:last-child {
    border-bottom: none;
  }
  .step-num {
    width: 56px;
    height: 56px;
    font-size: 1.2rem;
    margin-bottom: 0;
    flex-shrink: 0;
  }

  /* Proof metrics — stack on smaller screens */
  .proof-metrics {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-top: 1.75rem;
    margin-top: 2rem;
  }
  .metric + .metric {
    border-left: none;
    border-top: 1px solid var(--rule-soft);
    padding-top: 1.5rem;
  }

  /* Pricing */
  .pricing-grid {
    grid-template-columns: 1fr;
  }
  /* Comparison table scrolls horizontally on mobile */
  .pricing-compare-table {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .pricing-compare-table table {
    min-width: 560px;
  }

  /* FAQ */
  .faq-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

/* -------------------------------------------------------
   MOBILE LANDSCAPE (max-width: 880px)
------------------------------------------------------- */
@media (max-width: 880px) {
  .nav-links { display: none; }
  .menu-btn { display: inline-flex; }
  .nav-cta span { display: none; }
  .nav-cta { padding: .55rem .75rem; }
}

/* -------------------------------------------------------
   MOBILE (max-width: 820px)
------------------------------------------------------- */
@media (max-width: 820px) {
  .foot-grid {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .foot-brand {
    grid-column: 1 / -1;
  }
}

/* -------------------------------------------------------
   SMALL MOBILE (max-width: 720px)
------------------------------------------------------- */
@media (max-width: 720px) {
  /* Reserved for small-mobile-specific overrides */
}
