@media (hover: hover) and (pointer: fine) and (forced-colors: none) {
  body {
    cursor: url("assets/pointer-dot.svg") 8 8, auto;
  }

  /* Use the same click point for both shapes. Keep action-specific cursor states intact. */
  body :is(a[href], button, summary, [role="button"], .cotton-hero, .history-controls label):not(:disabled):not([aria-disabled="true"]):not(:where(
    [aria-disabled="true"] *,
    [contenteditable]:not([contenteditable="false"]), [contenteditable]:not([contenteditable="false"]) *,
    [draggable="true"], .is-dragging, .is-dragging *, .photo-work .image-button, .gallery-image-open,
    .archive-logo-unlinked, .press-entry-film
  )) {
    cursor: url("assets/pointer-ring.svg") 13 13, pointer;
  }

  .home-publications.is-dragging,
  .home-publications.is-dragging * {
    cursor: grabbing;
  }

  body :is(input, textarea, select, video, audio, iframe, embed, object, :disabled, [aria-disabled="true"]) {
    cursor: auto;
  }

  :where([contenteditable]:not([contenteditable="false"])) {
    cursor: text;
  }
}
