:root{--portfolio-ivory: #fef8f4;--portfolio-brown: #8d4a1f;--portfolio-ink: #20262f;--scroll-blur-progress: 0;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--apfm-blue: #334fa9;--apfm-blue-bright: #546ec7;--apfm-green: #3d8064;--apfm-teal: #39768a;--apfm-cream: #f7f3e9;--apfm-ivory: #fffdf7;--apfm-ink: #2c2f34}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--safari-chrome-tint, var(--portfolio-ivory));transition:background-color var(--safari-chrome-tint-duration, .52s) cubic-bezier(.22,1,.36,1)}body{margin:0;min-width:320px;background:var(--safari-chrome-tint, var(--portfolio-ivory));overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background-color var(--safari-chrome-tint-duration, .52s) cubic-bezier(.22,1,.36,1)}.body-wrapper{position:relative;isolation:isolate;background:var(--portfolio-ivory);overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--apfm-teal);outline-offset:4px}.navigation{display:none;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.safari-chrome-tint{display:none;position:fixed;z-index:21;top:0;right:calc(-1 * var(--safe-area-right));left:calc(-1 * var(--safe-area-left));height:4px;background-color:var(--safari-chrome-tint, var(--portfolio-ivory));pointer-events:none;transition:background-color var(--safari-chrome-tint-duration, .52s) cubic-bezier(.22,1,.36,1)}.safari-chrome-tint:after{display:none;content:"";position:absolute;top:0;right:0;left:0;height:44px;background-color:var(--safari-seam-color, transparent);-webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 100%);mask-image:linear-gradient(to bottom,#000 0,transparent 100%);transition:background-color var(--safari-chrome-tint-duration, .52s) cubic-bezier(.22,1,.36,1)}@supports (-webkit-touch-callout: none){.safari-chrome-tint{display:block}.safari-chrome-tint:after{display:block}}@media(display-mode:standalone){.safari-chrome-tint,.safari-chrome-tint:after{display:none}}.progressive-blur{--progressive-blur-base: 36px;--progressive-blur-ratio: 1.78;position:fixed;z-index:20;top:calc(-1 * var(--safe-area-top));right:0;left:0;height:176px;overflow:clip;pointer-events:none}.progressive-blur__layer{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff0;opacity:var(--scroll-blur-progress);transition:opacity 90ms linear;will-change:opacity}.progressive-blur__layer--1{-webkit-backdrop-filter:blur(var(--progressive-blur-base)) saturate(110%);backdrop-filter:blur(var(--progressive-blur-base)) saturate(110%);-webkit-mask-image:linear-gradient(to bottom,#000 0 10%,transparent 30%);mask-image:linear-gradient(to bottom,#000 0 10%,transparent 30%)}.progressive-blur__layer--2{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / var(--progressive-blur-ratio))) saturate(108%);backdrop-filter:blur(calc(var(--progressive-blur-base) / var(--progressive-blur-ratio))) saturate(108%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 10% 20%,transparent 40%);mask-image:linear-gradient(to bottom,transparent 0%,#000 10% 20%,transparent 40%)}.progressive-blur__layer--3{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(106%);backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(106%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 20% 30%,transparent 50%);mask-image:linear-gradient(to bottom,transparent 0%,#000 20% 30%,transparent 50%)}.progressive-blur__layer--4{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(104%);backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(104%);-webkit-mask-image:linear-gradient(to bottom,transparent 10%,#000 30% 40%,transparent 60%);mask-image:linear-gradient(to bottom,transparent 10%,#000 30% 40%,transparent 60%)}.progressive-blur__layer--5{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(103%);backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio)))) saturate(103%);-webkit-mask-image:linear-gradient(to bottom,transparent 20%,#000 40% 50%,transparent 70%);mask-image:linear-gradient(to bottom,transparent 20%,#000 40% 50%,transparent 70%)}.progressive-blur__layer--6{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));-webkit-mask-image:linear-gradient(to bottom,transparent 30%,#000 50% 60%,transparent 80%);mask-image:linear-gradient(to bottom,transparent 30%,#000 50% 60%,transparent 80%)}.progressive-blur__layer--7{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));-webkit-mask-image:linear-gradient(to bottom,transparent 40%,#000 60% 70%,transparent 90%);mask-image:linear-gradient(to bottom,transparent 40%,#000 60% 70%,transparent 90%)}.progressive-blur__layer--8{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));-webkit-mask-image:linear-gradient(to bottom,transparent 50%,#000 70% 80%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 50%,#000 70% 80%,transparent 100%)}.progressive-blur__layer--9{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));-webkit-mask-image:linear-gradient(to bottom,transparent 60%,#000 80% 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 60%,#000 80% 90%,transparent 100%)}.progressive-blur__layer--10{-webkit-backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));backdrop-filter:blur(calc(var(--progressive-blur-base) / (var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio) * var(--progressive-blur-ratio))));-webkit-mask-image:linear-gradient(to bottom,transparent 70%,#000 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 70%,#000 90%,transparent 100%)}.progressive-blur__tint{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,rgb(255 255 255 / .075),rgb(255 255 255 / .025) 46%,transparent 100%);opacity:var(--scroll-blur-progress);transition:opacity 90ms linear;-webkit-mask-image:linear-gradient(to bottom,#000 0 44%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0 44%,transparent 100%)}.logo-link{position:relative;display:block}.adaptive-wordmark{position:relative;display:block;width:310px;max-width:100%;aspect-ratio:289 / 26}.logo-image--source{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:auto;opacity:0;pointer-events:none}.adaptive-wordmark__ink{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background-color:var(--logo-color, #2c2f34);-webkit-mask:url(/images/portfolio-name-2.svg) center / contain no-repeat;mask:url(/images/portfolio-name-2.svg) center / contain no-repeat;transition:background-color var(--logo-fade-duration, .52s) cubic-bezier(.22,1,.36,1)}.intro-wordmark-link{display:inline-flex;margin-bottom:30px;transition:opacity .18s ease}.intro-wordmark-link:hover{opacity:.72}.intro-wordmark{display:block;width:clamp(230px,21vw,292px);max-width:100%;height:auto;filter:brightness(.22) saturate(0)}.sticky-container{top:96px;padding-top:0}.intro-slogan{color:var(--portfolio-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(62px,6.2vw,88px);font-weight:620;line-height:.94;letter-spacing:-.04em}.intro-cta,.intro-cta-text{color:var(--portfolio-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.intro-cta-text{margin-top:-4px;font-size:23px;font-weight:500;letter-spacing:-.035em}@media(forced-colors:active){.adaptive-wordmark__ink{background-color:CanvasText;forced-color-adjust:auto}}.intro-slogan,.work-title,.portfolio-toolbox h2,.portfolio-toolbox h3{margin-top:0}.intro-text p{margin:18px 0 0}.column-right{min-width:0}.backdrop-floats{position:fixed;z-index:-1;top:calc(-1 * var(--safe-area-top));right:calc(-1 * var(--safe-area-right));bottom:calc(-1 * var(--safe-area-bottom));left:calc(-1 * var(--safe-area-left));width:auto;max-width:none;height:auto;margin:0;pointer-events:none}.portfolio-floats{z-index:auto;backface-visibility:hidden;transform-origin:50% 50%;will-change:transform,opacity,filter}.section{position:relative;z-index:auto}.portfolio-floats.sun{position:fixed;top:-240px;left:24%;width:clamp(940px,72vw,1160px);max-width:none;opacity:.98;filter:blur(10px) saturate(1.1);animation:liquid-sun 18s cubic-bezier(.45,0,.55,1) infinite}.portfolio-floats.hex{position:fixed;top:30vh;left:-350px;width:clamp(820px,65vw,1040px);max-width:none;opacity:.8;filter:blur(14px) saturate(1);animation:liquid-terracotta 22s cubic-bezier(.45,0,.55,1) infinite}@keyframes liquid-sun{0%{opacity:.94;filter:blur(10px) saturate(1.08);transform:translate3d(-4vw,-3vh,0) rotate(-4deg) scale(1.01,.95)}28%{opacity:1;filter:blur(14px) saturate(1.18);transform:translate3d(7vw,4vh,0) rotate(4deg) scale(1.12,1.04)}64%{opacity:.96;filter:blur(8px) saturate(1.1);transform:translate3d(0,-4vh,0) rotate(-2deg) scale(.95,1.1)}to{opacity:.94;filter:blur(10px) saturate(1.08);transform:translate3d(-4vw,-3vh,0) rotate(-4deg) scale(1.01,.95)}}@keyframes liquid-terracotta{0%{opacity:.7;filter:blur(14px) saturate(.98);transform:translate3d(-5vw,4vh,0) rotate(-6deg) scale(1.01,1.12)}34%{opacity:.9;filter:blur(20px) saturate(1.1);transform:translate3d(8vw,-6vh,0) rotate(5deg) scale(1.15,.96)}68%{opacity:.78;filter:blur(11px) saturate(.95);transform:translate3d(1vw,5vh,0) rotate(-3deg) scale(.94,1.16)}to{opacity:.7;filter:blur(14px) saturate(.98);transform:translate3d(-5vw,4vh,0) rotate(-6deg) scale(1.01,1.12)}}.apfm-feature{position:relative;width:calc(100% + 56px);margin:260px -56px 96px 0;padding:132px 44px 42px;color:var(--apfm-ivory);background:var(--apfm-blue);border-radius:14px;box-shadow:0 18px 44px #2c2f342b;isolation:isolate}.apfm-collage{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;pointer-events:none}.apfm-bleed{position:absolute;z-index:2;top:-78px;right:-118px;width:720px;max-width:none;filter:drop-shadow(0 16px 16px rgba(44,47,52,.13))}.apfm-brand-mark{position:absolute;z-index:3;top:-208px;left:28px;width:304px;padding:6px 12px;isolation:isolate}.apfm-brand-mark:before{position:absolute;z-index:0;top:-10px;right:-24px;bottom:-10px;left:-24px;background:radial-gradient(ellipse at center,#ffffff94,#ffffff52 38%,#ffffff1a 58%,#fff0 76%);border-radius:50%;-webkit-backdrop-filter:blur(14px) saturate(104%);backdrop-filter:blur(14px) saturate(104%);content:"";filter:blur(3px);-webkit-mask-image:radial-gradient(ellipse at center,#000 0 38%,rgba(0,0,0,.62) 54%,rgba(0,0,0,.16) 68%,transparent 78%);mask-image:radial-gradient(ellipse at center,#000 0 38%,rgba(0,0,0,.62) 54%,rgba(0,0,0,.16) 68%,transparent 78%)}.apfm-brand-mark:after{content:none}.apfm-brand-mark img{position:relative;z-index:1;display:block;width:100%;height:auto;filter:drop-shadow(0 0 2px rgba(255,255,255,.98)) drop-shadow(0 0 6px rgba(255,255,255,.62)) drop-shadow(0 0 10px rgba(255,255,255,.36))}.apfm-feature__masthead{position:relative;z-index:3;display:flex;flex-flow:column wrap;align-items:flex-start;padding-bottom:30px;border-bottom:1px solid rgba(255,253,247,.28)}.apfm-role-title,.apfm-role-date,.apfm-feature p,.apfm-pillar h3{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.apfm-role-title{margin:0;color:var(--apfm-ivory);font-size:20px;font-weight:700;line-height:1.2}.apfm-role-date{margin:6px 0 0;color:var(--apfm-cream);font-size:16px;font-weight:400;line-height:1.4;opacity:.76}.apfm-feature__intro{position:relative;z-index:1;max-width:560px;padding:34px 0 38px}.apfm-feature h2{max-width:470px;margin:0 0 24px;color:var(--apfm-ivory);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:clamp(40px,3.3vw,54px);font-weight:560;line-height:1.01;letter-spacing:-.035em}.apfm-feature__intro>p:last-child{max-width:500px;margin:0;color:var(--apfm-cream);font-size:18px;line-height:1.45}.apfm-pillars{position:relative;z-index:1;border-top:1px solid rgba(255,253,247,.28)}.apfm-pillar{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid rgba(255,253,247,.28)}.apfm-pillar__number{color:var(--apfm-cream);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;line-height:1.4}.apfm-pillar h3{margin:0 0 7px;color:var(--apfm-ivory);font-size:20px;font-weight:750;line-height:1.25}.apfm-pillar p{max-width:520px;margin:0;color:var(--apfm-cream);font-size:18px;line-height:1.45}.apfm-pillar:last-child{border-bottom:0}.work-card-container.work-automation{margin-top:400px}.legacy-automation-image{display:block;height:auto}.work-card-container img{max-width:100%}.work-title{margin-bottom:4px}.intro-cta-text strong{font-weight:500}.intro-cta-icon-slot{display:inline-flex;width:22px;height:22px;flex:0 0 22px;align-items:center;justify-content:center}.intro-cta-icon{display:block;color:currentColor;transform:scale(1);transform-origin:center;transition:transform .25s cubic-bezier(.645,.045,.355,1)}.intro-cta-icon--download{width:18px;height:18px}.intro-cta-icon--linkedin,.intro-cta-icon--email{width:20px;height:20px}.intro-cta:is(:hover,:focus-visible,:active) .intro-cta-icon{transform:scale(1.5)}@media(min-width:992px){.sticky-container{z-index:21}.intro-wordmark-link{position:relative;z-index:21}.sticky-container .intro-ctas{gap:18px}.sticky-container .intro-cta{width:112px;min-height:32px;align-items:center;gap:8px;margin-right:0}.sticky-container .intro-cta-text{margin-right:0}.sticky-container .intro-cta-icon-slot{width:28px;height:28px;flex-basis:28px}.sticky-container .intro-cta-icon--download,.sticky-container .intro-cta-icon--linkedin,.sticky-container .intro-cta-icon--email{width:24px;height:24px}}.work-cta{text-decoration:none}.work-cta.is-disabled{opacity:.45;cursor:not-allowed}@media(max-width:1190px){.apfm-feature{width:100%;margin-right:0}.apfm-bleed{top:-90px;right:-92px;width:680px}}@media(max-width:991px){.progressive-blur{left:0;height:calc(176px + var(--safe-area-top))}.navigation{position:fixed;z-index:21;top:0;right:0;left:0;display:flex;min-height:calc(78px + var(--safe-area-top));align-items:center;padding:calc(25px + var(--safe-area-top)) max(40px,var(--safe-area-right)) 18px max(40px,var(--safe-area-left));background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.navigation-container{display:flex;align-items:center}.navigation .logo-link{width:min(62vw,270px)}.navigation .adaptive-wordmark{width:100%}.intro-wordmark-link{display:none}.section{padding-top:calc(82px + var(--safe-area-top))}.sticky-container{padding-top:28px;padding-bottom:36px}.backdrop-floats{max-width:none;overflow:hidden}.portfolio-floats.sun{position:fixed;top:-180px;left:-4%;width:900px;opacity:.96}.portfolio-floats.hex{display:block;position:fixed;top:42vh;left:-310px;width:820px;opacity:.76}.apfm-feature{width:min(100%,760px);margin:190px auto 90px;padding:136px 48px 44px}.apfm-bleed{top:-82px;right:-64px;width:760px}.apfm-brand-mark{top:-210px;width:292px}}@media(max-width:767px){.intro-slogan{font-size:clamp(54px,12vw,70px);line-height:.96;letter-spacing:-.04em}.normal-text{font-size:18px;line-height:1.35}.apfm-feature{margin-top:130px;padding:114px 30px 34px;border-radius:12px}.apfm-bleed{top:-62px;right:-76px;width:600px}.apfm-feature__masthead{padding-bottom:26px}.apfm-brand-mark{top:-174px;left:22px;width:264px}.apfm-feature__intro{padding:34px 0 30px}.apfm-feature h2{font-size:clamp(38px,7vw,48px)}.apfm-feature__intro>p:last-child{font-size:17px}}@media(max-width:479px){.navigation{min-height:calc(72px + var(--safe-area-top));padding:calc(22px + var(--safe-area-top)) max(20px,var(--safe-area-right)) 16px max(20px,var(--safe-area-left))}.progressive-blur{top:0;height:calc(164px + var(--safe-area-top))}.navigation .logo-link{width:min(76vw,250px)}.portfolio-floats.sun{top:-38px;left:-68px;width:520px;opacity:1;filter:blur(8px) saturate(1.1);animation-duration:8s}.portfolio-floats.hex{top:37vh;left:-118px;width:560px;opacity:.84;filter:blur(12px) saturate(1);animation-duration:10s}.logo-image--source{max-width:none}.sticky-container{padding-top:24px}.intro-slogan{font-size:clamp(48px,13.5vw,60px);line-height:.96}.intro-text p{margin-top:14px}.intro-ctas{flex-flow:row wrap;gap:14px 20px}.intro-cta{margin-right:0;min-height:44px;align-items:center}.intro-cta-text{font-size:21px}.apfm-feature{width:calc(100% + 8px);margin:92px -4px 72px;padding:100px 22px 24px}.apfm-bleed{top:-42px;right:-64px;width:480px}.apfm-brand-mark{top:-140px;left:14px;width:244px}.apfm-feature__intro{padding:30px 0 26px}.apfm-feature h2{margin-bottom:20px;font-size:clamp(34px,9.5vw,40px);line-height:1.06}.apfm-pillar{grid-template-columns:36px 1fr;gap:12px;padding:22px 0}.apfm-pillar h3{font-size:18px}.work-card-container{margin-top:48px;margin-bottom:64px}.work-card-container.work-automation{margin-top:260px}.work-card-cta-wrapper{align-items:stretch;flex-direction:column}.work-cta{width:100%;min-height:48px;text-align:center}.intro-ctas.intro-ctas-bottom{gap:14px 20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}.portfolio-floats{animation:none!important}.portfolio-floats.sun{opacity:.98;filter:blur(10px) saturate(1.1);transform:translateZ(0) rotate(-1deg) scaleX(1.04)}.portfolio-floats.hex{opacity:.8;filter:blur(14px) saturate(1);transform:translateZ(0) rotate(-2deg) scale(1.04,1.08)}}
