/* ============================================================
   RESPONSIVE — Breakpoints + prefers-reduced-motion
   ============================================================ */

/* ── 900px — collapse about grid, footer grid ── */
@media (max-width: 900px) {
  .about-grid    { grid-template-columns: 1fr; gap: 3rem; }
  .footer-inner  { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

/* ── 768px — mobile-first adjustments ── */
@media (max-width: 768px) {
  .hero-headline { font-size: clamp(2.75rem, 10vw, 4rem); }
  .hero-br       { display: none; }

  .programs-grid     { grid-template-columns: 1fr; }

  .hiw-steps-row     { grid-template-columns: 1fr; gap: 2rem; }
  .hiw-connector     { display: none; }

  .contact-cards-row { grid-template-columns: 1fr; }

  .stats-band-inner  { grid-template-columns: 1fr 1fr; }
  .stat-divider      { display: none; }

  #programs,
  #how-it-works,
  #about,
  #contact { padding: 5rem 0; }

  #quote,
  #cta { padding: 6rem 2rem; }

  .section-inner { padding: 0 1.25rem; }
}

/* ── 560px — footer collapses to single column ── */
@media (max-width: 560px) {
  .footer-inner { grid-template-columns: 1fr; gap: 2rem; }
}

/* ── 480px — stacked hero CTAs ── */
@media (max-width: 480px) {
  .hero-ctas         { flex-direction: column; align-items: flex-start; }
  .btn-primary,
  .btn-ghost         { width: 100%; justify-content: center; }
  .stats-band        { padding: 3rem 1.25rem; }
  .stat-item         { padding: 0.75rem 1rem; }
}


/* ── Reduced motion — disable all animations for accessibility ── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
  .badge-dot,
  .scroll-cue-thumb,
  .particle,
  .btn-cta-pulse { animation: none; }
}
