/* ==========================================================================
   Responsive rules — mobile-first overrides
   ========================================================================== */

/* ---- Laptops / small desktops ---- */
@media (max-width:1199.98px){
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr;}
  .footer-grid .footer-col--links2{grid-column:3;}
}

/* ---- Tablets ---- */
@media (max-width:991.98px){
  .page-banner{padding:150px 0 70px;}
  .profile-hero{grid-template-columns:1fr; gap:2.4rem;}
  .profile-photo{max-width:420px; margin-inline:auto;}
  .social-stats{grid-template-columns:repeat(2,1fr);}
  .social-platform-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:repeat(3,1fr);}
  .contact-info-cards{grid-template-columns:1fr;}
  .contact-wrap{grid-template-columns:1fr; gap:2.2rem;}

  .nav-menu{
    position:fixed; top:0; right:0; height:100vh; width:78%; max-width:340px;
    background:#fff !important; flex-direction:column; align-items:flex-start;
    padding:110px 32px 40px; gap:1.6rem; transform:translateX(100%); transition:transform .4s ease;
    z-index:999; box-shadow:-10px 0 40px rgba(0,0,0,.25);
  }
  .nav-menu.open{transform:translateX(0);}
  .nav-menu a{color:#071A32 !important; font-size:1.05rem;}
  .nav-menu .header-cta{margin-top:1rem;}
  .nav-toggle{display:flex;}
  .nav-overlay{
    position:fixed; inset:0; background:rgba(7,26,50,.55); z-index:998; opacity:0; visibility:hidden; transition:var(--transition);
  }
  .nav-overlay.show{opacity:1; visibility:visible;}

  .vision-wrap{grid-template-columns:1fr; gap:3.2rem;}
  .vision-media{max-width:520px; margin-inline:auto;}

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

  .legacy-track{grid-template-columns:repeat(2,1fr); row-gap:2.5rem;}
  .legacy-track::before{display:none;}

  .footer-grid{grid-template-columns:1fr 1fr; gap:2.2rem;}

  .cta-band{padding:2.6rem 2rem;}
}

/* ---- Mobile ---- */
@media (max-width:767.98px){
  .section{padding:64px 0;}
  h1{font-size:2rem;}
  h2{font-size:1.6rem;}

  .hero{min-height:92vh;}
  .hero-content{padding-top:110px;}
  .hero-cta{flex-direction:column; align-items:flex-start;}
  .hero-cta .btn{width:100%; justify-content:center;}
  .hero-dots{right:50%; transform:translateX(50%);}

  .achieve-grid{grid-template-columns:1fr;}
  .blog-grid, .media-grid{grid-template-columns:1fr;}

  .legacy-track{grid-template-columns:1fr; row-gap:2.2rem;}

  .cta-band{flex-direction:column; text-align:center; align-items:center;}
  .cta-band .btn{width:100%; justify-content:center;}

  .footer-grid{grid-template-columns:1fr; gap:2rem; text-align:left;}
  .footer-bottom{flex-direction:column; text-align:center;}

  .back-to-top{right:16px; bottom:16px; width:42px; height:42px;}

  .page-banner{padding:130px 0 56px;}
  .filter-tabs{justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:6px;}
  .filter-tabs button{white-space:nowrap;}
  .social-stats{grid-template-columns:1fr 1fr;}
  .social-platform-grid{grid-template-columns:1fr;}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .contact-form{padding:1.8rem;}
}

/* ---- Small phones ---- */
@media (max-width:479.98px){
  .container{padding-inline:1rem;}
  .brand-text strong{font-size:.92rem;}
  .brand-text span{font-size:.62rem;}
  .hero-content .badge{font-size:.72rem; padding:6px 14px;}
  .btn{padding:12px 22px; font-size:.88rem;}
}


@media (max-width:767.98px){

  .footer-grid{
    grid-template-columns:1fr !important;
    gap:2rem;
    text-align:left !important;
  }

  .footer-brand,
  .footer-col{
    width:100%;
  }

  .footer-bottom{
    flex-direction:column;
    text-align:center;
    gap:10px;
  }


  @media (max-width: 1199.98px) {
    .footer-grid .footer-col--links2 {
        grid-column: 1 !important;
    }
}
}