/* =========================================================
   KESTUL TECHNOLOGIES — RESPONSIVE STYLESHEET
   ========================================================= */

/* ---------- Large tablets / small desktops (<=1100px) ---------- */
@media (max-width: 1100px){
  .hero-inner{ grid-template-columns: 1fr; }
  .hero-visual{ order:-1; max-width: 460px; margin: 0 auto; }
  .hero-visual-badge{ left: 10px; }
  .about-inner{ grid-template-columns: 1fr; }
  .about-frame{ max-width: 340px; margin: 0 auto; }
  .about-divider{ display:none; }
  .why-grid, .services-grid, .industries-grid, .process-timeline, .webdev-grid{ grid-template-columns: repeat(2,1fr); }
  .amc-inner, .software-inner{ grid-template-columns: 1fr; gap: 2.5rem; }
  .software-visual{ order: 2; }
  .contact-grid{ grid-template-columns: 1fr; }
  .footer-top{ grid-template-columns: 1fr 1fr; }
  .stats-strip{ grid-template-columns: repeat(2,1fr); row-gap: 1.6rem; }
  .stat-item:nth-child(2n){ border-right:none; }
  .stat-item:nth-child(1), .stat-item:nth-child(2){ border-bottom: 1px solid var(--border-soft); padding-bottom: 1.4rem; }
}

/* ---------- Tablets (<=860px) ---------- */
@media (max-width: 860px){
  .utility-bar{ display:none; }
  .main-nav{
    position: fixed; top: 0; right: -320px; width: 300px; height: 100vh; background:#fff;
    box-shadow: -8px 0 30px rgba(13,27,42,0.15); padding: 100px 2rem 2rem; transition: right .35s var(--ease);
    z-index: 950;
  }
  .main-nav.is-open{ right: 0; }
  .main-nav ul{ flex-direction:column; gap: 1.4rem; }
  .header-cta{ display:none; }
  .nav-toggle{ display:flex; }
  .nav-toggle.is-active span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .nav-toggle.is-active span:nth-child(2){ opacity:0; }
  .nav-toggle.is-active span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
  .header-inner{ height: 72px; }
  .brand-logo{ height:44px; }

  .hero{ padding: 60px 0 50px; text-align:center; }
  .hero-lead{ margin-left:auto; margin-right:auto; }
  .hero-actions, .hero-trust{ justify-content:center; }
  .hero-visual-badge{ position:static; margin-top: 1.2rem; display:inline-flex; }

  .form-row{ grid-template-columns: 1fr; }
}

/* ---------- Mobile (<=640px) ---------- */
@media (max-width: 640px){
  .section{ padding: 64px 0; }
  .why-grid, .services-grid, .industries-grid, .process-timeline, .webdev-grid, .amc-grid{ grid-template-columns: 1fr; }
  .stats-strip{ grid-template-columns: 1fr; }
  .stat-item{ border-right:none !important; border-bottom: 1px solid var(--border-soft); padding-bottom: 1.4rem !important; }
  .stat-item:last-child{ border-bottom:none; }
  .footer-top{ grid-template-columns: 1fr; padding: 3.5rem 24px 2.5rem; }
  .footer-bottom-inner{ flex-direction:column; gap:.4rem; text-align:center; }
  .cta-actions{ flex-direction:column; align-items:stretch; }
  .fab{ width:48px; height:48px; font-size:1.1rem; right:16px; }
  .fab-whatsapp{ bottom:16px; }
  .fab-call{ bottom:74px; }
  .fab-top{ bottom: 132px; }
  .amc-grid{ grid-template-columns: repeat(2,1fr); }
}

/* ---------- Projects & Gallery responsive ---------- */
@media (max-width: 1100px){
  .project-grid{ grid-template-columns: repeat(2,1fr); }
  .trust-block{ flex-direction:column; }
  .gallery-grid{ columns: 3 200px; }
}
@media (max-width: 640px){
  .project-grid{ grid-template-columns: 1fr; }
  .project-filters{ justify-content:flex-start; overflow-x:auto; flex-wrap:nowrap; padding-bottom:.4rem; }
  .filter-chip{ flex-shrink:0; }
  .trust-block{ padding: 1.8rem; }
  .gallery-grid{ columns: 2 160px; }
  .lightbox-close{ top: 12px; right: 16px; }
}
