/* =========================================================
   NGIS — RESPONSIVE STYLESHEET
   Breakpoints: 1280, 1024, 768, 414 (base mobile below)
   ========================================================= */

/* ----- Large desktop tune-down ----- */
@media (max-width: 1280px){
  :root{ --container-max: 1080px; }
}

/* ----- Tablets / small laptops ----- */
@media (max-width: 1024px){
  .nav-links{ gap: 26px; }
  .hero-heading{ font-size: clamp(2.1rem, 5.4vw, 3.4rem); }
  .about-preview .media-frame img{ height: 440px; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .footer-brand{ grid-column: 1 / -1; }
}

/* ----- Tablets / navbar breakpoint ----- */
@media (max-width: 900px){
  .nav-links{ display: none; }
  .nav-right .btn-ngis.desktop-only{ display: none; }
  .nav-toggle{ display: block; }

  .row-flex{ gap: 40px; }
  .service-detail{ gap: 40px; }
}

/* ----- Standard tablet (768px) ----- */
@media (max-width: 768px){
  :root{ --nav-height: 76px; --nav-height-scrolled: 64px; }

  .py-section{ padding: 56px 0; }

  .hero{ min-height: 560px; }
  .hero-actions{ gap: 14px; }
  .hero-actions .btn-ngis{ flex: 1 1 auto; }

  .row-flex{ flex-direction: column; }
  .col-half{ flex: 1 1 100%; width: 100%; }
  .about-preview .media-frame img{ height: 340px; }

  .service-detail, .service-detail.reverse{
    flex-direction: column;
    gap: 28px;
    padding: 44px 0;
  }
  .service-detail .media-frame img{ height: 280px; }

  .story-track{ padding-left: 26px; }

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

  .contact-form-wrap{ padding: 26px; }
  .map-frame{ height: 320px; }

  .section-head-row{ flex-direction: column; align-items: flex-start; }
}

/* ----- Mobile (414px and down) ----- */
@media (max-width: 480px){
  .container-ngis{ padding: 0 18px; }

  .hero-heading{ font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .hero-desc{ font-size: 0.98rem; }
  .btn-ngis{ padding: 14px 24px; font-size: 0.92rem; }

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

  .cta-section .cta-inner{ flex-direction: column; align-items: flex-start; }

  .page-hero{ min-height: 42vh; }
  .page-hero-content{ padding: 50px 18px 44px; }

  .mobile-menu{ width: 88vw; padding: 100px 26px 30px; }

  .form-row{ gap: 0; }
  .ff-line{ width: 32%; }
}

/* ----- Very small phones (320px–375px) ----- */
@media (max-width: 375px){
  .hero-heading{ font-size: 1.7rem; }
  .section-heading{ font-size: 1.6rem; }
  .btn-ngis{ padding: 13px 20px; font-size: 0.88rem; }
  .stats-strip{ grid-template-columns: 1fr 1fr; gap: 20px; }
}

/* Prevent any accidental horizontal scroll from decorative layers */
html, body{ max-width: 100%; }
