:root{color-scheme:dark;--brand-600:#ee5101;--background:#111;--surface:#1a1a1a;--surface-hover:#1b1b1b;--surface-active:#202020;--line:#262626;--line-strong:#333;--text:#e8e8e8;--text-soft:#c6c6c6;--text-muted:#818181;--text-faint:#707070;--selection:#356ac3;--selection-text:#fff;--focus:#a9ddd2;--button:#ececec;--button-text:#151515;--accent-lime:#d8f276;--accent-lime-text:#20301a;--accent-mint:#a9ddd2;--accent-mint-text:#173d37;--github-0:#2a2a2a;--github-0-border:#3a3a3a;--github-empty:#242424;--github-empty-border:#333;--github-1:#244039;--github-2:#32685b;--github-3:#58a18f;--github-4:#a9ddd2;--page-width:36rem;--footer-width:80rem;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}:root[data-theme=light]{color-scheme:light;--background:#fcfcfb;--surface:#f8f8f6;--surface-hover:#f1f1ef;--surface-active:#e9e9e6;--line:#e8e8e5;--line-strong:#d7d7d3;--text:#202020;--text-soft:#525252;--text-muted:#666;--text-faint:#707070;--focus:#245f53;--button:#202020;--button-text:#fff;--github-0:#ececea;--github-0-border:#d8d8d5;--github-empty:#f4f4f2;--github-empty-border:#e2e2df;--github-1:#d5d5d2;--github-2:#a7a7a3;--github-3:#666662;--github-4:#202020}*,:before,:after{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;text-rendering:optimizelegibility}body{background:var(--background);min-width:20rem;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;line-height:1.5;transition:background-color .18s,color .18s}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--selection);color:var(--selection-text)}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);transition:transform .16s var(--ease-out);border-radius:.6rem;padding:.7rem .9rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell{width:min(calc(100% - 2.5rem), var(--page-width));margin:0 auto}.case-study-shell{width:min(100% - 2.5rem,42rem);margin:0 auto;padding:3.25rem 0 8rem}.case-toolbar{justify-content:space-between;align-items:center;gap:1.5rem;min-height:2.25rem;display:flex}.case-toolbar-actions{flex:none;align-items:center;gap:.5rem;display:flex}.case-toolbar .command-trigger{border-radius:.625rem;gap:.375rem;min-height:2.25rem;padding:0 .5rem;transition:background-color .15s,color .15s}.case-breadcrumb{min-width:0;color:var(--text-faint);align-items:center;gap:.4375rem;font-size:.75rem;line-height:1.125rem;display:flex}.case-breadcrumb a{flex:none;transition:color .15s}.case-breadcrumb a:hover{color:var(--text-soft)}.case-breadcrumb-current{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.case-header{margin-top:3.5rem}.case-header h1{max-width:40rem;color:var(--text);letter-spacing:-.038em;margin:0;font-size:clamp(2.25rem,7vw,3.25rem);font-weight:520;line-height:1.03}.case-subtitle{max-width:34rem;color:var(--text-soft);margin:1rem 0 0;font-size:1.0625rem;line-height:1.5625rem}.case-published{color:var(--text-faint);align-items:center;gap:.5rem;margin-top:.625rem;font-size:.75rem;line-height:1.125rem;display:flex}.case-hero{border:1px solid var(--line);background:var(--surface);cursor:zoom-in;border-radius:.875rem;width:100%;margin-top:2.5rem;padding:0;display:block;overflow:hidden}.case-hero img,.case-media img,.case-media video{width:100%;height:auto;display:block}.case-hero img,.case-media-link img{transition:opacity .16s ease, transform .14s var(--ease-out);transform:scale(1)}.case-image-trigger:active img{transform:scale(.995)}.case-image-trigger:focus-visible:active img{transform:scale(1)}@media (hover:hover) and (pointer:fine){.case-hero:hover img,.case-media-link:hover img{opacity:.92}}.case-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem 2rem;margin:2rem 0 0;padding:0;display:grid}.case-facts div{min-width:0}.case-facts dt{color:var(--text-faint);font-size:.75rem;line-height:1.125rem}.case-facts dd{color:var(--text-soft);margin:.1875rem 0 0;font-size:.875rem;line-height:1.25rem}.case-facts dd a{border-bottom:1px solid #0000;transition:border-color .15s,color .15s}.case-facts dd a:hover{border-color:var(--line-strong);color:var(--text)}.case-body{margin-top:4.5rem}.case-section+.case-section{margin-top:5rem}.case-section h2{max-width:36rem;color:var(--text);letter-spacing:-.03em;margin:.375rem 0 0;font-size:1.5rem;font-weight:520;line-height:1.875rem}.case-section p{color:var(--text-muted);margin:1rem 0 0;font-size:.9375rem;line-height:1.5625rem}.case-section p strong,.case-section li strong{color:var(--text-soft);font-weight:520}.case-section .case-eyebrow{color:var(--text-faint);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.6875rem;font-weight:520;line-height:1rem}.case-principles{border-top:1px solid var(--line);margin:1.75rem 0 0;padding:0;list-style:none}.case-principles li{border-bottom:1px solid var(--line);grid-template-columns:2.25rem minmax(0,1fr);gap:.75rem;padding:1.125rem 0;display:grid}.case-principles li>span{color:var(--text-faint);padding-top:.125rem;font-size:.6875rem;line-height:1rem}.case-principles strong{font-size:.9375rem;line-height:1.3125rem;display:block}.case-principles p{margin-top:.25rem;font-size:.8125rem;line-height:1.25rem}.case-section h3{color:var(--text-soft);letter-spacing:-.018em;margin:2rem 0 0;font-size:1rem;font-weight:520;line-height:1.375rem}.case-list{color:var(--text-muted);margin:1.25rem 0 0;padding-left:1.125rem;font-size:.875rem;line-height:1.4375rem}.case-list li+li{margin-top:.5rem}.case-list li::marker{color:var(--text-faint)}.case-callout{border:1px solid var(--line);background:var(--surface);border-radius:.75rem;margin-top:1.75rem;padding:1rem 1.125rem}.case-callout p{margin:0;font-size:.8125rem;line-height:1.3125rem}.case-detail-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;margin-top:1.75rem;padding-top:1.25rem;display:grid}.case-detail-grid h3{margin:0}.case-detail-grid .case-list{margin-top:.75rem}.case-inline-link{border-bottom:1px solid var(--line-strong);color:var(--text-soft);margin-top:1.25rem;font-size:.8125rem;line-height:1.25rem;transition:border-color .15s,color .15s;display:inline-flex}.case-inline-link:hover{border-color:var(--text-soft);color:var(--text)}.case-media{margin:2rem 0 0}.case-phone-stage{border:1px solid var(--line);background:#e9edf7;border-radius:.875rem;place-items:center;min-height:30rem;padding:2.5rem;display:grid;overflow:hidden}.case-phone-stage .case-media-link,.case-phone-stage .minimal-video-player{background:#f3f6fb;border:0;border-radius:1.25rem;width:min(100%,18rem);box-shadow:0 1rem 2.5rem #2a375c24}.case-phone-sequence{gap:1rem;display:grid}.case-screen-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:0;display:grid}.case-screen-grid .case-media-link,.case-screen-grid .minimal-video-player{border:0;border-radius:.75rem}.case-screen-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:31rem;margin-left:auto;margin-right:auto}.case-screen-grid+figcaption{margin-top:.625rem}.case-media-link,.minimal-video-player{border:1px solid var(--line);background:var(--surface);border-radius:.875rem;display:block;overflow:hidden}.case-media-link{cursor:zoom-in;width:100%;padding:0}.minimal-video-player{position:relative}.minimal-video-player video{background:var(--surface);border:0}.minimal-video-control{border-radius:inherit;color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:100%;height:100%;padding:0;display:grid;position:absolute;inset:0}.minimal-video-control:focus-visible{outline-offset:-.1875rem}.minimal-video-control-surface{opacity:0;width:2.75rem;height:2.75rem;transition:background-color .15s ease, border-color .15s ease, opacity .11s ease, transform .14s var(--ease-out);background:#111111d6;border:1px solid #ffffff2e;border-radius:.75rem;place-items:center;display:grid;transform:scale(.94)}.minimal-video-player[data-playing=false] .minimal-video-control-surface,.minimal-video-control:focus-visible .minimal-video-control-surface{opacity:1;background:#111111f0;border-color:#ffffff47;transform:scale(1)}.minimal-video-control:focus-visible .minimal-video-control-surface{transition:none}@media (hover:hover) and (pointer:fine){.minimal-video-player[data-playing=true]:hover .minimal-video-control-surface{opacity:1;background:#111111f0;border-color:#ffffff47;transition-duration:.15s,.15s,.15s,.18s;transform:scale(1)}}.minimal-video-control:active .minimal-video-control-surface{opacity:1;transform:scale(.96)}.minimal-video-control:focus-visible:active .minimal-video-control-surface{transform:scale(1)}.minimal-video-icon{filter:blur(.125rem);opacity:0;transition:filter .12s ease, opacity .12s ease, transform .14s var(--ease-out);grid-area:1/1;place-items:center;display:grid;transform:scale(.94)}.minimal-video-player[data-playing=false] [data-video-icon=play],.minimal-video-player[data-playing=true] [data-video-icon=pause]{filter:blur();opacity:1;transform:scale(1)}.minimal-video-control:focus-visible .minimal-video-icon{transition:none}.case-image-lightbox{--lightbox-inline-padding:clamp(1rem, 3vw, 3rem);--lightbox-top-padding:3.5rem;--lightbox-bottom-padding:1.25rem;width:100vw;max-width:none;height:100dvh;max-height:none;padding:var(--lightbox-top-padding) var(--lightbox-inline-padding) var(--lightbox-bottom-padding);cursor:zoom-out;opacity:0;overscroll-behavior:contain;transition:opacity .13s var(--ease-out);background:0 0;border:0;margin:0;overflow:hidden}.case-image-lightbox[open]{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.case-image-lightbox::backdrop{opacity:0;transition:opacity .15s var(--ease-out);background:#080808e0}.case-image-lightbox[data-state=open],.case-image-lightbox[data-state=open]::backdrop{opacity:1;transition-duration:.18s}.case-image-lightbox>img{width:auto;min-width:0;max-width:calc(100vw - var(--lightbox-inline-padding) - var(--lightbox-inline-padding));height:auto;min-height:0;max-height:calc(100vh - var(--lightbox-top-padding) - var(--lightbox-bottom-padding));max-height:calc(100dvh - var(--lightbox-top-padding) - var(--lightbox-bottom-padding));cursor:default;object-fit:contain;transform-origin:50%;transition:transform .15s var(--ease-out);background:#111;border:1px solid #ffffff24;border-radius:.875rem;display:block;transform:scale(.97);box-shadow:0 1rem 3rem #0000005c}.case-image-lightbox[data-presentation=screen]>img{background:0 0;border:0;border-radius:.875rem}.case-image-lightbox[data-state=open]>img{transition-duration:.21s;transform:scale(1)}.case-image-lightbox[data-motion=none],.case-image-lightbox[data-motion=none]::backdrop,.case-image-lightbox[data-motion=none]>img{transition:none}.case-image-lightbox-close{color:#fff;cursor:pointer;width:2.25rem;height:2.25rem;transition:background-color .15s ease, border-color .15s ease, transform .16s var(--ease-out);background:#111111e0;border:1px solid #ffffff2e;border-radius:.6875rem;place-items:center;padding:0;display:grid;position:fixed;top:.875rem;right:.875rem}@media (hover:hover) and (pointer:fine){.case-image-lightbox-close:hover{background:#111;border-color:#ffffff47}}.case-image-lightbox-close:active{transform:scale(.96)}.case-image-lightbox-close:focus-visible:active{transform:scale(1)}.case-media figcaption{color:var(--text-faint);margin-top:.625rem;font-size:.6875rem;line-height:1rem}.case-results{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.75rem;display:grid}.case-results div{flex-direction:column;gap:.25rem;min-width:0;padding:1.125rem 1rem 1.125rem 0;display:flex}.case-results div+div{border-left:1px solid var(--line);padding-left:1rem}.case-results strong{color:var(--text);font-size:1rem;font-weight:520;line-height:1.25rem}.case-results span{color:var(--text-faint);font-size:.6875rem;line-height:1rem}.case-section blockquote{border-left:2px solid var(--line-strong);color:var(--text-soft);margin:1.75rem 0 0;padding:.125rem 0 .125rem 1rem;font-size:1rem;line-height:1.625rem}.case-end-nav{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;margin-top:6rem;padding-top:1.5rem;display:flex}.case-end-nav a{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8125rem;line-height:1.125rem;transition:color .15s;display:inline-flex}.case-end-nav a:hover{color:var(--text-soft)}.hero{padding-top:3.25rem}.identity-mark{background:#fdfdfd;border:1px solid #3b3b3b;border-radius:50%;width:3.75rem;height:3.75rem;display:block;overflow:hidden}.identity-avatar{object-fit:cover;width:100%;height:100%;display:block}.identity-row{justify-content:space-between;align-items:flex-start;min-height:2.8125rem;margin-top:1.125rem;display:flex}.identity-copy{flex-direction:column;gap:.1875rem;display:flex}.identity-copy p,.identity-location,.intro-copy p{margin:0}.identity-name{color:var(--text);letter-spacing:-.01em;font-size:1rem;font-weight:520;line-height:1.375rem}.identity-role{color:#898989;font-size:.875rem;line-height:1.25rem}.role-transition{white-space:nowrap;align-items:center;gap:.3125rem;display:inline-flex}.role-transition-arrow{--role-arrow-core:#fff;--role-arrow-glow:#fff;width:1.125rem;color:var(--text-faint);isolation:isolate;animation:role-arrow-charge 2.2s var(--ease-in-out) .6s 1 both;place-items:center;display:inline-grid;position:relative}.role-transition-arrow:before{z-index:-1;background:var(--role-arrow-glow);content:"";filter:blur(.3125rem);opacity:0;width:.75rem;height:.75rem;animation:role-arrow-halo 2.2s var(--ease-in-out) .6s 1 both;border-radius:50%;position:absolute;transform:scale(.65)}@keyframes role-arrow-charge{0%{color:var(--text-faint);text-shadow:0 0 #0000}18%{color:var(--role-arrow-core);text-shadow:0 0 .25rem color-mix(in srgb, var(--role-arrow-glow) 45%, transparent)}30%,72%{color:var(--role-arrow-core);text-shadow:0 0 .1875rem color-mix(in srgb, var(--role-arrow-glow) 72%, transparent), 0 0 .75rem color-mix(in srgb, var(--role-arrow-glow) 36%, transparent)}to{color:var(--text-faint);text-shadow:0 0 #0000}}@keyframes role-arrow-halo{0%,12%{opacity:0;transform:scale(.65)}30%{opacity:.36;transform:scale(1)}72%{opacity:.2;transform:scale(1.08)}to{opacity:0;transform:scale(1.35)}}:root[data-theme=light] .role-transition-arrow{color:var(--text-faint);text-shadow:none;animation:none}:root[data-theme=light] .role-transition-arrow:before{content:none;animation:none}.identity-location{color:#747474;font-size:.75rem;line-height:1.125rem}.hero h1{color:var(--text);letter-spacing:-.035em;margin:1.8125rem 0 0;font-size:2rem;font-weight:520;line-height:2.1875rem}.hero h1>.headline-line{display:block}.clarity-word,.complex-word{white-space:nowrap;display:inline-block;position:relative}.interactive-headline:focus-visible{outline-offset:.5rem;border-radius:.375rem;outline-width:1px}.clarity-copy{opacity:.08;transition:opacity var(--cloud-fade) ease}.clarity-clouds{z-index:1;pointer-events:none;position:absolute;inset:-.1em -.08em -.04em}.clarity-clouds i{--cloud-opacity:.82;--cloud-x:0;--cloud-y:0;--cloud-scale:.76;background:color-mix(in srgb, var(--text-soft) 78%, transparent);filter:blur(.075em);opacity:var(--cloud-opacity);transition:opacity var(--cloud-fade) ease, transform var(--cloud-drift) var(--ease-out);border-radius:999px;display:block;position:absolute}.clarity-clouds .cloud-left{--cloud-x:-.22em;--cloud-y:-.08em;width:1.08em;height:.56em;top:.22em;left:-.02em}.clarity-clouds .cloud-center{--cloud-opacity:.88;--cloud-y:-.22em;width:1.34em;height:.68em;top:.08em;left:.72em}.clarity-clouds .cloud-right{--cloud-x:.22em;--cloud-y:-.08em;width:1.02em;height:.56em;top:.2em;right:-.02em}.clarity-clouds .cloud-top{--cloud-opacity:.76;--cloud-y:-.28em;--cloud-scale:.72;width:.96em;height:.48em;top:-.02em;left:1.14em}.clarity-clouds .cloud-low{--cloud-opacity:.78;--cloud-y:.24em;--cloud-scale:.74;width:1.42em;height:.44em;bottom:.02em;left:.88em}.complex-word{vertical-align:0;margin-inline:.1em}.complex-matrix{color:var(--text-muted);font:inherit;letter-spacing:inherit;line-height:inherit;user-select:none;align-items:baseline;display:inline-flex}.matrix-cell{flex:none;display:inline-block;position:relative}.matrix-measure{visibility:hidden}.matrix-glyph{color:var(--text-muted);font:inherit;letter-spacing:inherit;text-align:center;place-items:center;transition:color 80ms;display:grid;position:absolute;inset:0}.matrix-glyph[data-locked=true]{color:var(--text)}.interactive-headline:focus-visible .clarity-clouds i,.clarity-word[data-resolved=true] .clarity-clouds i{opacity:0;transform:translate(var(--cloud-x), var(--cloud-y)) scale(var(--cloud-scale))}.interactive-headline:focus-visible .clarity-copy,.clarity-word[data-resolved=true] .clarity-copy{opacity:1}.interactive-headline:focus-visible .clarity-copy,.interactive-headline:focus-visible .clarity-clouds i{transition:none}.intro-copy{flex-direction:column;gap:1rem;margin-top:1.375rem;display:flex}.intro-copy p:first-child{color:var(--text-soft);font-size:.9375rem;line-height:1.4375rem}.intro-copy p:last-child{color:#8e8e8e;font-size:.875rem;line-height:1.375rem}.intro-company-link{color:inherit;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.1875rem;transition:color .15s,text-decoration-color .15s}.hero-actions{flex-wrap:wrap;gap:.5625rem;margin-top:1.25rem;display:flex}.hero-actions>a,.hero-actions .contact-dialog-trigger{--cta-rest-radius:1.125rem;--cta-hover-radius:.375rem;cursor:pointer;border:1px solid #0000;align-items:center;gap:.5rem;height:2.25rem;padding:0 .875rem;font-size:.8125rem;line-height:1rem;display:inline-flex}.hero-actions .primary-action{background-color:var(--button);color:var(--button-text)}.hero-actions .secondary-action{border-color:var(--line-strong);color:var(--text-muted)}.morph-cta{border-radius:var(--cta-rest-radius);transform-origin:50%;transition:background-color .16s ease, border-color .16s ease, border-radius .22s var(--ease-in-out), color .16s ease, transform .14s var(--ease-out)}.morph-cta:active{transform:scale(.97)}.utility-link:active{color:var(--text)}.contact-dialog{width:min(100% - 1.5rem,30rem);max-width:none;max-height:calc(100dvh - 1.5rem);color:var(--text);opacity:0;transition:opacity .14s var(--ease-out);background:0 0;border:0;margin:auto;padding:0;overflow:visible}.contact-dialog[open]{place-items:center;display:grid}.contact-dialog::backdrop{backdrop-filter:blur(.1875rem);opacity:0;transition:opacity .15s var(--ease-out);background:#080808a8}.contact-dialog-card{border:1px solid var(--line-strong);background:var(--surface);transform-origin:50%;width:100%;transition:transform .17s var(--ease-out);border-radius:1rem;padding:1.375rem;position:relative;transform:translateY(.375rem)scale(.98);box-shadow:0 1.5rem 4rem #0000006b}.contact-dialog[data-state=open],.contact-dialog[data-state=open]::backdrop{opacity:1;transition-duration:.19s}.contact-dialog[data-state=open] .contact-dialog-card{transition-duration:.21s;transform:translateY(0)scale(1)}.contact-dialog[data-motion=none],.contact-dialog[data-motion=none]::backdrop,.contact-dialog[data-motion=none] .contact-dialog-card{transition:none}.contact-dialog-close{z-index:1;width:2rem;height:2rem;color:var(--text-muted);cursor:pointer;transition:background-color .14s ease, border-color .14s ease, color .14s ease, transform .14s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:.625rem;place-items:center;padding:0;display:grid;position:absolute;top:.875rem;right:.875rem}.contact-dialog-close:active,.contact-submit:active,.contact-success-close:active{transform:scale(.97)}.contact-dialog-header{padding-right:2.5rem}.contact-dialog-header h2,.contact-success h2{color:var(--text);letter-spacing:-.0125rem;margin:0;font-size:1.125rem;font-weight:500;line-height:1.5rem}.contact-dialog-header p,.contact-success p{color:var(--text-muted);margin:.375rem 0 0;font-size:.8125rem;line-height:1.25rem}.contact-form{flex-direction:column;margin-top:1.25rem;display:flex}.contact-field{flex-direction:column;gap:.4375rem;display:flex}.contact-field+.contact-field{margin-top:.875rem}.contact-field>span{color:var(--text-soft);font-size:.75rem;line-height:1rem}.contact-field input,.contact-field textarea{border:1px solid var(--line-strong);background:var(--background);width:100%;color:var(--text);font:inherit;border-radius:.625rem;outline:0;margin:0;font-size:.875rem;line-height:1.375rem;transition:border-color .14s,box-shadow .14s}.contact-field input{height:2.625rem;padding:0 .75rem}.contact-field textarea{resize:vertical;min-height:7.5rem;max-height:15rem;padding:.625rem .75rem}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--text-faint);opacity:1}.contact-field input:focus,.contact-field textarea:focus{border-color:var(--focus);box-shadow:0 0 0 .1875rem color-mix(in srgb, var(--focus) 16%, transparent)}.contact-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px}.contact-submit,.contact-success-close{background:var(--button);height:2.5rem;color:var(--button-text);cursor:pointer;transition:background-color .15s ease, border-radius .18s var(--ease-in-out), color .15s ease, opacity .15s ease, transform .14s var(--ease-out);border:1px solid #0000;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;padding:0 .875rem;font-size:.8125rem;font-weight:500;line-height:1rem;display:inline-flex}.contact-submit{width:100%;margin-top:1rem}.contact-submit:disabled{cursor:wait;opacity:.72}.contact-submit-spinner{animation:.7s linear infinite contact-spinner}@keyframes contact-spinner{to{transform:rotate(1turn)}}.contact-form-status{color:#ed9287;opacity:0;text-align:center;min-height:1rem;margin:.5rem 0 0;font-size:.6875rem;line-height:1rem;transition:opacity .14s}.contact-form-status[data-visible=true]{opacity:1}.contact-email-fallback{color:var(--text-faint);text-align:center;margin:.5rem 0 0;font-size:.6875rem;line-height:1rem}.contact-email-fallback a{color:var(--text-muted);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:.1875rem}.contact-success{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:19rem;padding:2rem 1rem 1rem;display:flex}.contact-success-icon{background:color-mix(in srgb, var(--focus) 16%, transparent);width:2.75rem;height:2.75rem;color:var(--focus);border-radius:.875rem;place-items:center;margin-bottom:1rem;display:grid}.contact-success-close{min-width:6.5rem;margin-top:1.25rem}:root[data-theme=light] .contact-dialog::backdrop{background:#2020203d}:root[data-theme=light] .contact-dialog-card{background:#fff;box-shadow:0 1.25rem 3rem #20202029}:root[data-theme=light] .contact-form-status{color:#a23d32}@media (hover:hover) and (pointer:fine){.contact-dialog-close:hover{border-color:var(--line);background:var(--surface-hover);color:var(--text-soft)}.contact-submit:hover,.contact-success-close:hover{background-color:color-mix(in srgb, var(--button) 88%, var(--background));border-radius:.375rem}.contact-email-fallback a:hover{color:var(--text-soft);text-decoration-color:currentColor}}.content-section{margin-top:0}#work{margin-top:3rem}#other{margin-top:2.625rem}.section-heading{height:1.375rem;color:var(--text-muted);align-items:center;gap:.5625rem;margin-bottom:1rem;display:flex}#work .section-heading{gap:.4375rem;margin-bottom:.875rem}.section-heading h2{letter-spacing:0;margin:0;font-size:.875rem;font-weight:400;line-height:1.125rem}.project-list,.other-list{width:100%}.project-row{isolation:isolate;align-items:center;width:100%;height:4.75rem;display:flex;position:relative}.project-row:before{z-index:-1;background:var(--surface-hover);content:"";opacity:0;border-radius:.875rem;transition:opacity .15s;position:absolute;inset:0 -.625rem}.project-row:focus-visible:before{opacity:1}.project-slot{flex:0 0 3.125rem;align-items:center;width:3.125rem;display:flex}.portfolio-mark{border-radius:.6875rem;flex:0 0 2.5rem;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;transition:filter .15s;display:flex;overflow:hidden}.portfolio-mark img{display:block}.portfolio-mark[data-tone=netcore]{background:#fff}:root[data-theme=light] .portfolio-mark[data-tone=netcore]{box-shadow:0 0 0 1px #20202008,0 .125rem .375rem #2020200f}.portfolio-mark[data-tone=netcore] img{object-fit:cover;width:1.5rem;height:1.4375rem}.portfolio-mark[data-tone=table]{background:#ff5e25}.portfolio-mark[data-tone=wallet]{background:#a1dd84}.portfolio-mark[data-tone=table] img,.portfolio-mark[data-tone=wallet] img{width:2.5rem;height:2.5rem}.project-row:focus-visible .portfolio-mark{filter:saturate(1.06)brightness(1.03)}.project-copy{flex-direction:column;flex:1;gap:.1875rem;min-width:0;display:flex}.project-title{align-items:center;gap:.4375rem;display:flex}.project-title strong{color:#dbdbdb;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;font-weight:400;line-height:1.125rem;overflow:hidden}.project-copy>span:last-child{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;line-height:1.1875rem;overflow:hidden}.project-arrow{color:#737373;transition:color .15s ease, transform .18s var(--ease-out);flex:none}.project-row:focus-visible .project-arrow{color:var(--text-soft)}.project-row:focus-visible .project-arrow-external{transform:translate(.125rem,-.125rem)}.project-row:focus-visible .project-arrow-internal{transform:translate(.125rem)}.other-row{border-bottom:1px solid var(--line);isolation:isolate;align-items:flex-start;width:100%;height:8.875rem;padding:1.125rem 0 1.25rem;display:flex;position:relative}.other-row:before{z-index:-1;background:var(--surface-hover);content:"";opacity:0;border-radius:.875rem;transition:opacity .15s;position:absolute;inset:.25rem -.625rem}.other-row:focus-visible:before{opacity:1}.other-icon-slot{flex:0 0 3.125rem;align-items:flex-start;width:3.125rem;display:flex}.other-row:focus-visible .portfolio-mark{filter:saturate(1.06)brightness(1.03)}.other-copy{flex-direction:column;flex:0 0 26.5rem;gap:.375rem;width:26.5rem;min-width:0;display:flex}.other-copy strong{color:#d8d8d8;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.9375rem;font-weight:400;line-height:1.25rem;overflow:hidden}.other-copy small{color:#6f6f6f;font-size:.75rem;line-height:1.0625rem}.other-copy>span{color:#929292;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.8125rem;line-height:1.1875rem;display:-webkit-box;overflow:hidden}.other-label{color:#858585;white-space:nowrap;flex:0 0 6.375rem;justify-content:flex-end;align-items:center;gap:.25rem;width:6.375rem;padding-top:.125rem;font-size:.75rem;line-height:1.125rem;transition:color .15s;display:flex}.other-row:focus-visible .other-label{color:var(--text-soft)}.other-label>svg{transition:color .15s ease, transform .18s var(--ease-out)}.other-row:focus-visible .other-label>svg{transform:translate(.125rem,-.125rem)}.github-activity{width:100%;margin-top:4.25rem}.github-heading{margin-bottom:1rem}.github-heading-link{color:#7e8582;flex:none;align-items:center;gap:.25rem;margin-left:auto;font-size:.75rem;line-height:1rem;transition:color .15s;display:inline-flex}.github-scroll{scrollbar-color:var(--line-strong) transparent;scrollbar-width:thin;width:100%;height:6.75rem;overflow-x:auto}.github-grid{grid-template-rows:repeat(7,.75rem);grid-auto-columns:.75rem;grid-auto-flow:column;gap:.25rem;width:max-content;display:grid}.github-cell{border:1px solid var(--github-0-border);background:var(--github-0);border-radius:.1875rem;width:.75rem;height:.75rem;transition:border-color .14s,filter .14s}.github-cell[data-level="1"]{background:var(--github-1);border-color:#0000}.github-cell[data-level="2"]{background:var(--github-2);border-color:#0000}.github-cell[data-level="3"]{background:var(--github-3);border-color:#0000}.github-cell[data-level="4"]{background:var(--github-4);border-color:#0000}.github-cell[data-empty=true]{border-color:var(--github-empty-border);background:var(--github-empty)}.github-divider{background:var(--line);width:100%;height:1px;margin-top:1rem;display:block}.stack-section{margin-top:4.125rem}.stack-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.375rem 1.5rem;width:min(100%,24rem);margin:0;padding:0;list-style:none;display:grid}.stack-row{color:#a0a0a0;align-items:center;width:100%;min-height:2rem;font-size:.875rem;font-weight:400;line-height:1.125rem;display:flex}.stack-row a{cursor:pointer;align-items:center;width:100%;min-height:2rem;display:flex}.contact-icon{width:2.625rem;color:var(--text-muted);flex:0 0 2.625rem;place-items:center start;transition:color .15s;display:grid}.off-clock{min-height:6.125rem;margin-top:4.25rem}.off-clock .section-heading{margin-bottom:.9375rem}.interest-list{flex-wrap:wrap;gap:.5rem;display:flex}.interest-list span{color:#a0a0a0;border:1px solid #2d2d2d;border-radius:1.0625rem;align-items:center;height:2.125rem;padding:0 .875rem;font-size:.75rem;line-height:1rem;transition:border-color .15s,color .15s;display:inline-flex}.interest-cursor{z-index:2000;pointer-events:none;will-change:transform;width:2rem;height:2rem;display:grid;position:fixed;top:0;left:0;transform:translate(-3rem,-3rem)}.interest-cursor-emoji{opacity:0;transform-origin:.25rem .25rem;transition:opacity 90ms ease, transform .14s var(--ease-out);place-items:start;font-size:1.5rem;line-height:1;display:grid;transform:scale(.78)rotate(-5deg)}.interest-cursor[data-visible=true] .interest-cursor-emoji{opacity:1;transform:scale(1)rotate(0)}.contact-section{margin-top:4.25rem}.contact-links{width:100%}.contact-row{border-top:0;border-right:0;border-bottom:1px solid var(--line);appearance:none;width:100%;height:2.75rem;color:var(--text-soft);cursor:pointer;font:inherit;isolation:isolate;text-align:left;background:0 0;border-left:0;align-items:center;padding:0;display:flex;position:relative}.contact-row:before{z-index:-1;background:var(--surface-hover);content:"";opacity:0;border-radius:.75rem;transition:opacity .15s;position:absolute;inset:.1875rem -.625rem .25rem}.contact-label{flex:1;font-size:.875rem;line-height:1.125rem}.contact-arrow{color:var(--text-faint);transition:color .15s ease, transform .18s var(--ease-out);flex:none}.copy-toast{z-index:2100;bottom:max(1rem, env(safe-area-inset-bottom));border:1px solid var(--line-strong);background:var(--surface);max-width:calc(100% - 2rem);min-height:2.5rem;color:var(--text-soft);opacity:0;pointer-events:none;transition:opacity .14s ease, transform .18s var(--ease-out);white-space:nowrap;border-radius:.75rem;align-items:center;gap:.5rem;padding:.625rem .75rem;font-size:.75rem;line-height:1rem;display:inline-flex;position:fixed;left:50%;transform:translate(-50%,.5rem)scale(.98);box-shadow:0 .75rem 2.5rem #00000047}.copy-toast>svg{flex:none}.copy-toast[data-state=open]{opacity:1;transform:translate(-50%)scale(1)}.copy-toast[data-tone=error]{color:#ed9287}.copy-toast[data-tone=error]>svg{display:none}:root[data-theme=light] .copy-toast{background:#fff;box-shadow:0 .75rem 2.5rem #20202024}:root[data-theme=light] .copy-toast[data-tone=error]{color:#a23d32}.contact-row:focus-visible:before{opacity:1}.contact-row:focus-visible .contact-icon,.contact-row:focus-visible .contact-arrow{color:var(--text-soft)}@media (hover:hover) and (pointer:fine){.interest-list span[data-emoji]{cursor:none}.clarity-word:hover .clarity-clouds i{opacity:0;transform:translate(var(--cloud-x), var(--cloud-y)) scale(var(--cloud-scale))}.clarity-word:hover .clarity-copy{opacity:1}.morph-cta:hover{border-radius:var(--cta-hover-radius)}.hero-actions .primary-action:hover{background-color:color-mix(in srgb, var(--button) 88%, var(--background))}.hero-actions .secondary-action:hover{border-color:color-mix(in srgb, var(--line-strong) 84%, var(--text));background-color:var(--surface);color:var(--text-soft)}.intro-company-link:hover{color:var(--text);text-decoration-color:currentColor}.project-row:hover:before,.other-row:hover:before{opacity:1}.project-row:hover .portfolio-mark,.other-row:hover .portfolio-mark{filter:saturate(1.06)brightness(1.03)}.project-row:hover .project-arrow{color:var(--text-soft)}.project-row:hover .project-arrow-external,.other-row:hover .other-label>svg{color:var(--text-soft);transform:translate(.125rem,-.125rem)}.project-row:hover .project-arrow-internal{transform:translate(.125rem)}.other-row:hover .other-label,.github-heading-link:hover{color:var(--text-soft)}.github-cell:not([data-empty=true]):hover{border-color:var(--text-soft);filter:brightness(1.14)}.interest-list span:hover{color:var(--text-soft);border-color:#454545}.contact-row:hover:before{opacity:1}.contact-row:hover .contact-icon,.contact-row:hover .contact-arrow{color:var(--text-soft)}.contact-row:hover .contact-arrow{transform:translate(.125rem,-.125rem)}.contact-email-copy:hover .contact-copy-icon{transform:scale(.94)}}.site-footer{margin-top:16.75rem}.footer-inner{width:min(calc(100% - 2.5rem), var(--footer-width));border-top:1px solid #292929;justify-content:space-between;align-items:center;height:5.5rem;margin:0 auto;display:flex}.footer-main{flex:0 0 55.625rem;align-items:center;gap:1.5rem;width:55.625rem;display:flex}.footer-build-note{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.875rem;line-height:1.125rem;display:inline-flex}.ascii-coffee{width:1.75rem;height:1.375rem;color:var(--brand-600);flex:0 0 1.75rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.625rem;line-height:1;display:inline-block;position:relative;transform:translateY(-.25rem)}.ascii-coffee-cup{letter-spacing:-.04em;white-space:pre;position:absolute;bottom:0;right:0}.ascii-coffee-steam{width:1rem;height:.8125rem;position:absolute;top:-.0625rem;right:.375rem}.ascii-coffee-steam-char{opacity:0;will-change:transform, opacity;animation:2.2s linear infinite ascii-steam-rise;position:absolute;bottom:0}.ascii-coffee-steam-char:first-child{--steam-drift:-.0625rem;animation-delay:-1.1s;left:.0625rem}.ascii-coffee-steam-char:last-child{--steam-drift:.0625rem;right:.0625rem}@keyframes ascii-steam-rise{0%{opacity:0;transform:translateY(.1875rem)}24%{opacity:.78}70%{opacity:.38}to{opacity:0;transform:translate3d(var(--steam-drift), -.25rem, 0)}}.utility-link{min-height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;font-size:.875rem;line-height:1.125rem;transition:color .15s;display:inline-flex}.utility-link:hover{color:var(--text-soft)}.footer-status{flex:0 0 24.375rem;justify-content:flex-end;align-items:center;gap:.875rem;width:24.375rem;display:flex}.updated-label{color:var(--text-muted);align-items:center;gap:.5rem;padding-right:.75rem;font-size:.875rem;line-height:1.125rem;display:inline-flex}.theme-controls{flex:none;align-items:center;gap:.375rem;display:flex}.theme-control{width:2.25rem;height:2.25rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:.625rem;place-items:center;padding:0;transition:background-color .15s,color .15s;display:grid}.theme-control:hover{background:var(--surface-hover);color:var(--text-soft)}.theme-control[aria-pressed=true]{color:var(--text);background:#1d1d1d}:root[data-theme=light] .theme-control[aria-pressed=true]{background:var(--surface-active)}.command-dialog{color:#e8e8e8;background:0 0;border:0;width:min(100% - 1.5rem,34rem);max-width:none;max-height:calc(100dvh - 1.5rem);padding:0;overflow:visible}.command-dialog::backdrop{backdrop-filter:blur(.125rem);background:#0808089e}.command-shell{color-scheme:dark;background:#1c1c1c;border:1px solid #343434;border-radius:.4375rem;flex-direction:column;max-height:calc(100dvh - 1.5rem);display:flex;overflow:hidden;box-shadow:0 1.125rem 2.625rem #0000006b}.command-search{color:#777;background:#1a1a1a;border:1px solid #303030;border-radius:.3125rem;flex:0 0 2.375rem;align-items:center;gap:.625rem;height:2.375rem;margin:.4375rem;padding:0 .75rem;display:flex}.command-search input{caret-color:#e8e8e8;color:#e8e8e8;background:0 0;border:0;outline:0;width:100%;height:100%;padding:0;font-size:.75rem;line-height:1rem}.command-search:focus-within{border-color:#4a4a4a}.command-search input::placeholder{color:#777}.command-results{min-height:0;overflow-y:auto}.command-group+.command-group{border-top:1px solid #252525}.command-label{color:#7a7a7a;letter-spacing:0;text-transform:none;background:#181818;border-bottom:1px solid #252525;align-items:center;height:1.75rem;margin:0;padding-left:.75rem;font-size:.6875rem;font-weight:400;line-height:.875rem;display:flex}.command-result{color:#8a8a8a;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:.625rem;width:100%;min-height:3.25rem;margin:0;padding:.5rem .75rem;transition:background-color .12s,color .12s;display:flex}.command-result[data-active=true]{color:#a8a8a8;background:#202020}.command-result>svg{flex:none}.command-result-copy{flex:1;min-width:0;display:block}.command-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:400;line-height:1rem;display:block;overflow:hidden}.command-result-copy small{color:#707070;text-overflow:ellipsis;white-space:nowrap;margin-top:.125rem;font-size:.6875rem;font-weight:400;line-height:.875rem;display:block;overflow:hidden}.command-result[data-active=true] .command-result-copy small{color:#858585}.command-empty{color:#777;text-align:center;margin:0;padding:2.5rem 1rem;font-size:.8125rem}.command-footer{color:#707070;border-top:1px solid #252525;min-height:1.875rem;padding:.5rem .75rem;font-size:.625rem;line-height:.875rem}@media (hover:hover) and (pointer:fine){.case-toolbar .command-trigger:hover{background:var(--surface-hover)}}:root[data-theme=light] .project-title strong,:root[data-theme=light] .other-copy strong{color:var(--text)}:root[data-theme=light] .identity-role,:root[data-theme=light] .identity-location,:root[data-theme=light] .intro-copy p:last-child,:root[data-theme=light] .stack-row,:root[data-theme=light] .other-copy small,:root[data-theme=light] .other-copy>span,:root[data-theme=light] .other-label,:root[data-theme=light] .github-heading-link,:root[data-theme=light] .updated-label{color:var(--text-muted)}:root[data-theme=light] .identity-mark{border-color:var(--line-strong)}:root[data-theme=light] .interest-list span{border-color:var(--line);background:var(--surface);color:var(--text-muted)}:root[data-theme=light] .footer-inner{border-top-color:var(--line)}:root[data-theme=light] .command-dialog{color:var(--text)}:root[data-theme=light] .command-dialog::backdrop{background:#2020202e}:root[data-theme=light] .command-shell{border-color:var(--line);color-scheme:light;background:#fafafa;box-shadow:0 .625rem 1.5rem #20202024}:root[data-theme=light] .command-search{border-color:var(--line);color:var(--text-faint);background:0 0}:root[data-theme=light] .command-search:focus-within{border-color:var(--line-strong)}:root[data-theme=light] .command-search input{caret-color:var(--text);color:var(--text)}:root[data-theme=light] .command-search input::placeholder,:root[data-theme=light] .command-label,:root[data-theme=light] .command-empty,:root[data-theme=light] .command-footer{color:var(--text-muted)}:root[data-theme=light] .command-group+.command-group,:root[data-theme=light] .command-label,:root[data-theme=light] .command-footer{border-color:var(--line)}:root[data-theme=light] .command-label{background:var(--surface)}:root[data-theme=light] .command-result{color:var(--text-muted)}:root[data-theme=light] .command-result[data-active=true]{background:var(--surface-hover);color:var(--text)}:root[data-theme=light] .command-result-copy small,:root[data-theme=light] .command-result[data-active=true] .command-result-copy small{color:var(--text-muted)}@media (hover:hover) and (pointer:fine){:root[data-theme=light] .interest-list span:hover{border-color:var(--line-strong)}}@media (width<=82.5rem){.footer-inner{width:min(calc(100% - 2.5rem), var(--footer-width))}.footer-main{flex:1;width:auto}.footer-status{flex:none;width:auto}}@media (width<=44rem){.site-shell,.footer-inner{width:min(calc(100% - 2rem), var(--page-width))}.case-study-shell{width:min(100% - 2rem,42rem);padding-top:2.5rem}.case-toolbar{gap:.75rem}.case-toolbar .theme-controls{gap:.375rem}.case-header{margin-top:3rem}.case-header h1{font-size:clamp(2.125rem,11vw,2.75rem)}.case-results{grid-template-columns:1fr}.case-detail-grid{grid-template-columns:1fr;gap:1.5rem}.case-phone-stage{min-height:24rem;padding:1.5rem}.case-screen-grid{grid-template-columns:1fr}.case-screen-grid .case-media-link{width:min(100%,18rem);margin:0 auto}.case-results div{padding:1rem 0}.case-results div+div{border-top:1px solid var(--line);border-left:0;padding-left:0}.hero{padding-top:2.5rem}.hero h1{font-size:1.75rem;line-height:1.95rem}#work{margin-top:3.5rem}.other-row{grid-template-columns:3.125rem minmax(0,1fr);height:auto;min-height:8.875rem;display:grid}.other-copy{flex:initial;width:auto}.other-label{grid-column:2;justify-content:flex-start;width:auto;margin-top:.75rem}.site-footer{margin-top:8rem}.footer-inner{align-items:flex-start;gap:1.5rem;height:auto;min-height:8rem;padding:1.5rem 0}.footer-main{flex-wrap:wrap;gap:.25rem 1.25rem}.updated-label{display:none}}@media (width<=32rem){.contact-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.contact-dialog-card{overscroll-behavior:contain;max-height:calc(100dvh - 1rem);padding:1.125rem;overflow-y:auto}.contact-dialog-close{top:.75rem;right:.75rem}.identity-location{padding-top:.125rem}.identity-row{flex-direction:column;gap:.375rem}.hero h1>.headline-line{display:inline}.hero h1>.headline-line+.headline-line:before{content:" "}.project-copy>span:last-child{white-space:normal}.project-row{height:auto;min-height:5rem}.case-facts{grid-template-columns:1fr;gap:1.125rem}.case-section+.case-section{margin-top:4.25rem}.case-end-nav{flex-direction:column;align-items:flex-start}.footer-inner{flex-direction:column}.footer-status{align-self:flex-end}.command-dialog{width:calc(100% - 1rem)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-arrow,.project-row:hover .project-arrow,.project-row:focus-visible .project-arrow,.other-label>svg,.other-row:hover .other-label>svg,.other-row:focus-visible .other-label>svg,.contact-arrow,.contact-row:hover .contact-arrow{transform:none}.morph-cta,.morph-cta:hover,.morph-cta:active{border-radius:var(--cta-rest-radius);transform:none;transition:background-color .15s,border-color .15s,color .15s!important}.contact-submit-spinner{animation:none}.ascii-coffee-steam-char{opacity:.68;animation:none;transform:none}.role-transition-arrow{color:var(--text-faint);text-shadow:none;animation:none}.role-transition-arrow:before{content:none;animation:none}.clarity-clouds,.matrix-glyph{display:none}.clarity-copy,.matrix-measure{opacity:1;visibility:visible}.interest-cursor-emoji{transform:none}.copy-toast,.copy-toast[data-state=open]{transform:translate(-50%)}}@media (hover:none),(pointer:coarse){.clarity-clouds,.matrix-glyph{display:none}.clarity-copy,.matrix-measure{opacity:1;visibility:visible}}@media (prefers-contrast:more){.clarity-clouds,.matrix-glyph{display:none}.clarity-copy,.matrix-measure{opacity:1;visibility:visible}}
