/* ─── 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; } }
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.

Insight & Diagnostics
Clarity before action.
Fact-based view of alignment, risk, and readiness before major bets.
Consulting & Change Architecture
Systems that work.
Operating structures that make strategy executable at every level.
Capability Development
Behavior into performance.
Measurable capability across leadership, sales, transformation, and AI.
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.
Executive diagnostic and leadership strategy review
Diagnostics & executive clarity
Diagnostic lens
Clarity across alignment, readiness, risk, governance, and behavioral reality — because culture beats code, every time.
Consulting and change architecture session
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 development workshop
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.
Executive coaching and partnership
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 from
intent 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.

Diagnosoi
Fact-based clarity on culture, readiness, governance, and performance.
Suunnittele
Tailored architecture aligned with your strategy and targets.
Ota käyttöön
Hands-on implementation, coaching, and facilitation.
Retain & Sustain
Embedding new habits, decision discipline, and accountability systems.

What this means for you

Leadership, structure, and behavior
aligned 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.

SKILLhill = Capability Builder

We combine strategic clarity, human insight, decision discipline, and operational execution — because technology does not change organizations. People do.

(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); }); })();
fiSuomi