/* Breakpoints: 1100 (stack splits), 760 (header/nav compress), 480 (phone). */
@media (max-width: 1100px) {
  .row-2, .split, .split-wide { grid-template-columns: minmax(0, 1fr); }
  .row-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  :root { --gutter: 16px; --card-pad: 18px 16px; --fs-h1: 23px; --fs-h2: 19px; --fs-kpi: 26px; }
  .topbar { flex-wrap: wrap; height: auto; }
  .brand { padding: 10px 16px; border-right: 0; flex: 1; }
  .lang { margin: 0 16px 0 8px; }
  .nav { order: 3; flex-basis: 100%; height: 40px; padding-left: 4px; border-top: 1px solid var(--line); }
  .nav-link { padding: 0 10px; }
  html { scroll-padding-top: 112px; }
  .wrap { padding-top: 18px; }
  .section { margin-top: 32px; }
  .section-head { flex-direction: column; align-items: flex-start; }
  .grid-cards { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  .row-4 { grid-template-columns: minmax(0, 1fr); }
  .search-form { flex-wrap: wrap; }
  .search-form .btn { flex: 1; }
  .firm-head { flex-direction: column; }
  .badges { justify-content: flex-start; }
  .firm-kpis { gap: 8px; }
  .firm-kpi { padding: 10px; }
  .hist-n { display: none; }
  .hb-row { grid-template-columns: minmax(96px, 40%) minmax(0, 1fr) 54px; gap: 8px; }
  .brand-sub { letter-spacing: .08em; }
}
