/* Responsive rules */
@media (max-width:1024px){
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .port-grid{grid-template-columns:repeat(2,1fr)}
  .counter-grid{grid-template-columns:repeat(2,1fr);gap:40px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .about-grid{grid-template-columns:1fr;gap:40px}
  .split,.split.reverse{grid-template-columns:1fr;gap:30px}
  .team-grid{grid-template-columns:repeat(2,1fr)}
  .info-grid{grid-template-columns:repeat(2,1fr)}
  section{padding:70px 0}
}
@media (max-width:820px){
  .hamburger{display:flex}
  .nav-cta{display:none}
  .nav-menu{
    position:fixed;top:0;right:-100%;width:82%;max-width:340px;height:100vh;
    background:var(--white);flex-direction:column;align-items:stretch;
    padding:80px 20px 30px;box-shadow:-10px 0 40px rgba(10,37,64,.2);
    transition:right .4s ease;overflow-y:auto;gap:0;
  }
  .nav-menu.open{right:0}
  .nav-menu > li{width:100%;border-bottom:1px solid var(--grey)}
  .nav-menu > li > a{padding:14px 8px}
  .dropdown{
    position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;
    padding:0 0 10px 14px;max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .has-dropdown.open > .dropdown{max-height:600px}
  .nav-overlay{
    position:fixed;inset:0;background:rgba(10,37,64,.5);z-index:999;
    opacity:0;visibility:hidden;transition:all .3s;
  }
  .nav-overlay.show{opacity:1;visibility:visible}
  .hero{min-height:80vh;text-align:center}
  .hero-cta{justify-content:center}
  .cta-block{padding:40px 26px;text-align:center;flex-direction:column}
  .contact-grid{grid-template-columns:1fr}
  .about-content ul{grid-template-columns:1fr}
  .topbar-info{justify-content:center;font-size:.78rem;gap:14px}
  .topbar .container{justify-content:center}
}
@media (max-width:560px){
  .feature-grid,.service-grid,.port-grid,.team-grid,.info-grid,.footer-grid{grid-template-columns:1fr}
  .counter-grid{grid-template-columns:1fr 1fr;gap:30px}
  .counter-item .num{font-size:2.4rem}
  .form-row{grid-template-columns:1fr}
  .contact-form,.contact-info-card{padding:26px}
  .page-hero{padding:100px 0 70px}
  section{padding:56px 0}
  .btn{padding:12px 22px;font-size:.9rem}
  .topbar-social{display:none}
}
