/* ==========================================================================
   Responsive rules — mobile-first overrides at decreasing widths
   ========================================================================== */
@media (max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,1fr);}
  .typology-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:repeat(2,1fr);}
  .offtake-grid{grid-template-columns:repeat(2,1fr);}
  .counters-grid{grid-template-columns:repeat(2,1fr);row-gap:2.4rem;}
  .footer-grid{grid-template-columns:1fr 1fr;row-gap:2.6rem;}
  .masonry{column-count:2;}
  .blog-grid{grid-template-columns:repeat(2,1fr);}
  .process-timeline{grid-template-columns:repeat(3,1fr);row-gap:2.4rem;}
  .process-timeline::before{display:none;}
}

@media (max-width:920px){
  .main-nav{display:none;}
  .nav-toggle{display:flex;}
  .grid-2{grid-template-columns:1fr;gap:2.4rem;}
  .contact-grid{grid-template-columns:1fr;}
  .hero-columns{grid-template-columns:1fr;}
  .hero-showcase{max-width:320px;margin:0 auto;order:-1;}
  .hero-copy{text-align:center;}
  .hero-actions{justify-content:center;}
  .hero-stats{justify-content:center;}
  .hero-tagline{margin-left:auto;margin-right:auto;}
}

@media (max-width:720px){
  .services-grid,.typology-grid,.team-grid,.offtake-grid,.blog-grid{grid-template-columns:1fr;}
  .masonry{column-count:1;}
  .footer-grid{grid-template-columns:1fr;gap:2.4rem;}
  .process-timeline{grid-template-columns:1fr 1fr;}
  .counters-grid{grid-template-columns:1fr 1fr;}
  .typology-toolbar{flex-direction:column;align-items:stretch;}
  .search-sort{flex-direction:column;}
  .search-box,.sort-select{width:100%;}
  .form-row{grid-template-columns:1fr;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .cursor-dot,.cursor-ring{display:none;}
  h1{max-width:100% !important;}
}

@media (max-width:480px){
  .process-timeline{grid-template-columns:1fr;}
  .counters-grid{grid-template-columns:1fr;}
  .hero-stats{gap:1.6rem;}
  .section-pad{padding:3.2rem 0;}
  .floating-actions{right:1rem;bottom:5.6rem;}
}
