/* V1 · Board map: your FigJam diagram, rebuilt. Lines are drawn by v1-board.js */
.map { position: relative; }
.map-lines { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; z-index: 0; }
.map-lines path { fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; transition: stroke-width .3s var(--ease), opacity .3s var(--ease); }
.map-lines circle { transition: opacity .3s var(--ease); }
.map-lines.hl path, .map-lines.hl circle { opacity: .25; }
.map-lines.hl .on { opacity: 1; stroke-width: 2.5; }
.map-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 16px; }
.mc-top { grid-column: 1 / 3; }
.mc-bot { grid-column: 3 / 4; }
.map-cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.map-row { position: relative; z-index: 1; display: flex; justify-content: center; margin-top: 72px; }
.r-split { gap: clamp(120px, 22vw, 320px); }
/* Talk to a Student: no CTA. Desktop keeps its space so the card stays the same height; phones drop it */
.pcard2.tts .pc2-cta { visibility: hidden; }
@media (max-width: 900px) {
  .map-cards { grid-template-columns: 1fr; gap: 24px; }
  .pcard2.tts .pc2-cta { display: none; }
  .map-cols { display: none; }
  .map-lines { display: none; }
  .map-row { margin-top: 40px; }
  .map-row::before { content: ""; position: absolute; left: 50%; top: -40px; height: 40px; width: 1.5px; background: #CFC9BE; }
  .r-split { gap: 12px; }
  .r-split .node { flex: 1; min-width: 0; }
}
