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

@media (max-width: 1080px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-diagram{ order:-1; max-width:340px; margin-inline:auto; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-brand{ grid-column:1 / -1; }
  .contact-grid{ grid-template-columns:1fr; }
  .contact-map{ max-width:520px; }
}

@media (max-width: 900px){
  .main-nav{ display:none; }
  .nav-toggle{ display:flex; }
  .header-actions .btn{ display:none; }

  body.nav-open .main-nav{
    display:flex; position:fixed; inset:76px 0 0 0; background:var(--paper);
    flex-direction:column; padding:2rem var(--gutter); gap:2rem; z-index:99;
    overflow-y:auto;
  }
  body.nav-open .main-nav ul{ flex-direction:column; gap:1.5rem; }
  body.nav-open .main-nav a{ font-size:1.3rem; }
  body.nav-open .mobile-nav-ctas{
    display:flex; flex-direction:column; gap:0.85rem; width:100%; margin-top:0.5rem;
  }
  body.nav-open .mobile-nav-ctas .btn{ width:100%; }

  .quick-services ul{ grid-template-columns:1fr 1fr; }
  .quick-services li:nth-child(3n){ border-right:1px solid rgba(255,255,255,0.12); }
  .quick-services li:nth-child(2n){ border-right:none; }

  .feature-row, .feature-row.reverse{ grid-template-columns:1fr; }
  .feature-row.reverse .feature-visual{ order:0; }

  .process-strip ol{ grid-template-columns:repeat(3, 1fr); }
  .process-strip li:nth-child(3n){ border-right:none; }
  .process-strip li:nth-child(-n+3){ border-bottom:1px solid var(--line); }

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

  .field-row{ grid-template-columns:1fr; }
  .cta-banner{ grid-template-columns:1fr; }

  .mobile-cta{ display:block; }
  body{ padding-bottom:56px; }

  .service-hero{ grid-template-columns:1fr; }
  .blog-layout{ grid-template-columns:1fr; }
  .blog-grid{ grid-template-columns:1fr 1fr; }
  .related-grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px){
  .quick-services ul{ grid-template-columns:1fr; }
  .quick-services li{ border-right:none !important; }
  .process-strip ol{ grid-template-columns:1fr 1fr; }
  .process-strip li:nth-child(-n+3){ border-bottom:1px solid var(--line); }
  .process-strip li:nth-child(2n){ border-right:none; }
  .client-wall{ grid-template-columns:1fr; }
  .hero-meta{ gap:1.5rem; }
  .footer-grid{ grid-template-columns:1fr; }
  .chat-panel{ right:0.75rem; left:0.75rem; width:auto; bottom:5.25rem; }
  .chat-launcher{ right:1rem; bottom:4.5rem; }
  .industry-item .body{ padding-left:0; }
  .industry-item summary{ grid-template-columns:32px 1fr auto; }

  .site-header .container{ height:64px; }
  body.nav-open .main-nav{ inset:64px 0 0 0; }
  .brand{ font-size:0.92rem; }
  .brand .mark{ width:32px; height:32px; }

  .hero-diagram{ max-width:240px; }

  .spec-panel .row{ grid-template-columns:1fr; }
  .spec-panel dt{ border-right:none; border-bottom:1px solid var(--line); }

  .blog-grid{ grid-template-columns:1fr; }
  .related-grid{ grid-template-columns:1fr; }
  .service-overview-grid{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:1fr; }
}
