/* Лента компаний. Тот же приём, что у ленты СМИ: две копии, сдвиг на −50 %, маска по краям. */
.cm {
  overflow: hidden;
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
.cm:focus { outline: 2px solid #83652F; outline-offset: 2px; }
.cm__track {
  display: flex;
  width: max-content;
  animation: cm-run var(--cm-dur, 48s) linear infinite;
  will-change: transform;
  touch-action: pan-x pan-y pinch-zoom;
  overscroll-behavior-x: contain;
}
.cm:hover .cm__track,
.cm:focus-within .cm__track { animation-play-state: paused; }
.cm__row {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cm__row li {
  display: inline-flex;
  align-items: center;
  font-family: Literata, Georgia, "Times New Roman", serif;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}
.cm--dark .cm__row li { color: #F5F1E8; }
.cm--light .cm__row li { color: #0C1633; }
.cm__row li::after {
  content: "·";
  margin: 0 28px;
  font-weight: 400;
}
.cm--dark .cm__row li::after { color: #C6A56A; }
.cm--light .cm__row li::after { color: #83652F; }
@keyframes cm-run {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@media (max-width: 767px) {
  .cm {
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 24px, #000 calc(100% - 24px), transparent 100%);
  }
  .cm__row li { font-size: 18px; }
  .cm__row li::after { margin: 0 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .cm { -webkit-mask-image: none; mask-image: none; }
  .cm__track { animation: none; width: auto; max-width: 100%; flex-wrap: wrap; transform: none; }
  .cm__row { flex-wrap: wrap; justify-content: center; row-gap: 8px; }
  .cm__row[aria-hidden="true"] { display: none; }
}
