.lifting-map {
  --map-ink: #24354b;
  --map-accent: #175b8d;
  color: var(--map-ink);
  margin: 1.5rem 0 2rem;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.lifting-map .map-phase {
  padding: 1.1rem;
  background: #eef3f7;
  border-radius: 10px;
}
.lifting-map .map-loop { background: #edf4ef; }
.lifting-map .map-phase-title {
  margin: 0 0 .85rem;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.lifting-map ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lifting-map li { position: relative; min-width: 0; }
.lifting-map li:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 2.6rem;
  right: -1.15rem;
  color: #526779;
}
.lifting-map .map-step {
  display: block;
  box-sizing: border-box;
  height: 100%;
  padding: .9rem;
  border-radius: 6px;
  background: #fff;
  color: var(--map-ink);
  box-shadow: 0 2px 5px #24354b12;
  text-decoration: none;
  scroll-margin-top: 1.5rem;
}
.lifting-map .map-number {
  display: block;
  color: var(--map-accent);
  font-size: .75rem;
  font-weight: 700;
  margin-bottom: .3rem;
}
.lifting-map strong { display: block; font-size: .95rem; line-height: 1.35; }
.lifting-map small { display: block; margin-top: .45rem; line-height: 1.45; }
.lifting-map .map-step:hover { box-shadow: 0 0 0 2px var(--map-accent); }
.lifting-map .map-step:focus-visible,
.lifting-map .map-step:target { outline: 3px solid var(--map-accent); outline-offset: 3px; }
.lifting-map .map-connector { text-align: center; margin: .6rem 0; font-size: .85rem; }
.lifting-map .map-row-arrow { text-align: right; margin: .55rem .9rem; }
.lifting-map .map-feedback { margin: 1rem 0 0; font-size: .85rem; line-height: 1.6; }
.lifting-map .map-feedback a { color: var(--map-accent); text-decoration: underline; }
.lifting-map .map-caption { margin: .8rem 0 0; font-size: .85rem; color: #526171; }
.workflow-return { font-size: .85em; }
.workflow-heading { scroll-margin-top: 1rem; }
@media (max-width: 600px) {
  .lifting-map ol { grid-template-columns: 1fr; gap: 1.5rem; }
  .lifting-map li:not(:last-child)::after {
    content: "↓";
    top: auto;
    bottom: -1.4rem;
    right: 50%;
  }
  .lifting-map .map-row-arrow { text-align: center; }
}
@media print {
  .lifting-map .map-step { box-shadow: none; border: 1px solid #bbc6cc; }
  .lifting-map .map-phase { break-inside: avoid; }
}
