Updated broken navigation links, added Google Analytics

This commit is contained in:
2026-05-20 23:09:07 +12:00
parent 4f1a2cbac3
commit da9143c547
14 changed files with 11223 additions and 551 deletions
+358 -144
View File
@@ -34,99 +34,191 @@
img { max-width: 100%; display: block; }
a { color: inherit; }
/* ─── NAV (matches homepage) ─── */
/* ───────── NAV ───────── */
.nav {
position: sticky;
top: 0;
z-index: 100;
background: rgba(255, 255, 255, 0.85);
background: rgba(255, 255, 255, 0.92);
backdrop-filter: saturate(180%) blur(20px);
-webkit-backdrop-filter: saturate(180%) blur(20px);
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}
.nav-inner {
max-width: 1200px; margin: 0 auto; padding: 0 28px; height: 68px;
display: flex; align-items: center; justify-content: space-between;
max-width: 1100px;
margin: 0 auto;
padding: 0 28px;
height: 68px;
display: flex;
align-items: center;
justify-content: space-between;
}
.nav-logo { display: flex; align-items: center; text-decoration: none; }
.nav-logo img { height: 44px; width: 44px; object-fit: contain; }
.nav-links { display: flex; gap: 32px; list-style: none; }
.nav-links > li { position: relative; }
.nav-links a {
color: var(--ink); text-decoration: none; font-size: 14px; font-weight: 500;
opacity: 0.85; transition: opacity 0.2s; display: inline-flex; align-items: center; gap: 4px;
}
.nav-links a:hover { opacity: 1; }
.nav-links a.current { opacity: 1; color: var(--blue); }
.nav-links .has-dropdown > a::after {
content: ''; width: 8px; height: 8px;
border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
transform: rotate(45deg) translate(-2px, -2px); margin-left: 2px; transition: transform 0.2s;
}
.nav-links .has-dropdown:hover > a::after {
transform: rotate(225deg) translate(-2px, -2px);
}
.nav-dropdown {
position: absolute;
top: calc(100% + 6px);
left: 0;
min-width: 240px;
background: var(--white);
border: 1px solid rgba(0,0,0,0.06);
border-radius: 12px;
padding: 8px;
box-shadow: 0 16px 40px -12px rgba(0,0,0,0.18), 0 4px 10px -4px rgba(0,0,0,0.06);
list-style: none;
opacity: 0;
visibility: hidden;
transform: translateY(-6px);
transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
z-index: 200;
}
.nav-links .has-dropdown:hover .nav-dropdown,
.nav-links .has-dropdown:focus-within .nav-dropdown {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
/* Invisible bridge so cursor can travel from nav item to dropdown */
.nav-links .has-dropdown::before {
content: '';
position: absolute;
top: 100%;
left: 0;
right: 0;
height: 12px;
}
.nav-dropdown li { display: block; }
.nav-dropdown a {
display: block;
padding: 10px 14px;
border-radius: 8px;
.nav-logo {
display: flex;
align-items: center;
text-decoration: none;
transition: background 0.15s ease, color 0.15s ease;
opacity: 1;
}
.nav-logo img {
height: 44px;
width: 44px;
object-fit: contain;
}
.nav-links {
display: flex;
gap: 30px;
list-style: none;
margin: 0;
padding: 0;
}
.nav-links > li { position: relative; }
.nav-links > li > a {
color: var(--ink);
text-decoration: none;
font-size: 14px;
font-weight: 500;
letter-spacing: -0.005em;
opacity: 0.85;
transition: opacity 0.2s;
display: inline-flex;
align-items: center;
padding: 6px 0;
}
.nav-dropdown a::after { display: none; }
.nav-dropdown a:hover {
background: var(--grey-soft);
color: var(--blue);
.nav-links > li > a:hover { opacity: 1; }
/* Active-page indicator — small accent underline below current page link */
.nav-links > li > a.current {
opacity: 1;
position: relative;
}
.nav-dropdown a.current {
background: var(--grey-soft);
color: var(--blue);
font-weight: 600;
.nav-links > li > a.current::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: -4px;
height: 2px;
border-radius: 2px;
background: var(--accent, var(--blue));
}
/* Chevron button — separate from the link, click-only behaviour */
.nav-chevron {
background: transparent;
border: 0;
padding: 6px 4px;
margin: 0 0 0 2px;
cursor: pointer;
color: var(--ink);
opacity: 0.6;
display: inline-flex;
align-items: center;
transition: opacity 0.2s, transform 0.2s ease;
}
.nav-chevron:hover { opacity: 1; }
.nav-chevron svg { display: block; width: 11px; height: 11px; }
.nav-chevron[aria-expanded="true"] {
opacity: 1;
transform: rotate(180deg);
}
/* ───── Mega-panel ───── */
.nav-panel-wrap {
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
padding-top: 14px;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s ease, visibility 0.2s;
z-index: 200;
}
.nav-panel-wrap.is-open {
opacity: 1;
visibility: visible;
}
.nav-panel {
background: var(--white);
border: 1px solid rgba(0, 0, 0, 0.06);
border-radius: 14px;
padding: 28px;
box-shadow: 0 24px 60px -16px rgba(0, 0, 0, 0.20),
0 6px 16px -6px rgba(0, 0, 0, 0.08);
list-style: none;
margin: 0;
display: grid;
gap: 28px;
width: max-content;
max-width: min(960px, calc(100vw - 56px));
transform: translateY(-6px);
transition: transform 0.2s ease;
}
.nav-panel-wrap.is-open .nav-panel { transform: translateY(0); }
.nav-panel.is-services {
grid-template-columns: repeat(3, minmax(180px, 1fr));
min-width: 640px;
}
.nav-panel.is-resources {
grid-template-columns: repeat(4, minmax(160px, 1fr));
min-width: 760px;
}
.nav-panel-col { display: flex; flex-direction: column; gap: 6px; }
.nav-panel-col > a,
.nav-panel-col-head {
text-decoration: none;
color: var(--ink);
}
.nav-panel-col-head {
font-size: 14px;
font-weight: 600;
letter-spacing: -0.005em;
color: var(--ink);
transition: color 0.15s ease;
}
a.nav-panel-col-head:hover { color: var(--blue); }
.nav-panel-col-desc {
font-size: 13px;
line-height: 1.5;
color: rgba(86, 86, 86, 0.85);
margin: 0;
}
.nav-panel-col-link {
margin-top: 4px;
font-size: 12.5px;
font-weight: 500;
color: var(--blue);
display: inline-flex;
align-items: center;
gap: 4px;
text-decoration: none;
transition: gap 0.15s ease;
}
.nav-panel-col-link:hover { gap: 8px; }
.nav-panel-col-tag {
display: inline-block;
margin-top: 4px;
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
color: rgba(86, 86, 86, 0.65);
}
.nav-cta {
background: var(--ink); color: white; padding: 9px 18px; border-radius: 999px;
font-size: 13px; font-weight: 500; text-decoration: none; transition: background 0.2s;
background: var(--ink);
color: white;
padding: 9px 18px;
border-radius: 999px;
font-size: 13px;
font-weight: 500;
text-decoration: none;
transition: background 0.2s, transform 0.2s;
}
.nav-cta:hover {
background: var(--blue-deep);
transform: translateY(-1px);
}
.nav-cta:hover { background: var(--blue); }
/* ─── Hamburger button (mobile only) ─── */
.nav-hamburger {
@@ -146,52 +238,45 @@
}
.nav-hamburger svg { display: block; width: 22px; height: 22px; }
/* ─── Mobile drawer overlay ─── */
/* ─── Mobile menu (full-screen takeover) ─── */
.nav-drawer-overlay {
position: fixed;
inset: 0;
background: rgba(0, 0, 0, 0.4);
background: transparent;
opacity: 0;
pointer-events: none;
transition: opacity 0.3s ease;
z-index: 99;
}
.nav-drawer-overlay.is-open {
opacity: 1;
pointer-events: auto;
}
.nav-drawer-overlay.is-open { pointer-events: auto; }
/* ─── Mobile drawer (slides in from right) ─── */
.nav-drawer {
position: fixed;
top: 0;
right: 0;
bottom: 0;
width: min(320px, 85vw);
inset: 0;
width: 100%;
height: 100vh;
background: var(--white);
box-shadow: -8px 0 30px -10px rgba(0, 0, 0, 0.15);
transform: translateX(100%);
transition: transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
transform: translateY(-100%);
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
z-index: 100;
display: flex;
flex-direction: column;
overflow-y: auto;
}
.nav-drawer.is-open { transform: translateX(0); }
.nav-drawer.is-open { transform: translateY(0); }
.nav-drawer-head {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 24px;
padding: 20px 28px;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.nav-drawer-head img { height: 28px; width: auto; }
.nav-drawer-head img { height: 30px; width: auto; }
.nav-drawer-close {
background: transparent;
border: 1px solid rgba(0, 0, 0, 0.1);
border-radius: 10px;
padding: 8px;
padding: 10px;
cursor: pointer;
color: var(--ink);
transition: background 0.2s, border-color 0.2s;
@@ -200,9 +285,14 @@
background: var(--grey-soft);
border-color: rgba(0, 0, 0, 0.2);
}
.nav-drawer-close svg { display: block; width: 18px; height: 18px; }
.nav-drawer-close svg { display: block; width: 20px; height: 20px; }
.nav-drawer-body { padding: 16px 0; flex: 1; }
.nav-drawer-body {
padding: 36px 28px 28px;
flex: 1;
display: flex;
flex-direction: column;
}
.nav-drawer ul {
list-style: none;
padding: 0;
@@ -210,48 +300,51 @@
}
.nav-drawer-item {
display: block;
padding: 14px 24px;
padding: 18px 0;
color: var(--ink);
text-decoration: none;
font-size: 16px;
font-weight: 500;
border-left: 3px solid transparent;
transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.nav-drawer-item:hover {
background: var(--grey-soft);
border-left-color: var(--blue);
font-size: 26px;
font-weight: 600;
letter-spacing: -0.02em;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
transition: color 0.15s, padding-left 0.2s ease;
}
.nav-drawer-item:hover { color: var(--blue); padding-left: 6px; }
.nav-drawer-group-label {
display: block;
padding: 18px 24px 8px;
padding: 28px 0 12px;
color: var(--charcoal);
font-size: 11px;
font-weight: 600;
letter-spacing: 0.1em;
letter-spacing: 0.12em;
text-transform: uppercase;
opacity: 0.7;
border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.nav-drawer-subitem {
display: block;
padding: 12px 24px 12px 36px;
padding: 16px 0 16px 14px;
color: var(--ink);
text-decoration: none;
font-size: 15px;
font-size: 18px;
font-weight: 500;
border-bottom: 1px solid rgba(0, 0, 0, 0.04);
border-left: 3px solid transparent;
transition: background 0.15s, border-color 0.15s;
transition: color 0.15s, border-left-color 0.2s ease, padding-left 0.2s ease;
}
.nav-drawer-subitem:hover {
background: var(--grey-soft);
color: var(--blue);
border-left-color: var(--blue);
padding-left: 20px;
}
.nav-drawer-subitem.coaching:hover {
color: var(--orange);
border-left-color: var(--orange);
}
.nav-drawer-subitem.coaching:hover { border-left-color: var(--orange); }
.nav-drawer-subitem.current { background: rgba(0,112,199,0.06); border-left-color: var(--blue); }
.nav-drawer-subitem.coaching.current { background: rgba(236,139,51,0.06); border-left-color: var(--orange); }
.nav-drawer-foot {
padding: 20px 24px 28px;
padding: 24px 28px 32px;
border-top: 1px solid rgba(0, 0, 0, 0.06);
}
.nav-drawer-cta {
@@ -259,17 +352,28 @@
text-align: center;
background: var(--blue);
color: var(--white);
padding: 14px 22px;
padding: 16px 22px;
border-radius: 999px;
font-size: 15px;
font-size: 16px;
font-weight: 500;
text-decoration: none;
transition: background 0.2s;
}
.nav-drawer-cta:hover { background: var(--blue-deep); }
.nav-drawer-subitem.current {
color: var(--blue);
border-left-color: var(--blue);
padding-left: 20px;
}
.nav-drawer-subitem.coaching.current {
color: var(--orange);
border-left-color: var(--orange);
}
body.nav-drawer-locked { overflow: hidden; }
@media (max-width: 720px) {
.nav-links { display: none; }
.nav-cta { display: none; }
@@ -1029,7 +1133,7 @@
.footer { background: var(--ink); color: white; padding: 60px 28px 28px; }
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-grid {
display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px;
display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; gap: 40px; margin-bottom: 48px;
}
@media (max-width: 720px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
.footer-brand img { max-height: 56px; width: auto; margin-bottom: 18px; }
@@ -1352,35 +1456,88 @@
.engagement-accordion-deliverables { margin-top: 12px; }
}
</style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-Z5JJBS491H"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-Z5JJBS491H');
</script>
</head>
<body>
<!-- ───── NAV ───── -->
<nav class="nav">
<nav class="nav" aria-label="Primary">
<div class="nav-inner">
<a href="../index.html" class="nav-logo" aria-label="Lean 101 home">
<img src="../assets/lean101-isotipo.png" alt="Lean 101">
</a>
<ul class="nav-links">
<li class="has-dropdown">
<li><a href="../index.html">Home</a></li>
<li class="has-panel">
<a href="../index.html#services" class="current">Services</a>
<ul class="nav-dropdown" role="menu">
<li role="none">
<a href="consulting.html" class="current" role="menuitem">Process Excellence &amp; Transformation</a>
</li>
<li role="none">
<a href="coaching.html" role="menuitem">Coaching &amp; Training</a>
</li>
<li role="none">
<a href="digital-solutions.html" role="menuitem">Digital Solutions</a>
</li>
</ul>
<button class="nav-chevron" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="nav-panel-services" aria-label="Open Services menu" data-panel-trigger="services">
<svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="3 4.5 6 8 9 4.5"/></svg>
</button>
<div class="nav-panel-wrap" id="nav-panel-services" data-panel="services" role="region" aria-label="Services menu">
<div class="nav-panel is-services">
<div class="nav-panel-col">
<a href="consulting.html" class="nav-panel-col-head">Process Excellence</a>
<p class="nav-panel-col-desc">Diagnosing where work breaks down, designing the fix, and embedding the change with you.</p>
<a href="consulting.html" class="nav-panel-col-link">Learn more <span aria-hidden="true"></span></a>
</div>
<div class="nav-panel-col">
<a href="coaching.html" class="nav-panel-col-head">Coaching &amp; Training</a>
<p class="nav-panel-col-desc">Building the capability for your team to lead improvement themselves.</p>
<a href="coaching.html" class="nav-panel-col-link">Learn more <span aria-hidden="true"></span></a>
</div>
<div class="nav-panel-col">
<a href="digital-solutions.html" class="nav-panel-col-head">Digital Solutions</a>
<p class="nav-panel-col-desc">Custom dashboards, web apps and automation, built for your specific work.</p>
<a href="digital-solutions.html" class="nav-panel-col-link">Learn more <span aria-hidden="true"></span></a>
</div>
</div>
</div>
</li>
<li><a href="../index.html#process">How it works</a></li>
<li><a href="../index.html#why">Why Lean 101</a></li>
<li class="has-panel">
<a href="../resources/index.html">Resources</a>
<button class="nav-chevron" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="nav-panel-resources" aria-label="Open Resources menu" data-panel-trigger="resources">
<svg viewBox="0 0 12 12" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="3 4.5 6 8 9 4.5"/></svg>
</button>
<div class="nav-panel-wrap" id="nav-panel-resources" data-panel="resources" role="region" aria-label="Resources menu">
<div class="nav-panel is-resources">
<div class="nav-panel-col">
<a href="../resources/index.html#principles" class="nav-panel-col-head">Principles</a>
<p class="nav-panel-col-desc">The why of Lean — the philosophy underneath the methods.</p>
<span class="nav-panel-col-tag">Coming soon</span>
</div>
<div class="nav-panel-col">
<a href="../resources/index.html#techniques" class="nav-panel-col-head">Techniques</a>
<p class="nav-panel-col-desc">The how of Lean — specific methods explained in plain terms.</p>
<span class="nav-panel-col-tag">Coming soon</span>
</div>
<div class="nav-panel-col">
<a href="../resources/index.html#reading" class="nav-panel-col-head">Reading</a>
<p class="nav-panel-col-desc">Summaries of the books and articles that shaped how we think.</p>
<span class="nav-panel-col-tag">Coming soon</span>
</div>
<div class="nav-panel-col">
<a href="../resources/index.html#templates" class="nav-panel-col-head">Templates</a>
<p class="nav-panel-col-desc">Worksheets, checklists and audits you can download and use.</p>
<span class="nav-panel-col-tag">Coming soon</span>
</div>
</div>
</div>
</li>
<li><a href="../index.html#contact">Contact</a></li>
</ul>
<a href="../index.html#contact" class="nav-cta">Book a call</a>
<a href="../index.html#contact" class="nav-cta">Let&rsquo;s Talk</a>
<!-- Hamburger menu button — mobile only -->
<button class="nav-hamburger" type="button" aria-label="Open menu" aria-expanded="false" aria-controls="nav-drawer">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<line x1="3" y1="6" x2="21" y2="6"/>
@@ -1391,6 +1548,7 @@
</div>
</nav>
<!-- Mobile drawer + overlay -->
<div class="nav-drawer-overlay" data-drawer-overlay aria-hidden="true"></div>
<aside class="nav-drawer" id="nav-drawer" aria-label="Mobile navigation" aria-hidden="true">
@@ -1405,17 +1563,21 @@
</div>
<nav class="nav-drawer-body">
<ul>
<li><a class="nav-drawer-item" href="../index.html">Home</a></li>
<li><span class="nav-drawer-group-label">Services</span></li>
<li><a class="nav-drawer-subitem current" href="consulting.html">Process Excellence &amp; Transformation</a></li>
<li><a class="nav-drawer-subitem current" href="consulting.html">Process Excellence</a></li>
<li><a class="nav-drawer-subitem coaching" href="coaching.html">Coaching &amp; Training</a></li>
<li><a class="nav-drawer-subitem" href="digital-solutions.html">Digital Solutions</a></li>
<li><a class="nav-drawer-item" href="../index.html#process">How it works</a></li>
<li><a class="nav-drawer-item" href="../index.html#why">Why Lean 101</a></li>
<li><span class="nav-drawer-group-label">Resources</span></li>
<li><a class="nav-drawer-subitem" href="../resources/index.html#principles">Principles</a></li>
<li><a class="nav-drawer-subitem" href="../resources/index.html#techniques">Techniques</a></li>
<li><a class="nav-drawer-subitem" href="../resources/index.html#reading">Reading</a></li>
<li><a class="nav-drawer-subitem" href="../resources/index.html#templates">Templates</a></li>
<li><a class="nav-drawer-item" href="../index.html#contact">Contact</a></li>
</ul>
</nav>
<div class="nav-drawer-foot">
<a href="../index.html#contact" class="nav-drawer-cta">Book a call</a>
<a href="../index.html#contact" class="nav-drawer-cta">Let&rsquo;s Talk</a>
</div>
</aside>
@@ -1430,7 +1592,7 @@
</p>
<div class="page-hero-ctas">
<a href="../index.html#contact" class="btn btn-primary">
Book a free intro call <span class="btn-arrow"></span>
Let&rsquo;s Talk <span class="btn-arrow"></span>
</a>
<a href="#approach" class="btn btn-secondary">See how it works</a>
</div>
@@ -1756,12 +1918,12 @@
<div class="cta-card">
<div class="cta-inner">
<h2>Let's find <em>your</em> first improvement.</h2>
<p>Start with a free 30-minute intro call. If it's a fit, we'll schedule a 1-hour site visit to walk your operation together — and from there we'll scope a tailored partnership.</p>
<div class="page-hero-ctas">
<a href="#" class="btn btn-on-dark">
Book a free intro call <span class="btn-arrow"></span>
<p>Tell us a little about your business and what you're looking to improve. We'll get back to you to talk through whether — and how — we can help.</p>
<div class="hero-ctas">
<a href="../index.html#contact" class="btn btn-on-dark">
Let&rsquo;s Talk <span class="btn-arrow"></span>
</a>
<a href="mailto:hello@lean-101.com" class="btn btn-ghost-dark">hello@lean-101.com</a>
</div>
</div>
</div>
@@ -1778,11 +1940,20 @@
<div class="footer-col">
<h5>Services</h5>
<ul>
<li><a href="consulting.html">Consulting</a></li>
<li><a href="consulting.html">Process Excellence</a></li>
<li><a href="coaching.html">Coaching &amp; Training</a></li>
<li><a href="digital-solutions.html">Digital Solutions</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Resources</h5>
<ul>
<li><a href="../resources/index.html#principles">Principles</a></li>
<li><a href="../resources/index.html#techniques">Techniques</a></li>
<li><a href="../resources/index.html#reading">Reading</a></li>
<li><a href="../resources/index.html#templates">Templates</a></li>
</ul>
</div>
<div class="footer-col">
<h5>Company</h5>
<ul>
@@ -1858,6 +2029,49 @@
document.querySelectorAll('.nav-drawer a').forEach(link => {
link.addEventListener('click', closeDrawer);
});
// ─── Desktop mega-panels (Services / Resources) ───
// Click-only behaviour: chevron toggles its panel, clicking outside or
// pressing Escape closes any open panel. Clicking the link text itself
// (not the chevron) navigates as normal — chevron is a separate trigger.
const panelTriggers = document.querySelectorAll('[data-panel-trigger]');
const panels = document.querySelectorAll('[data-panel]');
function closeAllPanels() {
panels.forEach(p => p.classList.remove('is-open'));
panelTriggers.forEach(t => t.setAttribute('aria-expanded', 'false'));
}
panelTriggers.forEach(trigger => {
trigger.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
const name = trigger.dataset.panelTrigger;
const panel = document.querySelector(`[data-panel="${name}"]`);
if (!panel) return;
const isOpen = panel.classList.contains('is-open');
closeAllPanels();
if (!isOpen) {
panel.classList.add('is-open');
trigger.setAttribute('aria-expanded', 'true');
}
});
});
// Click outside any panel closes panels
document.addEventListener('click', (e) => {
if (!e.target.closest('.has-panel')) {
closeAllPanels();
}
});
// Escape closes panels
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') closeAllPanels();
});
// Clicking a link inside a panel closes it (so navigation feels clean)
document.querySelectorAll('.nav-panel a').forEach(link => {
link.addEventListener('click', closeAllPanels);
});
// ─── Example card outcome reveal animation ───
// Each card's outcome values fade in and slide up when the card scrolls into view.
const exampleCards = document.querySelectorAll('.example-card');