/* ==========================================================================
   Responsive overrides — desktop-first base in style.css, narrowed here.
   ========================================================================== */

@media (max-width: 980px){
  .service-grid{ grid-template-columns:repeat(3,1fr); }
  .dish-grid{ grid-template-columns:repeat(2,1fr); }
  .review-grid{ grid-template-columns:1fr; }
  .about-grid{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
  .masonry{ columns:2 200px; }
}

@media (max-width: 760px){
  .navlinks{
    position:fixed; top:calc(29px + 66px); left:0; right:0; bottom:0;
    background:var(--bg); flex-direction:column; gap:0; padding:10px 20px 30px;
    transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity .2s ease, transform .2s ease;
    z-index:140; border-top:1px solid var(--line);
  }
  .navlinks.open{ opacity:1; pointer-events:auto; transform:translateY(0); }
  .navlinks li{ border-bottom:1px solid var(--line); }
  .navlinks a{ display:block; padding:16px 0; }
  .nav-toggle{ display:flex; }
  .nav-actions .btn-line{ display:none; }

  .service-grid{ grid-template-columns:1fr 1fr; }
  .dish-grid{ grid-template-columns:1fr; }
  .form-row-group{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
  .cta-inner{ text-align:left; }
  .masonry{ columns:1; }
  .stat-strip{ gap:28px; }
}

@media (max-width: 460px){
  .hero h1{ font-size:2rem; }
  .btn{ padding:13px 20px; font-size:.78rem; }
}
