Perf: self-host fonts (drop render-blocking Google Fonts) + defer Cal embed + lighter mobile hero

Self-hosted woff2 (8 latin faces, subset, font-display swap), preload H1/body faces; removed Google Fonts link. Cal embed now loads on first interaction, not page load. Re-encoded mobile hero 1.9MB->0.48MB. A11y: eyebrow size up to 0.72rem + amber text -> amber-deep.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-25 19:16:32 -07:00
parent 993eae882c
commit cc6212b5c6
11 changed files with 16 additions and 6 deletions
+5 -4
View File
@@ -6,9 +6,10 @@
<meta name="theme-color" content="#0f1729">
<title>Open Communications | The Human Side of Change — for Canadian Manufacturers</title>
<meta name="description" content="New systems don't fail on the tech — they fail on the people. Open Communications helps the people in your shop trust the change, share what they know, and lead through it — so the work actually sticks. The human side of ShopWisdom.">
<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&display=swap">
<link rel="preload" href="assets/fonts/playfair-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/playfair-400i.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/dmsans-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="assets/fonts/lora-400.woff2" as="font" type="font/woff2" crossorigin>
<link rel="stylesheet" href="style.css">
<meta name="robots" content="index,follow">
<link rel="canonical" href="https://www.opencommunications.consulting/">
@@ -419,7 +420,7 @@
<!-- Cal.com booking embed (opens the booking popup on-brand; href is the no-JS fallback) -->
<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" });
(function(){var d=false;function go(){if(d)return;d=true;Cal("init",{origin:"https://cal.shopwisdom.ca"});}var ev=["pointerdown","mousemove","touchstart","scroll","keydown"];function on(){go();ev.forEach(function(e){window.removeEventListener(e,on);});}ev.forEach(function(e){window.addEventListener(e,on,{passive:true});});})();
</script>
<!-- Hero ambient loop: poster-first. Loads the video only when appropriate (skipped on Save-Data / reduced-motion); poster or paper bg shows if autoplay is blocked. -->