/* ==========================================================================
   OUR CLIENTS · A · GRID
   One compact grid of every client — tile cards, the logo on its plate above the name and the business type.
   Industry keys above filter the grid in place; three rows show first and the rest on request.
   Phones: two tiles to a row, the keys scroll sideways.
   ========================================================================== */
.oc-a .oca-keys{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.oc-a .oca-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(196px, 1fr)); gap:10px; }
.oc-a .oc-c.is-hid{ display:none; }
.oc-a .oca-grid .oc-card{ transition:transform .3s cubic-bezier(.22,.7,.2,1), box-shadow .3s; }
.oc-a .oca-grid .oc-logo{ height:88px; --lh:42px; border-bottom:1px solid #EDEBE6; }
.oc-a .oca-grid .oc-tx{ padding:12px 14px 14px; }
@media (hover:hover){
  .oc-a .oca-grid .oc-card:hover{ transform:translateY(-3px); box-shadow:0 14px 28px -16px rgba(17,17,17,.4); }
}
.oc-a .oca-morew{ display:flex; justify-content:center; }
.oc .oc-a .oca-more, .oc-a .oca-more{ display:flex; width:auto; min-width:260px; padding:0 22px; margin-top:14px; }
.oc-a .oca-more[hidden]{ display:none; }

@media (max-width:560px){
  .oc-a .oca-keys{ flex-wrap:nowrap; margin-bottom:12px; }
  .oc-a .oca-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:8px; }
  .oc-a .oca-grid .oc-logo{ height:72px; --lh:34px; }
  .oc-a .oca-grid .oc-tx{ padding:10px 11px 12px; }
  .oc-a .oc-nm{ font-size:14.5px; }
  .oc-a .oc-ty{ font-size:12px; white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
  .oc-a .oca-more{ width:100%; }
}
