.cluster { margin: var(--s-7) 0 0; padding-top: var(--s-6); border-top: 1px solid var(--line); display: grid; gap: var(--s-6); }
.cluster__up {
  display: grid; gap: var(--s-1);
  padding: var(--s-4) var(--s-5);
  background: var(--accent-wash);
  border-radius: var(--radius);
  text-decoration: none; color: var(--ink);
  transition: background 0.18s var(--ease);
}
.cluster__up:hover { background: var(--mist-deep); color: var(--ink); }
.cluster__up-label { font-size: var(--step--2); letter-spacing: var(--track-label); text-transform: uppercase; color: var(--accent-deep); font-weight: 600; }
.cluster__up-title { font-size: var(--step-1); font-weight: 600; letter-spacing: var(--track-tight); }
.cluster__title { font-size: var(--step-1); margin: 0 0 var(--s-4); letter-spacing: var(--track-tight); }
.cluster__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s-4); list-style: none; margin: 0; padding: 0; }
.cluster__link {
  display: grid; gap: var(--s-2);
  padding: var(--s-4);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--ground);
  text-decoration: none; color: var(--ink);
  height: 100%;
  transition: border-color 0.18s var(--ease), background 0.18s var(--ease);
}
.cluster__link:hover { border-color: var(--accent); background: var(--accent-wash); color: var(--ink); }
.cluster__link-title { font-weight: 600; font-size: var(--step-0); }
.cluster__link-note { color: var(--ink-soft); font-size: var(--step--1); line-height: 1.5; }
.cluster__category { margin: 0; display: grid; gap: var(--s-1); }
.cluster__category a { font-weight: 600; font-size: var(--step-1); color: var(--accent-deep); }
.cluster__category-note { font-size: var(--step--1); color: var(--ink-soft); }
.cluster__bridge { margin: 0; display: grid; gap: var(--s-1); }
.cluster__bridge a { font-weight: 600; font-size: var(--step-1); color: var(--accent-deep); }
.cluster__bridge-note { font-size: var(--step--1); color: var(--ink-soft); }
