/* Shared project controls; compact screens keep the existing navigation row. */
.project-neighbor { position: fixed; top: 50vh; transform: translateY(-50%); z-index: 20; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: #444; text-decoration: none; transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease; }
.project-neighbor--previous { left: 72px; }
.project-neighbor--next { right: 72px; }
.project-neighbor__arrow { display: block; width: 20px; height: 20px; flex: 0 0 auto; }
.project-neighbor__label { display: none; }
.project-neighbor:hover { background: #333; border-color: #333; color: #fff; }
.project-neighbor:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
@media (max-width: 1100px) {
  .project-neighbors { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 20px; margin: 20px clamp(12px,4vw,40px) 0; }
  .project-neighbor { position: static; transform: none; width: 44px; height: 44px; }
  .project-neighbor--previous { grid-column: 1; justify-self: start; }
  .project-neighbor--next { grid-column: 2; justify-self: end; }
  .project-neighbor__arrow { width: 18px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) { .project-neighbor { transition: none; } }
