  /* ---------- RESPONSIVE ---------- */
  @media (max-width: 960px) {
    .hero-grid, .evolution-grid, .impact-grid, .founder-grid, .contact-donate-grid {
      grid-template-columns: minmax(0, 1fr);
      gap: 40px;
    }
    .hero-grid > * { min-width: 0; }
    .program-grid { grid-template-columns: repeat(2, 1fr); }
    .peek-grid { grid-template-columns: repeat(3, 1fr); }
    .problem-grid { grid-template-columns: 1fr; }
    .footer-grid { grid-template-columns: 1fr; gap: 28px; }
    .hero-art {
      min-height: 0;
      grid-template-columns: minmax(0, 1fr);
    }
    section { padding: 70px 0; }
    .hero { padding: 60px 0 80px; }
  }
  @media (max-width: 640px) {
    .nav-links { display: none; }
    .nav-links.open {
      display: flex;
      position: absolute;
      top: 100%; left: 0; right: 0;
      background: rgba(235, 240, 243, 0.97);
      backdrop-filter: blur(20px);
      flex-direction: column;
      gap: 18px;
      padding: 24px;
      border-bottom: 1px solid var(--border);
    }
    .nav-links.open .btn { width: 100%; }
    .menu-toggle { display: inline-flex; }
    .program-grid { grid-template-columns: 1fr; }
    .peek-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-stats { grid-template-columns: 1fr; }
    .hero-card { padding: 18px; }
    .hero-card-title { font-size: 1.35rem; }
    .hero-summary { gap: 8px; }
    .summary-tile { padding: 9px 10px; }
    .hero-category-row {
      margin-inline: -2px;
      overflow-x: auto;
      padding-bottom: 2px;
    }
    .achievement {
      grid-template-columns: 44px minmax(0, 1fr) 30px;
      gap: 10px;
      padding: 11px;
      border-radius: 18px;
    }
    .achv-icon {
      width: 44px;
      height: 44px;
      border-radius: 14px;
    }
    .achv-text strong { font-size: 0.9rem; }
    .achv-topline {
      gap: 6px;
      font-size: 0.64rem;
    }
    .hero-card-footer { align-items: stretch; }
    .panel { padding: 26px; }
    .donate-amounts { grid-template-columns: repeat(2, 1fr); }
  }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      animation-duration: 0.01ms !important;
      transition-duration: 0.01ms !important;
    }
    [data-animate] { opacity: 1; transform: none; }
    html { scroll-behavior: auto; }
  }
