/* ================= RESPONSIVE ================= */

/* Large screens */
@media (min-width: 1200px) {
    .contact-grid {
        gap: 60px;
    }

    .contact-header h1 {
        font-size: 2.2rem;
    }

    .contact-header p {
        font-size: 1.05rem;
    }
}

/* Tablet and below */
@media (max-width: 1024px) {
    .hero {
        grid-template-columns: 1fr;
    }

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

    .services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CONTACT STACKS HERE */
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .contact-page {
        padding: 80px 20px 50px;
    }
}

@media (max-width: 900px) {
  .team-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 1000px) {
  .team-container {
    gap: 20px;
  }
}
@media (max-width: 768px) {
.hero .buttons a {
      margin-bottom: 0.5rem;
    }
  .cta-buttons {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-buttons a {
    width: 100%;
  }
    .image-container {
      height: 360px;
      overflow: hidden;
    }
  
    .image-container img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

  .overlay {
    align-items: flex-start;  /* stop vertical centering */
    padding: 32px 20px;
  }

  .overlay-text h2 {
    font-size: 1.5rem;
  }
  .desktop-nav {
    display: none;
  }

  .mobile-menu-toggle {
    display: flex;
  }
  .team-section {
    padding-top: 3.5rem; /* still breathing room but tighter */
  }

  .team-section h1 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    padding: 0 1rem; /* prevents edge clipping */
  }
    .team-card {
    height: auto;
  }

  .card-inner {
    transform: none !important;
  }

  .card-front {
    display: none;
  }

  .card-back {
    position: relative;
    transform: none;
    border-radius: 18px;
  }
  .member-info h2 {
    font-size: 1.3rem;
  }
 .profile-hero {
    flex-direction: column;
    text-align: center;
    gap: 20px;
  }

  .profile-photo {
    width: 140px;
    height: 140px;
  }

  .profile-photo img {
    margin: 0 auto;
  }

  .social-links {
    justify-content: center;
  }

  .profile-bio {
    margin: 0 auto;
  }
    .news-hero {
    height: 320px;
  }
   .post-hero {
    height: 300px;
  }

  .post-hero-content {
    padding: 28px 16px;
  }
   .post-body img {
    margin: 20px auto;
    border-radius: 6px;
  }
}
/* Mobile */
@media (max-width: 600px) {
   .home-hero {
    height: auto;
    min-height: 360px;
    padding: 60px 15px;
    background-position: center top;
  }

  .home-hero-content h1 {
    font-size: 1.8rem;
  }

  .home-hero-content p {
    font-size: 0.95rem;
  }

  .home-hero-buttons {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .home-hero-buttons .btn {
    width: 100%;
    max-width: 260px;
    text-align: center;
  }
    .services-grid {
        grid-template-columns: 1fr;
    }

    .contact-header h1 {
        font-size: 1.8rem;
    }

    .contact-header p {
        font-size: 0.95rem;
        margin-bottom: 30px;
    }

    .contact-form {
        padding: 25px 15px;
    }

    .submit-btn {
        padding: 12px;
        font-size: 0.95rem;
    }

    footer {
        padding: 3rem 1.5rem;
    }

    footer .footer-grid {
        grid-template-columns: 1fr;
    }
    .about-hero {
height: auto;
min-height: 360px;
padding: 60px 15px;
background-position: center top;
}
.about-hero-content h1 {
font-size: 1.8rem;
line-height: 1.2;
}
.about-hero-content p {
font-size: 0.95rem;
}
  .about-hero-buttons {
    flex-direction: column;
    align-items: center;   /* centers the buttons as a group */
  }

  .btn {
    width: 100%;
    max-width: 240px;      /* keeps them from being too wide */
    text-align: center;   /* centers text inside buttons */
  }
.about-hero-content p { font-size: 1rem; }
.btn {
width: 100%;
max-width: 260px;
}
.team-grid {
    grid-template-columns: 1fr;
  }
    #backToTop {
    bottom: 20px;
    right: 20px;
    width: 42px;
    height: 42px;
  }
   .news-hero-content h1,
  .hero-content h1,
  .about-hero-content h1 {
    -webkit-text-stroke: 1px #fff;
  }
}

/* Extra small screens */
@media (max-width: 480px) {
    .contact-header h1 {
        font-size: 1.6rem;
    }
  .team-section {
      padding-top: 3.5rem;
      /* still breathing room but tighter */
  }

  .team-section h1 {
      font-size: 1.6rem;
      margin-bottom: 2rem;
      padding: 0 1rem;
      /* prevents edge clipping */
  }
    .contact-header p {
        font-size: 0.9rem;
    }
}
  