/* ====================================
   LARGE TABLETS (1024px and below)
==================================== */

@media (max-width: 1024px) {

    .hero-content,
    .impact-grid,
    .belong-box,
    .mission-vision-grid,
    .story-grid,
    .pillars-grid,
    .program-row,
    .roles-grid,
    .contribute-grid,
    .sponsorship-grid,
    .testimonial-banner-grid,
    .contact-grid {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .hero-text {
        text-align: center;
    }

    .hero-text p {
        margin: 0 auto 35px;
    }

    .hero-buttons {
        justify-content: center;
    }

    .hero-card {
        left: 20px;
        bottom: 20px;
    }

    .stats-grid,
    .features-grid,
    .program-grid,
    .about-stats-grid,
    .how-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .newsletter-box {
        flex-direction: column;
        text-align: center;
    }

    .newsletter-form {
        justify-content: center;
    }

    /* Program Rows Mobile Align */
    .program-row {
        gap: 40px;
        margin-bottom: 80px;
    }

    .program-row:nth-child(even) .program-image-col {
        order: 1;
    }

    .program-row:nth-child(even) .program-text-col {
        order: 2;
    }
}

/* ====================================
   TABLETS (768px and below)
==================================== */

@media (max-width: 768px) {

    .section-padding {
        padding: 80px 0;
    }

    .nav-links {
        display: none;
    }

    .mobile-menu-btn {
        display: block;
    }

    .hero {
        padding-top: 130px;
        padding-bottom: 80px;
    }

    .hero-text h1 {
        font-size: 3rem;
    }

    .section-header h2 {
        font-size: 2rem;
    }

    .impact-content h2,
    .belong-left h2 {
        font-size: 2.2rem;
    }

    .stats-grid,
    .features-grid,
    .program-grid,
    .footer-grid,
    .about-stats-grid,
    .how-grid,
    .contact-info-grid {
        grid-template-columns: 1fr;
    }

    .belong-box {
        padding: 40px;
    }

    .newsletter-box {
        padding: 40px 30px;
    }

    .newsletter-form {
        flex-direction: column;
        width: 100%;
    }

    .newsletter-form input {
        width: 100%;
        min-width: unset;
    }

    .newsletter-form button {
        width: 100%;
    }
}

/* ====================================
   MOBILE PHONES (576px and below)
==================================== */

@media (max-width: 576px) {

    .container {
        width: 92%;
    }

    .hero-text h1 {
        font-size: 2.4rem;
    }

    .hero-tag {
        font-size: 0.75rem;
        padding: 8px 16px;
    }

    .hero-text p {
        font-size: 0.95rem;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .hero-buttons .btn {
        width: 100%;
    }

    .hero-card {
        position: relative;
        left: 0;
        bottom: 0;
        margin-top: 20px;
    }

    /* Contact Form & Layout Mobile Adjusts */
    .contact-form-card {
        padding: 40px 25px;
    }

    .form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .hero-card i {
        width: 50px;
        height: 50px;
        font-size: 1.2rem;
    }

    .hero-card h3 {
        font-size: 1.2rem;
    }

    .section-header h2 {
        font-size: 1.8rem;
    }

    .stat-card {
        padding: 30px 20px;
    }

    .stat-card h2 {
        font-size: 2rem;
    }

    .feature-card,
    .program-card,
    .testimonial {
        padding: 30px 20px;
    }

    .program-card img {
        height: 220px;
    }

    .belong-box {
        padding: 30px 20px;
    }

    .impact-content h2 {
        font-size: 2rem;
    }

    .testimonial p {
        font-size: 1rem;
    }

    .newsletter-box h2 {
        font-size: 1.8rem;
    }

    .footer-grid {
        text-align: center;
    }

    .social-icons {
        justify-content: center;
    }

    .copyright {
        font-size: 0.9rem;
    }
}

/* ====================================
   VERY SMALL DEVICES (400px and below)
==================================== */

@media (max-width: 400px) {

    .hero-text h1 {
        font-size: 2rem;
    }

    .section-header h2 {
        font-size: 1.6rem;
    }

    .impact-content h2,
    .belong-left h2 {
        font-size: 1.8rem;
    }

    .btn {
        padding: 12px 20px;
        font-size: 0.9rem;
    }

    .newsletter-box {
        padding: 30px 20px;
    }
}