diff --git a/public/suite-copy.html b/public/suite-copy.html index a006edc..9b1ff42 100644 --- a/public/suite-copy.html +++ b/public/suite-copy.html @@ -58,6 +58,6 @@

Teach it forward: when this saves you fifteen minutes, show your two how to use it — that's how the whole team gets faster.
Everything the engine writes follows the team's rules: no income promises, no invented numbers, honest about risk. It's still your name on the post, so read before you send. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-email.html b/public/suite-email.html index 2d463c0..44f44f6 100644 --- a/public/suite-email.html +++ b/public/suite-email.html @@ -58,6 +58,6 @@

Teach it forward: a member with a follow-up sequence running never loses a warm prospect to silence — show your two how to set theirs up.
Read every email before you send it; your name is on it. Generated copy follows the team's rules — no income promises, no invented numbers, honest about risk. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-founder.html b/public/suite-founder.html index 4af222d..caee48f 100644 --- a/public/suite-founder.html +++ b/public/suite-founder.html @@ -73,6 +73,6 @@ curl -H "Authorization: Bearer YOUR_KEY" \

Everything here obeys the same rules as the rest of the Suite — no income claims, no invented figures, POL quantities only, Premium only. Generating a week does not post anything anywhere; it hands you the words and you decide what goes out.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-funnel.html b/public/suite-funnel.html index 5aa5c2a..d552154 100644 --- a/public/suite-funnel.html +++ b/public/suite-funnel.html @@ -72,6 +72,6 @@

Every page here is public and framable, so you can drop one into an ad, a QR code, or someone's inbox and it will just work. They all carry the same honest disclaimers as the rest of the site.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-grants.html b/public/suite-grants.html index 89f0e9e..6bc942b 100644 --- a/public/suite-grants.html +++ b/public/suite-grants.html @@ -64,6 +64,6 @@

Grants come out of a separate monthly pool that your level gives you — giving to your team never eats into your own allowances, because nobody should have to choose between equipping their people and using their own tools. Pools reset on the 1st along with everything else, so a grant is for unblocking somebody now rather than building a balance.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-intel.html b/public/suite-intel.html index ba14890..732d0f2 100644 --- a/public/suite-intel.html +++ b/public/suite-intel.html @@ -46,6 +46,6 @@

Nothing here identifies anybody. No positions, no names, no per-person numbers — this is a picture of what works, not a leaderboard of who is working. Groupings with too little traffic behind them are held back and counted rather than shown, because a click rate built on a few hundred impressions is noise dressed up as insight.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-leader.html b/public/suite-leader.html index 693351a..fdedbd1 100644 --- a/public/suite-leader.html +++ b/public/suite-leader.html @@ -52,6 +52,6 @@

Every number here comes off the contract, not an estimate — positions, levels, and the POL forming below each person. Nothing on this page is a projection or a promise of what anyone will earn.

Coach people, don't chase them. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-page.html b/public/suite-page.html index 48b0696..1999503 100644 --- a/public/suite-page.html +++ b/public/suite-page.html @@ -72,6 +72,6 @@

Teach it forward: when your two join, walk them through building theirs — a personal page beats a bare link every time.
Rebuilding replaces your page at the same link, so anything you've already shared keeps working. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-split.html b/public/suite-split.html index a660b43..b77d11d 100644 --- a/public/suite-split.html +++ b/public/suite-split.html @@ -83,6 +83,6 @@

Why this is deliberately slow to declare a winner: click rates on display advertising are small, so a two- or three-click gap on a few hundred impressions is noise, not a result. This tool waits until one version is clearly ahead before it calls anything — and when the versions genuinely tie, it says so, because that is useful information too: it means the wording isn't what's holding the ad back.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-traffic.html b/public/suite-traffic.html index 123e63a..410dbad 100644 --- a/public/suite-traffic.html +++ b/public/suite-traffic.html @@ -98,6 +98,6 @@

What this is, honestly: display advertising is awareness volume — it puts your link in front of people browsing the network. It is not a lead list, and click rates on display inventory are low by nature. The conversations you have with people you know are still what actually builds a team; this runs quietly in the background while you do that.

All banners use approved team creative, so every ad on the network stays on-brand. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-video.html b/public/suite-video.html index 8bf6066..86f56bc 100644 --- a/public/suite-video.html +++ b/public/suite-video.html @@ -56,6 +56,6 @@

Teach it forward: the video does the explaining so your two don't have to — show them how to make their own the day they join.
The video itself is the team's produced master; only the ending is yours, so every share stays on-brand and on-message. Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/suite-voice.html b/public/suite-voice.html index 00c1db1..3cb80bd 100644 --- a/public/suite-voice.html +++ b/public/suite-voice.html @@ -42,6 +42,6 @@

One thing this will not do: it will never loosen the compliance rules to sound more like you. If your own writing makes income claims, the engine still will not repeat them — the honesty rules sit above your voice profile on purpose, because they are what keeps every member safe.

Independent team resource · No income is guaranteed · Cryptocurrency involves risk.

- + diff --git a/public/tool-video.js b/public/tool-video.js index 22e8b91..198eb59 100644 --- a/public/tool-video.js +++ b/public/tool-video.js @@ -42,21 +42,24 @@ var vid = document.createElement('video'); vid.controls = true; + // Nothing is fetched until the panel is actually opened; open() then bumps + // this to 'metadata' so an expanded panel shows a real first frame rather + // than a black rectangle. vid.preload = 'none'; vid.playsInline = true; vid.src = SRC; body.appendChild(vid); - function open(autoplay) { + function open() { body.hidden = false; wrap.classList.add('on'); bar.setAttribute('aria-expanded', 'true'); - if (autoplay) { - // Muted so a first-visit autoplay is never a surprise noise; the member - // unmutes if they want it. Browsers block unmuted autoplay anyway. - vid.muted = true; - vid.play().catch(function () {}); - } + // Deliberately NOT autoplaying. Browsers only permit autoplay when the + // video is muted, and a silent walkthrough is worthless here — the + // narration IS the training. So on first visit the panel opens with the + // video paused and the play button showing; pressing it is a user + // gesture, which means it plays with sound, every time. + vid.preload = 'metadata'; } function close() { body.hidden = true; @@ -66,7 +69,7 @@ } bar.addEventListener('click', function () { - if (body.hidden) { open(false); markSeen(); } + if (body.hidden) { open(); markSeen(); } else close(); }); @@ -80,7 +83,7 @@ if (lede && lede.parentNode) lede.parentNode.insertBefore(wrap, lede.nextSibling); else host.insertBefore(wrap, host.firstChild); - if (!seen()) { open(true); markSeen(); } + if (!seen()) { open(); markSeen(); } } function style() {