1. Mechanisme — kopieer 1-op-1, geen styling-keuzes
// Mechanisme: footer-manifest-reveal-specimen
import gsap from 'https://esm.sh/gsap@3.12.5';
// Pas toe op je eigen selector — geen stijlkeuzes hier.
import gsap from 'https://esm.sh/gsap@3.12.5';
import{ScrollTrigger}from 'https://esm.sh/gsap@3.12.5/ScrollTrigger';
gsap.registerPlugin(ScrollTrigger);
const el=document.querySelector('.word-reveal-target');
if(el){const t=el.textContent.trim();el.innerHTML=t.split(' ').map(w=>'<span class="ww"><span class="wi">'+w+'</span></span>').join(' ');if(window.matchMedia('(prefers-reduced-motion: reduce)').matches)return;
gsap.fromTo(el.querySelectorAll('.wi'),{yPercent:110,autoAlpha:0},{yPercent:0,autoAlpha:1,duration:1.6,stagger:0.1,ease:'expo.out',scrollTrigger:{trigger:el,start:'top 85%',once:true}});} 2. Skeleton — DOM + class-namen, mag herschikken
<!-- Skeleton: footer-manifest-reveal-specimen -->
<div class="demo-block">
<!-- DOM-structuur hier -->
</div>
3. Styling-template — verplicht eigen invulling per merk
/* Styling: footer-manifest-reveal-specimen */
:root {
--block-bg: ;
--block-fg: ;
--block-accent: ;
}