/* ─── TOKENS (mirrored exactly from surveys-assessments-1.html) ─── */
:root, [data-theme="light"] {
--color-bg: #f7f6f2;
--color-surface: #f9f8f5;
--color-surface-2: #fbfbf9;
--color-surface-offset: #f0ede8;
--color-surface-dynamic: #e6e4df;
--color-divider: #dcd9d5;
--color-border: #d4d1ca;
--color-text: #28251d;
--color-text-muted: #6b6860;
--color-text-faint: #b0afa8;
--color-text-inverse: #f9f8f4;
--color-primary: #01696f;
--color-primary-hover: #0c4e54;
--color-primary-active: #0f3638;
--color-primary-highlight: #cedcd8;
--color-accent: #c85c2a;
--color-success: #437a22;
--color-success-highlight: #d4dfcc;
--color-gold: #b88a00;
--radius-sm: .375rem;
--radius-md: .5rem;
--radius-lg: .75rem;
--radius-xl: 1rem;
--radius-2xl: 1.5rem;
--radius-full: 9999px;
--shadow-sm: 0 1px 2px oklch(0.2 0.01 80 / 0.06);
--shadow-md: 0 4px 16px oklch(0.2 0.01 80 / 0.09);
--shadow-lg: 0 12px 40px oklch(0.2 0.01 80 / 0.13);
--shadow-xl: 0 24px 64px oklch(0.2 0.01 80 / 0.18);
--transition: 180ms cubic-bezier(0.16,1,0.3,1);
--font-display: 'Instrument Serif', Georgia, serif;
--font-body: 'DM Sans', 'Helvetica Neue', sans-serif;
--text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
--text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
--text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
--text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
--text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
--text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
--text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);
--content-narrow: 640px;
--content-default: 960px;
--content-wide: 1200px;
}
[data-theme="dark"] {
--color-bg: #141312;
--color-surface: #1a1917;
--color-surface-2: #201f1d;
--color-surface-offset: #1d1c1a;
--color-surface-dynamic: #2a2927;
--color-divider: #262523;
--color-border: #393836;
--color-text: #cccac7;
--color-text-muted: #797876;
--color-text-faint: #545350;
--color-text-inverse: #2b2a28;
--color-primary: #4f98a3;
--color-primary-hover: #3d8490;
--color-primary-active: #2a6f7a;
--color-primary-highlight: #1f3234;
--color-accent: #e07a4a;
--color-success: #6daa45;
--color-success-highlight: #2a3a1f;
--color-gold: #e0a820;
--shadow-sm: 0 1px 2px oklch(0 0 0 / 0.25);
--shadow-md: 0 4px 16px oklch(0 0 0 / 0.35);
--shadow-lg: 0 12px 40px oklch(0 0 0 / 0.45);
--shadow-xl: 0 24px 64px oklch(0 0 0 / 0.55);
}
/* ─── RESET ─── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-font-smoothing: antialiased; scroll-behavior: smooth; }
/* ─── BASE ─── */
.sv-wrap {
font-family: var(--font-body);
font-size: var(--text-base);
color: var(--color-text);
background: var(--color-bg);
line-height: 1.6;
overflow-x: hidden;
}
.sv-wrap img, .sv-wrap svg { display: block; max-width: 100%; }
.sv-wrap p, .sv-wrap li { text-wrap: pretty; }
.sv-wrap h1, .sv-wrap h2, .sv-wrap h3, .sv-wrap h4 { text-wrap: balance; line-height: 1.15; }
.sv-wrap a, .sv-wrap button {
transition: color var(--transition), background var(--transition),
border-color var(--transition), box-shadow var(--transition),
opacity var(--transition), transform var(--transition);
}
.sv-wrap button { cursor: pointer; background: none; border: none; font: inherit; color: inherit; }
/* ─── SCROLL REVEAL ─── */
.reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity .7s cubic-bezier(0.16,1,0.3,1), transform .7s cubic-bezier(0.16,1,0.3,1);
}
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
.reveal-delay-3 { transition-delay: .3s; }
.reveal-delay-4 { transition-delay: .4s; }
/* ─── LAYOUT ─── */
.sv-container {
max-width: var(--content-default);
margin-inline: auto;
padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.sv-container-wide {
max-width: var(--content-wide);
margin-inline: auto;
padding-inline: clamp(1rem, 4vw, 2.5rem);
}
.sv-section { padding-block: clamp(4rem, 8vw, 7rem); }
.sv-section + .sv-section { border-top: 1px solid var(--color-divider); }
/* ─── THEME TOGGLE BAR ─── */
.sv-topbar {
display: flex;
justify-content: flex-end;
padding: .75rem clamp(1rem, 4vw, 2.5rem);
border-bottom: 1px solid var(--color-divider);
background: var(--color-surface);
}
.sv-theme-btn {
display: flex; align-items: center; gap: .45rem;
padding: .35rem .85rem;
border-radius: var(--radius-full);
border: 1px solid var(--color-border);
font-size: var(--text-xs); font-weight: 500;
color: var(--color-text-muted);
background: var(--color-bg);
}
.sv-theme-btn:hover { color: var(--color-text); border-color: var(--color-primary); }
.sv-theme-btn svg { width: 14px; height: 14px; }
/* ─── TYPOGRAPHY ─── */
.section-eyebrow {
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .1em; text-transform: uppercase;
color: var(--color-primary); margin-bottom: .75rem;
}
.section-title {
font-family: var(--font-display);
font-size: var(--text-2xl); line-height: 1.12;
letter-spacing: -.015em; color: var(--color-text);
margin-bottom: 1rem;
}
.section-title em { font-style: italic; color: var(--color-primary); }
.section-desc {
font-size: var(--text-base); color: var(--color-text-muted);
max-width: 60ch; line-height: 1.7;
}
/* ─── BUTTONS ─── */
.btn-primary {
display: inline-flex; align-items: center; gap: .5rem;
background: var(--color-primary); color: var(--color-text-inverse) !important;
padding: .75rem 1.6rem; border-radius: var(--radius-full);
font-weight: 600; font-size: var(--text-sm);
text-decoration: none; letter-spacing: .01em;
}
.btn-primary:hover {
background: var(--color-primary-hover);
transform: translateY(-1px); box-shadow: var(--shadow-md);
}
.btn-ghost {
display: inline-flex; align-items: center; gap: .5rem;
color: var(--color-text-muted); padding: .75rem 1.4rem;
border-radius: var(--radius-full); font-weight: 500;
font-size: var(--text-sm); text-decoration: none;
border: 1px solid var(--color-border);
}
.btn-ghost:hover {
color: var(--color-text); border-color: var(--color-primary);
background: var(--color-primary-highlight);
}
/* ─── HERO ─── */
.sv-hero {
background: var(--color-bg);
padding-block: clamp(3.5rem, 7vw, 7rem);
position: relative; overflow: hidden;
}
.sv-hero-bg {
position: absolute; top: -20%; right: -8%;
width: 600px; height: 600px; border-radius: 50%;
background: radial-gradient(circle, oklch(from var(--color-primary) l c h / 0.07) 0%, transparent 70%);
pointer-events: none;
}
.sv-hero-grid {
display: grid; grid-template-columns: 1.35fr 1fr;
gap: 3rem; align-items: center;
}
.sv-hero-badge {
display: inline-flex; align-items: center; gap: .4rem;
background: var(--color-primary-highlight); color: var(--color-primary);
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
padding: .3rem .85rem; border-radius: var(--radius-full);
margin-bottom: 1.5rem;
}
.sv-hero-badge svg { width: 12px; height: 12px; }
.sv-hero-headline {
font-family: var(--font-display);
font-size: var(--text-3xl); line-height: 1.08;
letter-spacing: -.02em; color: var(--color-text);
margin-bottom: 1.25rem; max-width: 14ch;
}
.sv-hero-headline em { font-style: italic; color: var(--color-primary); }
.sv-hero-sub {
font-size: var(--text-lg); color: var(--color-text-muted);
max-width: 50ch; line-height: 1.65; margin-bottom: 2rem;
}
.sv-hero-actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.sv-logic-chain {
display: flex; flex-wrap: wrap; gap: .4rem .25rem;
align-items: center; margin-top: 1rem;
}
.sv-logic-pill {
display: inline-flex; align-items: center;
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-full); padding: .3rem .85rem;
font-size: var(--text-xs); font-weight: 600; color: var(--color-text-muted);
}
.sv-logic-arrow { color: var(--color-primary); font-size: var(--text-xs); padding: 0 .15rem; }
.sv-hero-card {
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-xl); padding: 1.5rem;
box-shadow: var(--shadow-md);
}
.sv-hero-card-label {
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
color: var(--color-text-muted); margin-bottom: .6rem;
}
.sv-hero-card-body {
font-family: var(--font-body); font-size: var(--text-sm);
color: var(--color-text-muted); line-height: 1.7;
}
.sv-hero-card-body strong { color: var(--color-text); font-weight: 600; }
.sv-quote-block {
margin-top: 1.25rem; padding: 1rem 1rem 1rem 1.25rem;
border-radius: var(--radius-lg);
border: 1px solid var(--color-border);
background: var(--color-surface-offset);
}
.sv-quote-text {
font-family: var(--font-display); font-style: italic;
font-size: var(--text-base); color: var(--color-text); line-height: 1.5;
}
.sv-quote-cite {
display: block; margin-top: .4rem;
font-size: var(--text-xs); font-style: normal;
letter-spacing: .08em; text-transform: uppercase;
color: var(--color-text-faint);
}
/* ─── SERVICE STRIP (4 cards) ─── */
.sv-strip { background: var(--color-surface); }
.sv-strip-grid {
display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
gap: 1px; background: var(--color-border);
border: 1px solid var(--color-border);
border-radius: var(--radius-xl); overflow: hidden;
margin-top: 1.5rem;
}
.sv-strip-card {
background: var(--color-surface-2);
padding: 1.75rem 1.5rem;
position: relative; overflow: hidden;
transition: transform .25s cubic-bezier(0.16,1,0.3,1),
box-shadow .25s cubic-bezier(0.16,1,0.3,1);
}
.sv-strip-card::before {
content: ''; position: absolute; inset: 0;
background: linear-gradient(135deg, var(--color-primary-highlight), transparent 60%);
opacity: 0; transition: opacity .3s;
}
.sv-strip-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.sv-strip-card:hover::before { opacity: 1; }
.sv-strip-num {
font-family: var(--font-display); font-size: 2.5rem;
font-style: italic; color: var(--color-primary-highlight);
line-height: 1; margin-bottom: .75rem; user-select: none;
position: relative; z-index: 1;
}
.sv-strip-label {
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
color: var(--color-primary); margin-bottom: .4rem;
position: relative; z-index: 1;
}
.sv-strip-title {
font-weight: 700; font-size: var(--text-base);
color: var(--color-text); margin-bottom: .4rem;
position: relative; z-index: 1;
}
.sv-strip-body {
font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.6;
position: relative; z-index: 1;
}
/* ─── SERVICE SECTIONS (2-col alternating) ─── */
.sv-service-bg-alt { background: var(--color-surface); }
.sv-service-grid {
display: grid; grid-template-columns: 1.1fr 1fr;
gap: 3.5rem; align-items: flex-start;
}
.sv-service-grid-rev { grid-template-columns: 1fr 1.1fr; }
.sv-step-badge {
display: inline-flex; align-items: center; gap: .4rem;
background: var(--color-primary-highlight); color: var(--color-primary);
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
padding: .25rem .7rem; border-radius: var(--radius-full);
margin-bottom: .6rem;
}
.sv-service-title {
font-family: var(--font-display); font-size: var(--text-xl);
line-height: 1.2; letter-spacing: -.01em;
color: var(--color-text); margin-bottom: 1rem;
}
.sv-service-body {
font-size: var(--text-base); color: var(--color-text-muted); line-height: 1.7;
margin-bottom: 1.5rem;
}
.sv-service-list { list-style: none; margin-bottom: 1.5rem; }
.sv-service-list li {
display: flex; align-items: flex-start; gap: .75rem;
font-size: var(--text-sm); color: var(--color-text-muted);
padding: .6rem 0; border-bottom: 1px solid var(--color-divider);
line-height: 1.55;
}
.sv-service-list li:last-child { border-bottom: none; }
.sv-service-list li svg { flex-shrink: 0; margin-top: 2px; color: var(--color-primary); }
.sv-outcome {
background: var(--color-primary-highlight);
border: 1px solid oklch(from var(--color-primary) l c h / 0.2);
border-radius: var(--radius-lg); padding: 1rem 1.25rem;
margin-top: 1.5rem;
}
.sv-outcome-label {
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
color: var(--color-primary); margin-bottom: .3rem;
}
.sv-outcome-body { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.6; }
/* ─── SERVICE VISUAL SIDE ─── */
.sv-visual { display: flex; flex-direction: column; gap: 1rem; }
.sv-img-wrap {
border-radius: var(--radius-xl); overflow: hidden;
position: relative; background: var(--color-surface-offset);
min-height: 200px; box-shadow: var(--shadow-md);
}
.sv-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sv-img-badge {
position: absolute; left: .875rem; bottom: .875rem;
padding: .25rem .7rem; border-radius: var(--radius-full);
border: 1px solid var(--color-border);
background: oklch(from var(--color-surface) l c h / 0.92);
backdrop-filter: blur(8px);
font-size: var(--text-xs); color: var(--color-text-muted);
}
.sv-info-card {
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-xl); padding: 1.25rem 1.5rem;
}
.sv-info-label {
font-size: var(--text-xs); font-weight: 600;
letter-spacing: .08em; text-transform: uppercase;
color: var(--color-primary); margin-bottom: .4rem;
}
.sv-info-body { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.65; }
/* ─── PILL TAGS ─── */
.sv-pill-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.sv-pill {
padding: .3rem .8rem; border-radius: var(--radius-full);
border: 1px solid var(--color-border);
background: var(--color-surface);
font-size: var(--text-xs); color: var(--color-text-muted);
transition: border-color var(--transition), color var(--transition);
}
.sv-pill:hover { border-color: var(--color-primary); color: var(--color-primary); }
/* ─── HOW WE WORK PROCESS ─── */
.sv-process-grid {
display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
gap: 1px; background: var(--color-border);
border: 1px solid var(--color-border);
border-radius: var(--radius-xl); overflow: hidden;
margin-top: 2.5rem;
}
.sv-process-step {
background: var(--color-surface); padding: 1.75rem 1.5rem; position: relative;
}
.sv-process-num {
font-family: var(--font-display); font-size: 2.5rem;
font-style: italic; color: var(--color-primary-highlight);
line-height: 1; margin-bottom: .75rem; user-select: none;
}
.sv-process-title { font-weight: 700; font-size: var(--text-sm); color: var(--color-text); margin-bottom: .4rem; }
.sv-process-desc { font-size: var(--text-xs); color: var(--color-text-muted); line-height: 1.6; }
/* ─── OUTCOMES GRID ─── */
.sv-outcomes-grid {
display: grid; grid-template-columns: 1fr 1fr;
gap: 1rem; margin-top: 2rem;
}
.sv-outcome-item {
display: flex; align-items: flex-start; gap: .85rem;
background: var(--color-surface); border: 1px solid var(--color-border);
border-radius: var(--radius-lg); padding: 1.1rem 1.25rem;
}
.sv-outcome-check {
width: 26px; height: 26px; border-radius: var(--radius-full);
background: var(--color-success-highlight); color: var(--color-success);
display: flex; align-items: center; justify-content: center;
flex-shrink: 0; margin-top: 1px;
}
.sv-outcome-check svg { width: 13px; height: 13px; }
.sv-outcome-item-title { font-weight: 600; font-size: var(--text-sm); color: var(--color-text); margin-bottom: .2rem; }
.sv-outcome-item-desc { font-size: var(--text-xs); color: var(--color-text-muted); line-height: 1.6; }
/* ─── CTA BLOCK ─── */
.sv-cta-block {
background: var(--color-primary); color: var(--color-text-inverse);
border-radius: var(--radius-2xl); padding: clamp(2.5rem, 5vw, 4rem);
text-align: center; position: relative; overflow: hidden;
margin-top: 3rem; box-shadow: var(--shadow-xl);
}
.sv-cta-block::before {
content: ''; position: absolute; top: -40%; left: 50%;
transform: translateX(-50%); width: 700px; height: 700px;
border-radius: 50%;
background: radial-gradient(circle, oklch(from var(--color-text-inverse) l c h / 0.07) 0%, transparent 60%);
pointer-events: none;
}
.sv-cta-title {
font-family: var(--font-display); font-size: var(--text-2xl);
color: var(--color-text-inverse); margin-bottom: .6rem;
position: relative; z-index: 1;
}
.sv-cta-body {
font-size: var(--text-base);
color: oklch(from var(--color-text-inverse) l c h / 0.75);
margin-bottom: 2rem; max-width: 52ch; margin-inline: auto;
position: relative; z-index: 1;
}
.sv-cta-actions { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; position: relative; z-index: 1; }
.btn-inverse {
display: inline-flex; align-items: center; gap: .5rem;
background: var(--color-text-inverse); color: var(--color-primary);
padding: .85rem 2rem; border-radius: var(--radius-full);
font-weight: 700; font-size: var(--text-sm); text-decoration: none;
}
.btn-inverse:hover {
background: var(--color-surface-dynamic);
transform: translateY(-2px); box-shadow: 0 8px 24px oklch(0 0 0 / 0.25);
}
.btn-outline-inverse {
display: inline-flex; align-items: center; gap: .5rem;
color: var(--color-text-inverse);
border: 1.5px solid oklch(from var(--color-text-inverse) l c h / 0.4);
padding: .85rem 2rem; border-radius: var(--radius-full);
font-weight: 600; font-size: var(--text-sm); text-decoration: none;
}
.btn-outline-inverse:hover { border-color: var(--color-text-inverse); background: oklch(from var(--color-text-inverse) l c h / 0.1); }
.sv-footer-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-top: 2rem; position: relative; z-index: 1; }
.sv-footer-link {
padding: .35rem .9rem; border-radius: var(--radius-full);
border: 1px solid oklch(from var(--color-text-inverse) l c h / 0.2);
font-size: var(--text-xs); color: oklch(from var(--color-text-inverse) l c h / 0.65);
text-decoration: none;
}
.sv-footer-link:hover {
border-color: oklch(from var(--color-text-inverse) l c h / 0.5);
color: var(--color-text-inverse);
}
/* ─── RESPONSIVE ─── */
@media (max-width: 900px) {
.sv-hero-grid, .sv-service-grid, .sv-service-grid-rev { grid-template-columns: 1fr; gap: 2rem; }
.sv-service-grid-rev .sv-visual { order: -1; }
.sv-strip-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.sv-process-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 540px) {
.sv-strip-grid, .sv-process-grid, .sv-outcomes-grid { grid-template-columns: 1fr; }
}
Dark mode
Palvelut
From Insight to Execution
At SKILLhill, we do not deliver isolated workshops or advisory reports.
We design and build the capability systems that turn strategy into measurable results —
in leadership, culture, sales, transformation, and AI initiatives.
Clarity
→
Structure
→
Capability
→
Discipline
→
Tulokset
Our logic
Our work follows a clear logic:
Clarity → Structure → Capability → Discipline → Results
"Culture beats code — every time."
SKILLhill Core Principle
What we do
Four integrated practices.One clear outcome.
01
Insight & Diagnostics
Clarity before action.
Fact-based view of alignment, risk, and readiness before major bets.
02
Consulting & Change Architecture
Systems that work.
Operating structures that make strategy executable at every level.
03
Capability Development
Behavior into performance.
Measurable capability across leadership, sales, transformation, and AI.
04
Coaching & Partnership
Momentum that sticks.
Long-term engagement until new ways of working are embedded.
01 — Insight & Diagnostics
Clarity Before Action
Transformation fails when decisions are based on assumptions.
We bring data, structure, and executive-level clarity before any major initiative moves forward.
Organizational alignment assessments
Culture & behavioral diagnostics
Decision-making capability audits (DMD Audit™)
AI readiness assessments
Customer & sales capability analysis
Governance & accountability clarity reviews
Outcome
Clear understanding of current state, capability gaps, risk factors, and leadership alignment before investments are made.
Diagnostics & executive clarity
Diagnostic lens
Clarity across alignment, readiness, risk, governance, and behavioral reality — because culture beats code, every time.
Execution design in practice
Execution design
Defined decision rights, clear ownership, aligned leadership behavior, structured follow-through.
02 — Consulting & Change Architecture
Designing Systems That Work
We do not advise from the sidelines. We design the operating structures that make strategy executable —
with clear ownership, defined decision rights, aligned leadership behavior, and structured execution discipline.
Strategy-to-execution frameworks
Governance and accountability models
Decision architecture (Decision Making Done™)
M&A integration structures
AI operating models grounded in human readiness
Sales and commercial operating models
Outcome
Execution clarity at board, executive, and operational levels.
03 — Capability Development
Turning Behavior Into Performance
Strategy does not fail because of intelligence. It fails because of inconsistent behavior.
We build measurable capability across leadership, sales, transformation, delivery, customer experience, and AI-era leadership.
Leadership performance & accountability
Sales excellence & commercial impact
Expert-to-customer-value transformation
Project leadership & margin discipline
Transformation leadership
AI-era leadership capability
Customer experience leadership
Delivery formats include
Structured development programs
Executive workshops
Applied simulations
Decision labs
Habit-based performance systems
Capability Academy models
Outcome
Behavior change that becomes visible in daily execution.
Capability systems in action
Capability systems
Programs, decision labs, simulations, coaching, and habit-building tightly connected to the financial and human metrics your board actually tracks.
Trusted partner model
Trusted partner
Accountable for outcomes — not activity. Close enough to the work that accountability survives after the kickoff applause ends.
04 — Coaching, Facilitation & Continuous Partnership
Making Change Stick
Change fails when momentum fades. We stay engaged until new ways of working are embedded —
providing continued coaching, facilitation, decision reviews, and leadership support through every phase of change.
Executive & C-level coaching
Board facilitation
Strategic off-sites
Decision review sessions
Transformation steering support
Retain & Sustain phase guidance
"We work as a trusted partner. Accountable for outcomes — not activity."
How we show up
Outcome
Sustained performance improvement, not temporary motivation.
How we work
A structured path fromintent to execution.
Every engagement follows a clear path — designed for executive teams who need clarity, speed, and measurable follow-through without another layer of noise.
01
Diagnosoi
Fact-based clarity on culture, readiness, governance, and performance.
02
Suunnittele
Tailored architecture aligned with your strategy and targets.
03
Ota käyttöön
Hands-on implementation, coaching, and facilitation.
04
Retain & Sustain
Embedding new habits, decision discipline, and accountability systems.
What this means for you
Leadership, structure, and behavioraligned to ambitious targets.
Whether your focus is NPS, eNPS, profitability, revenue growth, M&A integration, AI transformation, sales capability, or governance clarity — we align leadership, structure, and behavior so targets are reached. Even the ambitious ones.
NPS & Customer Experience
Align leadership behavior to the customer moments that drive loyalty.
eNPS & Employee Engagement
Build cultures where accountability and clarity drive genuine engagement.
Profitability & Revenue Growth
Execution discipline that protects margin and accelerates top-line results.
M&A Integration & AI Transformation
Human readiness, governance clarity, and decision discipline for complex transitions.
(function () {
'use strict';
/* ── THEME TOGGLE ── */
var root = document.documentElement;
var btn = document.getElementById('sv-theme-btn');
// Read OS preference on load
var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
var stored = localStorage.getItem('sv-theme');
var current = stored || (prefersDark ? 'dark' : 'light');
root.setAttribute('data-theme', current);
syncBtn(current);
if (btn) {
btn.addEventListener('click', function () {
current = current === 'dark' ? 'light' : 'dark';
root.setAttribute('data-theme', current);
localStorage.setItem('sv-theme', current);
syncBtn(current);
});
}
function syncBtn(theme) {
if (!btn) return;
if (theme === 'dark') {
btn.innerHTML = ' Light mode';
} else {
btn.innerHTML = ' Dark mode';
}
}
/* ── SCROLL REVEAL (IntersectionObserver — same as reference) ── */
var revealObs = new IntersectionObserver(function (entries) {
entries.forEach(function (e) {
if (e.isIntersecting) {
e.target.classList.add('visible');
revealObs.unobserve(e.target);
}
});
}, { threshold: 0.12, rootMargin: '0px 0px -40px 0px' });
document.querySelectorAll('.reveal').forEach(function (el) {
revealObs.observe(el);
});
})();