a8a01871b1
Build Inga's coaching practice as a native OC page in the OC design system: hero, familiar-symptoms, approach + outcomes, "where to start" service cards, deeper- engagement principles, social-impact callout, dark "in practice" band (count-up stats + quotes), about essay, and a CTA wired to OC's real Cal.com booking. New scoped inga.css for the components OC lacked. Repoint "More about Inga" from the inga.opencommunications.consulting subdomain to the internal page. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
422 lines
27 KiB
HTML
422 lines
27 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en-CA">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta name="theme-color" content="#0f1729">
|
||
<title>Inga Michaelsen — Leadership & Team Coaching | Open Communications</title>
|
||
<meta name="description" content="Inga Michaelsen leads the coaching and facilitation practice at Open Communications — systems-aware, trauma-informed work that helps teams think, decide, and lead together when the path isn't clear. PCC · ACTC · ICF.">
|
||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Lora:ital,wght@0,400;0,500;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=B612+Mono:wght@400;700&display=swap">
|
||
<link rel="stylesheet" href="style.css">
|
||
<link rel="stylesheet" href="inga.css">
|
||
<meta name="robots" content="index,follow">
|
||
<link rel="canonical" href="https://www.opencommunications.consulting/inga.html">
|
||
<link rel="icon" href="favicon.svg" type="image/svg+xml">
|
||
<link rel="icon" href="favicon.png" type="image/png" sizes="64x64">
|
||
<link rel="apple-touch-icon" href="apple-touch-icon.png" sizes="180x180">
|
||
<meta property="og:type" content="profile">
|
||
<meta property="og:site_name" content="Open Communications">
|
||
<meta property="og:title" content="Inga Michaelsen — leadership & team coaching">
|
||
<meta property="og:description" content="The coaching and facilitation practice at Open Communications. How you work together is what carries a team through change.">
|
||
<meta property="og:url" content="https://www.opencommunications.consulting/inga.html">
|
||
<meta property="og:locale" content="en_CA">
|
||
<script type="application/ld+json">
|
||
{
|
||
"@context": "https://schema.org",
|
||
"@type": "Person",
|
||
"name": "Inga Michaelsen",
|
||
"jobTitle": "Leadership & Team Coach, Facilitator",
|
||
"worksFor": { "@type": "Organization", "name": "Open Communications", "url": "https://www.opencommunications.consulting/" },
|
||
"url": "https://www.opencommunications.consulting/inga.html",
|
||
"hasCredential": ["ICF Professional Certified Coach (PCC)", "ICF Advanced Certified Team Coach (ACTC)"],
|
||
"address": { "@type": "PostalAddress", "addressLocality": "Victoria", "addressRegion": "British Columbia", "addressCountry": "CA" },
|
||
"knowsAbout": ["leadership coaching", "team coaching", "facilitation", "organizational change", "trauma-informed practice"]
|
||
}
|
||
</script>
|
||
<script>document.documentElement.className += ' has-motion';</script>
|
||
</head>
|
||
<body>
|
||
|
||
<header class="nav" id="nav">
|
||
<a class="nav-logo" href="index.html" aria-label="Open Communications — home">
|
||
<img class="nav-logo-img" src="assets/brand/oc-logo.svg" alt="Open Communications">
|
||
</a>
|
||
<nav class="nav-links-desktop" aria-label="Main">
|
||
<a href="index.html#problem">The problem</a>
|
||
<a href="index.html#work">How we work</a>
|
||
<a href="index.html#who">Who we are</a>
|
||
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20min-opencommunications-meeting" data-cal-link="michaelvictory/20min-opencommunications-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a conversation</a>
|
||
</nav>
|
||
<button class="nav-toggle" id="navToggle" aria-label="Open menu" aria-expanded="false">
|
||
<svg class="nav-toggle-icon" viewBox="0 0 32 32" aria-hidden="true">
|
||
<line class="bar bar-top" x1="6" y1="10" x2="26" y2="10"/>
|
||
<line class="bar bar-mid" x1="6" y1="16" x2="26" y2="16"/>
|
||
<line class="bar bar-bot" x1="6" y1="22" x2="26" y2="22"/>
|
||
<circle class="o-ring" cx="16" cy="16" r="9"/>
|
||
</svg>
|
||
</button>
|
||
</header>
|
||
<div class="nav-mobile-menu" id="navMobileMenu">
|
||
<a href="index.html#problem">The problem</a>
|
||
<a href="index.html#work">How we work</a>
|
||
<a href="index.html#who">Who we are</a>
|
||
<a class="nav-cta" href="https://cal.shopwisdom.ca/michaelvictory/20min-opencommunications-meeting" data-cal-link="michaelvictory/20min-opencommunications-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a conversation</a>
|
||
</div>
|
||
|
||
<main id="top">
|
||
|
||
<section class="inga-hero" data-bg="light">
|
||
<div class="wrap reveal">
|
||
<p class="eyebrow">Open Communications · Leadership & team coaching</p>
|
||
<h1>How you work together is <em>what carries you through.</em></h1>
|
||
<p class="lead">Inga Michaelsen leads our coaching and facilitation practice — helping leaders and teams build the capacity to perform and relate well, even when the path isn't clear.</p>
|
||
<div class="actions">
|
||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20min-opencommunications-meeting" data-cal-link="michaelvictory/20min-opencommunications-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a conversation</a>
|
||
<a class="btn link" href="#approach">How Inga works</a>
|
||
</div>
|
||
<div class="hero-creds">
|
||
<span>Professional Certified Coach (PCC)</span>
|
||
<span>Team Coach (ACTC)</span>
|
||
<span>International Coaching Federation</span>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band light" data-bg="light" id="familiar">
|
||
<div class="wrap narrow reveal">
|
||
<p class="eyebrow">Does this sound familiar?</p>
|
||
<h2>You didn't get here by accident.</h2>
|
||
<p class="section-intro">Your team has real talent, and you've worked hard to build something worth leading. But lately, something feels off.</p>
|
||
<ul class="checklist">
|
||
<li>The team is working hard — but not quite together.</li>
|
||
<li>Priorities shift before the last ones were resolved.</li>
|
||
<li>Decisions get made, then quietly unmade or left without a clear owner.</li>
|
||
<li>Important conversations keep getting deferred.</li>
|
||
<li>Tension sits beneath the surface, named by no one.</li>
|
||
<li>Relationships that used to feel easy now feel careful and managed.</li>
|
||
<li>You're spending more energy managing dynamics than doing the actual work.</li>
|
||
</ul>
|
||
<p class="note">You're not in crisis. But you can see where things are heading if nothing changes.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band light" data-bg="light" id="approach">
|
||
<div class="wrap reveal">
|
||
<div class="split">
|
||
<div>
|
||
<p class="eyebrow">Hi, I'm Inga</p>
|
||
<h2>I help teams slow down at the moments that matter.</h2>
|
||
<p>For over a decade, I've supported leaders working in fast-changing and demanding contexts. My background is in leadership development, process facilitation, and coaching. I help leaders and teams slow down at critical moments to build awareness of what's driving behaviour and dynamics — so they can respond with intention and steadiness, rather than react. That supports clearer decisions, stronger relationships, and more sustainable performance over time.</p>
|
||
<p>I bring a systems-aware, trauma-informed lens to my work, paying close attention to context, power dynamics, and the emotional realities people navigate. I'm a Professional Certified Coach (PCC) and Team Coach (ACTC) with the International Coaching Federation, and an experienced facilitator — known for creating spaces where people can think together, work through tension, and move forward with clarity.</p>
|
||
</div>
|
||
<div class="bio-card">
|
||
<h3>What changes when we work together</h3>
|
||
<p>Through coaching, facilitation, and practical skill-building, I help teams strengthen how they <strong>think, decide, and lead together.</strong> Teams I work with typically gain:</p>
|
||
<ul class="outcomes">
|
||
<li>clearer alignment around shared purpose and goals</li>
|
||
<li>greater clarity in roles, authority, and decision-making</li>
|
||
<li>faster, more confident decisions without sacrificing buy-in</li>
|
||
<li>more productive dialogue, even when conversations are difficult</li>
|
||
<li>stronger trust and shared accountability across teams</li>
|
||
<li>performance that's sustainable, not dependent on constant effort</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band light" data-bg="light" id="start">
|
||
<div class="wrap reveal">
|
||
<p class="eyebrow">Where to start</p>
|
||
<h2>Focused, time-bound, <em>practical.</em></h2>
|
||
<p class="section-intro">Every team and context is different. These starting points are designed for different moments. Not sure which fits? Start with a conversation, and we'll figure it out together.</p>
|
||
<div class="cards">
|
||
|
||
<article class="card">
|
||
<p class="when">When you want to see your team's strengths & blind spots</p>
|
||
<h3>Team Pulse Check</h3>
|
||
<p>A light-touch diagnostic that helps leaders understand what's helping — and hindering — their team. Useful during growth, transition, or after a shift in roles, when the team senses something has changed but hasn't yet named it.</p>
|
||
<p class="lab">Typical outcomes</p>
|
||
<ul>
|
||
<li>Clearer understanding of what's helping and getting in the way</li>
|
||
<li>Reduced assumptions and unspoken tension</li>
|
||
<li>Agreed practical next steps the whole team owns</li>
|
||
</ul>
|
||
</article>
|
||
|
||
<article class="card">
|
||
<p class="when">When decisions are stalling</p>
|
||
<h3>Clear Decisions. Clear Ownership.</h3>
|
||
<p>When decisions keep getting revisited, ownership is unclear, or follow-through breaks down, this gets to the root of it. Not new frameworks — facilitated conversation inside a live meeting, working with your team's real decisions and priorities.</p>
|
||
<p class="lab">Format</p>
|
||
<ul>
|
||
<li>2–3 hour facilitated session, grounded in real decisions</li>
|
||
<li>Clearer decision pathways and stronger follow-through</li>
|
||
<li>Clear agreements and next steps at the end</li>
|
||
</ul>
|
||
</article>
|
||
|
||
<article class="card">
|
||
<p class="when">When you want to experience the work first</p>
|
||
<h3>One Meeting. Better.</h3>
|
||
<p>Sometimes the best way to know if something's worth investing in is to try it. I join one of your existing team meetings as a coach and observer — I don't run it, you do. I notice what's helping and what's getting in the way, and coach in the moment where it's useful.</p>
|
||
<p class="lab">Includes</p>
|
||
<ul>
|
||
<li>Pre-meeting conversation with the team leader</li>
|
||
<li>Live coaching presence during one real meeting</li>
|
||
<li>Debrief plus written observations and recommendations</li>
|
||
</ul>
|
||
</article>
|
||
|
||
<article class="card">
|
||
<p class="when">When pressure is high, and support is needed now</p>
|
||
<h3>30-Day Leadership Support Intensive</h3>
|
||
<p>Some moments call for immediate, focused support — not a program, just steady, skilled presence alongside the leader and team when it matters most. Blends leadership coaching with facilitation inside real team meetings.</p>
|
||
<p class="lab">Format</p>
|
||
<ul>
|
||
<li>Two 1:1 coaching conversations with the leader</li>
|
||
<li>Two facilitated team sessions inside existing meetings</li>
|
||
<li>Light follow-up to support integration</li>
|
||
</ul>
|
||
</article>
|
||
|
||
</div>
|
||
|
||
<h3 style="margin-top:3rem">Deeper engagement</h3>
|
||
<p class="section-intro">When a team needs more than a focused starting point, longer arcs of coaching and facilitation meet you where the work is.</p>
|
||
<div class="principles">
|
||
<div class="principle"><h3>Team Coaching</h3><p>Coaching alongside your team during real meetings and working sessions — typically over a 4–8 month arc.</p></div>
|
||
<div class="principle"><h3>Team Facilitation</h3><p>Holding the conversations that matter most, through skilled, neutral facilitation.</p></div>
|
||
<div class="principle"><h3>Effectiveness & Skills</h3><p>Building practical skills for working together well under pressure.</p></div>
|
||
<div class="principle"><h3>Multi-Stakeholder Support</h3><p>For teams working across boundaries, roles, and organizations.</p></div>
|
||
<div class="principle"><h3>Offsites & Retreats</h3><p>Space for reflection, alignment, and renewed direction.</p></div>
|
||
<div class="principle"><h3>1:1 Leadership Coaching</h3><p>Supporting leaders to develop inner capacity and outer effectiveness.</p></div>
|
||
</div>
|
||
|
||
<div class="callout">
|
||
<p class="eyebrow">Social impact & low bono</p>
|
||
<h3>Supporting teams doing essential work in the world.</h3>
|
||
<p>For social-impact organizations, nonprofits, climate initiatives, community-resilience collaboratives, and Indigenous-led work — professional team coaching and facilitation at a reduced, flexible investment level, with clearly defined scope and transparent pricing.</p>
|
||
<p class="price">$1,500 – $4,500 CAD</p>
|
||
<p>A limited number of these engagements are available each year.</p>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band dark" data-bg="dark" id="practice">
|
||
<div class="wrap reveal">
|
||
<p class="eyebrow">In practice</p>
|
||
<h2>A decade of work alongside teams <em>under pressure.</em></h2>
|
||
<div class="stats">
|
||
<div class="stat"><div class="num"><span data-count="100">100</span><span class="plus">+</span></div><div class="lab">Workshops</div></div>
|
||
<div class="stat"><div class="num"><span data-count="850">850</span><span class="plus">+</span></div><div class="lab">Coaching sessions</div></div>
|
||
<div class="stat"><div class="num"><span data-count="25">25</span><span class="plus">+</span></div><div class="lab">Team engagements</div></div>
|
||
</div>
|
||
|
||
<div class="practice">
|
||
<div class="item">
|
||
<h3>Team development in real time</h3>
|
||
<p>At Royal Roads University, I design and facilitate experiential leadership and teamwork development, coaching diverse student teams through real moments of tension, uncertainty, and decision-making — so they leave more confident, connected, and equipped to work well together under pressure.</p>
|
||
</div>
|
||
<div class="item">
|
||
<h3>Leading in complexity</h3>
|
||
<p>Alongside an Indigenous leadership team on an initiative connected to sovereignty and community well-being, we worked in a high-pressure environment with many stakeholders and deep historical and relational layers. Through trauma-aware, culturally respectful practices, we created space for reflection, honest conversation, and thoughtful pacing — supporting values-aligned decisions made together.</p>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="quotes">
|
||
<div class="quote">
|
||
<p>"Inga is a clear and authentic facilitator who creates the conditions for teams to engage in deep inquiry together. She held space for honest reflection and shared understanding."</p>
|
||
<cite>J. McDonald — Master's Student, Royal Roads University</cite>
|
||
</div>
|
||
<div class="quote">
|
||
<p>"I'm sincerely grateful for Inga's support, guidance, and encouragement. Her insights and coaching have had a meaningful impact on both my personal and professional growth."</p>
|
||
<cite>M. Dent — Manager, Law Clerk, Carta</cite>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band light" data-bg="light" id="about">
|
||
<div class="wrap narrow reveal">
|
||
<p class="eyebrow">About Inga</p>
|
||
<h2>Leadership is harder than it <em>used to be.</em></h2>
|
||
<p class="section-intro">The pace of change right now isn't like the last one. Leaders who built their careers on judgment, pattern recognition, and knowing their industry cold are suddenly being told that none of it may be enough on its own.</p>
|
||
<p>Some meet that with curiosity. Most also feel a quieter version of the same question: <em>am I still the right person to lead this — or am I about to be out of step with something I can't quite see yet?</em></p>
|
||
<p>I've spent fifteen-plus years working with leaders on exactly that question, across very different settings — from Fortune 500 companies to my own coffee shop. I hold an ICF Professional Certified Coach credential and a Bachelor of Commerce. What I've learned across that range is the same thing every time: strategy isn't what carries people through rapid change. The mindset shift underneath it is — and it's usually the part nobody budgets time for.</p>
|
||
<p>If you lead a team, they'll have opinions about what's changing whether you ask or not — some about their jobs, some about whether they trust what's being decided for them. If the call is yours alone, that weight sits squarely on your shoulders. Either way, I work on that part: not the technical build, but the place where you and your team actually believe in what's changing.</p>
|
||
<p>This isn't work you finish. The world keeps moving, and the real skill is staying curious and adaptable as it does — without losing sight of what you value and why you're doing any of this in the first place. That's not a course you complete. It's a conversation, and we have it for as long as it's useful.</p>
|
||
|
||
<h3 style="margin-top:3rem">What guides my work</h3>
|
||
<div class="principles">
|
||
<div class="principle"><h3>Connection</h3><p>The foundation for engagement, creativity, and responsibility — in relationships and in how a team collaborates.</p></div>
|
||
<div class="principle"><h3>Accountability</h3><p>Choosing how to show up with honesty, vulnerability, and clarity, rather than blame.</p></div>
|
||
<div class="principle"><h3>Curiosity</h3><p>Staying open to notice, listen, and explore — rather than assume or defend.</p></div>
|
||
</div>
|
||
|
||
<p style="margin-top:2.4rem">Outside of work, you'll find me walking, biking, and dancing around Victoria, BC; spending time with my partner and two adult sons; and travelling regularly to Germany. Nature and movement are how I think and recharge.</p>
|
||
</div>
|
||
</section>
|
||
|
||
<section class="band light contact" data-bg="light" id="contact">
|
||
<div class="wrap narrow reveal">
|
||
<p class="eyebrow">Start a conversation</p>
|
||
<h2>This doesn't have to be fully <em>figured out yet.</em></h2>
|
||
<p>If you're navigating complexity, change, or an important moment for your team, you're welcome to reach out. Share a bit about what's on your mind, and we'll explore together whether this support might help.</p>
|
||
<p class="actions center">
|
||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20min-opencommunications-meeting" data-cal-link="michaelvictory/20min-opencommunications-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a conversation</a>
|
||
<a class="btn link" href="mailto:michael@opencommunications.consulting?subject=A%20conversation%20with%20Inga%20—%20Open%20Communications">Email us</a>
|
||
<a class="btn link tel" data-p1="778" data-p2="985" data-p3="6736" href="mailto:michael@opencommunications.consulting">Call 778‑985‑OPEN (6736)</a>
|
||
</p>
|
||
<p class="promise">The first conversation is free and commits you to nothing.</p>
|
||
</div>
|
||
</section>
|
||
|
||
</main>
|
||
|
||
<footer class="site-footer" data-bg="dark">
|
||
<div class="footer-bg" aria-hidden="true">
|
||
<svg class="footer-bg-img" viewBox="0 0 1267.12 317" xmlns="http://www.w3.org/2000/svg" aria-hidden="true">
|
||
<path d="M158.5,0C70.96,0,0,70.96,0,158.5s70.96,158.5,158.5,158.5,158.5-70.96,158.5-158.5S246.04,0,158.5,0ZM158.42,210.08c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5Z"/>
|
||
<path d="M475.45.08c-87.54,0-158.5,70.96-158.5,158.5,0,1.27.02,2.54.05,3.81v154.87h106.87v-158.6h0c0-28.44,23.06-51.5,51.5-51.5s51.5,23.06,51.5,51.5-23.06,51.5-51.5,51.5c-6.49,0-12.7-1.21-18.42-3.41v109.24c6.07.71,12.24,1.08,18.5,1.08,87.54,0,158.5-70.96,158.5-158.5S562.99.08,475.45.08Z"/>
|
||
<path d="M791.96,210.25c-28.44,0-51.5-23.06-51.5-51.5s23.06-51.5,51.5-51.5,51.5,23.06,51.5,51.5c0,6.49-1.21,12.7-3.41,18.42h109.41c.71-6.07,1.08-12.24,1.08-18.5C950.54,71.13,879.57.17,792.04.17s-158.5,70.96-158.5,158.5,70.96,158.5,158.5,158.5c69.48,0,128.51-44.71,149.91-106.92h-149.99Z"/>
|
||
<path d="M1109.31,0h0S950.12,0,950.12,0v159.19h0c.35,81.64,62.41,148.7,141.95,156.95v-156.13c0-9.14,7.41-16.54,16.54-16.54s16.54,7.41,16.54,16.54v156.13c79.76-8.27,141.96-75.69,141.96-157.64C1267.12,71.19,1196.53.38,1109.31,0Z"/>
|
||
</svg>
|
||
</div>
|
||
<div class="footer-content">
|
||
<div class="footer-block">
|
||
<div class="footer-logo"><img class="footer-logo-img" src="assets/brand/oc-logo-wh.svg" alt="Open Communications"></div>
|
||
<nav class="footer-links" aria-label="Footer">
|
||
<a href="index.html#problem">The problem</a>
|
||
<a href="index.html#work">How we work</a>
|
||
<a href="index.html#who">Who we are</a>
|
||
<a href="https://shopwisdom.ca">ShopWisdom</a>
|
||
</nav>
|
||
<p class="footer-copy">Open Communications and ShopWisdom are practices of Open Communications, owned and operated by Michael Victory · British Columbia, Canada</p>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<div class="float-cta">
|
||
<a class="btn" href="https://cal.shopwisdom.ca/michaelvictory/20min-opencommunications-meeting" data-cal-link="michaelvictory/20min-opencommunications-meeting" data-cal-origin="https://cal.shopwisdom.ca" data-cal-config='{"theme":"light"}'>Book a conversation</a>
|
||
</div>
|
||
|
||
<script>
|
||
(function () {
|
||
for (var l of document.querySelectorAll('a.tel')) {
|
||
l.setAttribute('href', 'tel:+1' + l.dataset.p1 + l.dataset.p2 + l.dataset.p3);
|
||
}
|
||
var toggle = document.getElementById('navToggle');
|
||
var menu = document.getElementById('navMobileMenu');
|
||
function closeMenu() {
|
||
menu.classList.remove('open'); toggle.classList.remove('open');
|
||
toggle.setAttribute('aria-label', 'Open menu'); toggle.setAttribute('aria-expanded', 'false');
|
||
}
|
||
if (toggle && menu) {
|
||
toggle.addEventListener('click', function () {
|
||
var open = !menu.classList.contains('open');
|
||
menu.classList.toggle('open', open); toggle.classList.toggle('open', open);
|
||
toggle.setAttribute('aria-label', open ? 'Close menu' : 'Open menu');
|
||
toggle.setAttribute('aria-expanded', open ? 'true' : 'false');
|
||
updateNavTheme();
|
||
});
|
||
for (var a of menu.querySelectorAll('a')) { a.addEventListener('click', closeMenu); }
|
||
}
|
||
var nav = document.getElementById('nav');
|
||
var sections = Array.prototype.slice.call(document.querySelectorAll('[data-bg]'));
|
||
function darkBehind(y) {
|
||
for (var i = 0; i < sections.length; i++) {
|
||
var r = sections[i].getBoundingClientRect();
|
||
if (r.top <= y && r.bottom > y) return sections[i].dataset.bg === 'dark';
|
||
}
|
||
return false;
|
||
}
|
||
function updateNavTheme() {
|
||
nav.classList.toggle('scrolled', window.scrollY > 24);
|
||
var nr = nav.getBoundingClientRect();
|
||
nav.classList.toggle('on-dark', darkBehind((nr.top + nr.bottom) / 2));
|
||
if (menu && menu.classList.contains('open')) {
|
||
var links = menu.querySelectorAll('a');
|
||
var probe = links.length ? links[links.length - 1].getBoundingClientRect().bottom
|
||
: (function () { var mr = menu.getBoundingClientRect(); return (mr.top + mr.bottom) / 2; })();
|
||
menu.classList.toggle('on-dark', darkBehind(probe));
|
||
}
|
||
}
|
||
updateNavTheme();
|
||
window.addEventListener('scroll', function () { window.requestAnimationFrame(updateNavTheme); }, { passive: true });
|
||
window.addEventListener('resize', updateNavTheme);
|
||
})();
|
||
</script>
|
||
|
||
<!-- Cal.com booking embed -->
|
||
<script>
|
||
(function (C, A, L) { let p = function (a, ar) { a.q.push(ar); }; let d = C.document; C.Cal = C.Cal || function () { let cal = C.Cal; let ar = arguments; if (!cal.loaded) { cal.ns = {}; cal.q = cal.q || []; d.head.appendChild(d.createElement("script")).src = A; cal.loaded = true; } if (ar[0] === L) { const api = function () { p(api, arguments); }; const namespace = ar[1]; api.q = api.q || []; if (typeof namespace === "string") { cal.ns[namespace] = cal.ns[namespace] || api; p(cal.ns[namespace], ar); p(cal, ["initNamespace", namespace]); } else p(cal, ar); return; } p(cal, ar); }; })(window, "https://cal.shopwisdom.ca/embed/embed.js", "init");
|
||
Cal("init", { origin: "https://cal.shopwisdom.ca" });
|
||
</script>
|
||
|
||
<!-- Motion: reveal-on-scroll + persistent CTA + count-up stats. Gated on html.has-motion. -->
|
||
<script>
|
||
(function () {
|
||
var root = document.documentElement;
|
||
var rm = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||
|
||
// reveal
|
||
if (root.classList.contains('has-motion')) {
|
||
var nodes = [].slice.call(document.querySelectorAll('.reveal'));
|
||
function showAll() { nodes.forEach(function (n) { n.classList.add('in'); }); }
|
||
try {
|
||
if ('IntersectionObserver' in window) {
|
||
var io = new IntersectionObserver(function (entries) {
|
||
entries.forEach(function (e) { if (e.isIntersecting) { e.target.classList.add('in'); io.unobserve(e.target); } });
|
||
}, { rootMargin: '0px 0px -10% 0px', threshold: 0.12 });
|
||
nodes.forEach(function (n) { io.observe(n); });
|
||
} else { showAll(); }
|
||
} catch (err) { showAll(); }
|
||
}
|
||
|
||
// persistent CTA (shown past the hero, hidden near contact)
|
||
var cta = document.querySelector('.float-cta');
|
||
var hero = document.querySelector('.inga-hero');
|
||
var contact = document.getElementById('contact');
|
||
if (cta && hero) {
|
||
var upd = function () {
|
||
var pastHero = window.scrollY > hero.offsetHeight - 90;
|
||
var atContact = contact && contact.getBoundingClientRect().top < window.innerHeight * 0.92;
|
||
cta.classList.toggle('show', pastHero && !atContact);
|
||
};
|
||
upd();
|
||
window.addEventListener('scroll', function () { window.requestAnimationFrame(upd); }, { passive: true });
|
||
window.addEventListener('resize', upd);
|
||
}
|
||
|
||
// count the proof numbers up when the stats block is on-screen
|
||
var statsEl = document.querySelector('.stats');
|
||
var counters = [].slice.call(document.querySelectorAll('[data-count]'));
|
||
if (statsEl && counters.length && 'IntersectionObserver' in window) {
|
||
counters.forEach(function (c) { c.textContent = '0'; });
|
||
var runC = function (el) {
|
||
var to = parseInt(el.getAttribute('data-count'), 10), dur = 2400, t0 = null;
|
||
var tick = function (ts) {
|
||
if (!t0) t0 = ts;
|
||
var prog = Math.min((ts - t0) / dur, 1), e = 1 - Math.pow(1 - prog, 3);
|
||
el.textContent = Math.round(e * to);
|
||
if (prog < 1) requestAnimationFrame(tick);
|
||
};
|
||
requestAnimationFrame(tick);
|
||
};
|
||
var started = false;
|
||
var nio = new IntersectionObserver(function (es) {
|
||
es.forEach(function (e) { if (e.isIntersecting && !started) { started = true; counters.forEach(runC); nio.disconnect(); } });
|
||
}, { threshold: 0.6 });
|
||
nio.observe(statsEl);
|
||
} else {
|
||
counters.forEach(function (c) { c.textContent = c.getAttribute('data-count'); });
|
||
}
|
||
})();
|
||
</script>
|
||
|
||
</body>
|
||
</html>
|