@media (max-width: 991px){

    .footer-content{
        grid-template-columns:1fr 1fr;
    }

    .hero-wrapper{
        grid-template-columns:1fr;
    }

    .hero-right{
        order:-1;
    }

    .why-grid,
    .services-grid,
    .blog-grid,
    .testimonial-grid,
    .process-grid{
        grid-template-columns:1fr 1fr;
    }

    .about-wrapper,
    .contact-wrapper,
    .home-about-wrapper,
    .home-cta-wrapper,
    .info-split-wrapper{
        grid-template-columns:1fr;
    }

    .home-cta-wrapper .photo-placeholder,
    .home-about-wrapper .photo-placeholder,
    .info-split-wrapper .info-split-visual{
        order:-1;
    }

    .info-split-visual{
        height:280px;
    }

}

@media (max-width: 768px){

    .footer-content{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-logo{
        margin:0 auto 20px;
    }

    .nav-toggle{
        display:flex;
    }

    .nav-menu{
        position:absolute;
        top:100%;
        left:0;
        right:0;
        flex-direction:column;
        gap:0;
        background:#fff;
        box-shadow:0 12px 20px rgba(0,0,0,.08);
        max-height:0;
        overflow:hidden;
        transition:max-height .3s ease;
    }

    .nav-menu.is-open{
        max-height:400px;
    }

    .nav-menu li{
        border-top:1px solid #f0f0f0;
    }

    .nav-menu a{
        display:block;
        padding:16px 24px;
    }

    .hero h1{
        font-size:44px;
    }

    /* Inner-page titles are long SEO phrases ("Singapore University Admission
       Consultant in Pakistan") — at the desktop 48px they ran to six lines. */
    .page-hero h1{
        font-size:28px;
    }

    /* Keeps the subheading smaller than the page title above it. */
    .section-title.is-sub h2{
        font-size:22px;
    }

    .hero-stats{
        gap:25px;
        flex-wrap:wrap;
    }

    .why-grid,
    .services-grid,
    .blog-grid,
    .testimonial-grid,
    .process-grid{
        grid-template-columns:1fr;
    }

    .top-card{
        right:10px;
    }

    .bottom-card{
        left:10px;
    }

    .why-feature-list{
        grid-template-columns:1fr;
    }

    .why-feature-card{
        padding:22px;
    }

    /* Stack the wide closing card back into a normal card: no room for the
       icon beside the text. Same selectors as style.css so they match its
       specificity and win by load order. */
    .wide-orphan > :last-child:nth-child(3n+1){
        display:block;
    }

    .wide-orphan > :last-child:nth-child(3n+1) .icon{
        margin-bottom:20px;
    }

    .lead-popup{
        padding:14px;
    }

    .lead-popup-card{
        padding:32px 22px 26px;
        max-height:calc(100vh - 28px);
    }

    .lead-popup-card h2{
        font-size:22px;
    }

    .entry-content h2{
        font-size:24px;
    }

    .post-navigation .nav-links{
        flex-direction:column;
    }

    .post-navigation .nav-next{
        margin-left:0;
        text-align:left;
    }

}