/* A-LINE v1.0 | Only explicit non-personal interaction codes are queued. * No GTM/GA/Meta IDs are embedded. Default: no measurement events. * Integrate your approved consent policy before enabling production tags. */ (function (w, d) { 'use strict'; if (w.ALINETracking) return; var allowed = w.ALINE_ANALYTICS_ALLOWED === true; var events = ['aln_cta_click','aln_tool_open','aln_memo_complete','aln_memo_print','aln_sheet_open']; var placements = ['header','hero','memo','memo_result','simulator','commission','contact','sticky']; var targets = ['contact_section','memo_section','long_term_simulator','blank_sheet','commission','inquiry_form','phone','line','memo','print_dialog']; function track(name, placement, target) { if (!allowed || events.indexOf(name) < 0 || placements.indexOf(placement) < 0 || targets.indexOf(target) < 0) return false; w.dataLayer = w.dataLayer || []; w.dataLayer.push({ event:name, aln_page_id:'life_budget', aln_page_version:'20261006_v1', aln_placement:placement, aln_target:target }); return true; } w.ALINETracking = Object.freeze({track:track}); w.addEventListener('aline:analytics-consent', function(e) { allowed = !!(e.detail && e.detail.granted === true); }); d.addEventListener('click', function(e) { var node = e.target && e.target.closest ? e.target.closest('#aln-life [data-aln-event]') : null; if (node) track(node.dataset.alnEvent, node.dataset.alnPlacement, node.dataset.alnTarget); }); })(window,document);