Compare commits

..

3 Commits

Author SHA1 Message Date
Michael Victory 519cdd3e7c Ship Vacation Test: indexable + nav links (all pages) + sale-value band teaser + sitemap
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:44:45 -07:00
Michael Victory 4a87b94f4b Sharper capture line + Vacation Test mock (staging review)
- Capture card: "software records which buttons get pushed. We capture the
  judgment — the human part, the part that leaves with them when a veteran
  moves on — and you own it." (from the exit-advisor research doc)
- New vacation-test.html: 5-question owner check ("could your business run
  three months without them?") -> scored read (Passes the test / Runs on
  goodwill / Runs on one person) + audit link + fit-call CTA. SW idiom
  (cobalt, squared), owner register, office-not-floor. noindex + unlinked
  while it's a mock — flip robots on ship.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:39:45 -07:00
Michael Victory 2a30231b18 Add "continuity = sale value" band (exit-advisor research, owner register)
Pays off the problem seeded in the #moment band ("worth less the day you sell")
with the payoff the page never stated: captured know-how raises what the business
is worth. Owner-plain language + the three-month "Vacation Test" question; subtle
nod to the sell-side advisor referral channel. No jargon, no price, office-not-floor.
Source: SITE-REVISION-marketing-terms-2026-07-07.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 20:31:00 -07:00
4 changed files with 326 additions and 1 deletions
+2
View File
@@ -73,6 +73,7 @@
<a href="index.html#results">Client results</a> <a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a> <a href="index.html#process">How it works</a>
<a href="index.html#about">About</a> <a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a> <a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a> <a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav> </nav>
@@ -90,6 +91,7 @@
<a href="index.html#results">Client results</a> <a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a> <a href="index.html#process">How it works</a>
<a href="index.html#about">About</a> <a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a> <a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a> <a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div> </div>
+13 -1
View File
@@ -116,6 +116,7 @@
<a href="#results">Client results</a> <a href="#results">Client results</a>
<a href="#process">How it works</a> <a href="#process">How it works</a>
<a href="#about">About</a> <a href="#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a> <a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a> <a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav> </nav>
@@ -133,6 +134,7 @@
<a href="#results">Client results</a> <a href="#results">Client results</a>
<a href="#process">How it works</a> <a href="#process">How it works</a>
<a href="#about">About</a> <a href="#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a> <a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a> <a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div> </div>
@@ -205,7 +207,7 @@
<div class="card"> <div class="card">
<span class="step-k">Fix · Capture &amp; build</span> <span class="step-k">Fix · Capture &amp; build</span>
<h3>Capture it — and make it usable</h3> <h3>Capture it — and make it usable</h3>
<p>We sit down with your best people, draw out what's in their heads, and build it into systems the whole crew can actually use — documented, trained, and built to last. You don't need to clean up thirty years of spreadsheets first: that mess <strong>is</strong> the knowledge, and waiting for perfect data is how it gets lost. The modern tools do the heavy lifting so it's fast and affordable — but a screen-recorder only captures the clicks. The part that matters is human, and it's the part that leaves with them: getting your veteran to open up, and capturing the judgment behind the work, not just the steps.</p> <p>We sit down with your best people, draw out what's in their heads, and build it into systems the whole crew can actually use — documented, trained, and built to last. You don't need to clean up thirty years of spreadsheets first: that mess <strong>is</strong> the knowledge, and waiting for perfect data is how it gets lost. The modern tools do the heavy lifting so it's fast and affordable — but software records which buttons get pushed. We capture the judgment — the human part, the part that leaves with them when a veteran moves on — and you own it.</p>
<p class="outcome">The day your best person retires, the work doesn't stop.</p> <p class="outcome">The day your best person retires, the work doesn't stop.</p>
</div> </div>
<div class="card feature"> <div class="card feature">
@@ -278,6 +280,16 @@
</div> </div>
</section> </section>
<section class="band alt" data-bg="light">
<div class="wrap narrow reveal">
<p class="eyebrow">Why it's worth more</p>
<h2>Captured know&#8209;how isn't just safer. It's worth <em>more.</em></h2>
<p>When the person who knows how you really quote, price, and keep customers is the one closest to retirement, that knowledge is worth money — and right now it isn't written down, and it isn't yours to keep. We turn it into something the business owns, before it moves on with someone. Buyers, and the advisors who help owners sell, look for exactly this: a company that can run without its most knowledgeable person is worth more than one that can't.</p>
<p class="emph">Could the office run for three months without your most knowledgeable person? Buyers ask exactly that — and when the answer is &ldquo;yes, it's captured, and it's ours,&rdquo; your business is worth more.</p>
<p><a class="card-link" href="vacation-test.html">Take the two&#8209;minute Vacation Test &#8594;</a></p>
</div>
</section>
<section class="band light" data-bg="light"> <section class="band light" data-bg="light">
<div class="wrap narrow reveal"> <div class="wrap narrow reveal">
<p class="eyebrow">The honest part</p> <p class="eyebrow">The honest part</p>
+6
View File
@@ -12,4 +12,10 @@
<changefreq>monthly</changefreq> <changefreq>monthly</changefreq>
<priority>0.8</priority> <priority>0.8</priority>
</url> </url>
<url>
<loc>https://shopwisdom.ca/vacation-test.html</loc>
<lastmod>2026-07-07</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset> </urlset>
+305
View File
@@ -0,0 +1,305 @@
<!DOCTYPE html>
<html lang="en-CA">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#f7f4ef">
<title>The Vacation Test — Could Your Business Run Without Them? | ShopWisdom</title>
<meta name="description" content="A 2-minute owner check: could your business run three months without its most knowledgeable person? Buyers ask exactly that. Find out where you stand — and what it means for what your business is worth.">
<link rel="preload" href="assets/fonts/playfair-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/playfair-400i.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/dmsans-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/lora-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="style.css">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://shopwisdom.ca/vacation-test.html">
<link rel="icon" href="favicon.svg" type="image/svg+xml">
<meta property="og:type" content="website">
<meta property="og:site_name" content="ShopWisdom">
<meta property="og:title" content="The Vacation Test — could your business run three months without them?">
<meta property="og:description" content="Buyers ask exactly that. A 2-minute owner check on how much of your business lives in one person's head — and what that means for what it's worth.">
<meta property="og:url" content="https://shopwisdom.ca/vacation-test.html">
<meta property="og:image" content="https://shopwisdom.ca/og-card.png">
<style>
/* ---- Vacation Test: scoped quiz UI, SW palette (squared idiom) ---- */
.vt-wrap { max-width: 760px; }
.vt-card { background: var(--paper-2); border: 1px solid var(--line); border-radius: 3px;
padding: clamp(1.6rem, 4vw, 2.6rem); margin-top: 2.2rem; }
.vt-progress { font-family: 'DM Sans', sans-serif; font-size: 0.7rem; font-weight: 700;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-deep); margin: 0 0 0.4rem; }
.vt-bar { height: 4px; background: rgba(15,23,41,0.08); overflow: hidden; margin: 0 0 1.6rem; }
.vt-bar i { display: block; height: 100%; width: 0; background: var(--accent); transition: width .4s ease; }
.vt-q { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(1.4rem, 3vw, 1.9rem);
line-height: 1.18; color: var(--ink); margin: 0 0 1.3rem; }
.vt-options { display: grid; gap: 0.7rem; }
.vt-opt { display: block; width: 100%; text-align: left; font-family: 'Lora', Georgia, serif;
font-size: 1.02rem; color: var(--ink); background: #fff; border: 1px solid var(--line);
border-radius: 2px; padding: 0.95rem 1.1rem; cursor: pointer;
transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.vt-opt:hover { border-color: var(--accent); transform: translateY(-1px); }
.vt-opt:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.vt-nav { display: flex; align-items: center; gap: 1.2rem; margin-top: 1.4rem; min-height: 1.5rem; }
.vt-back { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; letter-spacing: 0.04em;
color: var(--ink-soft); background: none; border: none; cursor: pointer; padding: 0; }
.vt-back:hover { color: var(--ink); }
.vt-back[hidden] { display: none; }
/* result */
.vt-result { animation: vtFade .5s ease; }
@keyframes vtFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.vt-badge { font-family: 'DM Sans', sans-serif; font-size: 0.7rem; font-weight: 700;
letter-spacing: 0.14em; text-transform: uppercase; color: var(--accent-deep); margin: 0 0 0.5rem; }
.vt-result h2 { margin: 0 0 0.6rem; }
.vt-result .vt-read { color: var(--ink-soft); }
.vt-tips { list-style: none; padding: 0; margin: 1.2rem 0 0; }
.vt-tips li { position: relative; padding: 0.6rem 0 0.6rem 1.8rem; line-height: 1.5; color: var(--ink); }
.vt-tips li + li { border-top: 1px solid var(--line); }
.vt-tips li::before { content: "→"; position: absolute; left: 0; top: 0.6rem; color: var(--accent-deep); font-weight: 700; }
.vt-result-cta { margin-top: 1.8rem; display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }
.vt-retake { font-family: 'DM Sans', sans-serif; font-size: 0.78rem; letter-spacing: 0.04em;
color: var(--ink-soft); background: none; border: none; cursor: pointer; padding: 0; text-decoration: underline; }
.vt-line { font-family: 'Playfair Display', serif; font-style: italic; color: var(--ink-soft); margin-top: 1.4rem; }
.vt-result .vt-line a, .vt-read a { color: var(--accent-deep); }
@media (prefers-reduced-motion: reduce) { .vt-opt, .vt-bar i, .vt-result { transition: none; animation: none; } }
</style>
<script>document.documentElement.className += ' has-motion';</script>
</head>
<body>
<header class="nav" id="nav">
<a class="nav-logo" href="index.html#top" aria-label="ShopWisdom — home">
<img class="nav-logo-img nav-logo-light" src="assets/logo/logo-horizontal.svg" alt="ShopWisdom" width="214" height="36" />
<img class="nav-logo-img nav-logo-dark" src="assets/logo/logo-horizontal-rev.svg" alt="" aria-hidden="true" width="214" height="36" />
</a>
<nav class="nav-links-desktop" aria-label="Main">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel nav-phone" data-p1="778" data-p2="985" data-p3="6736" href="index.html#contact" aria-label="Call ShopWisdom">778&#8209;985&#8209;OPEN</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</nav>
<button class="nav-toggle" id="navToggle" aria-label="Open menu" aria-expanded="false">
<svg class="nav-toggle-icon" viewBox="0 0 32 32" aria-hidden="true">
<line class="bar bar-top" x1="6" y1="10" x2="26" y2="10"/>
<line class="bar bar-mid" x1="6" y1="16" x2="26" y2="16"/>
<line class="bar bar-bot" x1="6" y1="22" x2="26" y2="22"/>
<circle class="o-ring" cx="16" cy="16" r="9"/>
</svg>
</button>
</header>
<div class="nav-mobile-menu" id="navMobileMenu">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="index.html#about">About</a>
<a href="vacation-test.html">Vacation Test</a>
<a class="tel" data-p1="778" data-p2="985" data-p3="6736" href="index.html#contact">Call 778&#8209;985&#8209;OPEN (6736)</a>
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a call</a>
</div>
<main id="top">
<section class="band light" data-bg="light" style="padding-top: calc(var(--nav-h) + 72px);">
<div class="wrap vt-wrap">
<p class="eyebrow">The Vacation Test · a 2-minute owner check</p>
<h1>Could your business run three months <em>without them?</em></h1>
<p class="lead">Buyers ask exactly that question. The Vacation Test is a quick, honest read on how much of your business lives in one person's head — and what that means for what it's worth. Five questions, honest answers, no email required.</p>
<div class="vt-card" id="vtCard">
<!-- quiz -->
<div id="vtQuiz">
<p class="vt-progress" id="vtProgress">Question 1 of 5</p>
<div class="vt-bar"><i id="vtBar"></i></div>
<p class="vt-q" id="vtQuestion"></p>
<div class="vt-options" id="vtOptions"></div>
<div class="vt-nav"><button class="vt-back" id="vtBack" type="button" hidden>← Back</button></div>
</div>
<!-- result -->
<div id="vtResult" class="vt-result" hidden></div>
</div>
<p class="vt-line">When the answer is &ldquo;yes — it's captured, and it's ours,&rdquo; your business is worth more.</p>
</div>
</section>
</main>
<footer class="site-footer" data-bg="dark">
<div class="footer-bg" aria-hidden="true">
<img class="footer-bg-img" src="assets/logo/footer-watermark.svg" alt="" aria-hidden="true" />
</div>
<div class="footer-content">
<div class="footer-block">
<img class="footer-logo-img" src="assets/logo/logo-horizontal-rev.svg" alt="ShopWisdom" width="95" height="16" />
<nav class="footer-links" aria-label="Footer">
<a href="index.html#work">The work</a>
<a href="index.html#results">Client results</a>
<a href="index.html#process">How it works</a>
<a href="https://www.opencommunications.consulting/">Open Communications</a>
</nav>
<p class="footer-note">Built with care and AI · Work owned by its clients · Proudly Canadian.</p>
<p class="footer-copy">ShopWisdom and Open Communications are practices owned and operated by Michael Victory · British Columbia, Canada</p>
</div>
</div>
</footer>
<script>
(function () {
for (var l of document.querySelectorAll('a.tel')) {
l.setAttribute('href', 'tel:+1' + l.dataset.p1 + l.dataset.p2 + l.dataset.p3);
}
var toggle = document.getElementById('navToggle');
var menu = document.getElementById('navMobileMenu');
function closeMenu() {
menu.classList.remove('open'); toggle.classList.remove('open');
toggle.setAttribute('aria-label', 'Open menu'); toggle.setAttribute('aria-expanded', 'false');
}
if (toggle && menu) {
toggle.addEventListener('click', function () {
var open = !menu.classList.contains('open');
menu.classList.toggle('open', open); toggle.classList.toggle('open', open);
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
updateNavTheme();
});
for (var a of menu.querySelectorAll('a')) { a.addEventListener('click', closeMenu); }
}
var nav = document.getElementById('nav');
var sections = Array.prototype.slice.call(document.querySelectorAll('[data-bg]'));
function darkBehind(y) {
for (var i = 0; i < sections.length; i++) {
var r = sections[i].getBoundingClientRect();
if (r.top <= y && r.bottom > y) return sections[i].dataset.bg === 'dark';
}
return false;
}
function updateNavTheme() {
nav.classList.toggle('scrolled', window.scrollY > 24);
var nr = nav.getBoundingClientRect();
nav.classList.toggle('on-dark', darkBehind((nr.top + nr.bottom) / 2));
if (menu && menu.classList.contains('open')) {
var links = menu.querySelectorAll('a');
var probe = links.length ? links[links.length - 1].getBoundingClientRect().bottom : (nav.getBoundingClientRect().bottom);
menu.classList.toggle('on-dark', darkBehind(probe));
}
}
updateNavTheme();
window.addEventListener('scroll', function () { window.requestAnimationFrame(updateNavTheme); }, { passive: true });
window.addEventListener('resize', updateNavTheme);
})();
</script>
<!-- Cal.com booking embed (deferred init) -->
<script>
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://cal.shopwisdom.ca/embed/embed.js", "init");
(function(){var d=false;function go(){if(d)return;d=true;Cal("init",{origin:"https://cal.shopwisdom.ca"});}var ev=["pointerdown","mousemove","touchstart","scroll","keydown"];function on(){go();ev.forEach(function(e){window.removeEventListener(e,on);});}ev.forEach(function(e){window.addEventListener(e,on,{passive:true});});})();
</script>
<!-- The Vacation Test quiz -->
<script>
(function () {
var BOOK = '<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20-min-shop-wise-meeting" data-cal-link="michaelvictory/20-min-shop-wise-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config=\'{"theme":"light"}\'>Book a fit call — free, no pitch</a>';
var Q = [
{ q: "Your most knowledgeable person is away for three months, starting Monday. What happens to quoting and pricing?", a: [
{ t: "Not much — it's documented, and others already do it", s: 0 },
{ t: "We'd manage, with some digging and a few phone calls", s: 1 },
{ t: "Quotes would slow down, and some would go out wrong", s: 2 },
{ t: "Honestly? We'd be calling them by Wednesday", s: 3 } ] },
{ q: "Where does the know-how actually live — the pricing logic, the customer history, the way orders really get done?", a: [
{ t: "In systems and documents the team uses every day", s: 0 },
{ t: "Some written down, some in heads", s: 1 },
{ t: "Mostly in two or three heads", s: 2 },
{ t: "Mostly in one head", s: 3 } ] },
{ q: "A long-time customer calls with a tricky job while they're away. Who picks up the thread?", a: [
{ t: "Anyone — the history and pricing are where the team can see them", s: 0 },
{ t: "A couple of people could piece it together", s: 1 },
{ t: "We'd wait for them, or guess", s: 2 },
{ t: "That customer only deals with them", s: 3 } ] },
{ q: "If someone bought your business tomorrow, could they run it from what's written down?", a: [
{ t: "Yes — the systems are the business", s: 0 },
{ t: "Mostly, with a long handover", s: 1 },
{ t: "Only if the key people stayed on", s: 2 },
{ t: "No — the business is the people, honestly", s: 3 } ] },
{ q: "Is anyone learning what your most knowledgeable person knows?", a: [
{ t: "Yes — it's captured, and the training is deliberate", s: 0 },
{ t: "Informally, when there's time", s: 1 },
{ t: "We keep meaning to get to it", s: 2 },
{ t: "No — and they're closer to retirement every year", s: 3 } ] }
];
var R = [
{ max: 4, badge: "Passes the test", h: "Your business runs on systems — protect that.",
read: "If your most knowledgeable person left Monday, the office would carry on — quoting, orders, customers, all of it visible to the team. That's rare, and it's worth real money when a buyer looks at your business. The job now is keeping it true: knowledge drifts, tools age, and there's always a next key person.",
tips: ["Keep it current — captured knowledge goes quietly out of date.",
"Capture the <em>next</em> key person before they move on; there's always a next one.",
"Make the systems part of how you tell the business's story — buyers pay for proof."],
line: "You're in a strong spot. System Care exists to keep it that way." },
{ max: 10, badge: "Runs on goodwill", h: "It works — because certain people make it work.",
read: "Parts are written down, but the parts that matter most — the judgment calls, the pricing instincts, the customer history — still live in a few heads. You'd feel it within the month, and a buyer would price it in. Most businesses this size sit right here; it's workable, and the path out is specific.",
tips: ["Start with the knowledge that would hurt most to lose — usually quoting and pricing.",
"Get the customer history out of inboxes and memory, into something the team can see.",
"Don't wait for perfect data — the mess <em>is</em> the knowledge."],
line: "<a href=\"continuity-audit.html\">The Continuity Audit</a> maps exactly where you're exposed and what to capture first. Fixed fee, a few focused hours." },
{ max: 15, badge: "Runs on one person", h: "Right now, the business is the person.",
read: "That's not a criticism — it's how good businesses get built. But it's fragile, and it quietly discounts everything you've built: when it all lives in one head, buyers pay less, and every year closer to their retirement raises the stakes. The good news: this is exactly the fixable kind of problem.",
tips: ["Don't rush a replacement hire — capture first, then decide what the role even is.",
"Book the time with your key person now; a month of capture beats a year of intentions.",
"Treat it as protecting the value you've built — because that's what it is."],
line: "This is exactly what ShopWisdom is for — and the first step is small. Start with <a href=\"continuity-audit.html\">the Continuity Audit</a>; the fit call is free and commits you to nothing." }
];
var i = 0, answers = [], total = 0;
var qEl = document.getElementById('vtQuestion'), optEl = document.getElementById('vtOptions'),
progEl = document.getElementById('vtProgress'), barEl = document.getElementById('vtBar'),
backEl = document.getElementById('vtBack'), quizEl = document.getElementById('vtQuiz'),
resEl = document.getElementById('vtResult');
function render() {
var item = Q[i];
progEl.textContent = 'Question ' + (i + 1) + ' of ' + Q.length;
barEl.style.width = (i / Q.length * 100) + '%';
qEl.textContent = item.q;
optEl.innerHTML = '';
item.a.forEach(function (opt) {
var b = document.createElement('button');
b.type = 'button'; b.className = 'vt-opt'; b.textContent = opt.t;
b.addEventListener('click', function () { choose(opt.s); });
optEl.appendChild(b);
});
backEl.hidden = (i === 0);
qEl.focus && qEl.setAttribute('tabindex', '-1');
}
function choose(s) {
answers[i] = s;
if (i < Q.length - 1) { i++; render(); }
else { finish(); }
}
backEl.addEventListener('click', function () { if (i > 0) { i--; render(); } });
function finish() {
total = answers.reduce(function (a, b) { return a + b; }, 0);
var r = R.find(function (x) { return total <= x.max; });
quizEl.hidden = true;
resEl.hidden = false;
resEl.innerHTML =
'<p class="vt-badge">Your read &middot; ' + r.badge + '</p>' +
'<h2>' + r.h + '</h2>' +
'<p class="vt-read">' + r.read + '</p>' +
'<ul class="vt-tips">' + r.tips.map(function (t) { return '<li>' + t + '</li>'; }).join('') + '</ul>' +
'<p class="vt-line">' + r.line + '</p>' +
'<p class="vt-result-cta">' + BOOK + '<button class="vt-retake" type="button" id="vtRetake">Retake the test</button></p>';
barEl.style.width = '100%';
document.getElementById('vtRetake').addEventListener('click', function () {
i = 0; answers = []; total = 0; resEl.hidden = true; quizEl.hidden = false; render();
document.getElementById('vtCard').scrollIntoView({ behavior: 'smooth', block: 'start' });
});
if (window.Cal) { try { window.Cal('init', { origin: 'https://cal.shopwisdom.ca' }); } catch (e) {} }
resEl.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
render();
})();
</script>
</body>
</html>