<!DOCTYPE html>
<html class="h-full scroll-smooth" lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" /><link rel="icon" href="https://www.happycog.com/favicon.ico" sizes="any">
        <link rel="icon" href="https://www.happycog.com/icon.svg" type="image/svg+xml">
        <link rel="apple-touch-icon" href="https://www.happycog.com/apple-touch-icon.png">
        <link rel="manifest" href="https://www.happycog.com/manifest.webmanifest">                    <link rel="preconnect" href="https://happycog.imgix.net">
                                    <link rel="dns-prefetch" href="https://cdn-assets.happycog.com">
                <link rel="dns-prefetch" href="https://player.vimeo.com">
        <link rel="dns-prefetch" href="https://app.termly.io"><link rel="preload" as="font" type="font/woff2" crossorigin href="https://www.happycog.com//dist/ABCSocial-Regular-19d11df6.woff2">
        <link rel="preload" as="font" type="font/woff2" crossorigin href="https://www.happycog.com//dist/AntiqueNo6-Light-Web-7314b10b.woff2">

                <script defer type="text/javascript" src="https://app.termly.io/resource-blocker/cfe60a28-d3cb-4daa-bb2e-49893770e2e4?autoBlock=off"></script>

        
        <script type="module">!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver((e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)if("LINK"===e.tagName&&"modulepreload"===e.rel)r(e);else if(e.querySelectorAll)for(const o of e.querySelectorAll("link[rel=modulepreload]"))r(o)})).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerpolicy&&(r.referrerPolicy=e.referrerpolicy),"use-credentials"===e.crossorigin?r.credentials="include":"anonymous"===e.crossorigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();</script>
<script type="module" id="mainjs" src="https://www.happycog.com//dist/main-b3183452.js" crossorigin onload="e=new CustomEvent(&#039;vite-script-loaded&#039;, {detail:{path: &#039;src/js/main.js&#039;}});document.dispatchEvent(e);"></script>
<link href="https://www.happycog.com//dist/main-3a703d92.css" rel="stylesheet">
        <script defer src="https://player.vimeo.com/api/player.js"></script>

        <meta name="google-site-verification" content="poeZX3i1aRc-IYlH-IN5eh5WzJHQRNkiu3-d9dxk9B0" />
        <meta name="facebook-domain-verification" content="veb0m2ipw8quzdxqiwtyjuwgrykqm6" /><title>Insights | Happy Cog® | People first</title>
<script>dataLayer = [];
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-K48WB6Z');
</script>

<script type="text/javascript">var _rollbarConfig = {"accessToken":"d929c55b14664420aa12e8d780b5ba9f","captureUncaught":true,"captureUnhandledRejections":true,"captureIp":false,"payload":{"environment":"production"}};!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(4);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.17.0/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2);function t(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var a=0;function l(r,e){this.options=r,this._rollbarOldOnError=null;var o=a++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var i=o(3),s=function(r,e){return new l(r,e)},d=function(r){return new i(s,r)};function c(r){return t((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}l.prototype.loadFull=function(r,e,o,n,a){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=t((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,t,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(t=n.args||[],i=0;i<t.length;++i)if("function"==typeof(l=t[i])){l(e);break}}"function"==typeof a&&a(e)}()}})),d.insertBefore(i,s)},l.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var u="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),p=0;p<u.length;++p)l.prototype[u[p]]=c(u[p]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var a=new d(e);return t((function(){e.captureUncaught&&(a._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,a,!0),e.wrapGlobalEventHandlers&&n.wrapGlobals(r,a,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,a,!0);var t=e.autoInstrument;return!1!==e.enabled&&(void 0===t||!0===t||"object"==typeof t&&t.network)&&r.addEventListener&&(r.addEventListener("load",a.captureLoad.bind(a)),r.addEventListener("DOMContentLoaded",a.captureDomContentLoaded.bind(a))),r[o]=a,a}))()}},Rollbar:d}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}function t(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}},wrapGlobals:function(r,e,o){if(r){var n,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(n=0;n<l.length;++n)r[a=l[n]]&&r[a].prototype&&t(e,r[a].prototype,o)}}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);;</script><meta name="generator" content="SEOmatic">
<meta name="description" content="Brief musings on who we are and what we’ve been up to.">
<meta name="referrer" content="no-referrer-when-downgrade">
<meta name="robots" content="all">
<meta content="en_US" property="og:locale">
<meta content="Happy Cog® | People first™" property="og:site_name">
<meta content="website" property="og:type">
<meta content="https://www.happycog.com/insights" property="og:url">
<meta content="Insights | Happy Cog® | People first" property="og:title">
<meta content="Brief musings on who we are and what we’ve been up to." property="og:description">
<meta content="https://www.linkedin.com/company/happy-cog" property="og:see_also">
<meta content="https://www.instagram.com/happycog/" property="og:see_also">
<meta content="https://www.facebook.com/happycog" property="og:see_also">
<meta content="https://twitter.com/happycog" property="og:see_also">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@happycog">
<meta name="twitter:creator" content="@happycog">
<meta name="twitter:title" content="Insights | Happy Cog® | People first">
<meta name="twitter:description" content="Brief musings on who we are and what we’ve been up to.">
<link href="https://www.happycog.com/insights" rel="canonical">
<link href="https://www.happycog.com/" rel="home">
<link type="text/plain" href="https://www.happycog.com/humans.txt" rel="author">
<style>            .text-header-theme { color: var(--header-theme, #c8c8c8) }
        .text-cog { color: var(--cog-theme, #c8c8c8) }
        .text-hero-header { color: var(--hero-header, #c8c8c8) }
        .text-accent { color: var(--accent, #c8c8c8) }
        .text-theme { color: var(--theme, #c8c8c8) }
        .bg-theme { background-color: var(--bg, #8053a2) }
        .before\:text-accent:before { color: var(--accent, #c8c8c8) }
        .\!text-accent { color: var(--accent, #c8c8c8) !important }
        .bg-theme-gradient { background-image: linear-gradient(to right, rgba(255, 255, 255, 0), var(--bg, #8053a2)) }
        .after\:bg-theme-gradient:after { background-image: linear-gradient(to right, rgba(255, 255, 255, 0), var(--bg, #8053a2)) }
        .group:hover .group-hover\:text-accent { color: var(--accent, #c8c8c8) }
        .hover\:text-accent:hover { color: var(--accent, #c8c8c8) }
        .border-theme { border-color: var(--theme, #c8c8c8) }
    </style></head>

    <body class="antialiased h-full text-theme bg-theme font-sans transition-all"><noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-K48WB6Z"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>

        <a href="#main-content" class="skip-link">Skip to main content</a>
            <div
        class="kern ligatures flex min-h-screen flex-col overflow-hidden"
        id="page-wrapper"
        x-data="{
            currentTheme: {
                backgroundColor: '',
                textColor: '',
                accentColor: '',
            },
            themeBlocks: [],
            footerTheme:{
                backgroundColor: '#F5F4F1',
                textColor: '#1B1B1B',
                accentColor: '#1B1B1B'
            },
            pageTheme:{
                backgroundColor: '#8053a2',
                textColor: '#c8c8c8',
                accentColor: '#c8c8c8'
            },
            defaultTheme:{
                backgroundColor: '#F5F4F1',
                textColor: '#1B1B1B',
                accentColor: '#1B1B1B'
            },
            switchToThemeBlock(index) {
                if (this.themeBlocks[index]) {
                    this.setCurrentTheme(this.themeBlocks[index]);
                }
            },
            switchToSpecialTheme(name){
                if(name == 'page'){
                    this.setCurrentTheme(this.pageTheme);
                }else if (name == 'footer'){
                    this.setCurrentTheme(this.footerTheme);
                }else{
                    this.setCurrentTheme(this.defaultTheme);
                }
            },
            setCurrentTheme(theme){
                this.currentTheme['backgroundColor'] = theme.backgroundColor;
                this.currentTheme['textColor'] = theme.textColor;
                this.currentTheme['accentColor'] = theme.accentColor;
            },
            styleTheme(theme){
                document.body.style.setProperty('--bg', this.currentTheme['backgroundColor'] )
                document.body.style.setProperty('--theme', this.currentTheme['textColor'] )
                document.body.style.setProperty('--accent', this.currentTheme['accentColor'] )
            },
            lightOrDark(color){
                let r, g, b, hsp;

                if (color.match(/^rgb/)) {
                    color = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/);

                    r = color[1];
                    g = color[2];
                    b = color[3];
                } else {
                    color = +('0x' + color.slice(1).replace(
                    color.length < 5 && /./g, '$&$&'));

                    r = color >> 16;
                    g = color >> 8 & 255;
                    b = color & 255;
                }

                hsp = Math.sqrt(
                    0.299 * (r * r) +
                    0.587 * (g * g) +
                    0.114 * (b * b)
                );

                return hsp > 127.5
            },
            visibleThemedAreas: 0,
            footerInViewport: false,
            lightBackground: true,
        }"
        x-init="
            lightBackground = lightOrDark(currentTheme.backgroundColor),
            $watch('currentTheme', (value) => {
                styleTheme(currentTheme),
                lightBackground = lightOrDark(currentTheme.backgroundColor)
            })
        "
    >
        <div
            x-data="{
                menuOpen: false,
                menuAnimating: false,
                heroScrolled: false,
                introScrolled: false,
                themeColor: '',
                cogColor: '',
                isMobileNav: window.matchMedia('(max-width: 1023px)').matches,
                toggleMenu() {
                    if (this.menuOpen) {
                        return this.closeMenu()
                    }
                    this.menuOpen = true
                    this.menuAnimating = true
                    // Lock body scroll only at mobile/tablet widths where the menu is a
                    // full-screen overlay. At lg+ the menu is an inline nav bar.
                    document.body.classList.add('-lg:overflow-hidden')
                },
                closeMenu() {
                    if (!this.menuOpen) return
                    this.menuOpen = false
                    document.body.classList.remove('-lg:overflow-hidden')
                    setTimeout(() => {
                        this.menuAnimating = false
                    }, 1000)
                },
                                    listingOpen: false,
                    listingTrigger: null,
                    toggleListing() {
                        if (this.listingOpen) {
                            return this.closeListing()
                        }
                        // Capture trigger so we can restore focus on close (WCAG 2.4.3)
                        this.listingTrigger = document.activeElement
                        this.listingOpen = true
                    },
                    closeListing() {
                        if (!this.listingOpen) return
                        this.listingOpen = false
                        // Clear the URL hash so the next click of the listing link
                        // fires a hashchange (navigation.twig wires open/close to it).
                        if (location.hash) {
                            history.replaceState(null, '', location.pathname + location.search)
                        }
                        const trigger = this.listingTrigger
                        this.listingTrigger = null
                        if (trigger && typeof trigger.focus === 'function') {
                            trigger.focus()
                        }
                    },
                                            }"
            x-id="['menu']"
            x-init="
                                            "
            @keydown.escape="
                if (menuOpen || (typeof listingOpen !== 'undefined' && listingOpen)) {
                    $event.preventDefault()
                    closeMenu()
                    if (typeof closeListing === 'function') closeListing()
                }
            "
            @resize.window.debounce.250ms="isMobileNav = window.matchMedia('(max-width: 1023px)').matches"
                        class="relative grow"
            id="content-wrapper"
        >
        
        
            
                                
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
        
        
    
    
        
    
    
    
    <header  class="w-full z-30 pointer-events-none absolute" :class="menuOpen ? &#039; -lg:fixed&#039; : &#039;&#039;">
        

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                    <div class="relative flex justify-between py-[clamp(40px,2.7vw,53px)]">
                    <div class="">
                        <a
                            href="https://www.happycog.com/"
                            class="pointer-events-auto relative z-10 block w-[clamp(172px,11.8vw,235px)] transition-colors duration-75"
                            aria-label="Home — Happy Cog"
                            :class="menuOpen ?'text-purple-800 lg:text-current' : ''"
                        >
                                                            <svg class="wh-full fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 434 82"><path d="M414.615 40.807c0 10.088-5.163 15.087-11.323 15.087-6.522 0-9.512-4.272-9.512-15.087s2.99-15.541 9.512-15.541 11.323 4.726 11.323 15.541Zm-11.776 39.171c16.577 0 22.556-4.817 22.556-18.358V26.357H434V18.63h-19.385v9.907h-.453c-2.265-7.18-8.062-11.18-14.403-11.18-11.323 0-18.117 8.453-18.117 23.45 0 14.995 6.794 22.357 18.026 22.357 7.972 0 12.048-4.181 14.222-10.088h.453v11.542c0 6.543-2.627 8.634-10.779 8.634-7.428 0-9.059-1.272-9.15-6.635h-10.96c-.816 9.361 4.619 13.36 19.385 13.36Zm-59.748-38.535c0-6.543 1.087-11.27 3.624-14.087 1.812-2 4.257-2.817 7.247-2.817 2.989 0 5.435.818 7.246 2.817 2.537 2.818 3.624 7.544 3.624 14.087 0 6.544-1.087 11.18-3.624 13.997-1.811 1.999-4.257 2.726-7.246 2.726-2.99 0-5.435-.727-7.247-2.726-2.537-2.818-3.624-7.544-3.624-13.997Zm-12.138 0c0 13.815 9.602 23.903 23.009 23.903 13.406 0 23.008-10.088 23.008-23.903 0-13.814-9.692-24.084-23.008-24.084-13.316 0-23.009 9.997-23.009 24.084Zm-90.546-22.812h-24.82v7.726h7.156l14.675 38.625c-2.356 6.908-3.986 8.27-6.523 8.27-2.536 0-3.714-1.544-3.17-5.907h-9.964c-1.087 8.816 2.808 12.633 12.5 12.633 8.787 0 11.686-3.453 15.309-13.45l14.584-40.172h7.609v-7.725h-21.649v7.726h5.978l-8.515 24.81h-.543l-8.515-24.81h5.888V18.63Zm-58.699 22.812c0-11.178 4.71-16.177 11.323-16.177s9.511 4.908 9.511 16.177c0 11.27-2.989 15.632-9.511 15.632-6.16 0-11.323-5.18-11.323-15.632Zm.724 13.815c2.174 5.635 7.066 10.088 14.222 10.088 10.327 0 18.027-8.634 18.027-23.903 0-15.268-6.794-24.084-18.117-24.084-6.341 0-12.139 4.09-14.403 11.451h-.453V18.631h-19.385v7.726h8.605v44.987h-8.605v7.726h29.621v-7.726h-9.964V55.258h.452Zm-54.985-13.815c0-11.178 4.711-16.177 11.323-16.177 6.613 0 9.512 4.908 9.512 16.177 0 11.27-2.989 15.632-9.512 15.632-6.159 0-11.323-5.18-11.323-15.632Zm.725 13.815c2.174 5.635 7.066 10.088 14.222 10.088 10.327 0 18.026-8.634 18.026-23.903 0-15.268-6.794-24.084-18.117-24.084-6.341 0-12.138 4.09-14.403 11.451h-.453V18.631h-19.385v7.726h8.606v44.987h-8.606v7.726h29.621v-7.726h-9.964V55.258h.453ZM75.27 57.62c-3.08 0-4.71-2.363-4.71-6.817 0-4.453 1.721-6.18 5.797-7.816 2.356-.908 6.885-2.272 9.784-3.18v6.089c0 6.452-5.345 11.724-10.87 11.724Zm-4.8 7.725c9.058 0 14.765-7.27 15.67-12.451h.544v2.544c0 3.363.906 6.453 3.08 8.09 1.54 1.272 4.167 1.817 8.334 1.817 5.254 0 7.79-1.273 9.602-3.636 1.812-2.453 2.083-5.725 2.083-9.542v-9.361h-5.978V53.53c0 3-1.178 4.18-3.352 4.18s-3.352-1.09-3.352-4.09V28.63c0-4-2.264-7.998-6.612-9.634-2.808-1.182-6.885-1.636-12.139-1.636-14.221 0-18.75 5.09-18.75 12.088 0 1.181.09 2.453.271 3.726h10.417c-.543-6.907 1.359-9.27 8.062-9.27 5.345 0 7.79 1.454 7.79 6.816 0 3.817-.996 5.09-3.894 5.726-2.9.545-7.972 1.454-12.139 2.635-5.888 1.909-11.414 5.363-11.414 13.36 0 9.816 6.341 12.906 11.776 12.906ZM47.46 29.537c0-8.543-4.981-12.178-11.594-12.178-6.613 0-11.504 4.271-15.309 11.724h-.634V0H0v7.725h8.877v48.623H.362v7.725h25.364v-7.725H19.93V41.443c0-4.817 1.087-8.634 2.627-10.997 1.992-2.908 4.438-4.998 7.79-4.998 4.348 0 5.888 2.09 5.888 6.27v24.63h-5.616v7.725h24.73v-7.725h-7.881v-26.81h-.006Z"/><path d="M35.866 17.359c6.613 0 11.595 3.635 11.595 12.178h.006v26.811h7.88v7.725h-24.73v-7.725h5.617v-24.63c0-4.18-1.54-6.27-5.888-6.27-3.352 0-5.797 2.09-7.79 4.998-1.54 2.363-2.627 6.18-2.627 10.997v14.905h5.797v7.725H.362v-7.725h8.515V7.725H0V0h19.923v29.083h.634c3.805-7.452 8.696-11.724 15.309-11.724ZM324.898 45.219v2.635c0 10.452-6.884 17.723-19.022 17.723-14.222 0-23.19-9.27-23.19-23.994 0-13.723 9.149-23.993 20.834-23.993 5.526 0 9.059 2.726 11.958 7.27h.543v-5.998h8.877V35.95h-6.794c-.634-3.908-5.525-11.361-12.41-11.361-7.518 0-11.051 5.18-11.051 16.087 0 11.815 4.257 18.176 12.591 18.176 7.519 0 10.78-4.816 10.78-11.451v-2.181h6.884Z"/></svg>

                                                    </a>

                                                
                                                                                                                                                </div>

                                            <div class="pointer-events-none fixed inset-x-0 top-0">
                            

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                                        <div class="flex justify-end pt-[clamp(32px,2.2vw,43px)]">
                                                <div  class="items-center lg:flex lg:justify-end pointer-events-auto" @click.outside="closeMenu()" x-trap="menuOpen">
            <div class="shrink">
                <button  class="relative z-30 group/cog wh-[clamp(51px,3.5vw,70px)] duration-75 text-accent" :class="[
            menuOpen ? &#039;-lg:!text-purple-800 lg:text-current &#039; : &#039;&#039;,
            !menuOpen &amp;&amp; heroScrolled ? &#039;!text-accent&#039; : &#039;&#039;,
            menuOpen &amp;&amp; heroScrolled ? &#039;-lg:!text-purple-800 lg:!text-accent&#039; : &#039;&#039;
        ]" @scroll.window="if (!window.matchMedia(&#039;(prefers-reduced-motion: reduce)&#039;).matches) { $refs.cog.style.transform = `rotate(${window.pageYOffset/90}deg)` }" @click="toggleMenu()" :aria-expanded="menuOpen" :aria-controls="$id(&#039;menu&#039;)" :aria-label="menuOpen ? &#039;Close main menu&#039; : &#039;Open main menu&#039;">
                                        <div class="wh-[97%] absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2">
                        <div
                            class="transition-transform duration-300 group-hover/cog:!rotate-12 group-hover/cog:!ease-in-out-back"
                            :class="menuOpen ?'lg:counter-clockwise' : 'lg:clockwise'"
                        >
                            <svg x-ref="cog" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 58 58" aria-hidden="true" class="fill-current">
                                <path d="M57.3 27.1h-2.2c-.5 0-.9-.4-.9-.9 0-.4-.1-.8-.1-1.2-.1-.5.2-.9.7-1.1l2.1-.6c.4-.1.6-.5.5-.9l-.6-2.2c-.1-.4-.5-.6-.9-.5l-2.1.6c-.5.1-.9-.1-1.1-.6-.1-.4-.3-.8-.5-1.1-.2-.4 0-1 .4-1.2l1.9-1.1c.3-.2.5-.6.3-1l-1.2-2c-.2-.3-.6-.5-1-.3l-1.9 1.1c-.4.2-.9.1-1.2-.3-.2-.3-.5-.6-.7-1-.3-.4-.3-.9.1-1.3l1.5-1.5c.3-.3.3-.7 0-1l-1.6-1.6c-.3-.3-.7-.3-1 0l-1.5 1.5c-.3.3-.9.4-1.3.1-.3-.2-.6-.5-1-.7-.4-.3-.5-.8-.3-1.2l1.1-1.9c.2-.3.1-.8-.3-1l-2-1.2c-.3-.2-.8-.1-1 .3l-1.1 1.9c-.2.4-.8.6-1.2.4-.4-.2-.7-.3-1.1-.5-.5-.2-.7-.7-.6-1.1l.6-2.1c.1-.4-.1-.8-.5-.9L35.4.4c-.4-.1-.8.1-.9.5L34 3.3c-.2.5-.6.7-1.1.7-.4-.1-.8-.1-1.2-.1-.5 0-.9-.5-.9-.9V.7c0-.4-.3-.7-.7-.7h-2.3c-.4 0-.7.3-.7.7v2.2c0 .5-.4.9-.8.9s-.8.1-1.2.1c-.5.1-.9-.1-1.1-.6l-.6-2.1c-.1-.4-.5-.6-.9-.5l-2.2.6c-.4.1-.6.5-.5.9l.6 2.1c.1.5-.1.9-.6 1.1-.4.1-.8.3-1.1.5-.4.2-1 0-1.2-.4l-1.1-1.9c-.2-.3-.6-.5-1-.3l-2 1.2c-.3.2-.5.6-.3 1l1.1 1.9c.2.4.1.9-.3 1.2-.3.2-.6.5-1 .7-.4.3-.9.3-1.3-.1L10 7.7c-.3-.3-.7-.3-1 0L7.7 9.3c-.3.3-.3.7 0 1l1.5 1.5c.3.3.4.9.1 1.3-.2.3-.5.6-.7 1-.3.4-.8.5-1.2.3l-1.9-1.1c-.3-.2-.8-.1-1 .3l-1.2 2c-.2.3-.1.8.3 1l1.9 1.1c.4.2.6.8.4 1.2-.2.4-.3.7-.5 1.1-.2.5-.7.7-1.1.6L2.2 20c-.4-.1-.8.1-.9.5l-.6 2.2c-.1.4.1.8.5.9l2.1.4c.5.1.8.6.7 1.1-.1.4-.1.8-.1 1.2-.1.5-.5.9-.9.9H.7c-.4 0-.7.3-.7.7v2.3c0 .4.3.7.7.7h2.2c.5 0 .9.4.9.9 0 .4.1.8.1 1.2.1.4-.1.8-.6 1l-2.1.6c-.4.1-.6.5-.5.9l.6 2.2c.1.4.5.6.9.5l2.1-.6c.5-.1.9.1 1.1.6.1.4.3.8.5 1.1.2.4 0 1-.4 1.2l-1.9 1.1c-.3.2-.5.6-.3 1l1.2 2c.2.3.6.5 1 .3l1.9-1.1c.4-.2.9-.1 1.2.3.2.3.5.6.7 1 .3.4.3.9-.1 1.3l-1.5 1.5c-.3.3-.3.7 0 1l1.6 1.6c.3.3.7.3 1 0l1.5-1.6c.3-.3.9-.4 1.3-.1.3.2.6.5 1 .7.4.3.5.8.3 1.2l-1.1 1.9c-.2.3-.1.8.3 1l2 1.2c.3.2.8.1 1-.3l1.1-1.9c.2-.4.8-.6 1.2-.4.4.2.7.3 1.1.5.5.2.7.7.6 1.1l-.6 2.1c-.1.4.1.8.5.9l2.2.6c.4.1.8-.1.9-.5l.6-2.1c.1-.5.6-.8 1.1-.7.4.1.8.1 1.2.1.5 0 .9.5.9.9v2.2c0 .4.3.7.7.7h2.3c.4 0 .7-.3.7-.7v-2.2c0-.5.4-.9.9-.9.4 0 .8-.1 1.2-.1.5-.1.9.2 1.1.7l.6 2.1c.1.4.5.6.9.5l2.2-.6c.4-.1.6-.5.5-.9l-.6-2.1c-.1-.5.1-.9.6-1.1.4-.1.8-.3 1.1-.5.4-.2 1 0 1.2.4l1.1 1.9c.2.3.6.5 1 .3l2-1.2c.3-.2.5-.6.3-1l-1.1-1.9c-.2-.4-.1-.9.3-1.2.3-.2.6-.5 1-.7.4-.3.9-.3 1.3.1l1.6 1.6c.3.3.7.3 1 0l1.6-1.6c.3-.3.3-.7 0-1l-1.6-1.5c-.3-.3-.4-.9-.1-1.3.2-.3.5-.6.7-1 .3-.4.8-.5 1.2-.3l1.9 1.1c.3.2.8.1 1-.3l1.2-2c.2-.3.1-.8-.3-1L53 40.5c-.4-.2-.6-.8-.4-1.2.2-.4.3-.7.5-1.1.2-.5.7-.7 1.1-.6l2.1.6c.4.1.8-.1.9-.5l.6-2.2c.1-.4-.1-.8-.5-.9l-2.6-.6c-.5-.1-.8-.6-.7-1.1.1-.4.1-.8.2-1.2 0-.5.5-.9.9-.9h2.2c.4 0 .7-.3.7-.7v-2.3c0-.3-.3-.7-.7-.7zM29 53C15.7 53 5 42.3 5 29S15.7 5 29 5s24 10.7 24 24-10.7 24-24 24z"/>
                            </svg>
                        </div>
                    </div>

                                        <svg x-show="menuOpen" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" aria-hidden="true" class="wh-full absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current" style="display: none;">
                        <path d="M29 5.25C15.88 5.25 5.25 15.88 5.25 29S15.88 52.75 29 52.75 52.75 42.12 52.75 29 42.12 5.25 29 5.25zm7.13 32.51-7.01-7.01-7.26 7.26-1.76-1.76 7.26-7.26-7.24-7.24 1.76-1.76 7.24 7.24 7-7 1.76 1.76-7 7L37.89 36l-1.76 1.76z"/>
                    </svg>

                                        <svg x-show="!menuOpen" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 58 58" aria-hidden="true" class="wh-full absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 fill-current transition-transform duration-300 group-hover/cog:!rotate-90 group-hover/cog:!ease-in-out-back">
                        <path d="M29 5.25C15.88 5.25 5.25 15.88 5.25 29S15.88 52.75 29 52.75 52.75 42.12 52.75 29 42.12 5.25 29 5.25zm-4.44 34.57v.01h-2.49V17.17h2.49v22.65zm10.37.01h-2.49V17.17h2.49v22.66z"/>
                    </svg>
                </button>
            </div>

            <div
                :id="$id('menu')"
                :role="isMobileNav ? 'dialog' : null"
                :aria-modal="isMobileNav ? 'true' : null"
                aria-label="Main menu"
                class="overflow-auto fixed inset-0 w-full h-screen transition-opacity lg:relative lg:top-auto lg:left-auto lg:z-20 lg:max-w-none lg:bg-transparent bg-stone-300 lg:h-[clamp(51px,3.5vw,70px)] lg:transition-width-opacity lg:overflow-visible"
                :class="[ menuOpen ?'-lg:translate-0 opacity-100 lg:w-full' : '-lg:translate-x-full opacity-0 lg:w-0',
                        menuAnimating ? 'lg:duration-500' : 'lg:!duration-0'
                    ]"
                x-cloak
            >
                <div
                    class="h-full"
                    x-data="{
                        servicesOpen: false,
                        servicesTimer: null,
                        openServices() { clearTimeout(this.servicesTimer); this.servicesOpen = true },
                        closeServices() { this.servicesTimer = setTimeout(() => { this.servicesOpen = false }, 180) },
                    }"
                    :class="servicesOpen ? 'lg:overflow-visible' : 'lg:overflow-hidden'"
                >
                    <nav aria-label="Primary" class="flex relative justify-center items-center px-4 h-full text-purple-800 lg:px-10 lg:ml-4 lg:bg-white box-border lg:border-black/10 lg:text-zinc-900 lg:rounded-[3.75rem]">
                                                    <ul class="flex flex-col items-center text-center lg:flex-row lg:gap-8">
                                                                                                                                                    
                                                                                    <li>
                                                <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/work" :tabindex="menuOpen ? false : &#039;-1&#039;" data-click-item='{"event":"click_navigation_link","click_text":"work","click_url":"https:\/\/www.happycog.com\/work"}'>work</a>
                                            </li>
                                                                                                                                                                                                                                
                                                                                                                                <li
                                                class="lg:static"
                                                x-data="{ mobileOpen: false }"
                                                @mouseenter="openServices()"
                                                @mouseleave="closeServices()"
                                            >
                                                <span class="hidden lg:inline-flex items-center lg:gap-1">
                                                    <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/services" :tabindex="menuOpen ? false : &#039;-1&#039;" @focus="openServices()" @blur="closeServices()" aria-haspopup="true" :aria-expanded="servicesOpen" data-click-item='{"event":"click_navigation_link","click_text":"services","click_url":"https:\/\/www.happycog.com\/services"}'>services</a>
                                                    <svg viewBox="0 0 20 37" class="hidden lg:block w-[8px] h-[15px] stroke-current transition-transform duration-200" fill="none" :class="servicesOpen ? '-rotate-180' : ''" aria-hidden="true">
                                                        <path d="M9.49059 2.74463C6.70268 7.26558 3.57332 11.7459 1.58866 16.7076C1.1426 17.8228 2.90164 14.6961 3.55112 13.6858" stroke-width="2.50083" stroke-linecap="round"/>
                                                        <path d="M10.4281 3.6825C10.8739 5.38216 11.6043 6.97997 12.3211 8.57996C13.9046 12.1147 15.5661 15.6086 16.9581 19.2259C17.3657 20.2853 18.0869 23.5739 18.0869 22.4387" stroke-width="2.50083" stroke-linecap="round"/>
                                                        <path d="M8.5542 34.7867C8.92301 23.8452 9.64831 12.9136 9.64831 1.96326" stroke-width="2.50083" stroke-linecap="round"/>
                                                    </svg>
                                                </span>

                                                                                                <button
                                                    type="button"
                                                    class="lg:hidden inline-flex items-center gap-3 
                                            link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
                                            lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
                                        "
                                                    @click="mobileOpen = !mobileOpen"
                                                    :aria-expanded="mobileOpen"
                                                    aria-controls="services-mobile-panel"
                                                >
                                                    services
                                                    <svg viewBox="0 0 20 37" class="w-[10px] h-[19px] stroke-current transition-transform duration-200 motion-reduce:transition-none" fill="none" :class="mobileOpen ? '-rotate-180' : ''" aria-hidden="true">
                                                        <path d="M9.49059 2.74463C6.70268 7.26558 3.57332 11.7459 1.58866 16.7076C1.1426 17.8228 2.90164 14.6961 3.55112 13.6858" stroke-width="2.50083" stroke-linecap="round"/>
                                                        <path d="M10.4281 3.6825C10.8739 5.38216 11.6043 6.97997 12.3211 8.57996C13.9046 12.1147 15.5661 15.6086 16.9581 19.2259C17.3657 20.2853 18.0869 23.5739 18.0869 22.4387" stroke-width="2.50083" stroke-linecap="round"/>
                                                        <path d="M8.5542 34.7867C8.92301 23.8452 9.64831 12.9136 9.64831 1.96326" stroke-width="2.50083" stroke-linecap="round"/>
                                                    </svg>
                                                </button>
                                                <div
                                                    id="services-mobile-panel"
                                                    class="lg:hidden grid grid-rows-[0fr] transition-[grid-template-rows] duration-300 ease-in-out motion-reduce:transition-none"
                                                    :class="mobileOpen ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'"
                                                    :inert="!mobileOpen"
                                                >
                                                    <div class="overflow-hidden">
                                                        <ul class="flex flex-col items-center gap-3 py-4">
                                                            <li><a href="https://www.happycog.com/services" class="link-underline font-slab text-[1.75rem] leading-tight">what we do</a></li>
                                                            <li><a href="https://www.happycog.com/services" class="link-underline font-slab text-[1.75rem] leading-tight">platforms &amp; tech</a></li>
                                                            <li><a href="/work" class="link-underline font-slab text-[1.75rem] leading-tight">industries</a></li>
                                                        </ul>
                                                    </div>
                                                </div>

                                                                                                <div
                                                    class="hidden lg:block absolute right-0 top-full pt-4 z-30"
                                                    x-show="servicesOpen"
                                                    x-cloak
                                                    @mouseenter="openServices()"
                                                    @mouseleave="closeServices()"
                                                >
                                                    <div class="w-[min(1040px,calc(100vw-3rem))] bg-white text-zinc-900 rounded-[1.5rem] shadow-2xl ring-1 ring-black/5 p-8 text-left">
                                                                                                                                                                                                                                                                                        <div class="grid grid-cols-3 gap-x-10">
                                                            <div>
                                                                <p class="font-[600] text-[13px] uppercase tracking-[0.08em] text-zinc-900 pb-3 mb-5 border-b border-black/10">What we do</p>
                                                                <ul class="flex flex-col gap-0.5">
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Digital Strategy</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">AI Transformation</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Web &amp; App Design</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">CMS Development</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Mobile App Development</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Branding &amp; Identity</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Organic SEO &amp; GEO</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Digital Analytics</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Conversion Rate Optimization</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Paid Media</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Accessibility &amp; WCAG Compliance</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Systems &amp; Platform Integration</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Replatforming &amp; Migrations</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Intranets &amp; Employee Experience</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Staff Augmentation &amp; Embedded Teams</span>
                                                                                                                                                    </li>
                                                                                                                                        <li><a href="https://www.happycog.com/services" class="inline-flex items-center gap-1.5 rounded-md -mx-2 mt-1 px-2 py-1 text-[14px] font-[600] text-[#7D2ABE] transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB]">See all         <svg viewBox="0 0 28 28" class="w-[14px] h-[14px] stroke-current shrink-0" fill="none" aria-hidden="true">
            <path d="M2.09241 3.46565C4.92504 3.50342 7.75785 3.5825 10.5848 3.34408C12.8292 3.1548 15.0438 2.70917 17.2711 2.3889C18.5855 2.19991 19.9271 1.97534 21.2568 1.92868C22.0932 1.89933 21.7198 2.98971 21.6649 3.53512C21.1341 8.80798 20.3744 14.0797 19.5982 19.3216C19.3242 21.1721 18.8167 26.7497 18.8167 24.879" stroke-width="2.50083" stroke-linecap="round"/>
            <path d="M13.5024 15.5009C14.9007 18.7815 16.5022 22.0328 18.1568 25.1916C18.2577 25.3844 18.3218 25.8397 18.5388 25.9384C18.9138 26.1088 21.964 20.9601 22.1685 20.6415C23.5623 18.4707 24.8052 16.2893 25.8503 13.9379" stroke-width="2.50083" stroke-linecap="round"/>
        </svg>
    </a></li>
                                                                </ul>
                                                            </div>
                                                            <div class="border-l border-black/10 pl-10">
                                                                <p class="font-[600] text-[13px] uppercase tracking-[0.08em] text-zinc-900 pb-3 mb-5 border-b border-black/10">Platforms &amp; tech</p>
                                                                <ul class="flex flex-col gap-0.5">
                                                                                                                                            <li>
                                                                                                                                                            <a href="/experience/wordpress-vip-development" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">WordPress         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/experience/craft-cms-development" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Craft CMS         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/stripe/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Stripe         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/experience/sanity-io-cms-development" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Sanity         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/experience/contentful-cms-development" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Contentful         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Klaviyo</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Shopify</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Salesforce</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">HubSpot</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/experience/happy-food" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Happy Food         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Webflow</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Storyblok</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Square</span>
                                                                                                                                                    </li>
                                                                                                                                        <li><a href="https://www.happycog.com/services" class="inline-flex items-center gap-1.5 rounded-md -mx-2 mt-1 px-2 py-1 text-[14px] font-[600] text-[#7D2ABE] transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB]">See all         <svg viewBox="0 0 28 28" class="w-[14px] h-[14px] stroke-current shrink-0" fill="none" aria-hidden="true">
            <path d="M2.09241 3.46565C4.92504 3.50342 7.75785 3.5825 10.5848 3.34408C12.8292 3.1548 15.0438 2.70917 17.2711 2.3889C18.5855 2.19991 19.9271 1.97534 21.2568 1.92868C22.0932 1.89933 21.7198 2.98971 21.6649 3.53512C21.1341 8.80798 20.3744 14.0797 19.5982 19.3216C19.3242 21.1721 18.8167 26.7497 18.8167 24.879" stroke-width="2.50083" stroke-linecap="round"/>
            <path d="M13.5024 15.5009C14.9007 18.7815 16.5022 22.0328 18.1568 25.1916C18.2577 25.3844 18.3218 25.8397 18.5388 25.9384C18.9138 26.1088 21.964 20.9601 22.1685 20.6415C23.5623 18.4707 24.8052 16.2893 25.8503 13.9379" stroke-width="2.50083" stroke-linecap="round"/>
        </svg>
    </a></li>
                                                                </ul>
                                                            </div>
                                                            <div class="border-l border-black/10 pl-10">
                                                                <p class="font-[600] text-[13px] uppercase tracking-[0.08em] text-zinc-900 pb-3 mb-5 border-b border-black/10">Industries</p>
                                                                <ul class="flex flex-col gap-0.5">
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/ecommerce/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">E-Commerce         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/restaurant/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Restaurant/QSR         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/non-profit/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Non-Profit         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/education/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Education         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/b2b/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">B2B         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/publishing/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Publishing         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <span class="block rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 cursor-default">Law</span>
                                                                                                                                                    </li>
                                                                                                                                            <li>
                                                                                                                                                            <a href="/verticals/financial-services/" class="group/item flex items-center gap-1.5 rounded-md -mx-2 px-2 py-1 text-[14px] leading-snug text-zinc-600 transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB] hover:text-[#7D2ABE] focus:bg-[#F6F1FB] focus:text-[#7D2ABE]">Financial Services         <svg viewBox="0 0 28 27" class="w-3 h-3 stroke-[#7D2ABE] shrink-0 opacity-[.45] transition-opacity group-hover/item:opacity-100 group-focus/item:opacity-100" fill="none" aria-hidden="true">
    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
</svg>
    </a>
                                                                                                                                                    </li>
                                                                                                                                        <li><a href="/work" class="inline-flex items-center gap-1.5 rounded-md -mx-2 mt-1 px-2 py-1 text-[14px] font-[600] text-[#7D2ABE] transition-colors no-underline hover:no-underline focus:no-underline hover:bg-[#F6F1FB]">See all         <svg viewBox="0 0 28 28" class="w-[14px] h-[14px] stroke-current shrink-0" fill="none" aria-hidden="true">
            <path d="M2.09241 3.46565C4.92504 3.50342 7.75785 3.5825 10.5848 3.34408C12.8292 3.1548 15.0438 2.70917 17.2711 2.3889C18.5855 2.19991 19.9271 1.97534 21.2568 1.92868C22.0932 1.89933 21.7198 2.98971 21.6649 3.53512C21.1341 8.80798 20.3744 14.0797 19.5982 19.3216C19.3242 21.1721 18.8167 26.7497 18.8167 24.879" stroke-width="2.50083" stroke-linecap="round"/>
            <path d="M13.5024 15.5009C14.9007 18.7815 16.5022 22.0328 18.1568 25.1916C18.2577 25.3844 18.3218 25.8397 18.5388 25.9384C18.9138 26.1088 21.964 20.9601 22.1685 20.6415C23.5623 18.4707 24.8052 16.2893 25.8503 13.9379" stroke-width="2.50083" stroke-linecap="round"/>
        </svg>
    </a></li>
                                                                </ul>
                                                            </div>
                                                        </div>
                                                        <div class="mt-8">
                                                            <a href="/work" class="inline-flex items-center gap-2.5 font-slab text-[20px] text-[#7D2ABE] no-underline hover:no-underline focus:no-underline hover:text-[#5c1f92]">
                                                                See our work
                                                                <svg viewBox="0 0 28 27" class="w-[19px] h-[19px] stroke-current shrink-0" fill="none" aria-hidden="true">
                                                                    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
                                                                    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
                                                                </svg>
                                                            </a>
                                                        </div>
                                                    </div>
                                                </div>
                                            </li>
                                                                                                                                                                                                                                
                                                                                    <li>
                                                <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/about" :tabindex="menuOpen ? false : &#039;-1&#039;" data-click-item='{"event":"click_navigation_link","click_text":" about us","click_url":"https:\/\/www.happycog.com\/about"}'> about us</a>
                                            </li>
                                                                                                                                                                                                                                
                                                                                    <li>
                                                <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/insights" :tabindex="menuOpen ? false : &#039;-1&#039;" aria-current="page" data-click-item='{"event":"click_navigation_link","click_text":"insights","click_url":"https:\/\/www.happycog.com\/insights"}'>insights</a>
                                            </li>
                                                                                                                                                                                                                                
                                                                                    <li>
                                                <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/careers" :tabindex="menuOpen ? false : &#039;-1&#039;" data-click-item='{"event":"click_navigation_link","click_text":"jobs","click_url":"https:\/\/www.happycog.com\/careers"}'>jobs</a>
                                            </li>
                                                                                                                                                                                                                                
                                                                                    <li>
                                                <a class="
 link-underline leading-5xl tracking-tight font-slab text-[3.625rem]
 lg:whitespace-nowrap lg:text-[clamp(19px,1.325vw,23px)] lg:font-sans lg:font-[500] lg:tracking-[-1%] lg:hover:text-[#7D2ABE] lg:hover:!decoration-[#B89FCC] lg:focus:text-[#7D2ABE] lg:focus:!decoration-[#B89FCC]
" href="https://www.happycog.com/contact" :tabindex="menuOpen ? false : &#039;-1&#039;" data-click-item='{"event":"click_navigation_link","click_text":"contact","click_url":"https:\/\/www.happycog.com\/contact"}'>contact</a>
                                            </li>
                                                                                                                                        </ul>
                                            </nav>
                </div>
            </div>
        </div>
    
                                    </div>
                                </div>
                        </div>
                                    </div>
            </div>
    </header>


            <main id="main-content" tabindex="-1" class="
                focus:outline-none
                md:pt-[clamp(115px,6.5vw,130px)]                            ">        



<div class="block overflow-hidden relative max-w-screen mb-[clamp(10px,1.5vw,30px)]">
            

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                    <div class="flex flex-col-reverse justify-evenly items-center">
                                                                    
                    
                    <h1 class="mx-auto text-center type-alpha-slab max-w-[32ch] text-balance " data-content="A little of what we’ve been up to.">A little of what we’ve been up to.</h1>

                                                    
    <div
        x-data="{
            visible: false,
            navItems: [{
                        title: 'Insights',
                        url: '#page-content',
                        type: 'main',
                    },{
                        title: 'About',
                        url: 'https://www.happycog.com/about',
                        type: 'external',
                    },],
        }"
        x-init="
            setTimeout(() => {
                visible = true
            }, 2000);
            navItems.filter(navItem => navItem.type === 'listing').forEach(navItem => {
                if (window.location.hash === navItem.url) {
                    toggleListing();
                }
                if (window.location.search === `?${navItem.url.replace('#','')}`) {
                    window.location.replace( `${window.location.origin}${window.location.pathname}${navItem.url}`);
                }

                window.onhashchange = () => {
                    if (location.hash === navItem.url) {
                        toggleListing();
                    } else {
                        closeListing();
                    }
                }
            });
        "
        class="fixed right-6 md:right-[3.725%] bottom-8 z-10 transition-all duration-500 ease-in-out-back"
        :class="{
            'opacity-0 pointer-events-none': footerInViewport,
            'opacity-0 translate-y-20': !visible,
        }"
        x-cloak
    >
        <div class="py-0.5 px-4 border-2 transition sm:px-6 md:px-8 lg:px-10 rounded-[90px] bg-theme text-theme border-theme">
            <ul class="flex items-center gap-grid">
                                <template x-for="navItem in navItems" :key="navItem.url">
                    <li>
                        <template x-if="navItem.type === 'main'">
                            <a
                                :href="navItem.url"
                                class="inline-flex relative items-center text-[clamp(17px,3.5vw,38px)] pr-[1em] group"
                                :class="{ 'hover:text-purple-700' : lightBackground }"
                            >
                                <span x-text="navItem.title" class="whitespace-nowrap link-underline"></span>
                                <svg
                                    viewBox="0 0 28 28"
                                    fill="none"
                                    xmlns="http://www.w3.org/2000/svg"
                                    aria-hidden="true"
                                    class="absolute right-0 scale-90 stroke-current group-hover:scale-100 size-[0.8em] transition-transform-opacity"
                                    :class="[
                                        lightBackground ? 'text-purple-700' : '',
                                        heroScrolled ? 'opacity-0' : 'opacity-100',
                                    ]"
                                >
                                    <path d="M2.09241 3.46565C4.92504 3.50342 7.75785 3.5825 10.5848 3.34408C12.8292 3.1548 15.0438 2.70917 17.2711 2.3889C18.5855 2.19991 19.9271 1.97534 21.2568 1.92868C22.0932 1.89933 21.7198 2.98971 21.6649 3.53512C21.1341 8.80798 20.3744 14.0797 19.5982 19.3216C19.3242 21.1721 18.8167 26.7497 18.8167 24.879" stroke-width="2.50083" stroke-linecap="round"/>
                                    <path d="M13.5024 15.5009C14.9007 18.7815 16.5022 22.0328 18.1568 25.1916C18.2577 25.3844 18.3218 25.8397 18.5388 25.9384C18.9138 26.1088 21.964 20.9601 22.1685 20.6415C23.5623 18.4707 24.8052 16.2893 25.8503 13.9379" stroke-width="2.50083" stroke-linecap="round"/>
                                </svg>

                                <svg
                                    viewBox="0 0 38 10"
                                    fill="none"
                                    xmlns="http://www.w3.org/2000/svg"
                                    aria-hidden="true"
                                    class="flex absolute right-0 items-center transition-opacity stroke-current size-[0.8em]"
                                    :class="[
                                        lightBackground ? 'text-purple-700' : '',
                                        heroScrolled ? 'opacity-100' : 'opacity-0',
                                    ]"
                                >
                                    <path d="M4.97222 3.22214C3.98118 4.10546 2 5.83567 2 7.31936C2 8.32363 4.94305 7.13141 5.25 6.97214C6.35735 6.39757 7.88227 4.90527 7.70833 3.51381C7.55313 2.2722 4.90304 3.92473 4.59722 4.1527C3.64503 4.86252 2.17221 6.06622 2.22222 7.41659C2.25463 8.2916 4.57736 6.86418 4.80556 6.69436C5.10934 6.46829 7.0336 4.58294 6.41667 4.0277C5.7886 3.46244 5.0177 6.69928 4.97222 6.97214" stroke-width="2.5" stroke-linecap="round"/>
                                    <path d="M16.2222 3.97217C16.1589 4.24086 15.5899 5.88525 16.3333 5.66661C17.0622 5.45221 17.9161 4.49346 18.1666 3.77772C18.5165 2.77802 16.91 5.66483 16.9722 6.72217C17.0061 7.29986 17.801 6.5736 17.9166 6.47217C18.6089 5.86484 18.8794 5.13743 19.0833 4.26383C19.4559 2.66691 17.4542 6.44255 17.2638 6.79161C15.9405 9.21778 17.5411 7.15743 17.6944 5.77772C17.8927 3.99288 15.7855 7.65567 15.8472 8.33328C15.8971 8.88259 17.4589 7.88361 17.5694 7.8055C18.3421 7.25896 18.7751 6.52687 19.2222 5.72217" stroke-width="2.5" stroke-linecap="round"/>
                                    <path d="M35.9722 2.97222C35.6941 3.27807 33.8886 6.05197 34.75 4.94444C34.9047 4.74553 36.7884 2 36.0555 2C34.5856 2 32.6869 4.08679 32.2777 5.41667C32.1393 5.8666 35.2062 4.30376 35.5277 3.22222C36.0072 1.60942 34.1217 3.58265 33.8889 4.06944C33.2833 5.33556 35.22 3.80496 34.9583 2.88889C34.9026 2.69397 34.131 3.61493 34.1111 3.63889C33.7745 4.04278 32.7621 5.0913 33.0277 5.72222C33.5329 6.92204 35.7795 3.27503 35.9722 2.97222Z" stroke-width="2.5" stroke-linecap="round"/>
                                </svg>
                            </a>
                        </template>

                        <template x-if="navItem.type === 'listing'">
                            <a
                                :href="navItem.url"
                                :aria-expanded="listingOpen"
                                aria-controls="listing"
                                :aria-label="listingOpen ? 'Close listing' : 'Open listing'"
                                class="inline-flex relative items-center text-[clamp(17px,3.5vw,38px)] pr-[0.7em] group"
                                :class="{ 'hover:text-purple-700' : lightBackground }"
                            >
                                <span x-text="navItem.title" class="whitespace-nowrap link-underline"></span>
                                <svg
                                    viewBox="0 0 20 37"
                                    fill="none"
                                    xmlns="http://www.w3.org/2000/svg"
                                    aria-hidden="true"
                                    class="absolute right-0 transition-transform scale-90 stroke-current group-hover:scale-100 h-[1.1em] w-[0.55em]"
                                    :class="{ 'text-purple-700' : lightBackground }"
                                >
                                    <path d="M9.49059 2.74463C6.70268 7.26558 3.57332 11.7459 1.58866 16.7076C1.1426 17.8228 2.90164 14.6961 3.55112 13.6858" stroke-width="2.50083" stroke-linecap="round"/>
                                    <path d="M10.4281 3.6825C10.8739 5.38216 11.6043 6.97997 12.3211 8.57996C13.9046 12.1147 15.5661 15.6086 16.9581 19.2259C17.3657 20.2853 18.0869 23.5739 18.0869 22.4387" stroke-width="2.50083" stroke-linecap="round"/>
                                    <path d="M8.5542 34.7867C8.92301 23.8452 9.64831 12.9136 9.64831 1.96326" stroke-width="2.50083" stroke-linecap="round"/>
                                </svg>
                            </a>
                        </template>

                        <template x-if="navItem.type === 'external'">
                            <a
                                :href="navItem.url"
                                class="inline-flex relative items-center text-[clamp(17px,3.5vw,38px)] pr-[1em] group"
                                :class="{ 'hover:text-purple-700' : lightBackground }"
                            >
                                <span x-text="navItem.title" class="whitespace-nowrap link-underline"></span>
                                <svg
                                    viewBox="0 0 28 27"
                                    fill="none"
                                    xmlns="http://www.w3.org/2000/svg"
                                    aria-hidden="true"
                                    class="absolute right-0 transition-transform scale-90 stroke-current group-hover:scale-100 size-[0.8em]"
                                    :class="{ 'text-purple-700' : lightBackground }"
                                >
                                    <path d="M7.57507 1.42297C10.6307 1.4518 13.6863 1.49086 16.7419 1.52741C17.5387 1.53694 22.9648 1.57652 24.4699 1.66665C25.4897 1.72771 25.5246 1.53295 25.3866 2.17721C24.72 5.288 23.7018 8.35598 22.8686 11.4253C22.1211 14.1787 21.28 16.9449 21.1629 19.8146C21.0938 21.5055 21.4625 19.4644 21.569 18.9676" stroke-width="2.48137" stroke-linecap="round"/>
                                    <path d="M25.9553 1.42297C17.3702 8.76188 9.59175 16.9493 1.72705 25.0246" stroke-width="2.48137" stroke-linecap="round"/>
                                </svg>
                            </a>
                        </template>
                    </li>
                </template>
            </ul>
        </div>
    </div>
                    

                                                                    <div class="w-full">
                            
                            


    
    <div >
                                    <div  class="aspect-[9/16] md:aspect-[2.15/1] md:p-[2%] object-scale-down">
                <div
                    class="flex flex-col justify-center h-full "
                    x-data="{
                        intersected: false,
                        src: 'https://cdn-assets.happycog.com/production/content/uploads/News_00.json',
                        loop: '',
                        timeout: '1',
                    }"
                    x-intersect.threshold.50="intersected = true"
                    x-init="
                        let instance
                        let lottieelement = $refs.lottie
                        let reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches
                        // Under reduced motion: skip to the final frame so any
                        // meaningful end-state content is still delivered.
                        let showFinalFrame = () => {
                            if (instance && instance.totalFrames) {
                                instance.goToAndStop(instance.totalFrames - 1, true)
                            }
                        }
                        if (lottieelement) {
                            // console.log('loading: ', $data.src)
                            instance = lottie.loadAnimation({
                                container: lottieelement,
                                loop: $data.loop ? true : false,
                                autoplay: false,
                                path: $data.src
                            });
                            if (reducedMotion) {
                                instance.addEventListener('DOMLoaded', showFinalFrame)
                            }
                        }
                        if ($data.timeout) {
                            setTimeout(() => {
                                // console.log('playing with 300ms timeout: ', $data.src)
                                // console.log(instance)
                                lottieelement.classList.remove('opacity-0')
                                if (!reducedMotion) instance.play()
                            }, 300)
                        } else {
                            $watch('intersected', (value, oldValue) => {
                                if (value && instance && !reducedMotion) {
                                    instance.play()
                                }
                            })
                                                    }
                    "
                >
                    <div
                        x-ref="lottie"
                        data-lottie
                        class="h-full w-full transition duration-75"
                        :class="{
                            'opacity-0': timeout,
                                                    }"
                        x-cloak
                    ></div>
                </div>
            </div>
                
            </div>

                        </div>
                                    </div>
            </div>
    </div>

    <div
        id="page-content"
        x-data="{
            intersected: false,
        }"
        x-intersect:enter.threshold.05="intersected = true"
        x-intersect:leave.threshold.05="intersected = false"
        x-init="$watch('intersected', (value, oldValue) => {
            heroScrolled = value
        })"
    >
        <div class="overflow-hidden pb-24 md:pb-40 lg:pb-[120px]">
            <div id="component-vgbplm" class="sprig-component" data-hx-target="this" data-hx-include="this" data-hx-trigger="refresh" data-hx-get="https://www.happycog.com/index.php?p=actions/sprig-core/components/render" data-hx-vals="{&quot;sprig:siteId&quot;:&quot;724000978a6659b13b49045faae26560c390f7ea4f244e4b4edcdedb39be99721&quot;,&quot;sprig:id&quot;:&quot;23143ecfcd084b72fa49c433497647e302984ca215455786c3ac7030c1fdceddcomponent-vgbplm&quot;,&quot;sprig:component&quot;:&quot;de56fdf0a2a0e64eabecd43e69043d5b47cc1f267655c3364a9872b2005c3a2f&quot;,&quot;sprig:template&quot;:&quot;7d344c12182374deb5ce90bc8dfbb58036238ccbb0f0970025ad7a79eee39402_components\/sprig\/news-listing&quot;}">






<div
    x-data="{
        loading: false,
        scrollUp: () => {
            if ($refs.filters) {
                window.scrollTo({
                    top: $refs.filters.offsetTop
                });
            }
        }
    }"
    x-id="['tab']"
    :class="{ 'cursor-wait': loading }"
    @htmx:before-request="loading = true"
    @htmx:after-settle="loading = false; scrollUp(); $refs.list?.focus()"
>
            
    <div
        id="list"
        x-ref="list"
        tabindex="-1"
        class="focus:outline-none lg:min-h-[50vh]"
        :class="{ 'opacity-0': loading }"
    >
                    

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                        <div class="my-8 lg:my-16">
                                                                                
<section
    x-data="{
        cursorHovered: false
    }"
    class=""
    x-ref="listing"
    x-init="
                    let listingElem = $refs.listing
            if (listingElem) {
                let opts = {
                    container: listingElem,
                    columns: 2,
                    margin: {
                        x: 48,
                        y: 120
                    },
                    breakAt: {
                        1024: {
                        margin: {
                                x: 48,
                                y: 48,
                            },
                        },
                        768: {
                            columns: 1
                        }
                    }
                }
                let listing = new Macy(opts);
                $nextTick(() => {
                    listing.reInit();
                });
            }
            "
>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/what-chatgpts-may-update-means-for-your-brands-website-traffic"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"What ChatGPT\u0027s May 2026 Update Means for Your Brand\u0027s Website Traffic","content_type":"News","publish_date":"July 10, 2026"}' aria-label="What ChatGPT&#039;s May 2026 Update Means for Your Brand&#039;s Website Traffic"
        >
            July 10, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">What ChatGPT's May 2026 Update Means for Your Brand's Website Traffic</div>
    </header>

            <div class="type-paragraph"><p>OpenAI recently changed how ChatGPT presents its answers.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/seo-is-no-longer-enough-why-your-brand-needs-to-be-optimized-for-ai-too"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"SEO Is No Longer Enough: Why Your Brand Needs to Be Optimized for AI, Too","content_type":"News","publish_date":"March 12, 2026"}' aria-label="SEO Is No Longer Enough: Why Your Brand Needs to Be Optimized for AI, Too"
        >
            March 12, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">SEO Is No Longer Enough: Why Your Brand Needs to Be Optimized for AI, Too</div>
    </header>

            <div class="type-paragraph"><p>You've put in the work. Your pages rank. Your organic traffic is solid. Your SEO agency sends you a monthly report full of green arrows. And then a colleague runs a prompt through ChatGPT (<em>or, pick your agent</em>) to research your industry and your brand isn't mentioned once.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/building-trust-through-design-a-respectful-ux-primer"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Building trust through design: A respectful UX primer","content_type":"News","publish_date":"March 5, 2026"}' aria-label="Building trust through design: A respectful UX primer"
        >
            March 5, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Building trust through design: A respectful UX primer</div>
    </header>

            <div class="type-paragraph"><p dir="ltr">Every design decision we make is in service of an outcome, like getting people to take a next step, building better brand recognition, and getting people behind an idea. As designers, we define these outcomes from the start of our work because they’re essential to set our course, inform our choices, and measure our success. But our designs have the potential to reach far beyond our project scope and can amount to real life situations where people are left out, trust is eroded, audiences are disrespected, and these can all cause harm.</p>
<p><br /></p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/how-happy-cogs-happyfood-platform-helps-brands-build-a-digital-ordering-experience-thats-truly-their-own"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"How Happy Cog’s Happy Food Platform Helps Brands Build a Digital Ordering Experience That’s Truly Their Own","content_type":"News","publish_date":"February 24, 2026"}' aria-label="How Happy Cog’s Happy Food Platform Helps Brands Build a Digital Ordering Experience That’s Truly Their Own"
        >
            February 24, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">How Happy Cog’s Happy Food Platform Helps Brands Build a Digital Ordering Experience That’s Truly Their Own</div>
    </header>

            <div class="type-paragraph"><p>Your POS handles operations. Happy Food handles everything your customers see.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/mastering-offline-conversion-import-a-b2b-imperative-beyond-the-form-fill"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Mastering Offline Conversion Import: A B2B Imperative Beyond the Form Fill","content_type":"News","publish_date":"February 17, 2026"}' aria-label="Mastering Offline Conversion Import: A B2B Imperative Beyond the Form Fill"
        >
            February 17, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Mastering Offline Conversion Import: A B2B Imperative Beyond the Form Fill</div>
    </header>

            <div class="type-paragraph"><p>If you’re responsible for B2B lead generation, you know the feeling: your dashboards in Google Ads or LinkedIn look great. Conversion rates are up, cost-per-lead is down, and the chart is moving in the right direction. Then you talk to your sales team. They tell you the leads are "trash."</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/introducing-nightshift-a-batch-processing-framework-for-ai-agents"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Introducing Nightshift: A Batch Processing Framework for AI Agents","content_type":"News","publish_date":"February 11, 2026"}' aria-label="Introducing Nightshift: A Batch Processing Framework for AI Agents"
        >
            February 11, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Introducing Nightshift: A Batch Processing Framework for AI Agents</div>
    </header>

            <div class="type-paragraph"><p>Most teams have repetitive, high-volume tasks that eat up their week: migrating components, generating tests, auditing content. Nightshift is a batch processing framework that delegates that work to specialized AI agents, self-improving its instructions with every item it completes.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/is-seo-dead-navigating-the-evolution-of-search-in-the-ai-era"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Is SEO Dead? Navigating the Evolution of Search in the AI Era","content_type":"News","publish_date":"February 2, 2026"}' aria-label="Is SEO Dead? Navigating the Evolution of Search in the AI Era"
        >
            Feburary 2, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Is SEO Dead?</div>
    </header>

            <div class="type-paragraph"><p dir="ltr">The question "Is SEO dead?" has become a recurring headline in our industry. The short answer is a definitive <strong>no</strong>. While the organic search landscape has undergone a dramatic transformation over the last few years, the discipline is far from obsolete; it is simply evolving.<br /></p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/beyond-the-cookie-the-2026-executive-playbook-for-privacy-first-measurement"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Beyond the Cookie: The 2026 Executive Playbook for Privacy-First Measurement","content_type":"News","publish_date":"January 26, 2026"}' aria-label="Beyond the Cookie: The 2026 Executive Playbook for Privacy-First Measurement"
        >
            January 26, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Beyond the Cookie: The 2026 Executive Playbook for Privacy-First Measurement</div>
    </header>

            <div class="type-paragraph"><p dir="ltr">The digital advertising landscape has moved past its reliance on the third-party (3P) cookie. For years, this "workhorse" of ad tech drove measurement, but persistent signal loss has rendered legacy tracking methods obsolete. In this new reality, user privacy and business performance must not only coexist but thrive together.<br /></p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/beyond-the-blue-links-surviving-and-thriving-in-the-age-of-answer-engines"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Beyond the Blue Links: Surviving (and Thriving) in the Age of Answer Engines","content_type":"News","publish_date":"January 21, 2026"}' aria-label="Beyond the Blue Links: Surviving (and Thriving) in the Age of Answer Engines"
        >
            January 21, 2026
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Beyond the Blue Links: Surviving (and Thriving) in the Age of Answer Engines</div>
    </header>

            <div class="type-paragraph"><p>The era of traditional SEO is ending. The era of AI-driven "Answer Engines" has begun. Is your organization prepared for a world where users might never click through to your website?</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/when-2500-pages-need-summaries-automating-content-previews-with-local-ai"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"When 2500+ Pages Need Summaries: Automating Content Previews with Local AI","content_type":"News","publish_date":"September 16, 2025"}' aria-label="When 2500+ Pages Need Summaries: Automating Content Previews with Local AI"
        >
            September 16, 2025
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">When 2500+ Pages Need Summaries: Automating Content Previews with Local AI</div>
    </header>

            <div class="type-paragraph"><p>At Happy Cog, we've been working with a client on their expansive content ecosystem. Their team has been incredibly productive, creating hundreds of case studies, webinars, blog posts, and resources over the years. But there was one growing challenge: most of their content lacked the concise summaries needed for listing pages, search results, and content discovery.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/google-marketing-live-recap-ai-takes-center-stage-what-it-means-for-the-future"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"Google Marketing Live Recap: AI Takes Center Stage – What It Means for the Future","content_type":"News","publish_date":"May 30, 2025"}' aria-label="Google Marketing Live Recap: AI Takes Center Stage – What It Means for the Future"
        >
            May 30, 2025
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">Google Marketing Live Recap: AI Takes Center Stage – What It Means for the Future</div>
    </header>

            <div class="type-paragraph"><p>Last week, Google unveiled its latest advancements in advertising at its annual Google Marketing Live (GML) event, and as anticipated, Artificial Intelligence (AI) dominated the conversation. These announcements signal a significant evolution in how we'll create, manage, and optimize Google Ads campaigns.</p></div>
        </article>
            <article
            class="flex relative flex-col gap-6 group/article"
        >
            
            
<header
    class="relative"
    @mouseover="cursorHovered = true"
    @mouseleave="cursorHovered = false"
>
    <h2>
        <a
            href="https://www.happycog.com/insights/8-factors-to-consider-when-choosing-the-best-content-management-system-cms"
            class="focus-visible:outline-none type-alpha-slab before:absolute before:top-1/2 before:left-1/2 before:w-full before:h-full before:-translate-x-1/2 before:-translate-y-1/2 before:rounded-lg focus-visible:before:outline focus-visible:before:outline-2 focus-visible:before:outline-offset-4 focus-visible:before:outline-current"
             data-click-item='{"event":"content_click","content_title":"8 Factors to Consider When Choosing the Best Content Management System (CMS)","content_type":"News","publish_date":"November 21, 2024"}' aria-label="8 Factors to Consider When Choosing the Best Content Management System (CMS)"
        >
            November 21, 2024
        </a>
    </h2>

            <div class="leading-none mt-1 tracking-[-0.02em] text-center text-[clamp(32px,3.5vw,68px)] z-1 group-hover/article:text-purple-500/90 transition-colors !duration-[inherit] !ease-[inherit] md:px-[2vw]">8 Factors to Consider When Choosing the Best Content Management System (CMS)</div>
    </header>

            <div class="type-paragraph"><p>When choosing a Content Management System (CMS) for your organization, there's no one-size-fits-all solution. Each business has its own needs, audiences, content strategy, and goals. For the majority of Happy Cog's clients, a CMS is in use for years, and making an optimal platform choice is key to ensure longevity and keep costs down. Whether you are building a new web property or replatforming an existing site, making the right decision requires careful consideration of several key factors.</p></div>
        </article>
    
    </section>
                                            </div>

                                            


<div class="my-11 md:my-14">
    <nav class="flex gap-2 justify-center items-center w-full uppercase md:gap-6 lg:gap-9" aria-label="Pagination">
        
        <ul class="flex gap-2 md:gap-6 lg:gap-9">
            
            
            
            <li>    <span class="relative block z-[2] before:z-[-1] before:absolute before:w-[1.5ch] before:h-7 before:top-1/2 before:left-1/2 before:-translate-x-1/2 before:-translate-y-[55%] before:border-b-2 before:border-black" aria-current="page">
        1
    </span>
</li>

                                                                            <li>    <a class="transition hover:opacity-90 link-underline link-transparent-to-green link-text-to-gray touch-target" href="https://www.happycog.com/insights?page=2" sprig aria-label="Go to page 2" s-val:page="2" s-replace="#list" data-hx-get="https://www.happycog.com/index.php?p=actions/sprig-core/components/render" data-hx-vals="{&quot;page&quot;:&quot;2&quot;}" data-hx-select="#list" data-hx-target="#list" data-hx-swap="outerHTML" data-sprig-parsed>
        2
    </a>
</li>
            
                            <li><span>...</span></li>
            
                            <li>    <a class="transition hover:opacity-90 link-underline link-transparent-to-green link-text-to-gray touch-target" href="https://www.happycog.com/insights?page=39" sprig aria-label="Go to page 39" s-val:page="39" s-replace="#list" data-hx-get="https://www.happycog.com/index.php?p=actions/sprig-core/components/render" data-hx-vals="{&quot;page&quot;:&quot;39&quot;}" data-hx-select="#list" data-hx-target="#list" data-hx-swap="outerHTML" data-sprig-parsed>
        39
    </a>
</li>
                    </ul>

                        <a class="group flex items-center gap-2 link-underline link-transparent-to-green link-text-to-gray" href="https://www.happycog.com/insights?page=2" sprig aria-label="Go to next page" s-val:page="2" s-replace="#list" data-hx-get="https://www.happycog.com/index.php?p=actions/sprig-core/components/render" data-hx-vals="{&quot;page&quot;:&quot;2&quot;}" data-hx-select="#list" data-hx-target="#list" data-hx-swap="outerHTML" data-sprig-parsed>
        <div class="transition group-hover:opacity-90">Next</div>
        <div class="flex justify-center items-center w-5 h-5 rounded-full transition delay-100 group-hover:translate-x-0.5 bg-green">
            <svg class="h-2.5 w-2.5 stroke-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
    <polyline points="9 6 15 12 9 18"/>
</svg>

        </div>
    </a>

            </nav>
</div>




                                    </div>
            </div>
</div>

</div>
        </div>
    </div>

    
<div class="absolute top-0">
    <div
        x-intersect:enter.threshold.100="() => {
                            switchToSpecialTheme('page');
                    }"
        x-intersect:leave.margin.200px="() => {
                            switchToSpecialTheme('default');
                    }"
    ></div>
</div>
            </main>

                            
<div
    class="fixed inset-x-0 z-20 mx-auto top-[clamp(45px,3.1vw,62px)]"
    :class="{
        'opacity-0 pointer-events-none': menuOpen,
    }"
>
    

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                                            <p class="pr-[clamp(68px,4.7vw,91px)] text-right font-[500] text-[clamp(19px,1.325vw,26px)]">insights</p>
                    
        </div>
</div>
                    </div>


<footer  class="relative md:z-[1]" x-data x-cloak>
    
            

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                    
                <div  id="footer-cta" class="flex flex-col gap-6 lg:gap-12 items-center justify-center h-full pt-[72px] lg:pt-[114px] pb-[72px] lg:pb-[114px]">
                                                            
                                            <h2 class="mx-auto text-center type-alpha-slab max-w-[32ch] text-balance">Like good news? Try our newsletter! (Don’t worry, it’s politely infrequent.)</h2>
                    
                    
                    
                                                                    <div class="flex justify-center">
                            <a class="button" href="https://mailchi.mp/happycog/happy-cog-newsletter" data-click-item='{"event":"click_cta","click_text":"Sign Up","click_url":"https:\/\/mailchi.mp\/happycog\/happy-cog-newsletter"}'>Sign Up</a>
                        </div>
                                    </div>
            </div>
    
    <div class="py-10">
        

<div  class="max-w-screen-3xl px-6 md:px-[3.725%] box-content mx-auto">
                    <div class="grid grid-cols-2 gap-5 sm:grid-cols-12">
                    <div class="flex gap-4 items-end sm:col-span-3 lg:col-span-2">
                        <a
                            href="https://www.happycog.com/"
                            class="mb-1.5 w-20 lg:w-[60px]"
                            aria-label="home"
                        >
                            <svg class="wh-full fill-current" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 79 48" fill="none">
    <path d="M36.706 41.675H42.8v5.856H23.677v-5.856h4.343V23.008c0-3.17-1.191-4.753-4.554-4.753-2.591 0-4.483 1.584-6.024 3.788-1.19 1.791-2.031 4.684-2.031 8.335v11.297h4.483v5.856H.28v-5.856h6.585V5.855H0V0h15.41v19.494h.421c2.942-4.684 6.725-7.37 11.488-7.37 5.324 0 9.387 2.755 9.387 9.23v20.321ZM64.28 47.981c-11.005 0-17.944-7.05-17.944-18.246 0-10.436 7.08-18.246 16.121-18.246 4.276 0 7.01 2.073 9.253 5.529h.42v-4.562H79V25.45h-5.258c-.49-2.972-4.276-8.64-9.603-8.64-5.817 0-8.55 3.94-8.55 12.234 0 8.985 3.294 13.823 9.742 13.823 5.818 0 8.341-3.663 8.341-8.709V32.5H79v2.005c0 7.948-5.327 13.477-14.72 13.477Z"/>
</svg>
                        </a>
                        <p class="opacity-60 type-paragraph">©2026</p>
                    </div>

                    <div class="sm:col-span-9 xl:col-span-8">
                        <div class="flex flex-col-reverse gap-6 justify-end h-full sm:flex-col sm:gap-1 md:flex-row md:gap-6 md:justify-evenly lg:grid lg:grid-cols-2">
                                                            <nav aria-label="Footer" class="flex items-end">
                                    <ul class="w-full sm:flex sm:flex-wrap sm:gap-x-2 lg:gap-x-6 lg:justify-center xl:gap-x-14">
                                                                                    <li>
                                                <a class="type-paragraph link-underline" href="https://www.happycog.com/privacy-policy">Privacy Policy</a>
                                            </li>
                                                                                    <li>
                                                <a class="type-paragraph link-underline" href="https://www.happycog.com/cookie-policy">Cookie Policy</a>
                                            </li>
                                                                                    <li>
                                                <a class="type-paragraph link-underline" href="/sitemap">Sitemap</a>
                                            </li>
                                                                            </ul>
                                </nav>
                            
                                                            <nav aria-label="Social media" class="flex items-end">
                                    <ul class="w-full sm:flex sm:flex-wrap sm:gap-x-2 lg:gap-x-6 lg:justify-center xl:gap-x-14">
                                                                                    <li>
                                                



<a  class="type-paragraph link-underline" href="https://twitter.com/happycog">
            X
    </a>
                                            </li>
                                                                                    <li>
                                                



<a  class="type-paragraph link-underline" href="https://www.facebook.com/happycog">
            Facebook
    </a>
                                            </li>
                                                                                    <li>
                                                



<a  class="type-paragraph link-underline" href="https://www.instagram.com/happycog/">
            Instagram
    </a>
                                            </li>
                                                                                    <li>
                                                



<a  class="type-paragraph link-underline" href="https://www.linkedin.com/company/happy-cog">
            LinkedIn
    </a>
                                            </li>
                                                                            </ul>
                                </nav>
                                                    </div>
                    </div>
                </div>
            </div>
    </div>

    </footer>
    </div>
    <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","author":{"@id":"https://www.happycog.com#identity"},"copyrightHolder":{"@id":"https://www.happycog.com#identity"},"copyrightYear":"2023","creator":{"@id":"#creator"},"dateCreated":"2023-12-20T10:40:50-05:00","dateModified":"2026-01-17T12:38:38-05:00","datePublished":"2023-12-20T10:41:00-05:00","description":"Brief musings on who we are and what we’ve been up to.","headline":"Insights | Happy Cog® | People first","inLanguage":"en-us","mainEntityOfPage":"https://www.happycog.com/insights","name":"Insights | Happy Cog® | People first","publisher":{"@id":"#creator"},"url":"https://www.happycog.com/insights"},{"@id":"https://www.happycog.com#identity","@type":"LocalBusiness","address":{"@type":"PostalAddress","addressCountry":"US","addressLocality":"New York","addressRegion":"NY"},"description":"Happy Cog is an award-winning, full-service digital agency. We offer web development, design & branding, and digital marketing services.","email":"hello@happycog.com","foundingDate":"1999","foundingLocation":"Philadelphia, PA, US","name":"Happy Cog","priceRange":"$","sameAs":["https://twitter.com/happycog","https://www.facebook.com/happycog","https://www.instagram.com/happycog/","https://www.linkedin.com/company/happy-cog"],"telephone":"+1-212-380-8227","url":"https://www.happycog.com"},{"@id":"#creator","@type":"LocalBusiness","priceRange":"$"},{"@type":"BreadcrumbList","description":"Breadcrumbs list","itemListElement":[{"@type":"ListItem","item":"https://www.happycog.com/","name":"Homepage","position":1},{"@type":"ListItem","item":"https://www.happycog.com/insights","name":"Insights","position":2}],"name":"Breadcrumbs"}]}</script><script src="https://www.happycog.com/cpresources/75601382/htmx.min.js?v=1787793383"></script>
<script src="https://www.happycog.com/cpresources/1e5ade30/access.js?v=1787793377" defer></script>
<script>function getCookie(e){for(var r=e+"=",t=document.cookie.split(";"),o=0;o<t.length;o++){for(var n=t[o];" "==n.charAt(0);)n=n.substring(1);if(0==n.indexOf(r))return n.substring(r.length,n.length)}return""}function checkCookie(){""!=getCookie("markerEnabled")&&(function(e,r,t){if(!e.__Marker){e.__Marker={};var o=[],n={__cs:o};["show","hide","isVisible","capture","cancelCapture","unload","reload","isExtensionInstalled","setReporter","setCustomData","on","off"].forEach((function(e){n[e]=function(){var r=Array.prototype.slice.call(arguments);r.unshift(e),o.push(r)}})),e.Marker=n;var i=r.createElement("script");i.async=1,i.src="https://edge.marker.io/latest/shim.js";var a=r.getElementsByTagName("script")[0];a.parentNode.insertBefore(i,a)}}(window,document),window.markerConfig={destination:"646b70ecb024acab3c3a5c09",source:"snippet",silent:!0,...getCookie("markerEmail")&&{reporter:{email:decodeURIComponent(getCookie("markerEmail")),fullName:decodeURIComponent(getCookie("markerUser"))}}})}checkCookie();</script></body>

    <script>
        window.dataLayer = window.dataLayer || [];
        window.dataLayer.push({
            event: 'initialize_dataLayer',
        });
    </script>
</html>
