// Umami: safe track (no-op if script blocked or not loaded)
function umamiTrack(name, data) {
    if (typeof window.umami !== 'undefined' && typeof window.umami.track === 'function') {
        if (data != null) window.umami.track(name, data);
        else window.umami.track(name);
    }
}

// Umami: scroll depth (25%, 50%, 75%, 100%) – once per milestone
const scrollMilestones = new Set();
function onScroll() {
    const doc = document.documentElement;
    const scrollTop = doc.scrollTop || document.body.scrollTop;
    const scrollHeight =
        (doc.scrollHeight || document.body.scrollHeight) - window.innerHeight;
    if (scrollHeight <= 0) return;
    const pct = Math.round((scrollTop / scrollHeight) * 100);
    for (const m of [25, 50, 75, 100]) {
        if (pct >= m && !scrollMilestones.has(m)) {
            scrollMilestones.add(m);
            umamiTrack('scroll-depth', { depth: String(m) });
        }
    }
}
window.addEventListener('scroll', onScroll, { passive: true });
