/* EPHARO global scroll navigation primitive.
   Reusable, quiet glass controls; no page-specific business logic. */
.eph-scroll-nav {
  position: fixed;
  left: max(12px, env(safe-area-inset-left));
  top: 50%;
  z-index: 84;
  display: grid;
  gap: 8px;
  transform: translateY(-50%);
  pointer-events: none;
}
.eph-scroll-nav__btn {
  appearance: none;
  -webkit-appearance: none;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(18,63,45,.12);
  background: rgba(255,255,255,.48);
  color: rgba(16,63,45,.68);
  box-shadow: 0 8px 22px rgba(18,50,37,.06);
  backdrop-filter: blur(12px) saturate(120%);
  -webkit-backdrop-filter: blur(12px) saturate(120%);
  display: grid;
  place-items: center;
  font: 800 18px/1 Inter, Arial, sans-serif;
  cursor: pointer;
  opacity: .56;
  pointer-events: auto;
  transition: opacity 160ms ease, transform 160ms ease, background 160ms ease, border-color 160ms ease;
}
.eph-scroll-nav__btn:hover,
.eph-scroll-nav__btn:focus-visible {
  opacity: .96;
  background: rgba(255,255,255,.78);
  border-color: rgba(15,107,60,.24);
  transform: translateY(-1px);
}
.eph-scroll-nav__btn:focus-visible { outline: 2px solid rgba(15,107,60,.18); outline-offset: 3px; }
.eph-scroll-nav__btn[hidden] { display:none; }
@media (max-width: 900px) {
  .eph-scroll-nav { left: 8px; top: auto; bottom: calc(18px + env(safe-area-inset-bottom)); transform:none; }
  .eph-scroll-nav__btn { width: 36px; height:36px; opacity:.48; }
}
@media (prefers-reduced-motion: reduce) {
  .eph-scroll-nav__btn { transition:none; }
}
