THE ABOVE LEADERSHIP FRAMEWORK

When the next step
is hard to see, start with awareness.

ABOVE gives leaders, teams, and organizations a shared way to work through a real situation. We pause, open the view, take responsibility, choose an action, and return to what we learn.

The ABOVE Leadership Framework

A shared way forward.

When a situation feels tangled, ABOVE gives us somewhere to begin: notice what’s happening, open the view, take responsibility, try a useful action, and learn together.

A continuing journey,
not a finish line.

01 / See clearly

Awareness

What is actually happening, and what is it stirring up in me?

Notice the facts, the patterns, your own response, and the difference between intention and impact.

TAKE A CLOSER LOOK

A question to open the view, a practice to carry forward.

The stages give us a sequence to return to. The people, the context, and what we discover give the work its depth.

AWARENESS

Start with what you can see.

What is actually happening? What is it stirring up in me?

When a situation feels charged, the first story can arrive quickly: they do not care, the team resists change, I have to do everything. Awareness invites a little space around that explanation.


IN PRACTICE


What happened? What is observable? What am I feeling or assuming? Notice strengths and impact as well as the concern.


A

B

BROADEN THE VIEW

Make room for another view.

What else could be true, and whose view am I missing?

A different perspective can change the meaning of what you have noticed. Listen to the people affected, the context around their work, and the needs or priorities you may not yet understand.


IN PRACTICE


Whose experience have we not heard? What else could be true? What information would help us understand the situation more fairly?

OWN YOUR PART

Find your contribution and influence.

What is mine to influence, decide, change or repair?

Ownership asks for honesty about the part you play. That may mean clarifying an expectation, acknowledging an impact, repairing a relationship, or changing a working practice. It also means recognizing what belongs to others.


IN PRACTICE


What is mine to influence, decide, clarify, change, or repair? What responsibility needs to be shared or agreed?

O

V

VENTURE FORWARD

Choose a move you can put into practice.

What is the next meaningful move?

A useful next step does not need to solve everything. It needs a clear purpose, someone to take responsibility, and enough support to try it in the real working environment.


IN PRACTICE


What conversation, action, or small experiment would help? Who needs to be involved? What will support follow-through?

EVALUATE & EVOLVE

Let experience change your understanding.

What happened, what did we learn, & what should stick?

Return to what happened with curiosity. Look at the experience of the people involved and the evidence available. Keep what helped, adjust what needs work, and bring that learning into your next moment of Awareness.


IN PRACTICE


What changed? What stayed the same? What did we learn? What will we keep, adapt, or stop?

E

ONE FOUNDATION. DIFFERENT CONTEXTS.

For the leader.

For the team.
For the organization.

On your own, ABOVE can help you notice your response and choose how to show up. With a team, it can create a shared conversation about what is happening and what needs to change.


Across an organization, it can help connect different perspectives, working practices, and responsibilities. Education, coaching, mentoring, consulting, and practical tools support the application.

Created with
(() => { const FRAMEWORK_PAGE_URL = ""; const STAGES = [ { "letter": "A", "name": "Awareness", "id": "awareness", "tagline": "See clearly", "question": "What is actually happening, and what is it stirring up in me?", "description": "Notice the facts, the patterns, your own response, and the difference between intention and impact.", "organization": "Understand what people are experiencing, what is observable, and what patterns and strengths are present." }, { "letter": "B", "name": "Broaden the View", "id": "broaden-the-view", "tagline": "Think wider", "question": "What else could be true, and whose view am I missing?", "description": "Explore other perspectives, context, competing needs, and the assumptions shaping your first explanation.", "organization": "Include different levels, teams, and perspectives; explore context and competing needs before drawing conclusions." }, { "letter": "O", "name": "Own Your Part", "id": "own-your-part", "tagline": "Take responsibility", "question": "What is mine to influence, decide, change or repair?", "description": "Identify your contribution, responsibility, and influence, including what needs to be clarified or repaired.", "organization": "Clarify the contribution and influence of leaders, teams, and organizational practices; agree what needs to change or be repaired." }, { "letter": "V", "name": "Venture Forward", "id": "venture-forward", "tagline": "Move deliberately", "question": "What is the next meaningful move?", "description": "Choose a useful next conversation, action, experiment, or commitment, with the support to follow through.", "organization": "Agree useful actions, owners, support, and timing; practice or test changes in the actual working environment." }, { "letter": "E", "name": "Evaluate & Evolve", "id": "evaluate-and-evolve", "tagline": "Keep evolving", "question": "What happened, what did we learn, and what should stick?", "description": "Use reflection, feedback, and evidence to learn, adapt, and reinforce what works. What you learn becomes the next round of Awareness.", "organization": "Review what changed with the people affected, adapt what needs work, and embed useful behaviors or working rhythms." } ]; function mount(host) { if (host.dataset.atlaVersion === '3') return true; const root = host; const get = id => root.querySelector('#' + id); const atlas = root.querySelector('.atlas'); if (!atlas || !get('journey-detail') || !get('stage-title') || root.querySelectorAll('button[data-stage]').length !== 10) return false; const buttons = Array.from(root.querySelectorAll('button[data-stage]')); const detail = get('journey-detail'); const discs = Array.from(root.querySelectorAll('.stop-disc')); const route = root.querySelector('.route-line'); const segments = Array.from(root.querySelectorAll('.geometry path')); const traveler = root.querySelector('.traveler'); const motion = window.matchMedia('(prefers-reduced-motion: reduce)'); let selected = 0, frame = 0, pulse = null, fade = null, entrance = null; let frameworkURL = null; if (FRAMEWORK_PAGE_URL.trim()) { try { const url = new URL(FRAMEWORK_PAGE_URL, window.location.href); if (['https:','http:'].includes(url.protocol)) frameworkURL = url; } catch (_) { /* The optional link remains hidden for an invalid URL. */ } } function stopTravel() { if (frame) window.cancelAnimationFrame(frame); frame = 0; traveler.style.opacity = '0'; } function stopAnimations() { stopTravel(); if (pulse) pulse.cancel(); if (fade) fade.cancel(); if (entrance) entrance.cancel(); } function travel(from, to) { stopTravel(); if (from === to || motion.matches || host.getBoundingClientRect().width <= 520) return; const direction = to > from ? 1 : -1; const parts = []; for (let i = from; i !== to; i += direction) { const path = segments[direction === 1 ? i : i - 1]; parts.push({path, length:path.getTotalLength(), reverse:direction === -1}); } const length = parts.reduce((sum,p) => sum + p.length, 0); const duration = Math.min(2200, 700 + parts.length * 250); let start = null; function tick(now) { if (!host.isConnected || motion.matches) { stopTravel(); return; } if (start === null) start = now; const progress = Math.min((now - start) / duration, 1); let distance = length * (progress * progress * (3 - 2 * progress)); let part = parts[parts.length - 1]; for (let i = 0; i < parts.length; i++) { part = parts[i]; if (distance <= part.length || i === parts.length - 1) { distance = Math.max(0, Math.min(part.length, distance)); break; } distance -= part.length; } const point = part.path.getPointAtLength(part.reverse ? part.length - distance : distance); traveler.setAttribute('cx', point.x); traveler.setAttribute('cy', point.y); traveler.style.opacity = String(Math.min(1, (1-progress)*8)); if (progress < 1) frame = window.requestAnimationFrame(tick); else stopTravel(); } frame = window.requestAnimationFrame(tick); } function showStage(index, animate = true, scroll = false) { if (!Number.isInteger(index) || !STAGES[index]) return; const previous = selected; selected = index; const stage = STAGES[index]; buttons.forEach(button => { const active = Number(button.dataset.stage) === index; button.classList.toggle('is-active', active); button.setAttribute('aria-pressed', String(active)); }); get('stage-count').textContent = String(index + 1).padStart(2,'0') + ' / ' + stage.tagline; get('stage-title').textContent = stage.name; get('stage-question').textContent = stage.question; get('stage-description').textContent = stage.description; const more = get('stage-more'); more.hidden = !frameworkURL; if (frameworkURL) { const target = new URL(frameworkURL.href); target.hash = stage.id; more.href = target.href; } if (animate && !motion.matches) { travel(previous, index); if (fade) fade.cancel(); if (pulse) pulse.cancel(); if (typeof detail.animate === 'function') { fade = detail.animate([{opacity:.45,transform:'translateY(5px)'},{opacity:1,transform:'translateY(0)'}],{duration:260,easing:'ease-out'}); pulse = discs[index].animate([{transform:'scale(1)'},{transform:'scale(1.12)'},{transform:'scale(1)'}],{duration:520,easing:'ease-in-out'}); } } if (scroll && host.getBoundingClientRect().width <= 720) { detail.scrollIntoView({behavior:motion.matches ? 'auto' : 'smooth',block:'nearest'}); } } buttons.forEach(button => { button.addEventListener('click', () => showStage(Number(button.dataset.stage), true, true)); button.addEventListener('keydown', event => { const keys = ['ArrowRight','ArrowDown','ArrowLeft','ArrowUp','Home','End']; if (!keys.includes(event.key)) return; event.preventDefault(); let next = Number(button.dataset.stage); if (event.key === 'Home') next = 0; else if (event.key === 'End') next = 4; else next = (next + (['ArrowRight','ArrowDown'].includes(event.key) ? 1 : 4)) % 5; const group = button.classList.contains('key-entry') ? '.key-entry' : '.stop'; root.querySelector(group + '[data-stage="' + next + '"]').focus(); showStage(next, true, false); }); }); showStage(0, false); const motionChanged = () => { if (motion.matches) stopAnimations(); }; if (motion.addEventListener) motion.addEventListener('change', motionChanged); document.addEventListener('visibilitychange', () => { if (document.hidden) stopAnimations(); }); function reveal() { if (!motion.matches && typeof route.animate === 'function') { entrance = route.animate([{opacity:0,strokeDashoffset:80},{opacity:1,strokeDashoffset:0}],{duration:1200,easing:'ease-out'}); } } if ('IntersectionObserver' in window) { const observer = new IntersectionObserver(entries => { if (entries.some(entry => entry.isIntersecting)) { reveal(); observer.disconnect(); } },{threshold:.18}); observer.observe(atlas); } else reveal(); host.dataset.atlaVersion = '3'; return true; } function start() { function scan() { const host = document.getElementById('atla-above'); return host ? mount(host) : false; } if (scan()) return; const observer = new MutationObserver(() => { if (scan()) observer.disconnect(); }); observer.observe(document.body,{childList:true,subtree:true}); window.setTimeout(() => observer.disconnect(),30000); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded',start,{once:true}); else start(); })();