/* ============================================================
   L-QUBE TECHNOLOGIES — Responsive Layouts
   Intentional mobile layouts, not just shrunk desktop.
   ============================================================ */

@media (max-width: 1080px) {
  .build-grid { grid-template-columns: repeat(2, 1fr); }
  .solutions-grid { grid-template-columns: repeat(2, 1fr); }
  .section-head-split { grid-template-columns: 1fr; align-items: start; }
}

@media (max-width: 920px) {
  /* Navigation becomes a hamburger menu */
  .nav-toggle { display: flex; }
  .nav-cta { display: none; }
  .nav-menu {
    position: fixed;
    inset: 76px 0 auto 0;
    background: var(--paper);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-md);
    padding: 12px var(--gutter) 28px;
    transform: translateY(-8px);
    opacity: 0;
    visibility: hidden;
    transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility var(--dur) var(--ease);
  }
  .nav-menu.is-open { transform: translateY(0); opacity: 1; visibility: visible; }
  .nav-links { flex-direction: column; align-items: stretch; gap: 2px; }
  .nav-links a { padding: 14px 12px; font-size: 1.05rem; border-radius: var(--radius-sm); }
  .nav-links a[aria-current="page"]::after { display: none; }
  .nav-links a[aria-current="page"] { background: var(--green-50); }
  .nav-menu .nav-cta-mobile {
    display: flex;
    margin-top: 16px;
    width: 100%;
  }

  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { order: -1; }
  .cube-system { width: min(100%, 320px); }

  .intro-grid { grid-template-columns: 1fr; }
  .solution-group { grid-template-columns: 1fr; }
  .projects-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .grid-2 { grid-template-columns: 1fr; }

  .industry-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 28px 0;
  }
  .industry-row .tag { justify-self: start; }

  .cta-band .container { grid-template-columns: 1fr; }
  .cta-actions { flex-direction: row; flex-wrap: wrap; }

  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 620px) {
  body { font-size: 15.5px; }
  .section { padding-block: 56px; }
  .hero { padding-block: 48px 56px; }
  .hero-actions .btn { width: 100%; }
  .hero-meta { gap: 16px; }
  .solutions-grid { grid-template-columns: 1fr; }
  .solution-items { grid-template-columns: 1fr; }
  .build-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .modal-meta { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .intro-facts .fact { grid-template-columns: 1fr; gap: 4px; }
  .process-track::before { left: 23px; }
  .process-step { grid-template-columns: 48px 1fr; gap: 18px; }
  .process-step .step-num { width: 48px; height: 48px; font-size: 0.78rem; }
  .process-step h3 { padding-top: 11px; }
  .to-top { right: 16px; bottom: 16px; }
  .filter-bar { gap: 6px; }
  .filter-btn { padding: 8px 14px; font-size: 0.8rem; }
}

@media (max-width: 380px) {
  .brand-name { font-size: 0.92rem; }
  .brand-name small { font-size: 0.52rem; }
}
