.dither-portrait_portrait__NxjR3{--control-outset:1rem;position:relative;display:block;width:100%;aspect-ratio:1;margin-bottom:4.5rem;touch-action:pan-y}.dither-portrait_image__nr6iM{position:absolute;inset:40px;overflow:hidden;border-radius:50%;touch-action:pan-y}.dither-portrait_media__15pzX{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:var(--background);pointer-events:none}.dither-portrait_control__PBjf7{position:absolute;inset:calc(22px - var(--control-outset));color:var(--muted-foreground);pointer-events:none;touch-action:none}.dither-portrait_arc__CDVSO{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.dither-portrait_arc__CDVSO path{fill:none;stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}.dither-portrait_track__tThgx{stroke:color-mix(in srgb,var(--foreground) 14%,transparent)}.dither-portrait_tick__jHck1{stroke:color-mix(in srgb,var(--foreground) 32%,transparent)}.dither-portrait_arc__CDVSO .dither-portrait_hitArea__6hCL0{stroke:transparent;stroke-width:36;pointer-events:stroke;touch-action:none;cursor:grab}.dither-portrait_portrait__NxjR3[data-adjusting=true] .dither-portrait_endpoint__4gs5p,.dither-portrait_portrait__NxjR3[data-adjusting=true] .dither-portrait_hitArea__6hCL0{cursor:grabbing}.dither-portrait_endpoint__4gs5p{position:absolute;z-index:1;display:grid;width:44px;height:44px;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;cursor:grab}.dither-portrait_endpointDisc__f2HRZ{display:grid;width:32px;height:32px;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--background);color:var(--muted-foreground);transition:color .16s ease,border-color .16s ease}.dither-portrait_endpointDisc__f2HRZ svg{width:16px;height:16px}.dither-portrait_endpoint__4gs5p:hover .dither-portrait_endpointDisc__f2HRZ,.dither-portrait_endpoint__4gs5p[aria-pressed=true] .dither-portrait_endpointDisc__f2HRZ{color:var(--brand-blue);border-color:color-mix(in srgb,var(--brand-blue) 40%,var(--border))}.dither-portrait_endpoint__4gs5p:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.dither-portrait_thumbOrbit__cKF1h{position:absolute;inset:0;z-index:2;pointer-events:none}.dither-portrait_thumb__2wNMw{position:absolute;top:50%;left:100%;width:40px;height:40px;border:1.5px solid var(--brand-blue);border-radius:50%;background:color-mix(in srgb,var(--brand-blue) 5%,transparent);transform:translate(-50%,-50%);pointer-events:none}.dither-portrait_control__PBjf7[data-pointer-focus=false]:has(.dither-portrait_input__WhcW4:focus-visible) .dither-portrait_thumb__2wNMw{outline:2px solid var(--ring);outline-offset:3px}.dither-portrait_input__WhcW4{position:absolute;width:44px;height:44px;margin:0;transform:translate(-50%,-50%);opacity:0;pointer-events:none}@media (max-width:767px){.dither-portrait_portrait__NxjR3{margin-top:var(--control-outset);margin-bottom:5rem}}@media (prefers-reduced-motion:reduce){.dither-portrait_endpointDisc__f2HRZ{transition:none}}.dither-portrait_interaction__EK_2z{position:absolute;inset:0;z-index:4;border-radius:inherit;touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dither-portrait_interaction__EK_2z[data-armed=true]{touch-action:none}.dither-portrait_interaction__EK_2z:focus-visible{outline:2px solid var(--brand-blue);outline-offset:-3px}.dither-portrait_interactionCanvas___QPAp{position:absolute;inset:0;pointer-events:none}.dither-portrait_toolCursor__DCUNb{position:absolute;display:none;width:24px;height:24px;pointer-events:none;color:#272831;filter:drop-shadow(0 1px 1px #fff) drop-shadow(0 0 2px #fff);transform:translate(-3px,-21px)}.dither-portrait_toolCursor__DCUNb svg{width:100%;height:100%}@media (pointer:fine){.dither-portrait_interaction__EK_2z[data-tool=paint],.dither-portrait_interaction__EK_2z[data-tool=sketch]{cursor:crosshair}.dither-portrait_interaction__EK_2z[data-tool=paint]:has(.dither-portrait_toolCursor__DCUNb[data-visible=true]),.dither-portrait_interaction__EK_2z[data-tool=sketch]:has(.dither-portrait_toolCursor__DCUNb[data-visible=true]){cursor:none}.dither-portrait_interaction__EK_2z[data-tool=paint] .dither-portrait_toolCursor__DCUNb[data-visible=true],.dither-portrait_interaction__EK_2z[data-tool=sketch] .dither-portrait_toolCursor__DCUNb[data-visible=true]{display:block}}.dither-portrait_interactionTools__v1h4L{position:absolute;inset-inline:-1rem;top:calc(100% + 1.375rem);display:flex;align-items:center;justify-content:center;gap:.75rem;height:2.75rem;color:var(--muted-foreground);font-size:.75rem;line-height:1.4;white-space:nowrap}.dither-portrait_interactionTools__v1h4L button{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:44px;padding-inline:.375rem;border-radius:999px;cursor:pointer}.dither-portrait_interactionTools__v1h4L button svg{width:15px;height:15px}.dither-portrait_interactionTools__v1h4L button:hover,.dither-portrait_interactionTools__v1h4L button[aria-pressed=true]{color:var(--foreground)}.dither-portrait_interactionTools__v1h4L button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}.dither-portrait_unavailable__pkOhZ{position:absolute;inset:0;display:grid;place-items:center;background:var(--surface-inner);color:var(--muted-foreground)}.page-header-motion_title__rPqZB{display:inline-block}.page-header-motion_letter__2nZqP{display:inline-block;white-space:pre;transform-origin:50% 65%}.page-header-motion_description__Exsb0{display:block}@media (prefers-reduced-motion:no-preference){.page-header-motion_header__4z2gZ[data-enter] .page-header-motion_letter__2nZqP{animation:page-header-motion_letter-enter__3x5jU .28s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--header-letter-index) * 22ms)}.page-header-motion_header__4z2gZ[data-enter] .page-header-motion_description__Exsb0{animation:page-header-motion_description-enter__vqYfx .3s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--header-description-delay)}.page-header-motion_header__4z2gZ[data-enter] .page-header-motion_identity__OZmX_{animation:page-header-motion_identity-enter__G6F_R .28s cubic-bezier(.22,1,.36,1) both}}@keyframes page-header-motion_letter-enter__3x5jU{0%{opacity:.25;transform:perspective(180px) translateY(.08em) rotateX(-55deg)}70%{opacity:1;transform:perspective(180px) translateY(0) rotateX(5deg)}to{opacity:1;transform:perspective(180px) translateY(0) rotateX(0)}}@keyframes page-header-motion_description-enter__vqYfx{0%{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:translateX(0)}}@keyframes page-header-motion_identity-enter__G6F_R{0%{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dot-matrix-loader_loader__i8F_Z{isolation:isolate;pointer-events:none;color:var(--brand-blue)}.dot-matrix-loader_texture__6zLMH{position:absolute;z-index:0;inset:0;border-radius:inherit;background-image:radial-gradient(circle,currentColor .9px,transparent 1.2px),var(--loading-texture-wash,linear-gradient(110deg,transparent,color-mix(in srgb,var(--brand-blue) 30%,transparent),transparent));background-position:50%;background-size:12px 12px,100% 100%;opacity:var(--loading-texture-opacity,.13);animation:dot-matrix-loader_breathe__syrEC 4.8s ease-in-out infinite;animation-play-state:paused}.dot-matrix-loader_loader__i8F_Z[data-loading-motion=active] .dot-matrix-loader_texture__6zLMH{animation-play-state:running}.dot-matrix-loader_loader__i8F_Z[data-loading-static] .dot-matrix-loader_texture__6zLMH{animation:none;opacity:var(--loading-texture-opacity,.13)}@keyframes dot-matrix-loader_breathe__syrEC{0%,to{opacity:var(--loading-texture-min,.1)}50%{opacity:var(--loading-texture-max,.2)}}@media (prefers-reduced-motion:reduce){.dot-matrix-loader_texture__6zLMH{animation:none;opacity:var(--loading-texture-opacity,.13)}}@media (scripting:none){.dot-matrix-loader_loader__i8F_Z[data-image-loading-indicator]{display:none}}.home-bento-hero_hero__aBj2Q .home-bento-hero_body__pmfq6{grid-template-areas:"copy visual";padding-block:clamp(2.5rem,4vw,3.5rem)}.home-bento-hero_hero__aBj2Q .home-bento-hero_copy__8GTPW{grid-area:copy}.home-bento-hero_hero__aBj2Q .home-bento-hero_visual__2GJ7n{grid-area:visual}.home-bento-hero_hero__aBj2Q .home-bento-hero_headline__X_Xg5{line-height:1.06}.home-bento-hero_hero__aBj2Q .home-bento-hero_typingControl__jEtJX{min-height:2.75rem;line-height:inherit}.home-bento-hero_hero__aBj2Q .home-bento-hero_keyword__l6KzB{min-height:1.06em;line-height:inherit}.home-bento-hero_hero__aBj2Q .home-bento-hero_keywordText__qTJxU{text-align:inherit}.home-bento-hero_hero__aBj2Q .home-bento-hero_actions__7zx1g,.home-bento-hero_hero__aBj2Q .home-bento-hero_description__r3Din{margin-top:1.25rem}@media (max-width:767px){.home-bento-hero_hero__aBj2Q .page-header__row{flex-direction:column;align-items:center;gap:1rem}.home-bento-hero_hero__aBj2Q .page-header__lead{width:100%;flex:none}.home-bento-hero_hero__aBj2Q [data-profile-identity]{flex-direction:column;flex-wrap:nowrap;gap:.75rem;text-align:center}.home-bento-hero_hero__aBj2Q [data-profile-identity]>img{width:3rem;height:3rem}.home-bento-hero_hero__aBj2Q [data-profile-identity] .profile-identity__text{display:flex;flex:none;flex-direction:column;align-items:center;gap:.125rem;width:100%}.home-bento-hero_hero__aBj2Q [data-profile-identity] .profile-identity__text>.profile-identity__details{display:flex;flex-direction:column;justify-content:center;gap:.125rem;margin:0;padding:0;border:0}.home-bento-hero_hero__aBj2Q .page-header__socials{align-self:center}.home-bento-hero_hero__aBj2Q .home-bento-hero_body__pmfq6{grid-template-areas:"visual" "copy";gap:1.25rem;padding-block:1rem 1.5rem}.home-bento-hero_hero__aBj2Q .home-bento-hero_visual__2GJ7n{width:min(64vw,14rem);max-width:none}.home-bento-hero_hero__aBj2Q .home-bento-hero_copy__8GTPW{width:100%;max-width:32rem;justify-self:center;text-align:center}.home-bento-hero_hero__aBj2Q .home-bento-hero_headline__X_Xg5{font-size:clamp(1.875rem,8.4vw,2.75rem)}.home-bento-hero_hero__aBj2Q .home-bento-hero_typingControl__jEtJX{text-align:center}.home-bento-hero_hero__aBj2Q .home-bento-hero_keyword__l6KzB>:last-child{justify-self:center;text-align:center}.home-bento-hero_hero__aBj2Q .home-bento-hero_description__r3Din{margin-inline:auto;margin-top:1rem;max-width:29rem}.home-bento-hero_hero__aBj2Q .home-bento-hero_actions__7zx1g{width:100%;max-width:22rem;margin-inline:auto}}@media (max-width:767px) and (max-height:480px) and (orientation:landscape){.home-bento-hero_hero__aBj2Q .home-bento-hero_body__pmfq6{gap:1rem;padding-top:.5rem}.home-bento-hero_hero__aBj2Q .home-bento-hero_visual__2GJ7n{width:min(36svh,11.5rem)}}.media-frame_phone__ITVuk{border-radius:9.16%/4.23%}.media-frame_bare__ypM29{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;filter:none!important}.media-frame_bare__ypM29 img,.media-frame_bare__ypM29>:is(picture,span,div){border-radius:0!important;background:transparent!important;box-shadow:none!important}.media-frame_bare__ypM29:after,.media-frame_bare__ypM29:before{content:none!important}.media-frame_glass__sSMKz{position:relative;isolation:isolate;background:var(--card);box-shadow:var(--surface-shadow,var(--elev-1))}.media-frame_glass__sSMKz:after{content:"";position:absolute;z-index:4;inset:0;pointer-events:none;border-radius:inherit;border:1px solid var(--surface-rim,color-mix(in srgb,var(--foreground) 10%,transparent));box-shadow:inset 0 1px 0 var(--surface-highlight,rgb(255 255 255/.7)),inset 0 -1px 0 color-mix(in srgb,var(--foreground) 4%,transparent)}.media-frame_glass__sSMKz img{background:transparent!important}.media-frame_sourcePhone__wLhq_,.media-frame_sourceWeb__xG0F_{position:relative;isolation:isolate;background:transparent!important;filter:drop-shadow(0 8px 10px rgb(15 18 26/.12))}.media-frame_sourceWeb__xG0F_{border-radius:8px}.media-frame_sourcePhone__wLhq_:has(img[src*="/cases/device-presentations/"]),.media-frame_sourceWeb__xG0F_:has(img[src*="/cases/device-presentations/"]){border-radius:0!important}.media-frame_sourcePhone__wLhq_>:is(img,picture,span,div),.media-frame_sourceWeb__xG0F_>:is(img,picture,span,div){border-radius:inherit}.dark .media-frame_sourcePhone__wLhq_,.dark .media-frame_sourceWeb__xG0F_{filter:drop-shadow(0 10px 14px rgb(0 0 0/.25))}.media-frame_sourcePhone__wLhq_ img,.media-frame_sourcePhone__wLhq_>:is(picture,span,div):not([data-image-loading-indicator]),.media-frame_sourceWeb__xG0F_ img,.media-frame_sourceWeb__xG0F_>:is(picture,span,div):not([data-image-loading-indicator]){background:transparent!important}.hero-slider_slider__4OHt2{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}@media (min-width:768px){.hero-slider_slider__4OHt2[data-responsive-media]>[data-hide-desktop]{display:none}}@media (max-width:767px){.hero-slider_slider__4OHt2[data-mobile-opening=true]{--case-phone-preview-width:min(70vw,15rem,30svh)}.hero-slider_slider__4OHt2[data-responsive-media]>[data-hide-mobile]{display:none}}.project-preview_stage__i7yp5{--preview-light:#e8edf4;--preview-mid:#b3c3d6;--preview-deep:#6f879e;isolation:isolate;padding-inline:clamp(12px,2.5cqw,20px);padding-top:clamp(12px,2.5cqw,20px);--glow-a-x:-8%;--glow-a-y:90%;--glow-b-x:108%;--glow-b-y:8%;background-color:color-mix(in srgb,var(--background) 98%,var(--foreground) 2%);background-image:radial-gradient(ellipse 68% 42% at var(--glow-a-x) var(--glow-a-y),color-mix(in srgb,var(--preview-mid) 38%,transparent),transparent 78%),radial-gradient(ellipse 54% 64% at var(--glow-b-x) var(--glow-b-y),color-mix(in srgb,var(--preview-deep) 19%,transparent),transparent 78%)}.project-preview_stage__i7yp5[data-preview-project=sapiom-agent-studio]{--glow-a-x:-8%;--glow-a-y:18%;--glow-b-x:104%;--glow-b-y:88%;--preview-light:#e2eee7;--preview-mid:#acc5b5;--preview-deep:#5e8b74}.project-preview_stage__i7yp5[data-preview-project=vidiq-mobile-app]{--glow-a-x:86%;--glow-a-y:-8%;--glow-b-x:-12%;--glow-b-y:90%;--preview-light:#e0ebfb;--preview-mid:#a1c2ea;--preview-deep:#507eae}.project-preview_stage__i7yp5[data-preview-project=adobe-creative-production]{--glow-a-x:-10%;--glow-a-y:90%;--glow-b-x:110%;--glow-b-y:10%;--preview-light:#f8e3e1;--preview-mid:#e9a8a1;--preview-deep:#ae6967}.project-preview_stage__i7yp5[data-preview-project=memoory-social-mobile-app]{--glow-a-x:110%;--glow-a-y:22%;--glow-b-x:2%;--glow-b-y:105%;--preview-light:#d9dce2;--preview-mid:#9198a4;--preview-deep:#3e4653}.project-preview_stage__i7yp5[data-preview-project=instacart-wayfinder]{--glow-a-x:-18%;--glow-a-y:40%;--glow-b-x:84%;--glow-b-y:110%;--preview-light:#fff0de;--preview-mid:#eac295;--preview-deep:#bc8a5b}.project-preview_stage__i7yp5[data-preview-project=shopify-ai-alt-text]{--glow-a-x:-4%;--glow-a-y:2%;--glow-b-x:106%;--glow-b-y:90%;--preview-light:#eee5fb;--preview-mid:#c4abe9;--preview-deep:#8d73b7}.project-preview_stage__i7yp5[data-preview-project=payflow-ai-workspace]{--glow-a-x:100%;--glow-a-y:0%;--glow-b-x:-8%;--glow-b-y:88%;--preview-light:#def0e8;--preview-mid:#a0cbb9;--preview-deep:#477b69}.project-preview_stage__i7yp5[data-preview-project=litty-stories]{--glow-a-x:6%;--glow-a-y:-12%;--glow-b-x:110%;--glow-b-y:74%;--preview-light:#f8e2ec;--preview-mid:#e5adc5;--preview-deep:#b77f99}.project-preview_stage__i7yp5:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.045;background:url(/cases/device-presentations/grain-96.png) repeat;background-size:96px 96px;mix-blend-mode:multiply}.project-preview_media__IwjMj{z-index:1;transition:transform .26s cubic-bezier(.2,.7,.2,1)}.project-preview_composition__lnveE{background:transparent;filter:drop-shadow(0 16px 14px rgb(21 30 42/.16))}.project-preview_stage__i7yp5[data-preview-kind=artwork] .project-preview_media__IwjMj{background:transparent;border-radius:3px;box-shadow:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){[data-project-card-slug]:is(:hover,:focus-within) .project-preview_media__IwjMj{transform:perspective(1100px) translate3d(calc(var(--project-pointer-x, 0) * 7px),calc(var(--project-pointer-y, 0) * 5px - 3px),0) rotateX(calc(var(--project-pointer-y, 0) * -1.3deg)) rotateY(calc(var(--project-pointer-x, 0) * 1.6deg)) scale(1.015);will-change:transform}}.dark .project-preview_stage__i7yp5{background-image:radial-gradient(ellipse 68% 42% at var(--glow-a-x) var(--glow-a-y),color-mix(in srgb,var(--preview-mid) 20%,transparent),transparent 78%),radial-gradient(ellipse 54% 64% at var(--glow-b-x) var(--glow-b-y),color-mix(in srgb,var(--preview-deep) 22%,transparent),transparent 78%)}@media (prefers-reduced-motion:reduce){.project-preview_media__IwjMj{transition:none;transform:none}}.project-preview_composition__lnveE img{background:transparent!important}.skills_header__8JP5M{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:16px}.skills_controls__SIvca{grid-column:2;grid-row:1;display:flex;align-items:center;gap:8px}.skills_help__IcVdb{grid-column:1/-1;justify-self:end;margin:0;color:var(--muted-foreground);font-size:14px;line-height:1.5;text-align:right}@media (min-width:900px){.skills_header__8JP5M{grid-template-columns:minmax(0,1fr) auto auto}.skills_help__IcVdb{grid-column:2;grid-row:1}.skills_controls__SIvca{grid-column:3}}