/* Large laptop — keep menu single-line */
@media (max-width: 1400px) {
  .nav-bar__inner { gap: 12px; }
  .primary-nav__link { padding: 10px 6px; font-size: 13px; }
  .nav-bar__cta .btn { padding: 0 12px; font-size: 13px; min-height: 38px; }
  .nav-bar .logo { max-width: 120px; }
  .nav-bar .logo__img { height: 42px; max-width: 120px; }
}

/* Laptop 1280 */
@media (max-width: 1280px) {
  .display { font-size: 52px; }
  h1, .h1 { font-size: 40px; }
  .nav-bar__inner { gap: 10px; }
  .primary-nav__link { padding: 9px 5px; font-size: 12.5px; gap: 3px; }
  .nav-bar__cta .btn { padding: 0 10px; font-size: 12.5px; min-height: 36px; }
  .nav-bar__cta .icon-btn { width: 36px; height: 36px; }
  .nav-bar .logo { max-width: 96px; min-width: 56px; }
  .nav-bar .logo__img { height: 36px; max-width: 96px; }
  .mega-menu__inner { grid-template-columns: 240px 1fr; gap: 28px; }
}

/* Comfortable desktop spacing */
@media (min-width: 1200px) {
  .primary-nav__link { padding: 10px 10px; font-size: 14px; }
  .nav-bar__cta { gap: 10px; }
  .nav-bar__cta .btn { padding: 0 16px; }
}

/* Narrow desktop — keep 6 items, tighten slightly */
@media (max-width: 1199px) and (min-width: 1025px) {
  .primary-nav__link { padding: 9px 7px; font-size: 13px; }
  .nav-bar__cta .btn { padding: 0 12px; font-size: 13px; min-height: 38px; }
  .nav-bar .logo { max-width: 120px; }
  .nav-bar .logo__img { height: 42px; max-width: 120px; }
}

/* Tablet / early hamburger — avoid half-desktop nav */
@media (max-width: 1024px) {
  :root { --gutter: 24px; }
  .display { font-size: 42px; }
  h1, .h1 { font-size: 34px; }
  h2, .h2 { font-size: 28px; }
  .utility-bar__item--muted { display: none; }
  .primary-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .nav-bar__cta .btn--primary { display: none; }
  .nav-dropdown, .mega-menu { display: none !important; }
  /* Mobile header: logo centered, hamburger flush right; search only inside menu */
  .nav-bar__inner {
    position: relative;
    justify-content: center;
    gap: 0;
    min-height: 60px;
  }
  .nav-bar .logo {
    max-width: 148px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  .nav-bar .logo__img { height: 48px; max-width: 148px; }
  .nav-bar__cta {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    transform: none; /* avoid containing-block / overflow bugs on mobile */
    z-index: 2;
    gap: 0;
    display: flex;
    align-items: center;
  }
  .nav-bar__cta .search-btn { display: none; }
  .mobile-menu__top-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
  }
  .grid-3, .grid-4, .why-grid, .values-grid, .steps, .metric-grid, .footer-main__grid {
    grid-template-columns: 1fr 1fr;
  }
  .mega-menu__cols { grid-template-columns: 1fr; }
  .interface-panel, .qs-split, .contact-grid { grid-template-columns: 1fr; }
  .home-hero { min-height: 480px; }
  .home-hero__shade {
    background: linear-gradient(180deg, rgba(12,27,42,.88) 0%, rgba(12,27,42,.72) 100%);
  }
  .section { padding: 72px 0; }
  .subpage-cards { grid-template-columns: 1fr; }
}

/* Tablet small / large mobile 768 */
@media (max-width: 768px) {
  .form-grid { grid-template-columns: 1fr; }
  .grid-3, .grid-4, .why-grid, .values-grid, .steps, .metric-grid, .scope-grid, .footer-main__grid {
    grid-template-columns: 1fr;
  }
  .footer-cta__inner { align-items: flex-start; }
  .info-row { grid-template-columns: 1fr; gap: 4px; }
  .sticky-cta {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    bottom: var(--sticky-cta-offset, 0px) !important;
    width: 100% !important;
    max-width: 100vw;
  }
  /* Clearance for fixed bar only — pad footer so last content isn't covered */
  body {
    padding-bottom: 0;
  }
  .site-footer {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  /* contact/rfq pages: same clearance */
  .page-contact .site-footer,
  .page-rfq .site-footer {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
  }
  .home-hero__content { padding: 56px 0 64px; }
  .card__body { padding: 22px; }
  .legal-table th, .legal-table td { display: block; width: 100%; }
  .legal-table th { border-bottom: 0; padding-bottom: 4px; }
  .legal-table td { padding-top: 0; }
}

/* Mobile 390 / 360 */
@media (max-width: 480px) {
  :root { --gutter: 16px; }
  .display { font-size: 32px; line-height: 1.12; }
  h1, .h1 { font-size: 28px; line-height: 1.18; }
  h2, .h2 { font-size: 24px; }
  h3, .h3 { font-size: 20px; }
  .lead { font-size: 17px; }
  body { font-size: 15px; }
  .utility-bar { font-size: 11.5px; }
  .utility-bar__meta { gap: 10px; }
  .utility-bar__meta .utility-bar__item:nth-child(n+3) { display: none; }
  .logo__img { height: 40px; max-width: 120px; }
  .btn { min-height: 48px; }
  .home-hero { min-height: 420px; }
  .page-hero { padding: 36px 0 44px; }
  .section { padding: 56px 0; }
  .section-head { margin-bottom: 28px; }
  .chip { min-height: 44px; }
  .rfq-steps { flex-direction: column; }
  .search-form { flex-wrap: wrap; }
  .search-form input { width: 100%; }
}

/* Reduce motion already in tokens */
@media (hover: none) {
  .card:hover { box-shadow: none; }
}
