/* Semper Eadem's small copper pointer. It is enabled only on fine pointers and
   only after the companion script is ready, so keyboard and touch remain
   completely native. */
@media (hover: hover) and (pointer: fine) {
  html.se-cursor-ready,
  html.se-cursor-ready body,
  html.se-cursor-ready body * {
    cursor: none !important;
  }

  .se-brand-cursor {
    position: fixed;
    z-index: 2147483646;
    top: 0;
    left: 0;
    width: 24px;
    height: 28px;
    pointer-events: none;
    opacity: 0;
    transform: translate3d(-64px, -64px, 0);
    transition: opacity .12s ease;
    filter: drop-shadow(0 1px 1.5px rgba(42, 25, 18, .42));
    will-change: transform;
  }

  .se-brand-cursor.is-visible { opacity: 1; }
  .se-brand-cursor.is-hidden { opacity: 0; }
  html.se-cursor-ready:not(:hover) .se-brand-cursor,
  html:has(iframe:hover) .se-brand-cursor { opacity:0!important;visibility:hidden!important; }

  .se-brand-cursor::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 1px;
    width: 15px;
    height: 21px;
    background:
      linear-gradient(135deg, rgba(255, 238, 220, .82), transparent 42%),
      linear-gradient(145deg, #e3ba91 0 30%, #b97a55 52%, #84513b 78%, #d59c72 100%);
    clip-path: polygon(0 0, 84% 72%, 51% 72%, 66% 100%, 51% 100%, 36% 74%, 16% 94%);
    box-shadow: inset 0 0 0 1px rgba(76, 43, 31, .34);
    transform-origin: 2px 2px;
    transition: transform .14s cubic-bezier(.2, .8, .2, 1);
  }

  .se-brand-cursor::after { display: none; }

  .se-brand-cursor.is-pressed::before { transform: scale(.9); }

  .se-brand-cursor .se-cursor-spray {
    display: none;
    position: absolute;
  }

  .se-brand-cursor .se-cursor-paper-finger {
    display: none;
    position: absolute;
    width: 66px;
    height: 88px;
    left: -24px;
    top: -78px;
    object-fit: contain;
    transform: rotate(-9deg);
    transform-origin: 50% 100%;
    filter: drop-shadow(2px 5px 2px rgba(18, 10, 16, .28));
  }

  /* On the drawing wall the pointer becomes the approved little spray can. */
  .se-brand-cursor.is-spray {
    width: 58px;
    height: 58px;
    filter: drop-shadow(1px 2px 1px rgba(27, 21, 18, .28));
  }

  .se-brand-cursor.is-spray::before,
  .se-brand-cursor.is-spray::after { display: none; }

  .se-brand-cursor.is-spray .se-cursor-spray {
    display: block;
    top: -8px;
    left: -9px;
    width: 58px;
    height: 58px;
  }

  .se-brand-cursor.is-wall-button {
    width: 1px;
    height: 1px;
    filter: none;
  }

  .se-brand-cursor.is-wall-button::before,
  .se-brand-cursor.is-wall-button::after { display: none; }

  .se-brand-cursor.is-wall-button .se-cursor-paper-finger { display: block; }

  .se-brand-cursor.is-wall-button.is-pressed .se-cursor-paper-finger {
    transform: translateY(3px) rotate(-7deg) scale(.94);
  }
}

@media (prefers-reduced-motion: reduce) {
  .se-brand-cursor { transition: none !important; }
}
