2026-05-17 22:45:45 +12:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< meta charset = "UTF-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1.0" >
< title > Resources — Lean 101</ title >
< meta name = "description" content = "Tools, training, book summaries and posts from Lean 101 — the methods, frameworks and reading that inform the work we do." >
< link rel = "preconnect" href = "https://api.fontshare.com" >
< link href = "https://api.fontshare.com/v2/css?f[]=general-sans@400,500,600,700&display=swap" rel = "stylesheet" >
< style >
: root {
--blue : #0070c7 ;
--blue-deep : #005aa3 ;
--orange : #ec8b33 ;
--charcoal : #565656 ;
--grey : #efefef ;
--grey-soft : #f6f7f9 ;
--ink : #1a1a1a ;
--white : #ffffff ;
--accent : var ( -- blue );
}
* { margin : 0 ; padding : 0 ; box-sizing : border-box ; }
html { scroll-behavior : smooth ; }
body {
font-family : 'General Sans' , - apple-system , BlinkMacSystemFont , sans-serif ;
color : var ( -- ink );
background : var ( -- white );
font-weight : 400 ;
line-height : 1.5 ;
-webkit- font-smoothing : antialiased ;
-moz- osx-font-smoothing : grayscale ;
}
img { max-width : 100 % ; display : block ; }
a { color : inherit ; }
/* Anchor offset so the sticky nav doesn't cover section headings */
section [ id ] { scroll-margin-top : 88 px ; }
/* ───────── NAV ───────── */
. nav {
position : sticky ;
top : 0 ;
z-index : 100 ;
background : rgba ( 255 , 255 , 255 , 0.92 );
backdrop-filter : saturate ( 180 % ) blur ( 20 px );
-webkit- backdrop-filter : saturate ( 180 % ) blur ( 20 px );
border-bottom : 1 px solid rgba ( 0 , 0 , 0 , 0.08 );
}
. nav-inner {
max-width : 1100 px ;
margin : 0 auto ;
padding : 0 28 px ;
height : 68 px ;
display : flex ;
align-items : center ;
justify-content : space-between ;
}
. nav-logo {
display : flex ;
align-items : center ;
text-decoration : none ;
}
. nav-logo img {
height : 44 px ;
width : 44 px ;
object-fit : contain ;
}
. nav-links {
display : flex ;
gap : 30 px ;
list-style : none ;
margin : 0 ;
padding : 0 ;
}
. nav-links > li { position : relative ; }
. nav-links > li > a {
color : var ( -- ink );
text-decoration : none ;
font-size : 14 px ;
font-weight : 500 ;
opacity : 0.85 ;
transition : opacity 0.2 s ;
display : inline-flex ;
align-items : center ;
padding : 6 px 0 ;
}
. 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-links > li > a . current :: after {
content : '' ;
position : absolute ;
left : 0 ;
right : 0 ;
bottom : -4 px ;
height : 2 px ;
border-radius : 2 px ;
background : var ( -- accent , var ( -- blue ));
}
/* Chevron button — separate from the link, click-only behaviour */
. nav-chevron {
background : transparent ;
border : 0 ;
padding : 6 px 4 px ;
margin : 0 0 0 2 px ;
cursor : pointer ;
color : var ( -- ink );
opacity : 0.6 ;
display : inline-flex ;
align-items : center ;
transition : opacity 0.2 s , transform 0.2 s ease ;
}
. nav-chevron : hover { opacity : 1 ; }
. nav-chevron svg { display : block ; width : 11 px ; height : 11 px ; }
. nav-chevron [ aria-expanded = "true" ] {
opacity : 1 ;
transform : rotate ( 180 deg );
}
/* ───── Mega-panel ───── */
. nav-panel-wrap {
position : absolute ;
top : 100 % ;
left : 50 % ;
transform : translateX ( -50 % );
padding-top : 14 px ;
opacity : 0 ;
visibility : hidden ;
transition : opacity 0.2 s ease , visibility 0.2 s ;
z-index : 200 ;
}
. nav-panel-wrap . is-open {
opacity : 1 ;
visibility : visible ;
}
. nav-panel {
background : var ( -- white );
border : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
border-radius : 14 px ;
padding : 28 px ;
box-shadow : 0 24 px 60 px -16 px rgba ( 0 , 0 , 0 , 0.20 ),
0 6 px 16 px -6 px rgba ( 0 , 0 , 0 , 0.08 );
list-style : none ;
margin : 0 ;
display : grid ;
gap : 28 px ;
width : max-content ;
max-width : min ( 960 px , calc ( 100 vw - 56 px ));
transform : translateY ( -6 px );
transition : transform 0.2 s ease ;
}
. nav-panel-wrap . is-open . nav-panel { transform : translateY ( 0 ); }
. nav-panel . is-services {
grid-template-columns : repeat ( 3 , minmax ( 180 px , 1 fr ));
min-width : 640 px ;
}
. nav-panel . is-resources {
grid-template-columns : repeat ( 4 , minmax ( 160 px , 1 fr ));
min-width : 760 px ;
}
. nav-panel-col { display : flex ; flex-direction : column ; gap : 6 px ; }
. nav-panel-col > a ,
. nav-panel-col-head {
text-decoration : none ;
color : var ( -- ink );
}
. nav-panel-col-head {
font-size : 14 px ;
font-weight : 600 ;
letter-spacing : -0.005 em ;
color : var ( -- ink );
transition : color 0.15 s ease ;
}
a . nav-panel-col-head : hover { color : var ( -- blue ); }
. nav-panel-col-desc {
font-size : 13 px ;
line-height : 1.5 ;
color : rgba ( 86 , 86 , 86 , 0.85 );
margin : 0 ;
}
. nav-panel-col-link {
margin-top : 4 px ;
font-size : 12.5 px ;
font-weight : 500 ;
color : var ( -- blue );
display : inline-flex ;
align-items : center ;
gap : 4 px ;
text-decoration : none ;
transition : gap 0.15 s ease ;
}
. nav-panel-col-link : hover { gap : 8 px ; }
. nav-panel-col-tag {
display : inline-block ;
margin-top : 4 px ;
font-size : 10.5 px ;
font-weight : 600 ;
letter-spacing : 0.08 em ;
text-transform : uppercase ;
color : rgba ( 86 , 86 , 86 , 0.65 );
}
. nav-cta {
background : var ( -- ink );
color : white ;
padding : 9 px 18 px ;
border-radius : 999 px ;
font-size : 13 px ;
font-weight : 500 ;
text-decoration : none ;
transition : background 0.2 s , transform 0.2 s ;
}
. nav-cta : hover {
background : var ( -- blue - deep );
transform : translateY ( -1 px );
}
/* ─── Hamburger button (mobile only) ─── */
. nav-hamburger {
display : none ;
background : transparent ;
border : 1 px solid rgba ( 0 , 0 , 0 , 0.12 );
border-radius : 10 px ;
padding : 8 px ;
cursor : pointer ;
color : var ( -- ink );
transition : background 0.2 s , border-color 0.2 s ;
margin-left : 12 px ;
}
. nav-hamburger : hover {
background : var ( -- grey - soft );
border-color : rgba ( 0 , 0 , 0 , 0.2 );
}
. nav-hamburger svg { display : block ; width : 22 px ; height : 22 px ; }
/* ─── Mobile menu (full-screen takeover) ─── */
. nav-drawer-overlay {
position : fixed ;
inset : 0 ;
background : transparent ;
opacity : 0 ;
pointer-events : none ;
z-index : 99 ;
}
. nav-drawer-overlay . is-open { pointer-events : auto ; }
. nav-drawer {
position : fixed ;
inset : 0 ;
width : 100 % ;
height : 100 vh ;
background : var ( -- white );
transform : translateY ( -100 % );
transition : transform 0.4 s 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 : translateY ( 0 ); }
. nav-drawer-head {
display : flex ;
justify-content : space-between ;
align-items : center ;
padding : 20 px 28 px ;
border-bottom : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
}
. nav-drawer-head img { height : 30 px ; width : auto ; }
. nav-drawer-close {
background : transparent ;
border : 1 px solid rgba ( 0 , 0 , 0 , 0.1 );
border-radius : 10 px ;
padding : 10 px ;
cursor : pointer ;
color : var ( -- ink );
transition : background 0.2 s , border-color 0.2 s ;
}
. nav-drawer-close : hover {
background : var ( -- grey - soft );
border-color : rgba ( 0 , 0 , 0 , 0.2 );
}
. nav-drawer-close svg { display : block ; width : 20 px ; height : 20 px ; }
. nav-drawer-body {
padding : 36 px 28 px 28 px ;
flex : 1 ;
display : flex ;
flex-direction : column ;
}
. nav-drawer ul {
list-style : none ;
padding : 0 ;
margin : 0 ;
}
. nav-drawer-item {
display : block ;
padding : 18 px 0 ;
color : var ( -- ink );
text-decoration : none ;
font-size : 26 px ;
font-weight : 600 ;
letter-spacing : -0.02 em ;
border-bottom : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
transition : color 0.15 s , padding-left 0.2 s ease ;
}
. nav-drawer-item : hover { color : var ( -- blue ); padding-left : 6 px ; }
. nav-drawer-group-label {
display : block ;
padding : 28 px 0 12 px ;
color : var ( -- charcoal );
font-size : 11 px ;
font-weight : 600 ;
letter-spacing : 0.12 em ;
text-transform : uppercase ;
opacity : 0.7 ;
border-bottom : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
}
. nav-drawer-subitem {
display : block ;
padding : 16 px 0 16 px 14 px ;
color : var ( -- ink );
text-decoration : none ;
font-size : 18 px ;
font-weight : 500 ;
border-bottom : 1 px solid rgba ( 0 , 0 , 0 , 0.04 );
border-left : 3 px solid transparent ;
transition : color 0.15 s , border-left-color 0.2 s ease , padding-left 0.2 s ease ;
}
. nav-drawer-subitem : hover {
color : var ( -- blue );
border-left-color : var ( -- blue );
padding-left : 20 px ;
}
. nav-drawer-subitem . coaching : hover {
color : var ( -- orange );
border-left-color : var ( -- orange );
}
. nav-drawer-foot {
padding : 24 px 28 px 32 px ;
border-top : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
}
. nav-drawer-cta {
display : block ;
text-align : center ;
background : var ( -- blue );
color : var ( -- white );
padding : 16 px 22 px ;
border-radius : 999 px ;
font-size : 16 px ;
font-weight : 500 ;
text-decoration : none ;
transition : background 0.2 s ;
}
. nav-drawer-cta : hover { background : var ( -- blue - deep ); }
. nav-drawer-subitem . current {
color : var ( -- blue );
border-left-color : var ( -- blue );
padding-left : 20 px ;
}
. 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 ; }
. nav-hamburger { display : inline-flex ; align-items : center ; justify-content : center ; }
}
/* ─── PAGE HERO ─── */
. page-hero {
padding : 110 px 28 px 90 px ;
background : linear-gradient ( 180 deg , #fafbfc 0 % , #ffffff 100 % );
}
. page-hero-inner { max-width : 900 px ; margin : 0 auto ; text-align : center ; }
. page-eyebrow {
display : inline-block ; color : var ( -- accent ); font-size : 13 px ;
font-weight : 600 ; letter-spacing : 0.08 em ; text-transform : uppercase ;
margin-bottom : 16 px ;
}
. page-hero h1 {
font-size : clamp ( 36 px , 5.5 vw , 64 px ); font-weight : 600 ;
letter-spacing : -0.03 em ; line-height : 1.05 ; margin-bottom : 22 px ;
}
. page-hero h1 em {
font-style : normal ; color : var ( -- accent );
}
. page-hero-sub {
font-size : clamp ( 17 px , 1.6 vw , 20 px ); color : var ( -- charcoal );
max-width : 720 px ; margin : 0 auto ; line-height : 1.55 ;
}
/* ─── SECTIONS ─── */
. section { padding : 110 px 28 px ; }
. section . alt { background : var ( -- grey - soft ); }
. section-inner { max-width : 1100 px ; margin : 0 auto ; }
. section-head { max-width : 720 px ; margin-bottom : 48 px ; }
. section-eyebrow {
color : var ( -- blue ); font-size : 14 px ; font-weight : 600 ;
letter-spacing : 0.04 em ; text-transform : uppercase ; margin-bottom : 14 px ;
display : block ;
}
. section-title {
font-size : clamp ( 30 px , 3.5 vw , 42 px ); font-weight : 600 ;
letter-spacing : -0.02 em ; line-height : 1.1 ; margin-bottom : 16 px ;
}
. section-lede {
font-size : 17 px ; color : var ( -- charcoal ); line-height : 1.6 ;
}
/* ─── Resource cards ─── */
. resource-grid {
display : grid ;
grid-template-columns : repeat ( auto - fill , minmax ( 300 px , 1 fr ));
gap : 20 px ;
}
. resource-card {
background : var ( -- white );
border : 1 px solid rgba ( 0 , 0 , 0 , 0.06 );
border-radius : 14 px ;
padding : 26 px ;
display : flex ;
flex-direction : column ;
gap : 10 px ;
text-decoration : none ;
color : var ( -- ink );
transition : transform 0.2 s ease , box-shadow 0.2 s ease , border-color 0.2 s ease ;
position : relative ;
}
. resource-card [ href ] : hover {
transform : translateY ( -2 px );
border-color : rgba ( 0 , 0 , 0 , 0.12 );
box-shadow : 0 12 px 28 px -12 px rgba ( 0 , 0 , 0 , 0.12 );
}
. resource-card-source {
align-self : flex-start ;
font-size : 11 px ; font-weight : 600 ;
letter-spacing : 0.08 em ; text-transform : uppercase ;
color : rgba ( 86 , 86 , 86 , 0.7 );
padding : 4 px 8 px ;
border-radius : 4 px ;
background : var ( -- grey - soft );
}
. resource-card h3 {
font-size : 19 px ; font-weight : 600 ;
letter-spacing : -0.01 em ; line-height : 1.3 ;
}
. resource-card p {
font-size : 14.5 px ; color : var ( -- charcoal ); line-height : 1.55 ;
}
. resource-card-cta {
margin-top : auto ;
padding-top : 8 px ;
font-size : 13 px ; font-weight : 500 ;
color : var ( -- blue );
display : inline-flex ; align-items : center ; gap : 4 px ;
transition : gap 0.15 s ease ;
}
. resource-card [ href ] : hover . resource-card-cta { gap : 8 px ; }
/* Empty-state cards have a softer look */
. resource-card . is-empty {
background : var ( -- grey - soft );
border-style : dashed ;
border-color : rgba ( 0 , 0 , 0 , 0.10 );
}
. resource-card . is-empty : hover {
transform : none ;
box-shadow : none ;
}
. resource-card . is-empty h3 {
color : var ( -- charcoal );
}
/* ─── CTA section ─── */
. cta-wrap {
padding : 100 px 28 px ;
background : var ( -- ink );
color : white ;
}
. cta-card {
max-width : 760 px ;
margin : 0 auto ;
text-align : center ;
padding : 60 px 40 px ;
}
. cta-card h2 {
font-size : clamp ( 30 px , 3.5 vw , 44 px );
font-weight : 600 ;
letter-spacing : -0.02 em ;
line-height : 1.15 ;
margin-bottom : 18 px ;
}
. cta-card p {
font-size : 17 px ;
color : rgba ( 255 , 255 , 255 , 0.75 );
margin-bottom : 32 px ;
line-height : 1.6 ;
}
. cta-card . btn-primary {
background : var ( -- blue );
color : var ( -- white );
}
. cta-card . btn-primary : hover { background : var ( -- blue - deep ); }
. btn {
display : inline-flex ; align-items : center ; gap : 6 px ;
padding : 14 px 26 px ; border-radius : 999 px ; font-size : 15 px ; font-weight : 500 ;
text-decoration : none ; transition : all 0.2 s ; border : none ; cursor : pointer ;
}
. btn-arrow { transition : transform 0.2 s ; }
. btn : hover . btn-arrow { transform : translateX ( 3 px ); }
/* ─── FOOTER ─── */
. footer {
background : #0a0a0a ;
color : rgba ( 255 , 255 , 255 , 0.7 );
padding : 80 px 28 px 40 px ;
}
. footer-inner {
max-width : 1200 px ;
margin : 0 auto ;
}
. footer-grid {
display : grid ;
grid-template-columns : 1.6 fr 1 fr 1 fr 1 fr 1 fr ;
gap : 40 px ;
margin-bottom : 48 px ;
}
@ media ( max-width : 720px ) {
. footer-grid { grid-template-columns : 1 fr 1 fr ; }
}
. footer-brand img {
max-height : 56 px ;
width : auto ;
margin-bottom : 18 px ;
}
. footer-brand p {
font-size : 14 px ;
color : rgba ( 255 , 255 , 255 , 0.6 );
line-height : 1.5 ;
}
. footer-col h5 {
font-size : 13 px ;
font-weight : 600 ;
color : var ( -- white );
margin-bottom : 16 px ;
letter-spacing : 0.02 em ;
}
. footer-col ul {
list-style : none ;
display : flex ;
flex-direction : column ;
gap : 10 px ;
}
. footer-col a {
color : rgba ( 255 , 255 , 255 , 0.6 );
text-decoration : none ;
font-size : 14 px ;
transition : color 0.2 s ;
}
. footer-col a : hover { color : var ( -- orange ); }
. footer-bottom {
border-top : 1 px solid rgba ( 255 , 255 , 255 , 0.08 );
padding-top : 24 px ;
display : flex ;
justify-content : space-between ;
flex-wrap : wrap ;
gap : 12 px ;
font-size : 13 px ;
color : rgba ( 255 , 255 , 255 , 0.5 );
}
@ media ( max-width : 720px ) {
. section { padding : 80 px 22 px ; }
. page-hero { padding : 80 px 22 px 60 px ; }
. cta-wrap { padding : 70 px 22 px ; }
. cta-card { padding : 40 px 24 px ; }
section [ id ] { scroll-margin-top : 80 px ; }
}
</ style >
2026-05-20 23:09:07 +12:00
<!-- 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 >
2026-05-17 22:45:45 +12:00
</ head >
< body >
<!-- ───── 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 >< a href = "../index.html" > Home</ a ></ li >
< li class = "has-panel" >
< a href = "../index.html#services" > Services</ a >
< 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 = "../services/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 = "../services/consulting.html" class = "nav-panel-col-link" > Learn more < span aria-hidden = "true" > →</ span ></ a >
</ div >
< div class = "nav-panel-col" >
< a href = "../services/coaching.html" class = "nav-panel-col-head" > Coaching & Training</ a >
< p class = "nav-panel-col-desc" > Building the capability for your team to lead improvement themselves.</ p >
< a href = "../services/coaching.html" class = "nav-panel-col-link" > Learn more < span aria-hidden = "true" > →</ span ></ a >
</ div >
< div class = "nav-panel-col" >
< a href = "../services/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 = "../services/digital-solutions.html" class = "nav-panel-col-link" > Learn more < span aria-hidden = "true" > →</ span ></ a >
</ div >
</ div >
</ div >
</ li >
< li class = "has-panel" >
< a href = "index.html" class = "current" > 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 = "#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 = "#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 = "#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 = "#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" > Let’ s Talk</ a >
< 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" />
< line x1 = "3" y1 = "12" x2 = "21" y2 = "12" />
< line x1 = "3" y1 = "18" x2 = "21" y2 = "18" />
</ svg >
</ button >
</ 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" >
< div class = "nav-drawer-head" >
< img src = "../assets/lean101-logotipo.png" alt = "Lean 101" >
< button class = "nav-drawer-close" type = "button" aria-label = "Close menu" >
< svg viewBox = "0 0 24 24" fill = "none" stroke = "currentColor" stroke-width = "2" stroke-linecap = "round" stroke-linejoin = "round" >
< line x1 = "18" y1 = "6" x2 = "6" y2 = "18" />
< line x1 = "6" y1 = "6" x2 = "18" y2 = "18" />
</ svg >
</ button >
</ 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" href = "../services/consulting.html" > Process Excellence</ a ></ li >
< li >< a class = "nav-drawer-subitem coaching" href = "../services/coaching.html" > Coaching & Training</ a ></ li >
< li >< a class = "nav-drawer-subitem" href = "../services/digital-solutions.html" > Digital Solutions</ a ></ li >
< li >< span class = "nav-drawer-group-label" > Resources</ span ></ li >
< li >< a class = "nav-drawer-subitem" href = "#principles" > Principles</ a ></ li >
< li >< a class = "nav-drawer-subitem" href = "#techniques" > Techniques</ a ></ li >
< li >< a class = "nav-drawer-subitem" href = "#reading" > Reading</ a ></ li >
< li >< a class = "nav-drawer-subitem" href = "#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" > Let’ s Talk</ a >
</ div >
</ aside >
<!-- ───── PAGE HERO ───── -->
< header class = "page-hero" >
< div class = "page-hero-inner" >
< span class = "page-eyebrow" > Resources</ span >
< h1 > Tools, methods and the reading < em > behind the work.</ em ></ h1 >
< p class = "page-hero-sub" >
A growing library of templates, training, book summaries and short posts —
the same material we draw on with clients, made available so you can use it on your own.
</ p >
</ div >
</ header >
<!-- ───── PRINCIPLES ───── -->
< section class = "section" id = "principles" >
< div class = "section-inner" >
< div class = "section-head" >
< span class = "section-eyebrow" > Principles</ span >
< h2 class = "section-title" > The < em > why</ em > of Lean.</ h2 >
< p class = "section-lede" >
The philosophy underneath the techniques — flow, pull, respect for
people, capability over dependency, kaizen culture. The ideas that
explain why the methods work, and what to hold onto when the methods
don’ t fit the situation.
</ p >
</ div >
< div class = "resource-grid" >
< div class = "resource-card is-empty" >
< span class = "resource-card-source" > Coming soon</ span >
< h3 > Principle explainers are in production.</ h3 >
< p > Long-form pages on the underlying ideas of Lean — what they are, where they came from, and how they show up in real improvement work.</ p >
</ div >
</ div >
</ div >
</ section >
<!-- ───── TECHNIQUES ───── -->
< section class = "section alt" id = "techniques" >
< div class = "section-inner" >
< div class = "section-head" >
< span class = "section-eyebrow" > Techniques</ span >
< h2 class = "section-title" > The < em > how</ em > of Lean.</ h2 >
< p class = "section-lede" >
Plain-English explanations of specific methods we use — 5S, Kanban,
Value Stream Mapping, A3, PDCA, Poka-Yoke, Standard Work, Gemba walks.
One page per technique, with what it is, how to run it, and where it
tends to go wrong.
</ p >
</ div >
< div class = "resource-grid" >
< div class = "resource-card is-empty" >
< span class = "resource-card-source" > Coming soon</ span >
< h3 > Technique pages in production.</ h3 >
< p > Each page covers one technique end-to-end — the mechanics, the typical pitfalls, and a worked example. The first pages will land here as they’ re finished.</ p >
</ div >
</ div >
</ div >
</ section >
<!-- ───── READING ───── -->
< section class = "section" id = "reading" >
< div class = "section-inner" >
< div class = "section-head" >
< span class = "section-eyebrow" > Reading</ span >
< h2 class = "section-title" > Books and articles behind the work.</ h2 >
< p class = "section-lede" >
Distilled summaries of the books and articles that shaped how we think
about improvement — what’ s still useful, what hasn’ t aged
well, and where the ideas show up in the work we do today.
</ p >
</ div >
< div class = "resource-grid" >
< div class = "resource-card is-empty" >
< span class = "resource-card-source" > Coming soon</ span >
< h3 > First summaries on the way.</ h3 >
< p > Starting with the books that come up most in our work — The Toyota Way, The Goal, Learning to See, Out of the Crisis. Each summary will link out to the source.</ p >
</ div >
</ div >
</ div >
</ section >
<!-- ───── TEMPLATES ───── -->
< section class = "section alt" id = "templates" >
< div class = "section-inner" >
< div class = "section-head" >
< span class = "section-eyebrow" > Templates</ span >
< h2 class = "section-title" > Worksheets, checklists and audits.</ h2 >
< p class = "section-lede" >
Practical artefacts you can download and use on your own work — 5S audit
checklists, waste walk worksheets, CI readiness self-assessments, and
more as we publish them.
</ p >
</ div >
< div class = "resource-grid" >
< div class = "resource-card is-empty" >
< span class = "resource-card-source" > Coming soon</ span >
< h3 > The first templates are on their way.</ h3 >
< p > We’ re preparing the first set of templates for download. Follow Lean 101 on LinkedIn to be notified when they go live.</ p >
</ div >
</ div >
</ div >
</ section >
<!-- ───── CTA ───── -->
< section class = "cta-wrap" >
< div class = "cta-card" >
< h2 > Have a problem worth solving?</ h2 >
< 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 >
< a href = "../index.html#contact" class = "btn btn-primary" >
Let’ s Talk < span class = "btn-arrow" > →</ span >
</ a >
</ div >
</ section >
<!-- ───── FOOTER ───── -->
< footer class = "footer" >
< div class = "footer-inner" >
< div class = "footer-grid" >
< div class = "footer-brand" >
< img src = "../assets/lean101-logotipo.png" alt = "Lean 101" >
< p > For businesses that want change to last.</ p >
</ div >
< div class = "footer-col" >
< h5 > Services</ h5 >
< ul >
< li >< a href = "../services/consulting.html" > Process Excellence</ a ></ li >
< li >< a href = "../services/coaching.html" > Coaching & Training</ a ></ li >
< li >< a href = "../services/digital-solutions.html" > Digital Solutions</ a ></ li >
</ ul >
</ div >
< div class = "footer-col" >
< h5 > Resources</ h5 >
< ul >
< li >< a href = "#principles" > Principles</ a ></ li >
< li >< a href = "#techniques" > Techniques</ a ></ li >
< li >< a href = "#reading" > Reading</ a ></ li >
< li >< a href = "#templates" > Templates</ a ></ li >
</ ul >
</ div >
< div class = "footer-col" >
< h5 > Company</ h5 >
< ul >
< li >< a href = "../index.html#why" > About</ a ></ li >
< li >< a href = "../index.html#process" > Approach</ a ></ li >
< li >< a href = "../index.html#contact" > Contact</ a ></ li >
</ ul >
</ div >
< div class = "footer-col" >
< h5 > Connect</ h5 >
< ul >
< li >< a href = "#" > LinkedIn</ a ></ li >
< li >< a href = "mailto:hello@lean-101.com" > Email</ a ></ li >
</ ul >
</ div >
</ div >
< div class = "footer-bottom" >
< span > © 2026 Lean 101. All rights reserved.</ span >
< span > Based in Melbourne, working worldwide.</ span >
</ div >
</ div >
</ footer >
< script >
// ─── Mobile drawer (hamburger menu) ───
const drawer = document . querySelector ( '.nav-drawer' );
const overlay = document . querySelector ( '[data-drawer-overlay]' );
const hamburger = document . querySelector ( '.nav-hamburger' );
const drawerClose = document . querySelector ( '.nav-drawer-close' );
function openDrawer () {
if ( ! drawer ) return ;
drawer . classList . add ( 'is-open' );
drawer . setAttribute ( 'aria-hidden' , 'false' );
overlay . classList . add ( 'is-open' );
overlay . setAttribute ( 'aria-hidden' , 'false' );
hamburger . setAttribute ( 'aria-expanded' , 'true' );
document . body . classList . add ( 'nav-drawer-locked' );
}
function closeDrawer () {
if ( ! drawer ) return ;
drawer . classList . remove ( 'is-open' );
drawer . setAttribute ( 'aria-hidden' , 'true' );
overlay . classList . remove ( 'is-open' );
overlay . setAttribute ( 'aria-hidden' , 'true' );
hamburger . setAttribute ( 'aria-expanded' , 'false' );
document . body . classList . remove ( 'nav-drawer-locked' );
}
if ( hamburger ) hamburger . addEventListener ( 'click' , openDrawer );
if ( drawerClose ) drawerClose . addEventListener ( 'click' , closeDrawer );
if ( overlay ) overlay . addEventListener ( 'click' , closeDrawer );
document . addEventListener ( 'keydown' , ( e ) => {
if ( e . key === 'Escape' && drawer && drawer . classList . contains ( 'is-open' )) {
closeDrawer ();
}
});
document . querySelectorAll ( '.nav-drawer a' ). forEach ( link => {
link . addEventListener ( 'click' , closeDrawer );
});
// ─── Desktop mega-panels (Services / Resources) ───
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' );
}
});
});
document . addEventListener ( 'click' , ( e ) => {
if ( ! e . target . closest ( '.has-panel' )) {
closeAllPanels ();
}
});
document . addEventListener ( 'keydown' , ( e ) => {
if ( e . key === 'Escape' ) closeAllPanels ();
});
document . querySelectorAll ( '.nav-panel a' ). forEach ( link => {
link . addEventListener ( 'click' , closeAllPanels );
});
</ script >
</ body >
</ html >