1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- Primary meta --><title>About â Stiff Upper Lip | Detroit Software Development Agency</title><meta name="description" content="Stiff Upper Lip is a strategy and implementation partner for non-technical founders navigating AI, architecture, and complex engineering decisions."><link rel="canonical" href="https://wearesul.com/about"><!-- Open Graph --><meta property="og:title" content="About â Stiff Upper Lip | Detroit Software Development Agency"><meta property="og:description" content="Stiff Upper Lip is a strategy and implementation partner for non-technical founders navigating AI, architecture, and complex engineering decisions."><meta property="og:url" content="https://wearesul.com/about"><meta property="og:type" content="website"><meta property="og:image" content="https://wearesul.com/images/og-default.png"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:site_name" content="Stiff Upper Lip"><!-- Twitter / X --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="About â Stiff Upper Lip | Detroit Software Development Agency"><meta name="twitter:description" content="Stiff Upper Lip is a strategy and implementation partner for non-technical founders navigating AI, architecture, and complex engineering decisions."><meta name="twitter:image" content="https://wearesul.com/images/og-default.png"><!-- Favicon --><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- Base structured data -->
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","name":"Stiff Upper Lip","url":"https://wearesul.com","logo":"https://wearesul.com/images/sul-logo.png","sameAs":[]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebSite","name":"Stiff Upper Lip","url":"https://wearesul.com","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://wearesul.com/blog/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://wearesul.com"},{"@type":"ListItem","position":2,"name":"About","item":"https://wearesul.com/about"}]}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://wearesul.com/about#andrew-smith","name":"Andrew Smith","jobTitle":"CEO & Founder","worksFor":{"@type":"Organization","name":"Stiff Upper Lip","url":"https://wearesul.com"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://wearesul.com/about#aubrey-smith","name":"Aubrey Smith","jobTitle":"Business Analyst","worksFor":{"@type":"Organization","name":"Stiff Upper Lip","url":"https://wearesul.com"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://wearesul.com/about#michael-bussert","name":"Michael Bussert","jobTitle":"Lead Software Engineer","worksFor":{"@type":"Organization","name":"Stiff Upper Lip","url":"https://wearesul.com"}}</script>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"Person","@id":"https://wearesul.com/about#stefan-savic","name":"Stefan Savic","jobTitle":"Lead Product Designer","worksFor":{"@type":"Organization","name":"Stiff Upper Lip","url":"https://wearesul.com"}}</script>
1<!-- Fathom Analytics â production deploys only (not local dev or staging). 2 Staging sets NO_INDEX=true in CI; the script reads <link rel="canonical"> 3 above for hostname, so non-production builds must not load it. -->
3<script src="https://cdn.usefathom.com/script.js" data-site="SJPIBUZO" defer></script>
3<link rel="stylesheet" href="/_astro/base-layout.BZYHKxEr.css"></head> <body> <div class="grid min-h-viewport min-w-0 grid-cols-[minmax(0,1fr)] grid-rows-[auto_1fr_auto]"> <div class="relative z-10"> <header class="border-b border-sul-taupe-300"> <div class="min-h-navbar flex items-center justify-between gap-3 max-w-content-mobile xl:max-w-content-desktop mx-auto px-page-margin-mobile xl:px-page-margin-desktop"> <div class="min-w-0 shrink max-w-[calc(100%-3.5rem)]"> <a href="/" title="Home"> <img src="/_astro/stiff-upper-lip-header-logo.C0Ikz81t_ZzV13D.svg" alt loading="eager" decoding="async" width="848" height="237" class="h-auto w-full max-w-[240px]"> </a> </div> <nav aria-label="Main navigation" class="hidden xl:block"> <ul role="list" class="flex flex-row gap-4"> <li> <a href="/" title="Home" class="text-body-m text-sul-olive-900 hover:text-grey-900"> Home </a> </li><li> <a href="/services" title="Services" class="text-body-m text-sul-olive-900 hover:text-grey-900"> Services </a> </li><li> <a href="/case-studies" title="Case Studies" class="text-body-m text-sul-olive-900 hover:text-grey-900"> Case Studies </a> </li><li> <a href="/blog" title="Workshop Blog" class="text-body-m text-sul-olive-900 hover:text-grey-900"> Workshop Blog </a> </li><li> <a href="/about" title="About" class="text-body-m text-sul-olive-900 hover:text-grey-900"> About </a> </li><li> <a href="/book-a-call" title="Contact" class="text-body-m text-sul-olive-900 hover:text-grey-900"> Contact </a> </li> </ul> </nav> <div class="hidden xl:block"> <a href="/book-a-call" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button bg-sul-gold-500 text-sul-olive-900" title="Book a Call"> Book a strategy call </a> </div> <div class="flex shrink-0 items-center xl:hidden"> <style>astro-island,astro-slot,astro-static-slot{display:contents}</style>
3<script>(()=>{var n=(a,t)=>{let i=async()=>{await(await a())()};if(t.value){let e=matchMedia(t.value);e.matches?i():e.addEventListener("change",i,{once:!0})}};(self.Astro||(self.Astro={})).media=n;window.dispatchEvent(new Event("astro:media"));})();</script>
3<script>(()=>{var g=Object.defineProperty;var w=(c,s,d)=>s in c?g(c,s,{enumerable:!0,configurable:!0,writable:!0,value:d}):c[s]=d;var l=(c,s,d)=>w(c,typeof s!="symbol"?s+"":s,d);var E=new Set(["__proto__","constructor","prototype"]);{let c={0:t=>y(t),1:t=>d(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(d(t)),5:t=>new Set(d(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t),11:t=>Number.POSITIVE_INFINITY*t},s=t=>{let[p,e]=t;return p in c?c[p](e):void 0},d=t=>t.map(s),y=t=>typeof t!="object"||t===null?t:Object.fromEntries(Object.entries(t).map(([p,e])=>[p,s(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,"Component");l(this,"hydrator");l(this,"hydrate",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest("astro-island[ssr]");if(e){e.addEventListener("astro:hydrate",this.hydrate,{once:!0});return}let n=this.querySelectorAll("astro-slot"),r={},i=this.querySelectorAll("template[data-astro-template]");for(let o of i){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("data-astro-template")||"default"]=o.innerHTML,o.remove())}for(let o of n){let a=o.closest(this.tagName);a!=null&&a.isSameNode(this)&&(r[o.getAttribute("name")||"default"]=o.innerHTML)}let u;try{u=this.hasAttribute("props")?y(JSON.parse(this.getAttribute("props"))):{}}catch(o){let a=this.getAttribute("component-url")||"<unknown>",v=this.getAttribute("component-export");throw v&&(a+=` (export ${v})`),console.error(`[hydrate] Error parsing props for component ${a}`,this.getAttribute("props"),o),o}let h;await this.hydrator(this)(this.Component,u,r,{client:this.getAttribute("client")}),this.removeAttribute("ssr"),this.dispatchEvent(new CustomEvent("astro:hydrate"))});l(this,"unmount",()=>{this.isConnected||this.dispatchEvent(new CustomEvent("astro:unmount"))})}disconnectedCallback(){document.removeEventListener("astro:after-swap",this.unmount),document.addEventListener("astro:after-swap",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute("await-children")||document.readyState==="interactive"||document.readyState==="complete")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener("DOMContentLoaded",e),n.disconnect(),this.childrenConnectedCallback()},n=new MutationObserver(()=>{var r;((r=this.lastChild)==null?void 0:r.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue==="astro:end"&&(this.lastChild.remove(),e())});n.observe(this,{childList:!0}),document.addEventListener("DOMContentLoaded",e)}}async childrenConnectedCallback(){let e=this.getAttribute("before-hydration-url");e&&await import(e),this.start()}getRetryImportUrl(e){let n=new URL(e,document.baseURI),r=`astro-retry=${Date.now()}`,i=n.hash.replace(/^#/,"");return n.hash=i?`${i}&${r}`:r,n.toString()}async importWithRetry(e){try{return await import(e)}catch(n){return await new Promise(r=>setTimeout(r,1e3)),import(this.getRetryImportUrl(e))}}handleHydrationError(e){let n=this.getAttribute("component-url"),r=new CustomEvent("astro:hydration-error",{cancelable:!0,bubbles:!0,composed:!0,detail:{error:e,componentUrl:n}});this.dispatchEvent(r)&&console.error(`[astro-island] Error hydrating ${n}`,e)}async start(){let e=JSON.parse(this.getAttribute("opts")),n=this.getAttribute("client");if(Astro[n]===void 0){window.addEventListener(`astro:${n}`,()=>this.start(),{once:!0});return}try{await Astro[n](async()=>{let r=this.getAttribute("renderer-url");try{let[i,{default:u}]=await Promise.all([this.importWithRetry(this.getAttribute("component-url")),r?this.importWithRetry(r):Promise.resolve({default:()=>()=>{}})]),h=this.getAttribute("component-export")||"default";if(h.includes(".")){this.Component=i;for(let m of h.split(".")){if(E.has(m)||!this.Component||typeof this.Component!="object"&&typeof this.Component!="function"||!Object.hasOwn(this.Component,m))throw new Error(`Invalid component export path: ${h}`);this.Component=this.Component[m]}}else{if(E.has(h))throw new Error(`Invalid component export path: ${h}`);this.Component=i[h]}return this.hydrator=u,this.hydrate}catch(i){return this.handleHydrationError(i),()=>{}}},e,this)}catch(r){this.handleHydrationError(r)}}attributeChangedCallback(){this.hydrate()}}l(f,"observedAttributes",["props"]),customElements.get("astro-island")||customElements.define("astro-island",f)}})();</script>
3<astro-island uid="Z1r1LK8" prefix="r1" component-url="/_astro/mobile-nav-drawer.dvHYUZV5.js" component-export="MobileNavDrawer" renderer-url="/_astro/client.DCgsSb0b.js" props="{"navigation":[1,[[0,{"title":[0,"Home"],"href":[0,"/"]}],[0,{"title":[0,"Services"],"href":[0,"/services"]}],[0,{"title":[0,"Case Studies"],"href":[0,"/case-studies"]}],[0,{"title":[0,"Workshop Blog"],"href":[0,"/blog"]}],[0,{"title":[0,"About"],"href":[0,"/about"]}],[0,{"title":[0,"Contact"],"href":[0,"/book-a-call"]}]]],"ctaHref":[0,"/book-a-call"],"ctaLabel":[0,"Book a strategy call"]}" ssr client="media" opts="{"name":"MobileNavDrawer","value":"(max-width: 1279px)"}" await-children><button type="button" aria-label="Open menu" class="inline-flex size-11 items-center justify-center rounded-full text-sul-olive-900 transition-colors hover:bg-sul-taupe-100 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sul-gold-500" aria-haspopup="dialog" aria-expanded="false" aria-controls="radix-_r1R_0_" data-state="closed"><svg aria-hidden="true" class="size-6" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M4 7h16M4 12h16M4 17h16" stroke="currentColor" stroke-linecap="round" stroke-width="1.5"></path></svg></button><!--astro:end--></astro-island> </div> </div> </header> <div class="xl:hidden flex items-center justify-center border-b border-sul-taupe-300 max-w-content-mobile mx-auto px-page-margin-mobile py-2"> <a href="/book-a-call" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button bg-sul-gold-500 text-sul-olive-900 whitespace-nowrap" title="Book a strategy call"> Book a strategy call </a> </div> </div> <main class="relative z-10"> <section aria-label="About hero" class="bg-sul-beige-500"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop py-6 xl:py-8"> <div data-about-hero-editorial class="grid grid-cols-1 xl:grid-cols-[minmax(0,2fr)_minmax(0,1fr)] xl:items-center"> <header class="flex min-w-0 flex-col gap-2"> <p class="caption">Hi There ð We Are Stiff Upper Lip</p> <h1 class="max-w-full font-display text-subhead-2 font-light leading-subhead-2 tracking-subhead-2 xl:text-subhead-1 xl:leading-none xl:tracking-subhead-1"> We're the technical team you wish you'd hired first. </h1> </header> <p data-about-hero-intro class="text-caption-xl leading-body-m text-sul-olive-900"> With over a decade of experience, we bring the right judgment to navigate AI, software and business architecture, and make the hard engineering calls. We don't just build software - we figure out what your business actually needs, build it, integrate it, and run it. </p> </div> </div> <div data-about-hero-image> <img src="/_astro/hero.MHw5lmQ9_Z6itGg.webp" alt="Three Stiff Upper Lip teammates collaborating at a desk in the office" loading="eager" decoding="sync" fetchpriority="high" width="2880" height="1614" class="h-auto w-full object-cover"> </div> </section> <section aria-label="Key metrics" class="bg-white py-4 xl:py-5 border-t border-sul-taupe-200 border-b"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop"> <div class="grid grid-cols-2 xl:grid-cols-4"> <dl class="flex flex-col gap-1 px-4 py-4 xl:gap-0 xl:justify-between xl:px-5 xl:py-0 border-r border-b border-sul-taupe-200 xl:border-b-0"> <dt class="order-2 text-body-xs leading-body-xs text-sul-taupe-700"> Years of experience </dt> <dd class="order-1 font-stats font-extralight text-subhead-2 leading-none text-sul-text-black"> 13+ </dd> </dl><dl class="flex flex-col gap-1 px-4 py-4 xl:gap-0 xl:justify-between xl:px-5 xl:py-0 border-b border-sul-taupe-200 xl:border-b-0 xl:border-r"> <dt class="order-2 text-body-xs leading-body-xs text-sul-taupe-700"> Private AI models </dt> <dd class="order-1 font-stats font-extralight text-subhead-2 leading-none text-sul-text-black">
3 100% </dd> </dl><dl class="flex flex-col gap-1 px-4 py-4 xl:gap-0 xl:justify-between xl:px-5 xl:py-0 border-r border-sul-taupe-200"> <dt class="order-2 text-body-xs leading-body-xs text-sul-taupe-700"> Platforms built and run </dt> <dd class="order-1 font-stats font-extralight text-subhead-2 leading-none text-sul-text-black"> 3 </dd> </dl><dl class="flex flex-col gap-1 px-4 py-4 xl:gap-0 xl:justify-between xl:px-5 xl:py-0"> <dt class="order-2 text-body-xs leading-body-xs text-sul-taupe-700"> Downtime, past year </dt> <dd class="order-1 font-stats font-extralight text-subhead-2 leading-none text-sul-text-black"> Zero </dd> </dl> </div> </div> </section> <section aria-label="The Experience" class="bg-sul-beige-200 py-6 xl:py-9"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop"> <div data-about-experience-editorial class="grid grid-cols-1 items-center gap-6 xl:grid-cols-2 xl:gap-9"> <div class="flex min-w-0 flex-col gap-4 xl:gap-5"> <header class="flex flex-col gap-2"> <p class="caption">The Experience</p> <h2 class="text-subhead-2 leading-subhead-2 tracking-subhead-2"> We've built the systems, not just the slides. </h2> </header> <p class="max-w-145 text-body-l leading-body-l text-sul-olive-900"> A decade of building software, and a new chapter running it. We don't hand over a deck and leave â we figure out what your business needs, build it, and stay on to run it. </p> <div> <a href="/book-a-call" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button bg-sul-gold-500 text-sul-olive-900"> Book a Strategy Call </a> </div> </div> <div data-about-experience-image class="min-w-0"> <img src="/_astro/hero.BZ6IBRDl_1a7haz.webp" alt="Engraved illustration of a robot and two Stiff Upper Lip workshop characters standing with arms crossed" loading="lazy" decoding="async" width="1364" height="1038" class="mx-auto h-auto w-full max-w-125 object-contain xl:max-w-none"> </div> </div> <div data-about-experience-cards class="mt-6 grid grid-cols-1 gap-5 xl:mt-7 xl:grid-cols-[minmax(0,1fr)_minmax(0,1fr)_minmax(0,1.65fr)] xl:gap-[2.5rem]"> <article data-about-experience-highlight class="flex h-full flex-col justify-between rounded-xl bg-white p-4 xl:p-5"> <h3 class="mb-3 font-display font-light leading-none tracking-subhead-2"> <span class="block text-subhead-1">Paper to</span> <span class="block text-subhead-1"> platform. </span> </h3> <p class="text-body-m leading-body-m text-sul-olive-900"> One client ran field operations on paper. We built their ops system from scratch â scheduling, assets, jobs, with a private AI hub behind it â and we run it today. </p> </article> <blockquote data-about-experience-testimonial class="flex h-full flex-col justify-between rounded-xl bg-white p-4 not-italic xl:p-5"> <div> <div class="mb-3 flex gap-1 text-sul-gold-500" role="img" aria-label="5 out of 5 stars"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star size-4 fill-current stroke-none" aria-hidden="true"> <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path> </svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star size-4 fill-current stroke-none" aria-hidden="true"> <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path> </svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star size-4 fill-current stroke-none" aria-hidden="true"> <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path> </svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star size-4 fill-current stroke-none" aria-hidden="true"> <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path> </svg><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star size-4 fill-current stroke-none" aria-hidden="true"> <path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path> </svg> </div> <p class="text-body-m leading-body-m text-sul-olive-900"> 4“SUL didn't just deliver code; they provided the technical leadership we needed. They took the wheel of our architecture and de-risked our entire roadmap.” 5</p> </div> <footer class="mt-4"> <cite class="text-body-s font-medium not-italic leading-body-s text-sul-taupe-800"> - PTI, Field Rep </cite> </footer> </blockquote> <div data-about-experience-stats class="grid grid-cols-1 gap-[2.5rem] xl:h-full xl:grid-rows-2"> <article data-about-experience-stat-density="compact" class="grid h-full grid-cols-[auto_1fr] items-center gap-4 roun
5ded-xl bg-white p-4 xl:gap-5 xl:p-5"> <p class="shrink-0 font-display text-subhead-2 font-light leading-none tracking-subhead-2"> 4.9/5 </p> <p class="min-w-0 text-body-s leading-body-s"> Average client rating for improved operational efficiency. </p> </article><article data-about-experience-stat-density="comfortable" class="grid h-full grid-cols-[auto_1fr] items-center gap-4 rounded-xl bg-white p-4 xl:gap-5 xl:p-5"> <p class="shrink-0 font-display text-subhead-2 font-light leading-none tracking-subhead-2"> 40% </p> <p class="min-w-0 text-body-l leading-body-l"> Target average operational efficiency gain. </p> </article> </div> </div> </div> </section> <section aria-label="Meet Our Team" class="relative isolate overflow-hidden bg-sul-olive-500 py-6 xl:py-9"> <img src="/_astro/floral-background.CUbpr_3K_LKfux.webp" alt loading="lazy" decoding="async" aria-hidden="true" width="1120" height="1979" class="pointer-events-none absolute right-0 top-0 z-0 h-full w-auto max-w-none opacity-50 xl:opacity-100"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop relative z-10"> <header class="mb-6 grid grid-cols-1 gap-4 text-sul-beige-100 xl:mb-8 xl:grid-cols-2 xl:gap-gutter"> <div> <p class="caption mb-2">Creative Stewardship</p> <h2 class="text-subhead-2 leading-subhead-2 tracking-subhead-2 text-sul-accent-500"> Meet Our Team </h2> </div> <p class="max-w-125 text-body-l leading-body-l xl:justify-self-end"> The passionate people behind our success, guiding complex technology decisions with senior-level judgment. </p> </header> <ul role="list" class="grid grid-cols-1 gap-5 sm:grid-cols-2 xl:grid-cols-4"> <li class="h-full"> <article class="flex h-full flex-col overflow-hidden rounded-xl bg-white"> <img src="/_astro/andrew-smith.CgE9TQU5_qP0w8.webp" alt="Andrew Smith, CEO and founder of Stiff Upper Lip" sizes="(min-width: 1280px) 25vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" width="604" height="806" class="aspect-3/4 w-full object-cover"> <div class="flex flex-1 flex-col p-4"> <h3 class="font-body text-body-l font-medium leading-body-l"> Andrew Smith </h3> <p class="text-body-s leading-body-s text-sul-olive-500"> CEO & Founder </p> <p class="mt-3 text-body-s leading-body-s text-sul-olive-900"> Founder with 15+ years guiding technology strategy, shipping digital products, and building high-performing teams. </p> <a href="https://www.linkedin.com/company/stiff-upper-lip-llc/people/" target="_blank" rel="noopener noreferrer" class="mt-auto w-fit pt-4 text-sul-olive-900" aria-label="Find Andrew Smith on Stiff Upper Lip's LinkedIn team page"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="size-5" aria-hidden="true"> 6<path d="M24 12C26.3869 12 28.6761 12.9482 30.364 14.636C32.0518 16.3239 33 18.6131 33 21V31.5H27V21C27 20.2044 26.6839 19.4413 26.1213 18.8787C25.5587 18.3161 24.7956 18 24 18C23.2044 18 22.4413 18.3161 21.8787 18.8787C21.3161 19.4413 21 20.2044 21 21V31.5H15V21C15 18.6131 15.9482 16.3239 17.636 14.636C19.3239 12.9482 21.6131 12 24 12Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 7<path d="M9 13.5H3V31.5H9V13.5Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 8<path d="M6 9C7.65685 9 9 7.65685 9 6C9 4.34315 7.65685 3 6 3C4.34315 3 3 4.34315 3 6C3 7.65685 4.34315 9 6 9Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 9</svg> </a> </div> </article> </li><li class="h-full"> <article class="flex h-full flex-col overflow-hidden rounded-xl bg-white"> <img src="/_astro/aubrey-smith.DDJ6FND6_Z1rGJDr.webp" alt="Aubrey Smith, business analyst at Stiff Upper Lip" sizes="(min-width: 1280px) 25vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" width="604" height="806" class="aspect-3/4 w-full object-cover"> <div class="flex flex-1 flex-col p-4"> <h3 class="font-body text-body-l font-medium leading-body-l"> Aubrey Smith </h3> <p class="text-body-s leading-body-s text-sul-olive-500"> Business Analyst </p> <p class="mt-3 text-body-s leading-body-s text-sul-olive-900"> Business analyst and user experience designer who designs scalable systems and champions engineering excellence. </p> <a href="https://www.linkedin.com/company/stiff-upper-lip-llc/people/" target="_blank" rel="noopener noreferrer" class="mt-auto w-fit pt-4 text-sul-olive-900" aria-label="Find Aubrey Smith on Stiff Upper Lip's LinkedIn team page"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="size-5" aria-hidden="true"> 10<path d="M24 12C26.3869 12 28.6761 12.9482 30.364 14.636C32.0518 16.3239 33 18.6131 33 21V31.5H27V21C27 20.2044 26.6839 19.4413 26.1213 18.8787C25.5587 18.3
10161 24.7956 18 24 18C23.2044 18 22.4413 18.3161 21.8787 18.8787C21.3161 19.4413 21 20.2044 21 21V31.5H15V21C15 18.6131 15.9482 16.3239 17.636 14.636C19.3239 12.9482 21.6131 12 24 12Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 11<path d="M9 13.5H3V31.5H9V13.5Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 12<path d="M6 9C7.65685 9 9 7.65685 9 6C9 4.34315 7.65685 3 6 3C4.34315 3 3 4.34315 3 6C3 7.65685 4.34315 9 6 9Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 13</svg> </a> </div> </article> </li><li class="h-full"> <article class="flex h-full flex-col overflow-hidden rounded-xl bg-white"> <img src="/_astro/michael-bussert.BE1FzXM1_2nB7km.webp" alt="Michael Bussert, senior developer at Stiff Upper Lip" sizes="(min-width: 1280px) 25vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" width="604" height="806" class="aspect-3/4 w-full object-cover"> <div class="flex flex-1 flex-col p-4"> <h3 class="font-body text-body-l font-medium leading-body-l"> Michael Bussert </h3> <p class="text-body-s leading-body-s text-sul-olive-500"> Lead Software Engineer </p> <p class="mt-3 text-body-s leading-body-s text-sul-olive-900"> Full-stack software engineer focused on clean code and dependable digital products. </p> <a href="https://www.linkedin.com/company/stiff-upper-lip-llc/people/" target="_blank" rel="noopener noreferrer" class="mt-auto w-fit pt-4 text-sul-olive-900" aria-label="Find Michael Bussert on Stiff Upper Lip's LinkedIn team page"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="size-5" aria-hidden="true"> 14<path d="M24 12C26.3869 12 28.6761 12.9482 30.364 14.636C32.0518 16.3239 33 18.6131 33 21V31.5H27V21C27 20.2044 26.6839 19.4413 26.1213 18.8787C25.5587 18.3161 24.7956 18 24 18C23.2044 18 22.4413 18.3161 21.8787 18.8787C21.3161 19.4413 21 20.2044 21 21V31.5H15V21C15 18.6131 15.9482 16.3239 17.636 14.636C19.3239 12.9482 21.6131 12 24 12Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 15<path d="M9 13.5H3V31.5H9V13.5Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 16<path d="M6 9C7.65685 9 9 7.65685 9 6C9 4.34315 7.65685 3 6 3C4.34315 3 3 4.34315 3 6C3 7.65685 4.34315 9 6 9Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 17</svg> </a> </div> </article> </li><li class="h-full"> <article class="flex h-full flex-col overflow-hidden rounded-xl bg-white"> <img src="/_astro/stefan-savic.Dy2ki4Sf_fBaPi.webp" alt="Stefan Savic, lead product designer at Stiff Upper Lip" sizes="(min-width: 1280px) 25vw, (min-width: 640px) 50vw, 100vw" loading="lazy" decoding="async" width="604" height="806" class="aspect-3/4 w-full object-cover"> <div class="flex flex-1 flex-col p-4"> <h3 class="font-body text-body-l font-medium leading-body-l"> Stefan Savic </h3> <p class="text-body-s leading-body-s text-sul-olive-500"> Lead Product Designer </p> <p class="mt-3 text-body-s leading-body-s text-sul-olive-900"> Product designer who turns complex problems into clear, user-centered digital experiences. </p> <a href="https://www.linkedin.com/company/stiff-upper-lip-llc/people/" target="_blank" rel="noopener noreferrer" class="mt-auto w-fit pt-4 text-sul-olive-900" aria-label="Find Stefan Savic on Stiff Upper Lip's LinkedIn team page"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="size-5" aria-hidden="true"> 18<path d="M24 12C26.3869 12 28.6761 12.9482 30.364 14.636C32.0518 16.3239 33 18.6131 33 21V31.5H27V21C27 20.2044 26.6839 19.4413 26.1213 18.8787C25.5587 18.3161 24.7956 18 24 18C23.2044 18 22.4413 18.3161 21.8787 18.8787C21.3161 19.4413 21 20.2044 21 21V31.5H15V21C15 18.6131 15.9482 16.3239 17.636 14.636C19.3239 12.9482 21.6131 12 24 12Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 19<path d="M9 13.5H3V31.5H9V13.5Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 20<path d="M6 9C7.65685 9 9 7.65685 9 6C9 4.34315 7.65685 3 6 3C4.34315 3 3 4.34315 3 6C3 7.65685 4.34315 9 6 9Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 21</svg> </a> </div> </article> </li> </ul> </div> </section> <section aria-label="Our Evolution" class="bg-sul-beige-500 py-6 xl:py-9"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop"> <div data-image-with-content data-image-side="left" class="grid grid-cols-1 items-center gap-6 xl:grid-cols-2 xl:gap-9"> <div data-image-with-content-image class="min-w-0 order-1"> <div class="h-80 overflow-hidden rounded-xl xl:h-152"> <img src="/_astro/about-collaboration-andrew-aubrey.37_VocTm_olrpg.webp" alt="Aubrey and Andrew Smith collaborating at a computer" loading="lazy" decoding="async" width="1262" height="1272" class="h-full w-full object-cover border-t-3 border-sul-beige-50"> </div> </div> <div data-image-with-content-copy class="flex min-w-0 flex-col gap-5 order-2"> <header class="flex flex-col gap-2"> <p class="caption">Our Evolution</p> <h2 class="text-subhead-2 leading-subhead-2 tracking-subhead-2"> From code-first to problem-first. </h2> </header> <div class="flex flex-col gap-4"> <p class="text-body-m leading-body-m text-sul-olive-900"> For over a decade, we wrote code. Long enough to learn that anyone can build the thing â the trick is knowing which thing to build. </p><p class="text-body-m leading-body-m text-sul-olive-900">
21 So we changed how we work. We don't take a brief and start typing. We figure out what your business actually needs first â across AI, infrastructure, and the architectural calls most teams get wrong â then build it. The decade taught us the judgment. That's what you're actually hiring. </p> </div> <div class="flex flex-row flex-wrap gap-4"> <a href="/book-a-call" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button bg-sul-gold-500 text-sul-olive-900"> Book a Strategy Call </a><a href="/case-studies" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button bg-white text-sul-olive-900"> Case Studies </a> </div> </div> </div> </div> </section> <section aria-label="Services" class="relative isolate overflow-hidden bg-sul-olive-500 py-6 xl:py-9"> <img src="/_astro/floral-background.CUbpr_3K_LKfux.webp" alt data-floral-background="true" loading="lazy" decoding="async" aria-hidden="true" width="1120" height="1979" class="pointer-events-none absolute right-0 top-0 z-0 h-full w-auto max-w-none opacity-50 xl:opacity-100"> <div class="mx-auto max-w-content-mobile xl:max-w-content-desktop px-page-margin-mobile xl:px-page-margin-desktop"> <header class="mx-auto mb-6 max-w-145 text-center xl:mb-8"> <p class="caption text-sul-beige-100">Our Services</p> <h2 class="text-subhead-2 text-sul-accent-500">Where your technical bottlenecks get solved.</h2> </header> <ul role="list" class="grid grid-cols-1 gap-5 xl:grid-cols-4"> <li class="h-full"> <article class="service-card gap-5 bg-white"> <div> <img src="/_astro/tech-strategy-icon.hz4Bw7FI_24Y0dJ.webp" alt loading="lazy" decoding="async" width="260" height="284" class="mb-4 h-auto w-auto max-h-24"> <h3 class="mb-3 text-body-xxl leading-subhead-2"> Technology Strategy </h3> <p class="text-body-m leading-body-m"> Not sure what to build, or in what order. See how we turn that into a roadmap you can act on. </p> </div> <div> <a href="/services/technology-strategy" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button text-sul-olive-900 bg-sul-beige-200"> Get the roadmap <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right aspect-square shrink-0 size-button-icon" aria-hidden="true"> <path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path> </svg> </a> </div> </article> </li><li class="h-full"> <article class="service-card gap-5 bg-white"> <div> <img src="/_astro/ai-integration-icon.BQNpy2GN_2wRuIw.webp" alt loading="lazy" decoding="async" width="372" height="284" class="mb-4 h-auto w-auto max-h-24"> <h3 class="mb-3 text-body-xxl leading-subhead-2"> AI Integration </h3> <p class="text-body-m leading-body-m"> Where AI actually fits in your business â and how we build it private, on our own models. Take a closer look. </p> </div> <div> <a href="/services/ai-integration" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button text-sul-olive-900 bg-sul-beige-200"> Inside the AI hub <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right aspect-square shrink-0 size-button-icon" aria-hidden="true"> <path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path> </svg> </a> </div> </article> </li><li class="h-full"> <article class="service-card gap-5 bg-white"> <div> <img src="/_astro/product-design-icon.CTrqSCVq_Stygp.webp" alt loading="lazy" decoding="async" width="364" height="270" class="mb-4 h-auto w-auto max-h-24"> <h3 class="mb-3 text-body-xxl leading-subhead-2"> Software Design and Build </h3> <p class="text-body-m leading-body-m"> From idea to shipped product, built to solve the real problem. See how we work. </p> </div> <div> <a href="/services/software-design-development" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button text-sul-olive-900 bg-sul-beige-200">
21 How we build <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right aspect-square shrink-0 size-button-icon" aria-hidden="true"> <path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path> </svg> </a> </div> </article> </li><li class="h-full"> <article class="service-card gap-5 bg-white"> <div> <img src="/_astro/ongoing-partnership-icon.y2vPsSJP_1ltU1W.webp" alt loading="lazy" decoding="async" width="348" height="278" class="mb-4 h-auto w-auto max-h-24"> <h3 class="mb-3 text-body-xxl leading-subhead-2"> Fractional CTO </h3> <p class="text-body-m leading-body-m"> Support and senior technical leadership on retainer â from app support at $2,500/mo up to a full fractional CTO. One team, either way. </p> </div> <div> <a href="/services/fractional-cto" class="inline-flex items-center rounded-full gap-button-gap px-button-x py-button-y font-body font-bold uppercase leading-button text-sul-olive-900 bg-sul-beige-200"> What's included <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right aspect-square shrink-0 size-button-icon" aria-hidden="true"> <path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path> </svg> </a> </div> </article> </li> </ul> </div> </section> </main> <footer class="relative isolate"> <div class="relative overflow-hidden pb-40 sm:pb-80 md:pb-100 pt-8 xl:pt-8"> <div class="pointer-events-none absolute inset-x-0 bottom-0 z-0 w-full" aria-hidden="true"> <!-- 22 Scene box matches footer-main.png (1920Ã857). Tink uses % so it 23 stays anchored to the inventor as the illustration scales. 24 Tune --footer-tink-* in global.css if the art shifts. 25 --> <div class="relative mx-auto aspect-1920/857 w-full"> <img src="/_astro/footer-main.D-VCZ_hE_2fvrWh.webp" alt sizes="100vw" loading="lazy" decoding="async" width="1920" height="857" class="size-full"> <img src="/_astro/tink-with-motion.DbK0ULY1_1RX36E.webp" alt sizes="14vw" loading="lazy" decoding="async" width="280" height="280" class="footer-tink absolute h-auto animate-tink-hover"> </div> </div> <div class="xl:pb-60 relative z-10 px-page-margin-mobile max-w-content-mobile xl:max-w-content-desktop xl:px-page-margin-desktop mx-auto mb-5 flex flex-col justify-between gap-7 md:flex-row"> <div class="gap-5 flex flex-col"> <img src="/_astro/stiff-upper-lip-header-logo.C0Ikz81t_ZzV13D.svg" alt aria-hidden="true" loading="lazy" decoding="async" width="848" height="237" class="max-w-60 max-h-7"> <p class="text-body-xxl leading-body-xxl"> 26You handle the vision. <br>We'll handle the technology. 27</p> <ul role="list" class="flex flex-col gap-1 text-body-l leading-body-l"> <li> <a href="tel:2482206876" title="Call Stiff Upper Lip">(248) 220-6876</a> </li> <li> <a href="/cdn-cgi/l/email-protection#aac9c5c4decbc9deead9dfc684c3c5" title="Email Stiff Upper Lip"><span class="__cf_email__" data-cfemail="6c0f0302180d0f182c1f1900420503">[email protected]</span></a> </li> </ul> <ul role="list" class="flex flex-row gap-4"> <li> <a href="https://www.instagram.com/stiffupperlip/" title="Instagram" aria-label="Instagram"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="w-[1.85rem]" aria-hidden="true"> 28<path d="M26.25 9.75H26.265M10.5 3H25.5C29.6421 3 33 6.35786 33 10.5V25.5C33 29.6421 29.6421 33 25.5 33H10.5C6.35786 33 3 29.6421 3 25.5V10.5C3 6.35786 6.35786 3 10.5 3ZM24 17.055C24.1851 18.3034 23.9719 19.5783 23.3906 20.6985C22.8094 21.8187 21.8897 22.7271 20.7624 23.2945C19.6352 23.8619 18.3577 24.0594 17.1117 23.8589C15.8657 23.6584 14.7146 23.0701 13.8223 22.1777C12.9299 21.2854 12.3416 20.1343 12.1411 18.8883C11.9406 17.6423 12.1381 16.3648 12.7055 15.2376C13.2729 14.1103 14.1813 13.1906 15.3015 12.6094C16.4217 12.0281 17.6966 11.8149 18.945 12C20.2184 12.1888 21.3973 12.7822 22.3075 13.6925C23.2178 14.6027 23.8112 15.7816 24 17.055Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 29</svg> </a> </li><li> <a href="https://www.linkedin.com/company/stiffupperlip/" title="LinkedIn" aria-label="LinkedIn"> <svg width="36" height="36" viewBox="0 0 36 36" fill="none" class="w-[1.85rem]" aria-hidden="true"> 30<path d="M24 12C26.3869 12 28.6761 12.9482 30.364 14.636C32.0518 16.3239 33 18.6131 33 21V31.5H27V21C27 20.2044 26.6839 19.4413 26.1213 18.8787C25.5587 18.3
30161 24.7956 18 24 18C23.2044 18 22.4413 18.3161 21.8787 18.8787C21.3161 19.4413 21 20.2044 21 21V31.5H15V21C15 18.6131 15.9482 16.3239 17.636 14.636C19.3239 12.9482 21.6131 12 24 12Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 31<path d="M9 13.5H3V31.5H9V13.5Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 32<path d="M6 9C7.65685 9 9 7.65685 9 6C9 4.34315 7.65685 3 6 3C4.34315 3 3 4.34315 3 6C3 7.65685 4.34315 9 6 9Z" stroke="#282828" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 33</svg> </a> </li> </ul> </div> <div class="flex flex-col md:flex-row gap-5 xl:gap-7"> <div class="gap-2 md:gap-5 flex flex-col"> <p class="text-body-l font-bold leading-body-l">Services</p> <ul role="list" class="flex flex-col gap-2 md:gap-4"> <li> <a href="/services/ai-integration">AI Integration</a> </li><li> <a href="/services/technology-strategy">Technology Strategy</a> </li><li> <a href="/services/software-design-development">Software Design & Build</a> </li><li> <a href="/services/fractional-cto">Fractional CTO</a> </li> </ul> </div> <div class="gap-2 md:gap-5 flex flex-col"> <p class="text-body-l font-bold leading-body-l">Company</p> <ul role="list" class="flex flex-col gap-2 md:gap-4"> <li> <a href="/about">About Us</a> </li><li> <a href="/case-studies">Case Studies</a> </li><li> <a href="/blog">Workshop Blog</a> </li><li> <a href="/book-a-call">Schedule a Strategy Call</a> </li> </ul> </div> <div class="gap-2 md:gap-5 flex flex-col"> <p class="text-body-l font-bold leading-body-l">Other</p> <ul role="list" class="flex flex-col gap-2 md:gap-4"> <li> <a href="/privacy">Privacy Policy</a> </li> </ul> </div> </div> </div> </div> <div class="relative z-10 bg-sul-olive-700"> <div class="px-page-margin-mobile max-w-content-mobile xl:max-w-content-desktop xl:px-page-margin-desktop mx-auto py-4"> <p class="text-sul-beige-100"> 34© <span id="copyright-year">2026</span> Stiff Upper 35 Lip LLC. All rights reserved. 36</p> </div> </div> </footer>
vendor: 109 bytes, line 36
36 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
36<script type="module">const e=document.querySelector("#copyright-year");e&&(e.textContent=new Date().getFullYear().toString());</script>
36 </div>
36<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"3ddb188439d14f19b4082f2e141b6130","r":1,"spa":2}' crossorigin="anonymous"></script>
36 37</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.