/* ==================================================
   Full Faith Signature Image Reveal — persistent WebGL surface

   Once enhancement starts, the canvas remains the visual surface. This avoids
   swapping between an HTML image and a newly-created canvas at each transition,
   which could produce a visible one-frame "pop" even when both showed the same
   photograph.
   ================================================== */

.signature-reveal {
  position: relative;
  isolation: isolate;
}

.signature-reveal__image {
  position: relative;
  z-index: 1;
  display: block;
}

.signature-reveal__preload {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.signature-reveal__canvas {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  pointer-events: none;
}

/*
  The semantic/fallback <img> stays in the DOM, but it does not participate in
  the visible transition while the persistent WebGL surface is active.
*/
.signature-reveal.is-signature-enhanced .signature-reveal__image {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .signature-reveal__image {
    opacity: 1 !important;
  }

  .signature-reveal__canvas {
    display: none !important;
  }
}
