/* ── Cursor ── */
#cursor {
  position: fixed; top: 0; left: 0; z-index: 9999;
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--brass); pointer-events: none;
  transform: translate(-50%,-50%);
  transition: width .25s, height .25s, opacity .25s;
}
#cursor.hov { width: 36px; height: 36px; opacity: .35; }

/* ── Editorial fixed margin marks ── */
.corner {
  position: fixed; z-index: 50;
  font-family: var(--ff-body); font-size: 10px; font-weight: 400;
  letter-spacing: .25em; text-transform: uppercase;
  color: var(--muted);
}
.corner-tl { top: 28px; left: 36px; }
.corner-tr { top: 28px; right: 36px; text-align: right; }
.corner-bl { bottom: 28px; left: 36px; }
.corner-br { bottom: 28px; right: 36px; text-align: right; }
.corner em { color: var(--brass); font-style: normal; }

.pip {
  display: inline-block; width: 5px; height: 5px;
  border-radius: 50%; background: var(--brass);
  margin-right: 8px; vertical-align: middle;
  animation: pipBlink 2.8s ease-in-out infinite;
}
@keyframes pipBlink { 0%,100% { opacity:1; } 50% { opacity:.3; } }

/* Used by live time JS rendering */
.live-time {
  color: var(--cream);
  font-family: var(--ff-disp);
  font-style: italic;
  letter-spacing: 0.05em;
  text-transform: none;
  font-size: 12px;
}

/* Used by carousel caption JS rendering */
.cap-index-total {
  font-style: normal;
  font-family: var(--ff-body);
  color: var(--muted);
}

