Skip to content

Commit c14c07a

Browse files
committed
feat: assets tacit stats strip, KI compare live dot, ratio bar
1 parent e6641d0 commit c14c07a

1 file changed

Lines changed: 125 additions & 1 deletion

File tree

pages/assets.html

Lines changed: 125 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,27 @@ <h3 class="ki-iceberg-title">Knowledge Iceberg</h3>
670670
the universe it sits within.</p>
671671
</div>
672672

673+
<div class="tacit-network-wrap fade-in" id="tacit-stats">
674+
<div class="tacit-stat">
675+
<div class="tacit-stat-val" style="color:#55d6ff">80<span style="font-size:20px">%</span></div>
676+
<div class="tacit-stat-desc">of organisational knowledge is tacit — invisible to all current governance frameworks</div>
677+
<div class="tacit-stat-src">Nonaka &amp; Takeuchi, 1995</div>
678+
<div class="tacit-stat-bar"><div class="tacit-stat-bar-fill" style="width:80%;background:#55d6ff"></div></div>
679+
</div>
680+
<div class="tacit-stat">
681+
<div class="tacit-stat-val" style="color:#c8a84a">48<span style="font-size:20px">%</span></div>
682+
<div class="tacit-stat-desc">of executives confirm critical tacit knowledge departs with employees every year</div>
683+
<div class="tacit-stat-src">KMWorld, 2024</div>
684+
<div class="tacit-stat-bar"><div class="tacit-stat-bar-fill" style="width:48%;background:#c8a84a"></div></div>
685+
</div>
686+
<div class="tacit-stat">
687+
<div class="tacit-stat-val" style="color:#67d487">1.5–2<span style="font-size:16px">×</span></div>
688+
<div class="tacit-stat-desc">annual salary cost to replace a senior tacit knowledge holder — not counting unrecoverable intelligence</div>
689+
<div class="tacit-stat-src">Industry benchmark</div>
690+
<div class="tacit-stat-bar"><div class="tacit-stat-bar-fill" style="width:70%;background:#67d487"></div></div>
691+
</div>
692+
</div>
693+
673694
<h3 class="section-heading-spaced">How Knowledge Intelligence differs from traditional KM</h3>
674695
<p>Knowledge Intelligence sits inside the Knowledge Management lineage, but it is not a rebrand or a tool category.
675696
It is a shift in scope, in method, and in outcome.</p>
@@ -679,7 +700,7 @@ <h3 class="section-heading-spaced">How Knowledge Intelligence differs from tradi
679700
<div class="kc-row kc-header">
680701
<div class="kc-cell kc-dim"></div>
681702
<div class="kc-cell kc-km"><span class="kc-header-label">Traditional KM</span></div>
682-
<div class="kc-cell kc-ki"><span class="kc-header-label">Knowledge Intelligence</span></div>
703+
<div class="kc-cell kc-ki"><div class="ki-live-dot"></div><span class="kc-header-label">Knowledge Intelligence</span></div>
683704
</div>
684705

685706
<div class="kc-row">
@@ -736,6 +757,99 @@ <h3 class="section-heading-spaced">How Knowledge Intelligence differs from tradi
736757
</nav>
737758

738759
<script src="/assets/js/site.js?v=20260303-1" defer></script>
760+
<style>
761+
/* ── KI COMPARE TABLE ENHANCEMENTS ─────────────────────── */
762+
.kc-cell.kc-ki .kc-body-text {
763+
color: rgba(230,240,255,0.92);
764+
}
765+
/* Staggered row reveal already handled by JS — add a subtle left accent on KI col */
766+
.kc-cell.kc-ki {
767+
border-left: 2px solid rgba(200,168,74,0.25) !important;
768+
}
769+
/* KI column header gets a live dot */
770+
.kc-header .kc-cell.kc-ki {
771+
display: flex;
772+
align-items: center;
773+
gap: 8px;
774+
}
775+
.ki-live-dot {
776+
width: 6px;
777+
height: 6px;
778+
border-radius: 50%;
779+
background: #c8a84a;
780+
flex-shrink: 0;
781+
animation: kiPulse 2.2s ease-in-out infinite;
782+
}
783+
@keyframes kiPulse {
784+
0%,100% { opacity: 1; transform: scale(1); }
785+
50% { opacity: 0.35; transform: scale(0.7); }
786+
}
787+
788+
/* ── RATIO BAR LABEL EMPHASIS ──────────────────────────── */
789+
.ratio-side.tacit .ratio-pct {
790+
font-size: 30px;
791+
}
792+
.ratio-side.explicit .ratio-pct {
793+
font-size: 30px;
794+
}
795+
796+
/* ── TACIT NODE NETWORK VIZ ────────────────────────────── */
797+
.tacit-network-wrap {
798+
margin: 32px 0 0;
799+
background: rgba(0,0,0,0.2);
800+
border: 1px solid rgba(255,255,255,0.07);
801+
border-radius: 10px;
802+
padding: 24px 28px;
803+
display: grid;
804+
grid-template-columns: 1fr 1fr 1fr;
805+
gap: 0;
806+
}
807+
.tacit-stat {
808+
padding: 16px 20px;
809+
border-right: 1px solid rgba(255,255,255,0.07);
810+
}
811+
.tacit-stat:last-child { border-right: none; }
812+
.tacit-stat-val {
813+
font-family: 'Bricolage Grotesque', sans-serif;
814+
font-size: 32px;
815+
font-weight: 700;
816+
letter-spacing: -0.04em;
817+
line-height: 1;
818+
margin-bottom: 6px;
819+
}
820+
.tacit-stat-desc {
821+
font-size: 12px;
822+
color: rgba(255,255,255,0.4);
823+
line-height: 1.55;
824+
max-width: 180px;
825+
}
826+
.tacit-stat-src {
827+
font-family: 'Space Grotesk', sans-serif;
828+
font-size: 9px;
829+
font-weight: 600;
830+
letter-spacing: 0.1em;
831+
text-transform: uppercase;
832+
color: rgba(255,255,255,0.2);
833+
margin-top: 8px;
834+
}
835+
.tacit-stat-bar {
836+
height: 2px;
837+
background: rgba(255,255,255,0.06);
838+
border-radius: 1px;
839+
margin-top: 10px;
840+
overflow: hidden;
841+
}
842+
.tacit-stat-bar-fill {
843+
height: 100%;
844+
border-radius: 1px;
845+
transform: scaleX(0);
846+
transform-origin: left;
847+
transition: transform 1.2s cubic-bezier(0.4,0,0.2,1);
848+
}
849+
.tacit-network-wrap.vis .tacit-stat-bar-fill { transform: scaleX(1); }
850+
.tacit-network-wrap.vis .tacit-stat:nth-child(2) .tacit-stat-bar-fill { transition-delay: 0.15s; }
851+
.tacit-network-wrap.vis .tacit-stat:nth-child(3) .tacit-stat-bar-fill { transition-delay: 0.3s; }
852+
</style>
739853
<script>
740854
/* ── CARD HOVER CROSS-LINK ──────────────────────────── */
741855
(function () {
@@ -773,6 +887,16 @@ <h3 class="section-heading-spaced">How Knowledge Intelligence differs from tradi
773887
? document.addEventListener('DOMContentLoaded', initCompare, { once: true })
774888
: initCompare();
775889
}());
890+
891+
/* ── TACIT STATS SCROLL TRIGGER ───────────────────────── */
892+
(function(){
893+
var el = document.getElementById('tacit-stats');
894+
if (!el) return;
895+
var io = new IntersectionObserver(function(e){
896+
if (e[0].isIntersecting) { el.classList.add('vis'); io.unobserve(el); }
897+
}, { threshold: 0.3 });
898+
io.observe(el);
899+
}());
776900
</script>
777901
</body>
778902

0 commit comments

Comments
 (0)