/* Mobile-only overrides. Loaded after style.css — does not change desktop/web view. */

@media (max-width: 640px) {
  .photo-modal-grid { column-count: 2; }
}

@media (max-width: 800px) {
  .section-heading h2 { white-space: normal; }
  :root { --page: min(100% - 2rem, 640px); }
  .nav { min-height: 68px; }
  .nav-links { display: none; position: absolute; top: 68px; left: 0; right: 0; padding: 1rem; flex-direction: column; align-items: stretch; background: #fff; border-bottom: 1px solid var(--line); }
  .nav-links.open { display: flex; }
  .nav-toggle { display: block; }
  .logo-img { width: 48px; height: 48px; }
  .logo { font-size: 1.05rem; }
  .hero-section { padding: 3rem 0; }
  .hero-grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .hero-mosaic { min-height: auto; margin-bottom: 3rem; }
  .hero-image-main-frame { width: 100%; }
  .hero-image-main { height: 280px; }
  .hero-image-overlap-frame { width: 45%; height: 150px; bottom: -2rem; }
  .mission-grid { grid-template-columns: repeat(2, 1fr); }
  .event-cards-grid { grid-template-columns: 1fr; }
  .event-intro { align-items: start; flex-direction: column; }
  .cta-banner { align-items: start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .profile-grid { grid-template-columns: 1fr; }
  .testimonial-head { flex-direction: column; align-items: flex-start; }
  .testimonial-card { flex-basis: calc(50% - .625rem); }
  .profile-tile { flex-direction: column; align-items: center; text-align: center; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .hero-title { font-size: 2.6rem; }
  .impact-strip { gap: 1rem; justify-content: space-between; }
  .mission-grid, .form-row, .footer-grid { grid-template-columns: 1fr; }
  .contact-form-card { padding: 1.4rem; }
  .contact-info { padding: 1.4rem; }
  .section { padding: 4rem 0; }
  .event-card-image { height: 180px; }
  .video-embed { height: 280px; }
  .testimonial-card { flex-basis: 85%; }
}
