@font-face{font-family:GeistSans;src:url(../media/Geist_Variable-s.p.2-i4fw5gbtlb7.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local(Arial);ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.0%;size-adjust:106.28%}.geistsans_d5a4f12f-module___bHwbq__className{font-family:GeistSans,GeistSans Fallback}.geistsans_d5a4f12f-module___bHwbq__variable{--font-geist-sans:"GeistSans", "GeistSans Fallback"}
@font-face{font-family:GeistMono;src:url(../media/GeistMono_Variable.p.0b02cdm7g7y6h.woff2)format("woff2");font-display:swap;font-weight:100 900}.geistmono_157ca88a-module__Df5TlW__className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.geistmono_157ca88a-module__Df5TlW__variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--project-border-angle:0deg}}}@layer theme{:root,:host{--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.block{display:block}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.uppercase{text-transform:uppercase}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--background:#070708;--surface:#121215d1;--surface-strong:#111114;--ink:#f7f7f8;--ink-muted:#f7f7f89e;--ink-faint:#f7f7f861;--line:#ffffff17;--line-strong:#ffffff29;--accent:#ff5f7a;--accent-warm:#ff8a68;--accent-deep:#c72f52;--shadow-border:0 0 0 1px #ffffff14;--shadow-border-hover:0 0 0 1px #ffffff24}@supports (color:lab(0% 0 0)){:root{--shadow-border:0 0 0 1px lab(100% 0 0/.08);--shadow-border-hover:0 0 0 1px lab(100% 0 0/.14)}}*{box-sizing:border-box}html{background:var(--background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;max-width:100%;min-height:100%;overflow-x:clip}html,.case-study-dialog{scrollbar-color:#f7f7f84d #070708e0;scrollbar-width:thin}html::-webkit-scrollbar{width:.7rem;height:.7rem}.case-study-dialog::-webkit-scrollbar{width:.7rem;height:.7rem}html::-webkit-scrollbar-track{background:#070708e0}html::-webkit-scrollbar-thumb{background:#f7f7f84d padding-box padding-box;border:.2rem solid #0000;border-radius:999px}.case-study-dialog::-webkit-scrollbar-thumb{background:#f7f7f84d padding-box padding-box;border:.2rem solid #0000;border-radius:999px}html::-webkit-scrollbar-thumb:hover{background:#ff5f7ac7 padding-box padding-box}.case-study-dialog::-webkit-scrollbar-thumb:hover{background:#ff5f7ac7 padding-box padding-box}body{background:radial-gradient(circle at 76% 9%, #ff5f7a1f, transparent 30rem), radial-gradient(circle at 18% 35%, #ff5f7a14, transparent 34rem), var(--background);width:100%;max-width:100%;min-height:100%;color:var(--ink);font-family:var(--font-geist-sans), sans-serif;margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:#ff5f7a2e;color:inherit;font:inherit;touch-action:manipulation}a{text-decoration:none}button{border:0}::selection{color:#fff;background:#ff5f7a61}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.site-loader{z-index:1000;background:var(--background);place-items:center;min-height:100svh;animation:.15s ease-out .62s forwards site-loader-exit;display:grid;position:fixed;inset:0;overflow:hidden}.site-loader:before{opacity:.42;content:"";background:radial-gradient(circle,#ff5f7a14,#0000 24rem),radial-gradient(#fff3 .5px,#0000 .5px) 0 0/5px 5px;position:absolute;inset:0}.site-loader-content{--site-loader-width:clamp(14rem, 38vw, 25rem);width:var(--site-loader-width);position:relative}.site-loader-label{color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin:0 0 .7rem;font-size:.62rem;font-weight:500;line-height:1;display:flex}.site-loader-line{width:var(--site-loader-width);fill:none;height:auto;display:block;overflow:visible}.site-loader-track,.site-loader-progress{stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.site-loader-track{stroke:#ffffff17;stroke-width:1.2px}.site-loader-bar{aspect-ratio:320/18;position:relative}.site-loader-fill{clip-path:inset(0 100% 0 0);animation:.5s linear 50ms forwards site-loader-fill;position:absolute;inset:0;overflow:hidden}.site-loader-progress{stroke:#ff455f;stroke-width:2.2px;filter:drop-shadow(0 0 .3rem #ff3956b3)}@keyframes site-loader-fill{to{clip-path:inset(0)}}@keyframes site-loader-exit{to{visibility:hidden;opacity:0}}.navigation-dock{--dock-control-size:2.55rem;--dock-atom-size:4.25rem;z-index:100;-webkit-user-select:none;user-select:none;grid-template-columns:var(--dock-atom-size) auto;visibility:hidden;opacity:0;filter:blur(4px);align-items:center;gap:0;transition-property:opacity,filter,translate,visibility;transition-duration:.22s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid;position:fixed;inset-block-end:max(1rem, calc(env(safe-area-inset-bottom) + .5rem));inset-inline-start:50%;translate:-50% .65rem}.navigation-dock[data-visible=true]{visibility:visible;opacity:1;filter:blur();translate:-50%}.navigation-dock-atom{z-index:1;width:var(--dock-atom-size);aspect-ratio:1;-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);background:#0f0f12f5;border-radius:50%;outline:none;place-items:center;transition-property:scale;transition-duration:.14s;transition-timing-function:ease-out;display:grid;position:relative;box-shadow:0 0 0 1px #ffffff1f,0 1rem 3rem #00000061,inset 0 1px #ffffff0e}.navigation-dock-atom:focus-visible,.navigation-dock-links>a:focus-visible,.navigation-dock-cv-menu>summary:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.navigation-dock-atom:active,.navigation-dock-links>a:active,.navigation-dock-cv-menu>summary:active{scale:.96}.navigation-dock-links{min-height:calc(var(--dock-control-size) + .6rem);-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);background:#0f0f12f5;border-radius:0 1.15rem 1.15rem 0;align-items:center;gap:.18rem;margin-inline-start:-.5rem;padding:.3rem .35rem .3rem .65rem;display:flex;box-shadow:0 0 0 1px #ffffff1c,0 .8rem 2.5rem #00000052,inset 0 1px #ffffff0b}.navigation-dock-links>a,.navigation-dock-cv-menu>summary{min-height:var(--dock-control-size);color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.065em;text-transform:uppercase;border-radius:.9rem;outline:none;place-items:center;padding-inline:.75rem;font-size:.63rem;font-weight:500;transition-property:color,background-color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out;display:grid}.navigation-dock-links>a:hover,.navigation-dock-links>a:focus-visible,.navigation-dock-cv-menu>summary:hover,.navigation-dock-cv-menu>summary:focus-visible{color:var(--ink);background:#ffffff0e}.navigation-dock-cv-menu{position:relative}.navigation-dock-cv-menu>summary{color:#ff8a9ae0;cursor:pointer;align-items:center;gap:.4rem;list-style:none;display:flex}.navigation-dock-cv-icon{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:none;width:.82rem}.navigation-dock-cv-menu>summary::-webkit-details-marker{display:none}.navigation-dock-cv-menu>summary:hover,.navigation-dock-cv-menu>summary:focus-visible,.navigation-dock-cv-menu[open]>summary{color:#ff8a9a;background:#ff455f1f}.cv-download-options{z-index:10;-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);visibility:hidden;opacity:0;filter:blur(4px);transform-origin:bottom;background:#0f0f12f5;border-radius:1rem;gap:.2rem;width:max-content;min-width:14.5rem;padding:.35rem;transition-property:visibility,opacity,filter,scale,translate;transition-duration:.16s;transition-timing-function:cubic-bezier(.2,0,0,1);display:grid;position:absolute;inset-block-end:calc(100% + .7rem);inset-inline-start:50%;translate:-50% .45rem;scale:.98;box-shadow:0 0 0 1px #ffffff1f,0 1rem 3rem #0000006b,inset 0 1px #ffffff0b}.cv-download-menu[open]>.cv-download-options{visibility:visible;opacity:1;filter:blur();translate:-50%;scale:1}.cv-download-options a{min-height:2.8rem;color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;border-radius:.72rem;outline:none;justify-content:space-between;align-items:center;gap:1rem;padding-inline:.85rem;font-size:.64rem;font-weight:500;transition-property:color,background-color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out;display:flex}.cv-download-options a:hover,.cv-download-options a:focus-visible{color:var(--ink);background:#ff455f1c}.cv-download-options a:focus-visible{box-shadow:0 0 0 1px #ff8a9ae0}.cv-download-options a:active{scale:.96}.cv-download-options small{color:#ff8a9acc;letter-spacing:.1em;font-size:.5rem}.navigation-dock-cv-menu>.cv-download-options{transform-origin:100% 100%;inset-inline:auto 0;translate:0 .45rem}.navigation-dock-cv-menu[open]>.cv-download-options{translate:0}.line-identity-overlay{z-index:101;pointer-events:none;position:fixed;inset:0}.site-shell{z-index:1;width:100%;max-width:100%;min-height:100svh;position:relative;overflow-x:clip}.site-shell:before{z-index:-1;opacity:.34;content:"";pointer-events:none;background-image:radial-gradient(#fff3 .5px,#0000 .5px);background-size:5px 5px;position:fixed;inset:0}.ambient-orb{z-index:-1;pointer-events:none;border-radius:50%;position:absolute}.ambient-orb-one{top:4rem;background:radial-gradient(#ff5f7a11,#0000 68%);width:38rem;height:32rem;inset-inline-end:-16rem}.ambient-orb-two{border:1px solid #ff5f7a14;width:28rem;height:28rem;top:31rem;left:-16rem}.content-shell{width:min(100%,80rem);min-width:0;margin-inline:auto;padding-inline:clamp(1rem,3vw,2.5rem)}.story-tags{align-items:center;display:flex}.hero{isolation:isolate;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:flex-start;min-height:115svh;padding-block:clamp(1.5rem,4vh,3rem) 3.25rem;display:flex;position:relative;overflow:clip}.hero-layout{isolation:isolate;flex-direction:column;min-height:100svh;display:flex;position:sticky;top:0}.hero-layout:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(58% 48% at 50% 47%,#ff455f1f,#c72f520b 42%,#0000 76%);position:absolute;inset:clamp(4rem,8vh,6rem) -6% clamp(8rem,16vh,12rem)}.hero-actions{z-index:3;white-space:nowrap;grid-template-columns:7.5rem 2rem 7.5rem;align-items:start;column-gap:.75rem;display:grid;position:absolute;inset-block-end:max(2.25rem, calc(env(safe-area-inset-bottom) + 1rem));inset-inline-start:50%;translate:-50%}.hero-actions-or{color:#f7f7f83d;font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;place-self:center;font-size:.54rem;font-style:italic}.hero-cv-download-menu{width:100%;position:relative}.hero-cv-download{color:#f7f7f87a;min-width:7.5rem;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border-radius:.5rem;outline:none;flex-direction:column;align-items:center;gap:.65rem;padding:.55rem 1rem;font-size:.58rem;font-weight:500;line-height:1;list-style:none;transition-property:color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out;display:flex}.hero-cv-download::-webkit-details-marker{display:none}.hero-cv-download-track{background:linear-gradient(#ffffff29,#ffffff09);width:1px;height:2.8rem;transition-property:background,box-shadow;transition-duration:.14s;transition-timing-function:ease-out;position:relative}.hero-cv-download-icon{aspect-ratio:1;color:#ff7084d1;filter:drop-shadow(0 0 .35rem #ff455f80);pointer-events:none;place-items:center;width:.9rem;transition-property:color,filter,translate;transition-duration:.14s;transition-timing-function:ease-out;display:grid;position:absolute;inset-block-end:-.08rem;inset-inline-start:50%;translate:-50%}.hero-cv-download-icon svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:.9rem}.hero-cv-download:hover,.hero-cv-download:focus-visible,.hero-cv-download-menu[open]>.hero-cv-download{color:#f7f7f8d1}.hero-cv-download:focus-visible{box-shadow:0 0 0 1px #ffffff29}.hero-cv-download:hover .hero-cv-download-icon,.hero-cv-download:focus-visible .hero-cv-download-icon,.hero-cv-download-menu[open] .hero-cv-download-icon{color:#ff8a9a;filter:drop-shadow(0 0 .55rem #ff455fb8);translate:-50% .16rem}.hero-cv-download:hover .hero-cv-download-track,.hero-cv-download:focus-visible .hero-cv-download-track,.hero-cv-download-menu[open] .hero-cv-download-track{background:linear-gradient(#ffffff2e,#ff455f29);box-shadow:0 0 .45rem #ff455f1f}.hero-cv-download:active{scale:.96}.hero-scroll-indicator{color:#f7f7f87a;min-width:7.5rem;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.65rem;padding:.55rem 1rem;font-size:.58rem;font-weight:500;line-height:1;transition-property:color;transition-duration:.14s;transition-timing-function:ease-out;display:flex}.hero-scroll-indicator:hover,.hero-scroll-indicator:focus-visible{color:#f7f7f8d1;outline:none}.hero-scroll-indicator:focus-visible{border-radius:.5rem;box-shadow:0 0 0 1px #ffffff29}.hero-scroll-track{background:linear-gradient(#ffffff29,#ffffff09);width:1px;height:2.8rem;position:relative;overflow:hidden}.hero-scroll-track:after{content:"";background:linear-gradient(#0000,#ff455f 48%,#ff455f14);height:42%;animation:1.8s cubic-bezier(.2,0,0,1) infinite hero-scroll-signal;position:absolute;inset:0 0 auto;box-shadow:0 0 .55rem #ff455f9e}.eyebrow,.section-kicker{color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:500;line-height:1.4}.line-identity{isolation:isolate;flex:1;min-width:0;min-height:clamp(29rem,47vw,37rem);position:relative;overflow:visible;translate:0 calc(-1*clamp(1.25rem,3vh,2.25rem))}.line-identity-svg{z-index:1;width:100%;height:100%;display:block;position:absolute;inset:0;overflow:visible}.line-identity-svg[data-floating=true]{z-index:101;pointer-events:none;position:fixed;inset:auto}.line-identity-lines{filter:drop-shadow(0 0 .25rem #ff395694);transform-box:view-box}.line-identity-svg[data-atom-settled=true] .line-identity-lines{animation:dock-atom-rotation var(--atom-rotation-duration,9s) linear infinite}.identity-prefix-base,.identity-prefix-article{fill:#ffffff94;font-family:var(--font-geist-mono), monospace;letter-spacing:.14em;font-weight:500}.identity-prefix-base{fill:#ffffffb8;font-size:1.8rem}.identity-prefix-article{font-size:.76rem}.line-identity-path{fill:none;stroke:#ff455f;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.identity-nodes{z-index:0;pointer-events:none;position:absolute;inset:0}.identity-node{--badge-float-x:1rem;--badge-float-y:-1rem;--badge-float-x-alt:-.65rem;--badge-float-y-alt:.75rem;--badge-scale:1;--badge-tilt:0deg;color:#ffffff94;font-family:var(--font-geist-mono), monospace;letter-spacing:.055em;white-space:nowrap;text-transform:uppercase;animation:identity-badge-float var(--badge-duration,12s) ease-in-out var(--badge-delay,0s) infinite;background:#111114ad;border-radius:999px;align-items:center;gap:.38rem;padding:.42rem .62rem;font-size:.54rem;line-height:1;display:inline-flex;position:absolute;box-shadow:0 0 0 1px #ffffff17,0 .65rem 1.8rem #00000038,inset 0 1px #ffffff09}.identity-node:nth-child(3n+1){--badge-float-x:1.35rem;--badge-float-y:-.75rem;--badge-float-x-alt:-.5rem;--badge-float-y-alt:1.1rem}.identity-node:nth-child(3n+2){--badge-float-x:-.9rem;--badge-float-y:-1.25rem;--badge-float-x-alt:.85rem;--badge-float-y-alt:.45rem}.identity-node:nth-child(3n){--badge-float-x:1.1rem;--badge-float-y:.9rem;--badge-float-x-alt:-.75rem;--badge-float-y-alt:-.8rem}.identity-node i{background:#ff455f;border-radius:50%;flex:none;width:.28rem;height:.28rem;box-shadow:0 0 .6rem #ff455fad}.identity-node[data-depth=mid]{--badge-scale:.92;color:#ffffff61;background:#0e0e118a;box-shadow:0 0 0 1px #ffffff0f,0 .5rem 1.4rem #00000029}.identity-node[data-depth=mid] i{box-shadow:none;background:#ff70849e}.identity-node[data-depth=far]{--badge-scale:.82;color:#ffffff40;background:#0d0d106b;animation:none;box-shadow:0 0 0 1px #ffffff0b}.line-identity[data-nodes-visible=false] .identity-node{animation-play-state:paused}@media (hover:none),(pointer:coarse){.line-identity-lines{filter:none}.identity-node{animation:none}}.identity-node[data-depth=far] i{box-shadow:none;background:#ff70846b}.identity-node-product{--badge-delay:-2s;top:8%;left:4%}.identity-node-interfaces{--badge-delay:-4s;--badge-duration:12s;top:6%;left:38%}.identity-node-apis{--badge-delay:-6.5s;--badge-duration:10s;top:9%;left:84%}.identity-node-delivery{--badge-delay:-1.5s;--badge-duration:12s;top:21%;left:15%}.identity-node-ai{--badge-delay:-5s;top:21%;left:57%}.identity-node-discovery{--badge-delay:-5.5s;--badge-duration:13s;top:28%;left:75%}.identity-node-strategy{--badge-delay:-7s;--badge-duration:10s;top:37%;left:2%}.identity-node-workflows{--badge-delay:-4.5s;--badge-duration:13s;top:34%;left:30%}.identity-node-prototyping{--badge-delay:-3.5s;--badge-duration:9s;top:42%;left:84%}.identity-node-research{--badge-delay:-8s;--badge-duration:10s;top:51%;left:14%}.identity-node-machine-learning{--badge-delay:-10s;--badge-duration:14s;top:48%;left:43%}.identity-node-architecture{--badge-delay:-3s;top:53%;left:72%}.identity-node-design-systems{--badge-delay:-2.5s;--badge-duration:12s;top:63%;left:2%}.identity-node-automation{--badge-delay:-1s;--badge-duration:11s;top:62%;left:55%}.identity-node-data{--badge-delay:-8.5s;--badge-duration:11s;top:65%;left:86%}.identity-node-systems{--badge-delay:-6s;top:74%;left:12%}.identity-node-roadmaps{--badge-delay:-9s;--badge-duration:11s;top:73%;left:39%}.identity-node-experiments{--badge-delay:-7.5s;--badge-duration:14s;top:75%;left:69%}.story-tags span{box-shadow:var(--shadow-border);color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;background:#ffffff09;border-radius:999px;padding:.5rem .7rem;font-size:.62rem}.section-heading{margin-block-end:2rem}.section-heading h2{letter-spacing:-.055em;text-wrap:balance;margin:0;font-size:clamp(2rem,4.2vw,3.8rem);font-weight:540;line-height:.98}.about{content-visibility:auto;contain-intrinsic-block-size:auto 72rem;padding-block:clamp(6rem,14vh,11rem) clamp(8rem,16vh,13rem);scroll-margin-top:5rem}.about-layout{grid-template-columns:minmax(20rem,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(3rem,7vw,7rem);margin-block-start:clamp(1.75rem,4vw,3rem);display:grid}.about-heading{min-width:0}.about-heading h2{letter-spacing:-.05em;gap:.12em;max-width:none;margin:0;font-size:clamp(2.7rem,4vw,4.4rem);font-weight:540;line-height:1.22;display:grid}.about-heading h2 span{white-space:nowrap;display:block}.about-copy{gap:clamp(1.75rem,3.5vw,2.5rem);max-width:none;display:grid}.about-description{min-width:0}.about-description>p{max-width:36rem;color:var(--ink-muted);margin:0;font-size:.95rem;line-height:1.75}.about-description>.about-lede{color:#f7f7f8e6;letter-spacing:-.025em;font-size:clamp(1.25rem,2.15vw,1.75rem);line-height:1.42}.about-description>.about-lede+p{margin-block-start:1.5rem}.about-capabilities{border-block-start:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);margin:0;padding:1.25rem 0 0;list-style:none;display:grid}.about-capabilities li{color:#f7f7f8db;align-content:start;gap:.6rem;min-width:0;font-size:.82rem;font-weight:540;line-height:1.35;display:grid}.about-capabilities li span{color:#ff8a9ab8;font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;font-size:.55rem;font-weight:500}.github-activity{background:radial-gradient(circle at 88% 0,#ff455f21,#0000 38%),#ffffff06;border-radius:1.2rem;grid-template-columns:minmax(12rem,.55fr) minmax(0,1.45fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);width:min(100%,70rem);margin-block-start:clamp(3rem,6vw,5rem);margin-inline:auto;padding:clamp(1.25rem,2.5vw,1.75rem);display:grid;box-shadow:0 0 0 1px #ffffff17,0 1.4rem 4rem #00000029,inset 0 1px #ffffff09;box-shadow:0 0 0 1px lab(100% 0 0/.09),0 1.4rem 4rem lab(0% 0 0/.160784),inset 0 1px lab(100% 0 0/.0352941)}.github-activity-copy{gap:.75rem;display:grid}.github-activity h3{letter-spacing:-.045em;text-wrap:balance;margin:0;font-size:clamp(1.35rem,2.2vw,2rem);font-weight:520;line-height:1.05}.github-activity-copy p{color:#ffffff8f;max-width:32ch;margin:0;font-size:clamp(.78rem,1.1vw,.92rem);line-height:1.65}.github-activity-visual{background:#08080b8a;border-radius:.75rem;min-width:0;padding:clamp(.8rem,1.5vw,1.1rem);box-shadow:0 0 0 1px #ffffff12,inset 0 1px #ffffff06;box-shadow:0 0 0 1px lab(100% 0 0/.07),inset 0 1px lab(100% 0 0/.0235294)}.github-activity-grid{grid-template-columns:repeat(53,minmax(0,1fr));gap:clamp(.12rem,.32vw,.24rem);display:grid}.github-activity-week{gap:clamp(.12rem,.32vw,.24rem);min-width:0;display:grid}.github-activity-week i{aspect-ratio:1;background:#ffffff0e;border-radius:.14rem;display:block;box-shadow:inset 0 0 0 1px #ffffff06;box-shadow:inset 0 0 0 1px lab(100% 0 0/.025)}.github-activity-week i[data-level="1"]{background:#ff455f47}.github-activity-week i[data-level="2"]{background:#ff455f7a}.github-activity-week i[data-level="3"]{background:#ff5f7abd}.github-activity-week i[data-level="4"]{background:#ff7084;box-shadow:0 0 .45rem #ff455f57}.about-degree{color:#ff7084;font-weight:650}.story-browser-bar>span{background:#ffffff29;border-radius:50%;width:.48rem;height:.48rem}.selected-work{content-visibility:auto;contain-intrinsic-block-size:auto 128rem;padding-block:0 clamp(7rem,15vh,12rem)}.project-archive{margin-block-start:clamp(2.5rem,6vw,4.5rem)}.project-filter-bar{align-items:start;gap:1.5rem;margin-block-end:clamp(4rem,8vw,7rem);display:flex}.project-filter-chips{flex-wrap:wrap;gap:.75rem;max-width:52rem;display:flex}.project-filter-chip{min-height:2.8rem;box-shadow:var(--shadow-border);color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.035em;cursor:pointer;background:#ffffff09;border-radius:999px;outline:none;align-items:center;gap:.75rem;padding-inline:1rem .65rem;font-size:.65rem;transition-property:color,background-color,box-shadow;transition-duration:.14s;transition-timing-function:ease-out;display:inline-flex}.project-filter-chip>span:last-child{min-width:1.35rem;min-height:1.35rem;color:var(--ink-faint);background:#ffffff0f;border-radius:999px;place-items:center;font-size:.55rem;display:grid}.project-filter-chip:hover,.project-filter-chip:focus-visible{color:var(--ink);background:#ffffff0f}.project-filter-chip:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.project-filter-chip[data-active=true]{background:var(--accent);color:var(--background);box-shadow:0 0 0 1px #ffffff14,0 .6rem 1.5rem #c72f5233}.project-filter-chip[data-active=true]>span:last-child{color:#070708a6;background:#0707081a}.project-filter-chip[data-active=true]:focus-visible{box-shadow:0 0 0 1px var(--background), 0 0 0 4px #ff5f7a47}.project-stories{flex-direction:column;gap:clamp(2rem,6vw,4rem);display:flex}.project-story{--project-border-angle:0deg;--project-media-color:#0d0c10;isolation:isolate;min-height:35rem;box-shadow:var(--shadow-border), 0 2.2rem 6rem #0003;content-visibility:auto;contain-intrinsic-block-size:auto 35rem;background:#121215b8;border-radius:1.5rem;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);grid-template-areas:"copy visual";padding:.5rem;scroll-margin-top:2rem;transition-property:box-shadow;transition-duration:.16s;transition-timing-function:ease-out;display:grid;position:relative}[data-project=opexams]{--project-media-color:#00a77b}[data-project=otto-ed]{--project-media-color:#0d76d3}[data-project=ai-question-generator]{--project-media-color:#f0365d}[data-project=geniuschain]{--project-media-color:#17b1a3}[data-project=obook]{--project-media-color:#7170f2}[data-project=ar-capture]{--project-media-color:#08b8c7}[data-project=ngo-erp]{--project-media-color:#6b52ea}[data-project=donation-events]{--project-media-color:#d89a3c}[data-project=op-compliance]{--project-media-color:#bbf763}.project-story:before{z-index:4;border-radius:inherit;background:conic-gradient(from var(--project-border-angle), transparent 0deg 232deg, var(--project-media-color) 252deg, var(--project-media-color) 292deg, var(--project-media-color) 320deg, transparent 348deg 360deg);padding:1px;position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.project-story:before{background:conic-gradient(from var(--project-border-angle), transparent 0deg 232deg, color-mix(in oklch, var(--project-media-color) 18%, transparent) 252deg, var(--project-media-color) 292deg, color-mix(in oklch, var(--project-media-color) 70%, transparent) 320deg, transparent 348deg 360deg)}}.project-story:before{filter:drop-shadow(0 0 .4rem var(--project-media-color))}@supports (color:color-mix(in lab, red, red)){.project-story:before{filter:drop-shadow(0 0 .4rem color-mix(in oklch, var(--project-media-color) 42%, transparent))}}.project-story:before{opacity:0;content:"";pointer-events:none;-webkit-mask-composite:xor;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;-webkit-mask-composite:xor;-webkit-mask-source-type:auto,auto;transition-property:opacity;transition-duration:.16s;transition-timing-function:ease-out;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.project-story:focus-within:before{opacity:1;animation:2.8s linear infinite project-border-orbit}@media (hover:hover) and (pointer:fine){.project-story:hover:before{opacity:1;animation:2.8s linear infinite project-border-orbit}}.project-story[data-layout=reverse]{grid-template-columns:minmax(0,.56fr) minmax(0,.44fr);grid-template-areas:"visual copy"}.project-story[hidden]{display:none}.story-copy{flex-direction:column;grid-area:copy;justify-content:flex-start;min-width:0;padding:clamp(1.5rem,4vw,3rem);display:flex}.story-copy h4{letter-spacing:-.045em;overflow-wrap:anywhere;text-wrap:balance;max-width:100%;margin:0 0 .8rem;font-size:clamp(2rem,3.2vw,3.4rem);font-weight:540;line-height:.98}.story-copy>p{max-width:28rem;color:var(--ink-muted);margin:0;font-size:.9rem;line-height:1.6}.story-details{gap:.9rem;margin-block-start:1.25rem;display:grid}.story-copy>.story-details>.story-detail{color:#f7f7f8c2;max-width:28rem;margin:0;font-size:.82rem;line-height:1.55}.story-detail span{color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin-block-end:.35rem;font-size:.58rem;display:block}.story-tags{flex-wrap:wrap;gap:.45rem;margin-block-start:1.5rem}.story-tags span{padding:.4rem .58rem}.story-features{max-width:28rem;margin-block-start:1.15rem}.story-features h5{color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;margin:0;font-size:.58rem;font-weight:500}.story-features ul{flex-wrap:wrap;gap:.45rem;margin:.55rem 0 0;padding:0;list-style:none;display:flex}.story-features li{color:#f7f7f8c2;background:var(--project-media-color);border-radius:999px;padding:.4rem .58rem}@supports (color:color-mix(in lab, red, red)){.story-features li{background:color-mix(in oklch, var(--project-media-color) 7%, transparent)}}.story-features li{box-shadow:inset 0 0 0 1px var(--project-media-color)}@supports (color:color-mix(in lab, red, red)){.story-features li{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--project-media-color) 20%, transparent)}}.story-features li{font-family:var(--font-geist-mono), monospace;font-size:.62rem;line-height:1.2}.story-action-control{width:auto;min-width:0;min-height:0;box-shadow:none;color:#f7f7f8cc;font-family:var(--font-geist-mono), monospace;font-size:.65rem;font-weight:inherit;letter-spacing:.045em;line-height:inherit;text-align:start;cursor:pointer;background:0 0;border:0;border-radius:0;outline:none;align-self:flex-start;align-items:center;gap:.45rem;padding:.35rem 0;transition-property:color;transition-duration:.14s;transition-timing-function:ease-out;display:inline-flex}.story-action-control:hover,.story-action-control:focus-visible{box-shadow:none;color:var(--ink);background:0 0}.story-action-control:focus-visible{box-shadow:0 2px 0 var(--accent)}.story-action-control:active{scale:1}.story-actions{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-block:auto 0;padding-block-start:1.5rem;display:flex}.story-explore-link,.story-case-study-trigger{color:#ff8a9adb}.story-explore-link{margin-block:-.15rem 1rem}.story-action-control svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;flex:none;width:1rem;height:1rem}.case-study-dialog{--case-study-surface:#121216;overscroll-behavior:contain;background:var(--case-study-surface);width:min(76rem,100% - 2rem);max-width:none;max-height:calc(100dvh - 2rem);box-shadow:0 0 0 1px var(--project-media-color), 0 0 6rem var(--project-media-color), 0 3rem 9rem #000000b8;border:0;border-radius:1.75rem;margin:auto;padding:0;overflow:auto}@supports (color:color-mix(in lab, red, red)){.case-study-dialog{box-shadow:0 0 0 1px color-mix(in oklch, var(--project-media-color) 28%, white 6%), 0 0 6rem color-mix(in oklch, var(--project-media-color) 12%, transparent), 0 3rem 9rem #000000b8}}.case-study-dialog{color:var(--ink);scrollbar-color:#f7f7f84d var(--case-study-surface)}.case-study-dialog::-webkit-scrollbar-track{background:var(--case-study-surface)}.case-study-dialog[open]{animation:.18s ease-out both case-study-dialog-enter}.case-study-dialog::backdrop{-webkit-backdrop-filter:blur(12px)saturate(.8);backdrop-filter:blur(12px)saturate(.8);background:#040406c7;animation:.18s ease-out both case-study-backdrop-enter}.case-study-dialog-surface{background:radial-gradient(circle at 88% 2%, var(--project-media-color), transparent 30rem), radial-gradient(circle at 6% 42%, var(--project-media-color), transparent 28rem), var(--case-study-surface);min-height:100%}@supports (color:color-mix(in lab, red, red)){.case-study-dialog-surface{background:radial-gradient(circle at 88% 2%, color-mix(in oklch, var(--project-media-color) 22%, transparent), transparent 30rem), radial-gradient(circle at 6% 42%, color-mix(in oklch, var(--project-media-color) 9%, transparent), transparent 28rem), var(--case-study-surface)}}.case-study-loading{min-height:min(32rem,100dvh - 2rem);color:var(--ink-muted);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;place-items:center;font-size:.68rem;display:grid}.case-study-close-form{z-index:5;pointer-events:none;height:0;position:sticky;top:0}.case-study-close-form button{aspect-ratio:1;color:#f7f7f8ad;cursor:pointer;pointer-events:auto;background:0 0;border-radius:999px;outline:none;place-items:center;width:3rem;transition-property:color,background-color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out;display:grid;position:absolute;inset-block-start:1rem;inset-inline-end:1rem;box-shadow:0 0 0 1px #0000}.case-study-close-form button:hover,.case-study-close-form button:focus-visible{color:var(--ink);background:#ffffff14;box-shadow:0 0 0 1px #ffffff1f;box-shadow:0 0 0 1px lab(100% 0 0/.12)}.case-study-close-form button:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.case-study-close-form button:active{scale:.96}.case-study-close-form svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;width:1.15rem}.case-study-header{width:min(66rem,100% - clamp(3rem,12vw,10rem));margin-inline:auto;padding-block:clamp(6rem,10vw,9rem) 0}.case-study-eyebrow,.case-study-section-kicker{color:#4edeb7c7;font-family:var(--font-geist-mono), monospace;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.62rem}.case-study-header h2{letter-spacing:-.065em;text-wrap:balance;max-width:44rem;margin:1rem 0 0;font-size:clamp(2.75rem,5.3vw,4.75rem);font-weight:520;line-height:.94}.case-study-lede{color:#f7f7f8c2;max-width:44rem;margin:clamp(1.75rem,4vw,3rem) 0 0;font-size:clamp(1.1rem,2vw,1.4rem);line-height:1.62}.case-study-stats{border-block:1px solid #ffffff1a;border-block:1px solid lab(100% 0 0/.1);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:min(44rem,100%);margin:clamp(2.5rem,5vw,4rem) 0 0;padding-block:1.25rem;display:grid}.case-study-stats>div{flex-direction:column;min-width:0;padding-inline-end:clamp(1rem,3vw,2.5rem);display:flex}.case-study-stats>div+div{border-inline-start:1px solid #ffffff1a;border-inline-start:1px solid lab(100% 0 0/.1);padding-inline-start:clamp(1rem,3vw,2.5rem)}.case-study-stats dt{color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.055em;text-transform:uppercase;order:2;margin-block-start:.5rem;font-size:.58rem;line-height:1.4}.case-study-stats dd{color:var(--ink);letter-spacing:-.035em;order:1;margin:0;font-size:clamp(1.15rem,2vw,1.55rem);font-weight:520;line-height:1.1}.case-study-header>.case-study-eyebrow,.case-study-header>h2,.case-study-header>.case-study-lede,.case-study-header>.case-study-stats{width:min(44rem,100%);margin-inline:auto}.case-study-section-visual{aspect-ratio:3/2;background:#121216;border-radius:.5rem;width:min(44rem,100%);position:relative;overflow:hidden}.case-study-section-visual img{object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.case-study-section-visual figcaption{color:#ffffffc7;background:linear-gradient(#0000,#000000b8);justify-content:space-between;gap:1rem;padding:2.5rem 1rem .8rem;font-size:.7rem;line-height:1.4;display:flex;position:absolute;bottom:0;left:0;right:0}.case-study-section-visual figcaption span{color:#ffffff80;font-family:var(--font-geist-mono), monospace;letter-spacing:.07em;text-transform:uppercase;font-size:.58rem}.case-study-body{width:min(66rem,100% - clamp(3rem,12vw,10rem));margin-inline:auto;padding-block-end:0;display:grid}.case-study-section{grid-template-columns:minmax(0,1fr);grid-template-areas:"visual""kicker""copy";gap:0;padding-block:clamp(3.5rem,7vw,5rem);display:grid}.case-study-section+.case-study-section{border-block-start:1px solid #ffffff1a;border-block-start:1px solid lab(100% 0 0/.1)}.case-study-section:last-child{padding-block-end:clamp(2.25rem,4vw,3rem)}.case-study-section-kicker{grid-area:kicker;width:min(44rem,100%);margin-block-start:clamp(2.5rem,5vw,4rem);margin-inline:auto}.case-study-section-text-only{grid-template-areas:"kicker""copy"}.case-study-section-text-only .case-study-section-kicker{margin-block-start:0}.case-study-section-copy{grid-area:copy;min-width:0;max-width:44rem;margin-block-start:1rem;margin-inline:auto}.case-study-section-copy h3{letter-spacing:-.055em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:520;line-height:1}.case-study-section-summary{color:#f7f7f8e6;margin:1.75rem 0 0;font-size:clamp(1.08rem,1.8vw,1.25rem);line-height:1.65}.case-study-section-copy>p:not(.case-study-section-summary){color:var(--ink-muted);margin:1.25rem 0 0;font-size:1rem;line-height:1.82}.case-study-contribution{border-inline-start:2px solid #4edeb78c;margin-block-start:2.75rem;padding-inline-start:1.4rem}.case-study-contribution h4{color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.58rem;font-weight:500}.case-study-contribution ul{gap:.7rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.case-study-contribution li{color:#f7f7f8b8;padding-inline-start:1.1rem;font-size:.82rem;line-height:1.55;position:relative}.case-study-contribution li:before{content:"";top:.65em;background:#4edeb7b8;width:.38rem;height:1px;position:absolute;inset-inline-start:0}.case-study-section-visual{grid-area:visual;margin:0;margin-inline:auto}.case-study-footer{border-block-start:1px solid #ffffff1a;border-block-start:1px solid lab(100% 0 0/.1);justify-content:space-between;align-items:end;gap:2rem;width:min(44rem,100% - clamp(3rem,12vw,10rem));margin-inline:auto;padding-block:clamp(2.5rem,4vw,3.5rem) clamp(5rem,9vw,8rem);display:flex}.case-study-footer a{background:var(--ink);min-height:2.8rem;color:var(--background);font-family:var(--font-geist-mono), monospace;letter-spacing:.04em;border-radius:999px;outline:none;flex:none;align-items:center;gap:.5rem;padding-inline:1rem;font-size:.64rem;transition-property:background-color,box-shadow,scale;transition-duration:.14s;transition-timing-function:ease-out;display:inline-flex}.case-study-footer a:hover,.case-study-footer a:focus-visible{background:#fff}.case-study-footer a:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.case-study-footer a:active{scale:.96}@keyframes case-study-dialog-enter{0%{opacity:0;translate:0 .75rem}}@keyframes case-study-backdrop-enter{0%{opacity:0}}.story-visual{outline-offset:-1px;background:#1a1319;border-radius:1rem;outline:1px solid #ffffff1a;outline:1px solid lab(100% 0 0/.1);grid-area:visual;min-height:34rem;position:relative;overflow:hidden}.story-placeholder{position:absolute;inset:0}.story-picture{background:var(--project-media-color);border-radius:inherit;outline-offset:-1px;outline:1px solid #ffffff1a;outline:1px solid lab(100% 0 0/.1);height:100%;min-height:34rem;margin:0;position:relative;overflow:hidden}.story-image{border-radius:inherit;object-fit:contain;object-position:center;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;scale:1.08}[data-project=donation-events] .story-picture{outline:none}[data-project=donation-events] .story-image{object-fit:cover;scale:1.18}[data-project=ar-capture] .story-image,[data-project=obook] .story-image{object-fit:cover;scale:1.04}[data-project=opexams] .story-image,[data-project=geniuschain] .story-image,[data-project=ngo-erp] .story-image{object-fit:cover;scale:1.01}[data-project=op-compliance] .story-image{object-fit:cover;scale:1.22}[data-project=op-compliance] .case-study-image{object-fit:cover;scale:1.08}.story-browser-bar{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a0a0c8a;border-block-end:1px solid #ffffff14;align-items:center;gap:.38rem;height:2.8rem;padding-inline:.9rem;display:flex;position:absolute;top:0;left:0;right:0}.story-browser-bar i{color:#ffffff57;font-family:var(--font-geist-mono), monospace;margin-inline-start:auto;font-size:.58rem;font-style:normal}.visual-scene{background:radial-gradient(circle at 70% 35%,#ff5f7a47,#0000 17rem),linear-gradient(145deg,#1b1219,#0d0c10);position:absolute;inset:2.8rem 0 0;overflow:hidden}.project-story:nth-child(3n+2) .visual-scene{background:radial-gradient(circle at 32% 62%,#ff896d47,#0000 18rem),linear-gradient(145deg,#19120f,#0c0c0e)}.project-story:nth-child(3n) .visual-scene{background:radial-gradient(circle at 68% 35%,#e9576457,#0000 18rem),linear-gradient(145deg,#1a1014,#0b0b0e)}.visual-grid{background-image:linear-gradient(#ffffff0d 1px,#0000 1px),linear-gradient(90deg,#ffffff0d 1px,#0000 1px);background-size:3rem 3rem;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#000,#0000 82%);mask-image:linear-gradient(135deg,#000,#0000 82%)}.visual-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:1.1rem;position:absolute;box-shadow:0 2rem 5rem #00000059,inset 0 1px #ffffff29}.visual-card-primary{aspect-ratio:.82;background:linear-gradient(155deg,#ff7084eb,#8a304ad6);flex-direction:column;justify-content:flex-end;width:42%;padding:clamp(1rem,3vw,2rem);display:flex;top:23%;left:16%;transform:rotate(-7deg)}.visual-card-primary strong{letter-spacing:-.06em;font-size:clamp(1.7rem,4vw,3.8rem);font-weight:530}.visual-card-secondary{background:#121116c7;flex-direction:column;gap:.6rem;width:46%;padding:1.4rem;display:flex;bottom:17%;right:12%;transform:rotate(5deg)}.visual-card-secondary i{background:#ffffff1f;border-radius:999px;height:.45rem;display:block}.visual-card-secondary i:nth-child(2){width:72%}.visual-card-secondary i:nth-child(3){width:48%}.visual-signal{aspect-ratio:1;background:linear-gradient(145deg,#ffad87,#f57);border-radius:50%;width:3.1rem;position:absolute;top:13%;right:11%;box-shadow:0 0 3rem #ff5f7a99}.project-story:nth-child(3n+2) .visual-card-primary{background:linear-gradient(155deg,#ff9a70,#c84f66);transform:rotate(4deg)}.project-story:nth-child(3n+2) .visual-card-secondary{transform:rotate(-5deg)}.project-story:nth-child(3n+2) .visual-signal{background:linear-gradient(145deg,#ffd092,#ff795f);box-shadow:0 0 3rem #ff896d99}.project-story:nth-child(3n) .visual-card-primary{background:linear-gradient(155deg,#ff8b96,#9d2948);transform:rotate(-3deg)}.project-story:nth-child(3n) .visual-card-secondary{transform:rotate(8deg)}.project-story:nth-child(3n) .visual-signal{background:linear-gradient(145deg,#ffb0b5,#d94160);box-shadow:0 0 3rem #e9576499}.contact{content-visibility:auto;contain-intrinsic-block-size:auto 36rem;padding-block:clamp(5rem,10vh,8rem);scroll-margin-top:6rem}.contact-panel{box-shadow:var(--shadow-border), 0 2.2rem 6rem #0003;background:radial-gradient(circle at 82% 18%,#ff5f7a29,#0000 22rem),#121215b8;border-radius:1.5rem;grid-template-columns:minmax(0,1fr) minmax(19rem,.62fr);align-items:center;gap:clamp(2rem,6vw,5rem);margin-block-start:1rem;padding:clamp(2rem,4vw,3.5rem);display:grid;overflow:hidden}.contact-copy h2{letter-spacing:-.06em;text-wrap:balance;max-width:9ch;margin:0;font-size:clamp(3rem,5.8vw,5.7rem);font-weight:540;line-height:.94}.contact-copy p{max-width:31rem;color:var(--ink-muted);margin:1.25rem 0 0;font-size:.95rem;line-height:1.7}.contact-actions{gap:.75rem;display:grid}.contact-detail{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;display:grid}.contact-link{box-shadow:var(--shadow-border);background:#ffffff0a;border-radius:1rem;outline:none;grid-template-columns:minmax(0,1fr) auto;gap:.55rem 1rem;padding:1.25rem;transition-property:background-color,box-shadow,scale;transition-duration:.15s;transition-timing-function:ease-out;display:grid}.contact-link:hover,.contact-link:focus-visible{background:#ff455f1a;box-shadow:0 0 0 1px #ff708470}.contact-link:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.contact-link:active{scale:.96}.contact-link span{color:#ff8a9ad1;font-family:var(--font-geist-mono), monospace;letter-spacing:.08em;text-transform:uppercase;font-size:.56rem;font-weight:500}.contact-link strong{text-overflow:ellipsis;font-size:clamp(.82rem,1.4vw,1rem);font-weight:520;overflow:hidden}.contact-link svg{width:1.15rem;color:var(--accent);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px;grid-area:1/2/span 2;align-self:center}.contact-copy-button{min-width:5rem;box-shadow:var(--shadow-border);color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border-radius:1rem;outline:none;justify-content:center;align-items:center;gap:.42rem;padding-inline:.85rem;font-size:.52rem;font-weight:500;transition-property:background-color,box-shadow,color,scale;transition-duration:.14s;transition-timing-function:ease-out;display:inline-flex}.contact-copy-button:hover,.contact-copy-button:focus-visible,.contact-copy-button[data-copied=true]{color:#ff8a9a;background:#ff455f1a;box-shadow:0 0 0 1px #ff708470}.contact-copy-button:focus-visible{box-shadow:0 0 0 1px #ff8a9ae6,0 0 0 4px #ff5f7a29}.contact-copy-button:active{scale:.96}.contact-copy-button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.35px;flex:none;width:.78rem}.site-footer{min-height:16rem;padding-block:3.5rem max(2rem, env(safe-area-inset-bottom));border-block-start:1px solid var(--line);color:var(--ink-faint);font-family:var(--font-geist-mono), monospace;letter-spacing:.05em;text-transform:uppercase;content-visibility:auto;contain-intrinsic-block-size:auto 16rem;grid-template-columns:1fr auto;align-items:end;gap:3rem;font-size:.64rem;display:grid}.site-footer p{margin:0;line-height:1.6}.site-footer a{transition:color .13s ease-out}.site-footer a:hover,.site-footer a:focus-visible{color:var(--ink);outline:none}@property --project-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes project-border-orbit{to{--project-border-angle:360deg}}@keyframes identity-badge-float{0%,to{transform:translate3d(0, 0, 0) rotate(var(--badge-tilt)) scale(var(--badge-scale))}38%{transform:translate3d(var(--badge-float-x), var(--badge-float-y), 0) rotate(var(--badge-tilt)) scale(var(--badge-scale))}72%{transform:translate3d(var(--badge-float-x-alt), var(--badge-float-y-alt), 0) rotate(var(--badge-tilt)) scale(var(--badge-scale))}}@keyframes hero-scroll-signal{0%{opacity:0;transform:translateY(-120%)}22%{opacity:1}78%{opacity:1}to{opacity:0;transform:translateY(250%)}}@keyframes hero-scroll-indicator-dismiss{0%,16%{visibility:visible;opacity:1;translate:-50%}to{visibility:hidden;opacity:0;translate:-50% .75rem}}@keyframes dock-atom-rotation{to{transform:rotate(1turn)}}@supports (animation-timeline:scroll()){.hero-actions{animation:1ms linear both hero-scroll-indicator-dismiss;animation-timeline:scroll(root);animation-range:0% 6%}}@media (max-width:900px){.line-identity{width:100%;min-height:min(62vw,31rem)}.about-layout{grid-template-columns:1fr;gap:3.5rem}.about-copy{max-width:42rem}.about-heading h2{max-width:none;font-size:clamp(2.75rem,7vw,3.75rem)}.project-story,.project-story[data-layout=reverse]{grid-template-columns:1fr;grid-template-areas:"copy""visual"}.story-copy{min-height:23rem}.story-visual,.story-picture{min-height:clamp(24rem,70vw,34rem)}.contact-panel{grid-template-columns:1fr;align-items:start;gap:2.5rem}.contact-actions{align-self:auto}}@media (max-width:820px){.case-study-dialog{border-radius:1.2rem;width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.case-study-header{width:calc(100% - 2.5rem);padding-block:5rem 0}.case-study-header h2{max-width:none}.case-study-stats{grid-template-columns:1fr}.case-study-stats>div{padding:1rem 0}.case-study-stats>div+div{border-block-start:1px solid #ffffff1a;border-block-start:1px solid lab(100% 0 0/.1);border-inline-start:0}.case-study-body{width:calc(100% - 2.5rem)}.case-study-section{grid-template-columns:1fr;grid-template-areas:"visual""kicker""copy";gap:0;padding-block:3rem}.case-study-section-kicker{margin-block-start:2.5rem}.case-study-section-copy{margin-block-start:1rem}.case-study-section-copy h3{max-width:15ch}.case-study-section-visual{border-radius:.6rem}.case-study-section-visual figcaption{flex-direction:column;gap:.3rem}.case-study-footer{flex-direction:column;align-items:flex-start;width:calc(100% - 2.5rem);padding-block:3rem 5rem}}@media (max-width:620px){.content-shell{padding-inline-start:max(1rem, env(safe-area-inset-left));padding-inline-end:max(1rem, env(safe-area-inset-right))}.navigation-dock{--dock-control-size:2.35rem;--dock-atom-size:3.75rem;grid-template-columns:var(--dock-atom-size) minmax(0, 1fr);width:calc(100% - max(1rem, env(safe-area-inset-left)) - max(1rem, env(safe-area-inset-right)));max-width:25rem;inset-block-end:max(.75rem, calc(env(safe-area-inset-bottom) + .35rem))}.navigation-dock-links>a,.navigation-dock-cv-menu>summary{min-width:0;padding-inline:clamp(.32rem,1.8vw,.6rem)}.navigation-dock-links{width:calc(100% + .5rem);min-width:0}.navigation-dock-links>a{flex:1 1 0}.navigation-dock-cv-menu{flex:none}.navigation-dock-cv-menu>.cv-download-options{width:min(14.5rem,100vw - 2rem);min-width:0}.hero{min-height:115svh;padding-block-start:1.5rem}.hero-layout{min-height:100svh;top:0}.line-identity{min-height:min(21rem,100svh - 5.5rem);overflow:clip}.hero-layout:before{inset:10% -14% 20%}.hero-actions{max-width:100%;grid-template-columns:6.4rem 1.25rem 6.4rem;column-gap:.4rem;inset-block-end:max(1.5rem, calc(env(safe-area-inset-bottom) + .75rem))}.hero-cv-download-menu>.cv-download-options{transform-origin:0 100%;width:min(14.5rem,100vw - 2rem);min-width:0;inset-inline-start:0;translate:0 .45rem}.hero-cv-download-menu[open]>.cv-download-options{translate:0}.hero-actions-or{font-size:.5rem}.hero-cv-download,.hero-scroll-indicator{letter-spacing:.09em;gap:.5rem;min-width:6.4rem;padding:.4rem .35rem;font-size:.52rem}.hero-cv-download-track,.hero-scroll-track{height:2rem}.identity-node{text-overflow:ellipsis;max-width:42%;padding:.36rem .5rem;font-size:.46rem;overflow:hidden}.identity-node-product{top:6%;left:1%}.identity-node-interfaces{top:9%;left:63%}.identity-node-apis{top:21%;left:80%}.identity-node-strategy{top:24%;left:3%}.identity-node-ai{top:34%;left:61%}.identity-node-prototyping{top:39%;left:1%}.identity-node-research{top:50%;left:6%}.identity-node-automation{top:54%;left:63%}.identity-node-data{top:64%;left:80%}.identity-node-systems{top:67%;left:2%}.identity-node-roadmaps{top:75%;left:34%}.identity-node-architecture{top:78%;left:69%}.identity-node-discovery,.identity-node-design-systems,.identity-node-machine-learning,.identity-node-workflows,.identity-node-delivery,.identity-node-experiments{display:none}.about{padding-block:5.5rem 7rem}.about-layout{gap:2.75rem;margin-block-start:1.5rem}.about-heading h2{max-width:none;font-size:clamp(2.25rem,9.5vw,3rem)}.about-capabilities{grid-template-columns:minmax(0,1fr);gap:.15rem}.about-capabilities li{grid-template-columns:2.25rem minmax(0,1fr);align-items:baseline;gap:.75rem;padding-block:.85rem;font-size:.78rem}.github-activity{grid-template-columns:minmax(0,1fr);gap:1.25rem}.github-activity-copy p{max-width:42ch}.project-filter-bar{flex-direction:column;align-items:stretch;gap:.75rem}.project-filter-chips{gap:.6rem;min-width:0}.project-filter-chip{min-height:2.75rem;padding-inline:.85rem .55rem}.story-action-control{min-height:2.75rem;padding-block:.75rem}.project-story,.project-story[data-layout=reverse]{border-radius:1.2rem}.story-copy{min-height:0;padding:1.5rem}.story-visual{aspect-ratio:1;border-radius:.75rem;min-height:0}.story-picture{height:100%;min-height:0}.story-image,[data-project] .story-image{object-fit:cover;object-position:center;scale:1.04}.visual-card-primary{width:52%;left:10%}.visual-card-secondary{width:55%;right:7%}.contact{padding-block:5rem}.contact-panel{border-radius:1.2rem;min-width:0;padding:1.25rem}.contact-copy,.contact-actions,.contact-detail,.contact-link,.contact-link strong{min-width:0}.contact-copy h2{font-size:clamp(3rem,14vw,4.6rem)}.contact-link{padding:.9rem}.contact-copy-button{min-width:4.5rem;padding-inline:.65rem}.site-footer{grid-template-columns:1fr auto;gap:2rem;min-height:14rem}}@media (max-width:420px){.navigation-dock{--dock-control-size:2.75rem;--dock-atom-size:3.25rem;width:calc(100% - max(.75rem, env(safe-area-inset-left)) - max(.75rem, env(safe-area-inset-right)))}.navigation-dock-links{gap:.08rem;margin-inline-start:-.35rem;padding:.25rem .25rem .25rem .5rem}.navigation-dock-links>a,.navigation-dock-cv-menu>summary{letter-spacing:.035em;padding-inline:clamp(.25rem,1.5vw,.42rem);font-size:.56rem}.navigation-dock-cv-menu>summary{gap:.25rem}.navigation-dock-cv-icon{width:.72rem}.hero-actions{grid-template-columns:minmax(0,6rem) 1rem minmax(0,6rem);column-gap:.25rem;width:min(100%,13.5rem)}.hero-cv-download,.hero-scroll-indicator{min-width:0;padding-inline:.2rem}.about-heading h2{font-size:clamp(2rem,10.5vw,2.75rem)}.about-heading h2 span{white-space:normal}.section-heading h2{font-size:clamp(1.85rem,10vw,2.5rem)}.project-filter-bar{margin-block-end:3.25rem}.project-story,.project-story[data-layout=reverse]{border-radius:1rem;width:100%;min-width:0;padding:.35rem}.story-copy{min-height:0;padding:1.15rem 1rem 1.35rem}.story-copy h4{font-size:clamp(1.75rem,10vw,2.35rem)}.story-actions{margin-block-start:1.5rem;padding-block-start:0}.story-visual,.story-picture{min-height:0}.contact-panel{gap:2rem;padding:1rem}.contact-copy h2{font-size:clamp(2.75rem,16vw,4rem)}.contact-detail{grid-template-columns:minmax(0,1fr) 2.75rem;gap:.4rem}.contact-link{gap:.5rem .75rem;padding:.85rem}.contact-copy-button{min-width:2.75rem;padding-inline:.65rem}.contact-copy-button span{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.case-study-dialog{border-radius:1rem;width:calc(100% - .5rem);max-height:calc(100dvh - .5rem)}.case-study-close-form button{width:2.75rem;inset-block-start:.75rem;inset-inline-end:.75rem}.case-study-header,.case-study-body,.case-study-footer{width:calc(100% - 2rem)}.case-study-header h2{overflow-wrap:anywhere;font-size:clamp(2.15rem,12vw,3rem)}.case-study-section-copy h3{overflow-wrap:anywhere;font-size:clamp(1.65rem,9vw,2.2rem)}.case-study-section-copy>p:not(.case-study-section-summary){font-size:.94rem}.case-study-section-visual figcaption{padding-inline:.75rem}.case-study-footer a{overflow-wrap:anywhere;white-space:normal;flex:auto;max-width:100%}.site-footer{grid-template-columns:minmax(0,1fr);align-content:end;gap:1rem;min-height:12rem}.site-footer a{justify-self:start}}@media (max-width:350px){.navigation-dock{--dock-atom-size:3.25rem}.navigation-dock-links>a,.navigation-dock-cv-menu>summary{padding-inline:.22rem;font-size:.52rem}}@media (max-width:900px) and (max-height:560px){.hero{padding-block-start:.75rem}.line-identity{min-height:min(17rem,100svh - 4rem)}.hero-actions{inset-block-end:max(.5rem, env(safe-area-inset-bottom))}.hero-cv-download,.hero-scroll-indicator{gap:.3rem;padding-block:.25rem}.hero-cv-download-track,.hero-scroll-track{height:1.35rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}.site-loader{animation-duration:.01ms;animation-delay:80ms}.site-loader-fill{animation-duration:.01ms;animation-delay:0s}.identity-node{animation:none!important}.project-story:hover:before,.project-story:focus-within:before{background:var(--project-media-color);filter:none;animation:none!important}.hero-actions,.hero-scroll-track:after,.line-identity-lines,.case-study-dialog[open],.case-study-dialog::backdrop{animation:none!important}.hero-scroll-track:after{opacity:1;height:.9rem;transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
