/* Responsive overrides */
@media (max-width: 1100px) {
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .footer__grid { grid-template-columns: 1fr 1fr; }
  .brand__txt strong { font-size: 1rem; }
}

@media (max-width: 960px) {
  .topbar__tag, .topbar__addr { display: none; }
  .burger { display: inline-flex; }
  .nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(340px, 86vw); background: #fff; z-index: 150; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 16px; padding: calc(70px + env(safe-area-inset-top)) 20px 24px; transform: translateX(100%); visibility: hidden; transition: transform .35s var(--ease), visibility .35s; overflow-y: auto; box-shadow: var(--shadow-lg); }
  .nav.is-open { transform: none; visibility: visible; }
  .nav__list { flex-direction: column; align-items: stretch; }
  .nav__list > li > a { padding: 14px 10px; justify-content: space-between; border-bottom: 1px solid var(--color-border); border-radius: 0; }
  .sub { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; border-left: 3px solid var(--color-secondary); border-radius: 0; margin: 4px 0 8px 10px; min-width: 0; padding: 0 0 0 6px; display: none; }
  .has-sub.is-open .sub { display: block; }
  .has-sub.is-open .nav__chev { transform: rotate(180deg); }
  .nav__cta { align-self: stretch; }
  .burger[aria-expanded="true"] { position: fixed; top: calc(12px + env(safe-area-inset-top)); right: 16px; z-index: 160; }

  .hero__grid, .split { grid-template-columns: 1fr; }
  .hero__art { min-height: 320px; order: -1; }
  .hero__card { width: min(300px, 72%); }
  .hero__ring { width: min(380px, 94%); }
  .float-badge--a { left: 0; }
  .float-badge--b { right: 0; }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .client-grid { grid-template-columns: repeat(2, 1fr); }
  .banner::after { display: none; }
}

@media (max-width: 640px) {
  .container { padding-inline: 16px; }
  .topbar__in { justify-content: center; }
  .topbar__list { justify-content: center; gap: 4px 18px; font-size: .8rem; }
  .brand img { width: 50px; }
  .brand__txt strong { font-size: .92rem; }
  .brand__txt em { font-size: .72rem; }
  .grid--4, .grid--3, .steps, .client-grid, .form__row { grid-template-columns: 1fr; }
  .stats { grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
  .stats b { font-size: 1.5rem; }
  .why__stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .stat-card { padding: 20px 12px; }
  .stat-card b { font-size: 1.7rem; }
  .btn-row .btn { flex: 1 1 100%; }
  .section__head--row { flex-direction: column; align-items: flex-start; }
  .float-badge { padding: 8px 12px; }
  .float-badge .icon { width: 24px; height: 24px; }
  .float-badge span { display: none; }
  .about-art__badge { position: static; margin-top: 16px; max-width: none; }
  .cta__in { flex-direction: column; align-items: flex-start; }
  .footer__grid { grid-template-columns: 1fr; padding-block: 50px 30px; gap: 30px; }
  .footer__bar-in { flex-direction: column; text-align: center; }
  .docs li { grid-template-columns: auto 1fr; }
  .docs b { grid-column: 2; text-align: left; }
  /* keep the floating button clear of the form submit and page content */
  .wa-float { width: 52px; height: 52px; left: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
  .wa-float__tip { display: none; }
  .footer__bar-in { padding-bottom: 80px; }
}

@media (min-width: 1440px) {
  :root { --container: 1280px; }
}

@media (max-width: 1100px) { .logo-wall { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px) {
  .logo-wall { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .logo-wall li { height: 96px; }
  .card__img { height: 170px; }
  .to-top { width: 46px; height: 46px; right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
}
