/* ==========================================================================
   Responsive rules
   ========================================================================== */

@media (max-width: 1100px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr;}
}

@media (max-width: 960px){
  .nav-links,.nav-actions .btn-outline{display:none;}
  .hamburger{display:block;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .hero-stats{gap:30px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cta-band{padding:44px 26px;}
}

@media (max-width: 720px){
  .section{padding:70px 0;}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr;}
  .hero{padding:calc(var(--nav-h) + 50px) 0 70px;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .stats-strip .grid-4{grid-template-columns:repeat(2,1fr);gap:30px;}
  .footer-grid{grid-template-columns:1fr;gap:32px;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .float-stack{right:16px;bottom:16px;}
}

@media (max-width: 480px){
  .stat b{font-size:2rem;}
  .cta-band{padding:34px 18px;}
  .brand{font-size:15px;gap:8px;}
  .brand-icon{height:28px;}
  .nav-actions{gap:8px;}
  .nav-actions .btn.btn-primary.btn-sm{padding:9px 14px;font-size:13px;}
  .theme-toggle{width:36px;height:36px;}
  .hamburger{width:34px;height:34px;}
}

@media (max-width: 380px){
  .nav-actions .btn.btn-primary.btn-sm{display:none;}
}

/* Mobile nav drawer */
.mobile-drawer{
  position:fixed;top:0;right:-100%;width:min(340px,86vw);height:100vh;
  background:var(--navy-800);border-left:1px solid var(--line);
  z-index:1100;transition:right .3s ease;
  padding:100px 28px 40px;overflow-y:auto;
}
.mobile-drawer.open{right:0;}
.mobile-drawer a{display:block;padding:14px 0;font-size:16px;color:var(--ink-100);border-bottom:1px solid var(--line);}
.drawer-backdrop{
  position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1050;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.drawer-backdrop.open{opacity:1;pointer-events:auto;}
