Inga: ambient wave loop, subtle scroll motion, check-list outcomes, nav caps
- Hero: drop the dusty-blue orb; add the thin-line wave loop Mike liked, paper- blended on the left so the headline stays clean (50% opacity, save-data/reduced -motion gated, fades in on play). - Motion: subtle reveal-on-scroll for below-fold sections (gated on has-motion, reduced-motion off, hero never animates — LCP/CLS safe), same idea as OC. - "What changes when we work together": replace the arrow bullets (read like a flow chart) with a clean single-column check-list with divider lines. - Nav: capitalize "The Moment" and "Where to Start". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
+41
-9
@@ -16,6 +16,7 @@
|
||||
<meta property="og:title" content="Inga Michaelsen — leadership & team coaching">
|
||||
<meta property="og:description" content="How you work together is everything. Systems-aware, trauma-informed coaching and facilitation for teams doing meaningful work in a complex world.">
|
||||
<!-- NOTE: contact/scheduling intentionally excluded in this build. Booking + form get wired in at handoff to Inga. -->
|
||||
<script>document.documentElement.className += ' has-motion';</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -25,9 +26,9 @@
|
||||
<img src="assets/brand/inga-logo.svg" alt="Inga Michaelsen">
|
||||
</a>
|
||||
<nav class="nav-links" aria-label="Main">
|
||||
<a href="#familiar">The moment</a>
|
||||
<a href="#familiar">The Moment</a>
|
||||
<a href="#approach">Approach</a>
|
||||
<a href="#services">Where to start</a>
|
||||
<a href="#services">Where to Start</a>
|
||||
<a href="#about">About</a>
|
||||
<a class="btn" href="#contact">Let's talk</a>
|
||||
</nav>
|
||||
@@ -41,9 +42,9 @@
|
||||
</div>
|
||||
</header>
|
||||
<div class="nav-mobile" id="navMobile">
|
||||
<a href="#familiar">The moment</a>
|
||||
<a href="#familiar">The Moment</a>
|
||||
<a href="#approach">Approach</a>
|
||||
<a href="#services">Where to start</a>
|
||||
<a href="#services">Where to Start</a>
|
||||
<a href="#about">About</a>
|
||||
<a class="btn" href="#contact">Let's talk</a>
|
||||
</div>
|
||||
@@ -51,12 +52,14 @@
|
||||
<main id="top">
|
||||
|
||||
<section class="hero">
|
||||
<div class="hero-orb" aria-hidden="true"></div>
|
||||
<div class="hero-media" aria-hidden="true">
|
||||
<video class="hero-video" muted loop playsinline preload="none" data-src-mp4="assets/media/hero-loop.mp4"></video>
|
||||
</div>
|
||||
<div class="wrap">
|
||||
<p class="eyebrow">Leadership & team coaching · facilitation</p>
|
||||
<h1>In a complex world, how you work together is <em>everything.</em></h1>
|
||||
<p class="lead">Leadership and team development for organizations doing meaningful work in an unpredictable world — building the capacity to perform and relate well, even when the path isn't clear.</p>
|
||||
<div class="actions"><a class="btn" href="#contact">Let's talk</a><a class="btn ghost" href="#services">Where to start</a></div>
|
||||
<div class="actions"><a class="btn" href="#contact">Let's talk</a><a class="btn ghost" href="#services">Where to Start</a></div>
|
||||
<div class="hero-creds">
|
||||
<span>Professional Certified Coach (PCC)</span>
|
||||
<span>Team Coach (ACTC)</span>
|
||||
@@ -110,7 +113,7 @@
|
||||
|
||||
<section class="band-tint" id="services">
|
||||
<div class="wrap">
|
||||
<p class="eyebrow">Where to start</p>
|
||||
<p class="eyebrow">Where to Start</p>
|
||||
<h2>Focused, time-bound, practical.</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">
|
||||
@@ -259,9 +262,9 @@
|
||||
<div class="wrap">
|
||||
<div class="foot-logo"><img src="assets/brand/inga-logo-wh.svg" alt="Inga Michaelsen"></div>
|
||||
<nav aria-label="Footer">
|
||||
<a href="#familiar">The moment</a>
|
||||
<a href="#familiar">The Moment</a>
|
||||
<a href="#approach">Approach</a>
|
||||
<a href="#services">Where to start</a>
|
||||
<a href="#services">Where to Start</a>
|
||||
<a href="#about">About</a>
|
||||
</nav>
|
||||
<p class="fine">Leadership & team coaching · facilitation · Victoria, BC, Canada · Professional Certified Coach (PCC), Team Coach (ACTC), International Coaching Federation.</p>
|
||||
@@ -285,5 +288,34 @@
|
||||
})();
|
||||
</script>
|
||||
|
||||
<script>
|
||||
(function () {
|
||||
var root = document.documentElement;
|
||||
var rm = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
// hero ambient video — load only when motion is welcome and the connection allows
|
||||
var hv = document.querySelector('.hero-video');
|
||||
var conn = navigator.connection || {};
|
||||
if (hv && !rm && conn.saveData !== true) {
|
||||
var mp4 = hv.getAttribute('data-src-mp4');
|
||||
if (mp4) {
|
||||
var s = document.createElement('source'); s.src = mp4; s.type = 'video/mp4';
|
||||
hv.appendChild(s); hv.load();
|
||||
hv.addEventListener('playing', function () { hv.classList.add('is-playing'); }, { once: true });
|
||||
var p = hv.play(); if (p && p.catch) p.catch(function () {});
|
||||
}
|
||||
}
|
||||
// subtle reveal on scroll
|
||||
var nodes = [].slice.call(document.querySelectorAll('main section:not(.hero) > .wrap'));
|
||||
if (root.classList.contains('has-motion') && !rm && 'IntersectionObserver' in window) {
|
||||
var io = new IntersectionObserver(function (es) {
|
||||
es.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 {
|
||||
nodes.forEach(function (n) { n.classList.add('in'); });
|
||||
}
|
||||
})();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -112,9 +112,13 @@ section { padding-block: clamp(3.4rem, 7vw, 6rem); scroll-margin-top: 86px; }
|
||||
font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
|
||||
.hero-creds span { position: relative; }
|
||||
.hero-creds span + span::before { content: "·"; position: absolute; left: -.75rem; color: var(--accent); }
|
||||
.hero-orb { position: absolute; right: -12vw; top: -10vw; width: 46vw; max-width: 620px; aspect-ratio: 1;
|
||||
background: radial-gradient(circle at 35% 35%, var(--accent-soft), rgba(157,189,199,.22) 60%, transparent 72%);
|
||||
border-radius: 50%; z-index: 1; pointer-events: none; }
|
||||
/* ambient hero loop (thin-line wave flow) — paper-blended on the left so text stays clean */
|
||||
.hero-media { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; background: var(--paper); }
|
||||
.hero-media::after { content: ""; position: absolute; inset: 0;
|
||||
background: linear-gradient(100deg, var(--paper) 24%, rgba(246,245,242,.55) 46%, rgba(246,245,242,0) 72%); }
|
||||
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block;
|
||||
opacity: 0; transition: opacity 1.1s ease; }
|
||||
.hero-video.is-playing { opacity: .5; }
|
||||
|
||||
/* ---- symptom list ---- */
|
||||
.checklist { list-style: none; padding: 0; margin: 1.8rem 0 0; display: grid; gap: .85rem; }
|
||||
@@ -129,11 +133,12 @@ section { padding-block: clamp(3.4rem, 7vw, 6rem); scroll-margin-top: 86px; }
|
||||
.bio-card { background: var(--accent-soft); border-radius: 18px; padding: clamp(1.4rem,3vw,2rem); }
|
||||
.bio-card h3 { margin-top: 0; }
|
||||
|
||||
/* ---- outcomes ---- */
|
||||
.outcomes { list-style: none; padding: 0; margin: 1.8rem 0 0; display: grid; gap: .9rem; }
|
||||
@media (min-width: 720px) { .outcomes { grid-template-columns: 1fr 1fr; gap: .9rem 2rem; } }
|
||||
.outcomes li { position: relative; padding-left: 1.9rem; }
|
||||
.outcomes li::before { content: "→"; position: absolute; left: 0; color: var(--accent-ink); font-weight: 700; }
|
||||
/* ---- outcomes (clean check-list, not a flow chart) ---- */
|
||||
.outcomes { list-style: none; padding: 0; margin: 1.4rem 0 0; }
|
||||
.outcomes li { position: relative; padding: .72rem 0 .72rem 2rem; line-height: 1.5; color: var(--charcoal); }
|
||||
.outcomes li + li { border-top: 1px solid rgba(53,107,123,.16); }
|
||||
.outcomes li::before { content: "✓"; position: absolute; left: .05rem; top: .72rem;
|
||||
color: var(--accent-ink); font-weight: 800; font-size: .96em; line-height: 1.5; }
|
||||
|
||||
/* ---- service cards ---- */
|
||||
.cards { display: grid; gap: 1.1rem; margin-top: 2.2rem; }
|
||||
@@ -190,4 +195,13 @@ section { padding-block: clamp(3.4rem, 7vw, 6rem); scroll-margin-top: 86px; }
|
||||
.site-footer nav a:hover { color: var(--accent); }
|
||||
.site-footer .fine { font-size: .82rem; color: rgba(246,245,242,.55); max-width: 60ch; }
|
||||
|
||||
/* ---- motion: subtle reveal on scroll (gated; hero never animates; CLS-safe) ---- */
|
||||
.has-motion main section:not(.hero) > .wrap {
|
||||
opacity: 0; transform: translateY(16px); transition: opacity .7s ease, transform .7s ease;
|
||||
}
|
||||
.has-motion main section:not(.hero) > .wrap.in { opacity: 1; transform: none; }
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.has-motion main section:not(.hero) > .wrap { opacity: 1; transform: none; transition: none; }
|
||||
}
|
||||
|
||||
:focus-visible { outline: 3px solid var(--accent-ink); outline-offset: 2px; border-radius: 3px; }
|
||||
|
||||
Reference in New Issue
Block a user