/* P2 index: boxed list with dotted leaders (phone), cells (desktop). */
.index { margin-top: 44px; }
.ix-box { border: 1px solid var(--ink); outline: 1px solid var(--ink); outline-offset: -5px; padding: 18px 20px 10px; }
.ix-h {
  font-size: var(--fs-label); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  font-variation-settings: "opsz" 12; margin-bottom: 6px; text-align: center;
}
.ix-list a { display: flex; align-items: baseline; gap: 8px; min-height: 44px; padding: 11px 0 9px; text-decoration: none; }
.ix-list .lead { flex: 1; border-bottom: 1px dotted var(--ink-soft); transform: translateY(-4px); min-width: 12px; }
.ix-list .pg { font-weight: 700; }
.ix-list li + li a { border-top: 0; }
@media (min-width: 768px) {
  .ix-list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 40px; }
}
@media (min-width: 1024px) {
  .index { margin-top: 80px; }
  .ix-box { padding: 24px 28px 28px; }
  .ix-h { margin-bottom: 20px; }
  .ix-list { grid-template-columns: repeat(8, 1fr); column-gap: 0; }
  .ix-list li { border-left: 1px solid var(--rule); padding: 0 16px; }
  .ix-list li:first-child { border-left: 0; padding-left: 0; }
  .ix-list a { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 0; line-height: 1.2; font-size: 1rem; }
  .ix-list .pg { order: -1; font-size: 2.25rem; font-weight: 800; line-height: 1; }
  .ix-list .lead { display: none; }
}
@media (hover: hover) and (pointer: fine) {
  .ix-list a { transition: color 160ms ease; }
  .ix-list a:hover { color: var(--ledger-red); }
}
