@media (max-width: 1120px) {
  .desktop-nav { gap: .75rem; }
  .desktop-nav > a:not(.btn) { font-size: .66rem; }
  .leader-grid { grid-template-columns: repeat(3,1fr); }
  .footer-grid { grid-template-columns: 1.4fr repeat(2,1fr); }
  .footer-grid > :nth-child(4), .footer-grid > :nth-child(5) { margin-top: 1rem; }
  .workflow { grid-template-columns: repeat(3,1fr); }
  .workflow.workflow-six { grid-template-columns: repeat(3,1fr); }
  .project-grid .project-card { grid-column: span 6; }
  .project-grid .project-card:nth-child(7n + 1), .project-grid .project-card:nth-child(7n + 5) { grid-column: span 6; }
}

@media (max-width: 960px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .hero-grid, .grid-2, .reach-wrap { grid-template-columns: 1fr; }
  .home-hero { min-height: auto; }
  .hero-copy { max-width: 760px; }
  .hero-art { min-height: 480px; width: min(100%, 620px); margin-inline: auto; }
  .grid-4 { grid-template-columns: repeat(2,1fr); }
  .grid-3 { grid-template-columns: repeat(2,1fr); }
  .project-grid { grid-template-columns: repeat(2,1fr); }
  .project-grid .project-card, .project-grid .project-card:nth-child(7n + 1), .project-grid .project-card:nth-child(7n + 5) { grid-column: span 1; }
  .project-grid .project-card:nth-child(5n + 1) { grid-column: span 2; }
  .editorial-feature { grid-template-columns: 1fr; }
  .feature-visual { min-height: 420px; }
  .stats-grid { grid-template-columns: repeat(2,1fr); }
  .partner-strip { grid-template-columns: repeat(3,1fr); }
  .program-layout { grid-template-columns: 80px 1fr; }
  .program-details { grid-column: 2; }
  .contact-methods { grid-template-columns: repeat(2,1fr); }
  .workflow { grid-template-columns: repeat(2,1fr); }
  .workflow.workflow-six { grid-template-columns: repeat(2,1fr); }
  .footer-cta { grid-template-columns: 1fr; }
  .footer-cta-actions { justify-content: flex-start; }
  .media-mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 360px 220px; }
  .media-mosaic .media-frame:first-child { grid-column: 1 / -1; grid-row: auto; }
  .media-mosaic .media-frame:nth-child(2) { grid-column: auto; }
  .media-mosaic .media-frame:nth-child(3), .media-mosaic .media-frame:nth-child(4) { grid-column: auto; }
  .home-photo-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .home-photo-grid .media-frame:first-child { grid-column: 1 / -1; }
  .map-shell { min-height: 500px; }
}

@media (max-width: 720px) {
  :root { --section: clamp(3.8rem, 16vw, 5.4rem); }
  .container { width: min(calc(100% - 2rem), var(--container)); }
  .announcement { display: none; }
  .site-header { top: 0; }
  .nav-shell { min-height: 72px; gap: .75rem; }
  .brand img { width: 54px; height: auto; }
  .menu-toggle { flex: 0 0 48px; }
  .brand-copy span { display: none; }
  .dark-hero { min-height: 520px; padding-top: 8.5rem; }
  .home-hero { padding-bottom: 4rem; }
  .hero-art { min-height: 390px; }
  .hero-art { overflow: hidden; border-radius: var(--radius-lg); }
  .art-panel { inset: 10% 5% 8% 9%; }
  .art-chip { min-width: 120px; padding: .65rem .8rem; font-size: .61rem; }
  .gold-star { width: 34px; }
  .trust-grid { grid-template-columns: 1fr; }
  .trust-item { border-right: 0; border-bottom: 1px solid #e7eee8; }
  .trust-item:last-child { border-bottom: 0; }
  .grid-3, .grid-4, .project-grid { grid-template-columns: 1fr; }
  .project-grid .project-card, .project-grid .project-card:nth-child(5n + 1), .project-grid .project-card:nth-child(7n + 1), .project-grid .project-card:nth-child(7n + 5) { grid-column: 1; }
  .program-card.featured { grid-column: auto; }
  .water-art { min-height: 430px; }
  .feature-list { grid-template-columns: 1fr; }
  .shelter-mini-flow { grid-template-columns: repeat(2,1fr); }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-card { min-height: 160px; }
  .partner-strip { grid-template-columns: 1fr 1fr; }
  .credentials { grid-template-columns: 1fr; }
  .leader-grid { grid-template-columns: repeat(2,1fr); }
  .leader-card { min-height: 280px; }
  .value-list { grid-template-columns: 1fr; }
  .program-layout { grid-template-columns: 1fr; gap: 1rem; }
  .program-details { grid-column: auto; }
  .program-index { font-size: 2.5rem; }
  .workflow { grid-template-columns: 1fr; }
  .workflow.workflow-six { grid-template-columns: 1fr; }
  .workflow-step { min-height: 190px; }
  .workflow-step::before { margin-bottom: 2rem; }
  .bank-grid { grid-template-columns: 1fr; }
  .bank-top { margin-bottom: 2rem; }
  .contact-methods { grid-template-columns: 1fr; }
  .contact-card { min-height: 180px; }
  .form-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .detail-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-about { grid-column: 1/-1; }
  .footer-bottom { flex-direction: column; }
  .filter-bar { top: 72px; margin-inline: -.4rem; padding: .8rem; border-radius: .85rem; }
  .modal { align-items: end; padding: 0; }
  .modal-dialog { width: 100%; max-height: 92svh; border-radius: 1.35rem 1.35rem 0 0; border-bottom: 0; }
  .modal-content { padding: 1.15rem; }
  .floating-whatsapp { right: .75rem; bottom: 4.7rem; width: 48px; min-height: 48px; justify-content: center; padding: 0; border-radius: 50%; }
  .floating-whatsapp span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
  .water-impact { min-width: 116px; padding: .75rem; }
  .water-impact strong { font-size: 1.35rem; }
  .water-impact.people { top: .9rem; right: .9rem; }
  .water-impact.households { top: 5.8rem; right: .9rem; }
  .hero-photo { inset: 2%; border-radius: 2rem 2rem .8rem 2rem; }
  .media-mosaic { grid-template-columns: 1fr; grid-template-rows: repeat(4, 260px); }
  .media-mosaic .media-frame:first-child, .media-mosaic .media-frame:nth-child(2), .media-mosaic .media-frame:nth-child(3), .media-mosaic .media-frame:nth-child(4) { grid-column: 1; grid-row: auto; }
  .media-pair { grid-template-columns: 1fr; }
  .media-pair .media-frame { min-height: 280px; }
  .home-photo-grid { grid-template-columns: 1fr; }
  .home-photo-grid .media-frame:first-child { grid-column: auto; }
  .home-photo-grid .media-frame { min-height: 260px; }
  .water-media { min-height: 420px; }
  .map-shell { min-height: 430px; }
  .project-gallery-feature img { height: 250px; }
  .lightbox-prev, .lightbox-next { top: auto; bottom: 1rem; transform: none; }
  .lightbox-prev { left: calc(50% - 62px); }.lightbox-next { right: calc(50% - 62px); }
  .lightbox figcaption { padding-bottom: 4.5rem; }
}

@media (max-width: 460px) {
  h1 { font-size: clamp(2.35rem, 12vw, 3.25rem); }
  .hero-actions .btn { width: 100%; }
  .hero-art { min-height: 330px; margin-top: 1rem; }
  .art-chip.chip-shelter { top: 42%; }
  .art-chip.chip-education { left: 5%; }
  .partner-strip { grid-template-columns: 1fr; }
  .leader-grid { grid-template-columns: 1fr; }
  .leader-card { min-height: 240px; }
  .account-number { letter-spacing: .03em; }
  .bank-chip { display: none; }
  .form-actions .btn { width: 100%; }
  .shelter-mini-flow { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-about { grid-column: auto; }
  .mobile-menu-inner { padding-top: 6.5rem; }
  .mobile-menu nav a { font-size: 1.5rem; }
  .brand img { width: 48px; }
  .brand-copy strong { font-size: .78rem; letter-spacing: .04em; white-space: nowrap; }
  .footer-cta { margin-bottom: 3.5rem; padding-inline: 1rem; }
  .footer-cta-actions .btn { width: 100%; }
}

@media (min-width: 1800px) {
  :root { --container: 1400px; }
}
