/* Wireframe hover: patches of a heading dissolve into a meshed outline near the cursor;
   images show a luminance-displaced mesh in a lens. Masks are driven by js/wireframe.js. */
.wire-text{position:relative;--wire:#c9d1ff;--wire-dim:rgba(169,182,255,.38)}
.wire-text__solid{display:block}
.wire-text__mesh{position:absolute;inset:0;padding:inherit;pointer-events:none;user-select:none;
 --g:max(6px,.105em);
 color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1px var(--wire);
 background-image:
  linear-gradient(var(--wire-dim) 1px,transparent 1px),
  linear-gradient(90deg,var(--wire-dim) 1px,transparent 1px),
  linear-gradient(45deg,transparent calc(50% - .6px),rgba(169,182,255,.2) 50%,transparent calc(50% + .6px)),
  linear-gradient(rgba(169,182,255,.07),rgba(169,182,255,.07));
 background-size:var(--g) var(--g),var(--g) var(--g),var(--g) var(--g),auto;
 -webkit-background-clip:text;background-clip:text;
 -webkit-mask-image:linear-gradient(transparent,transparent);mask-image:linear-gradient(transparent,transparent)}
.wire-text__mesh *{color:transparent;-webkit-text-fill-color:transparent}
.exhibition__intro h1 .wire-text__mesh span{-webkit-text-stroke-color:#a9b6ff}

/* The image lens draws on a canvas above the picture; JS mirrors the picture's hover zoom. */
.wire-host{position:relative}
.wire-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}
