1. Mechanisme — kopieer 1-op-1, geen styling-keuzes
// Mechanisme: pricing-magnetic-cta-editorial
import gsap from 'https://esm.sh/gsap@3.12.5';
// Pas toe op je eigen selector — geen stijlkeuzes hier.
if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
document.querySelectorAll('.magnetic').forEach(el=>{
el.addEventListener('mousemove',e=>{const r=el.getBoundingClientRect();el.style.transform='translate('+(e.clientX-r.left-r.width/2)*0.35+'px,'+(e.clientY-r.top-r.height/2)*0.35+'px)';});
el.addEventListener('mouseleave',()=>{el.style.transform='';el.style.transition='transform 0.4s ease';});}); 2. Skeleton — DOM + class-namen, mag herschikken
<!-- Skeleton: pricing-magnetic-cta-editorial -->
<div class="demo-block">
<!-- DOM-structuur hier -->
</div>
3. Styling-template — verplicht eigen invulling per merk
/* Styling: pricing-magnetic-cta-editorial */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}