/* COMPANIES — 왼쪽 따라오는 목차 + 같은 틀의 여섯 장(번호·이름·영문·한 줄·목록 ↔ 사진 묶음, 아래 대표·연락) */
.cps { padding: 170px 0 150px; }
.cps-in { margin-top: 100px; display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: clamp(40px, 5vw, 80px); align-items: start; }
.cps-nav { position: sticky; top: calc(var(--hd-h) + 40px); display: grid; gap: 4px; }
.cps-nav a { --c: var(--ivory); display: grid; grid-template-columns: 30px 1fr; padding: 10px 0; border-bottom: 1px solid var(--line-dk); font-size: 15px; font-weight: 600; color: var(--sub-dk); transition: color .3s; }
.cps-nav i { font-style: normal; font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; padding-top: 3px; }
.cps-nav small { grid-column: 2; font-size: 12px; font-weight: 400; color: var(--sub-dk); }
.cps-nav a:hover, .cps-nav a.is-on { color: var(--ivory); }
.cps-nav a.is-on i { color: var(--c); }
.cps-nav a.is-on { border-color: var(--c); }

.cps-list { display: grid; }
.cp { padding: 0 0 110px; scroll-margin-top: calc(var(--hd-h) + 30px); }
.cp + .cp { padding-top: 110px; border-top: 1px solid var(--line-dk); }
.cp .alt-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.cp:nth-child(even) .alt-text { order: 2; }
.cp .alt-text h3 { margin-top: 6px; }
.cp .alt-text > p { font-size: 18px; font-weight: 500; color: var(--ivory); }
.cp .tri-list { margin-top: 20px; }
.cp .tri-list li { font-size: 15px; color: #CFC9BE; }
.cp .tri-list b { color: var(--ivory); }
.cp .clg-logo { color: var(--ink); }
.cp .clg.is-one .clg-logo { padding: 18% 22%; }
.cp .co-foot { margin-top: 48px; }

@media (max-width: 860px) {
  .cps { padding: 110px 0 90px; }
  .cps-in { grid-template-columns: 1fr; margin-top: 48px; gap: 28px; }
  .cps-nav { top: var(--hd-h); z-index: 3; margin-inline: calc(var(--gut) * -1); padding: 8px var(--gut); display: flex; gap: 18px; overflow-x: auto; scrollbar-width: none; background: var(--ink); }
  .cps-nav a { flex: none; display: flex; gap: 6px; padding: 8px 0; border-bottom-width: 2px; font-size: 14px; }
  .cps-nav small { display: none; }
  .cp { padding-bottom: 70px; }
  .cp + .cp { padding-top: 70px; }
  .cp .alt-row { grid-template-columns: 1fr; }
  .cp:nth-child(even) .alt-text { order: 0; }
}
