/* Footer gradient (Figma "Moving gradient" shader; CSS blobs as the no-WebGL fallback). */
.v3-contact__gl { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.v3-contact__chaser { position: absolute; left: 50%; top: 50%; width: var(--s, 30%); aspect-ratio: 1; margin: calc(var(--s, 30%) * -.5) 0 0 calc(var(--s, 30%) * -.5); border-radius: 50%; pointer-events: none; opacity: .25; background: radial-gradient(closest-side, var(--c), transparent); will-change: transform, opacity; }
/* Only the CSS variant shows the old blobs, with a gentle pointer parallax. */
.v3-contact__field:not([data-grad="0"]) .v3-contact__blob { display: none; }
.v3-contact__field[data-grad="0"] .v3-contact__blob { --k: 26px; translate: calc(var(--mx, 0) * var(--k)) calc(var(--my, 0) * var(--k)); }
.v3-contact__field[data-grad="0"] .v3-contact__blob:nth-of-type(odd) { --k: -38px; }
