@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/12d4e8c1f08b4a66-s.1w1m1wqmjasxa.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/cabb10e1d7cbc7c1-s.1y3v-klcv8xov.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/9f5a2b9f13a4ecbb-s.15dvesjzf7814.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d8aeca813a9ab546-s.p.08ssgmy_tb90r.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Fallback;src:local(Arial);ascent-override:98.88%;descent-override:21.15%;line-gap-override:0.0%;size-adjust:104.98%}._5Z3t9W_className{font-family:Plus Jakarta Sans,Plus Jakarta Sans Fallback;font-style:normal}._5Z3t9W_variable{--font-plus-jakarta-sans:"Plus Jakarta Sans", "Plus Jakarta Sans Fallback"}
@font-face{ascent-override:90.5%;descent-override:19.5%;line-gap-override:21%;font-family:GeistMono;src:url(../media/GeistMono_Variable.p.3x4ptlur59b2g.woff2)format("woff2");font-display:swap;font-weight:100 900}.FUjPCa_className{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.FUjPCa_variable{--font-geist-mono:"GeistMono", ui-monospace, SFMono-Regular, Roboto Mono, Menlo, Monaco, Liberation Mono, DejaVu Sans Mono, Courier New, monospace}
:root{--background:#0b0b0b;--surface:#141414;--surface-deep:#101010;--elevated:#1d1d1d;--text-primary:#faf9f5;--cream:#eee;--text-secondary:#b0b0b0;--ink-dark:#171717;--border:#303030;--border-strong:#494949;--surface-translucent:#141414db;--elevated-translucent:#1d1d1df0;--background-overlay:#0b0b0bd6;--disabled-surface:#2a2a2a;--disabled-text:gray;--shadow:#0000007a;--focus:var(--text-primary);--wash-subtle:#faf9f50a;--wash-soft:#faf9f514;--stroke-subtle:#faf9f51f;--stroke:#faf9f52e;--stroke-strong:#faf9f547;--content-faint:#faf9f56b;--content-muted:#faf9f594;--content-strong:#faf9f5c2;--ink-muted:#17171785;--ink-body:#171717b3;--font-sans:var(--font-plus-jakarta-sans), Arial, Helvetica, sans-serif;--font-mono:var(--font-geist-mono), "SFMono-Regular", Consolas, "Liberation Mono", monospace;--type-display:clamp(2.5rem, 5vw, 5rem);--type-title:clamp(2rem, 4vw, 3.75rem);--type-step:clamp(2.75rem, 6vw, 6rem);--section-space:clamp(4rem, 6vw, 6rem);--section-gap:clamp(2.5rem, 4vw, 4rem);--content-gap:clamp(1.5rem, 3vw, 2.75rem);--layout-page-max:84rem;--layout-wide-max:88rem;--layout-reading-max:68ch;--layout-gutter:clamp(1.75rem, 5.25vw, 5.5rem);--tap-target:2.75rem;--navbar-logo-width:clamp(4.8rem, 7vw, 6rem);--paper:var(--background);--ink:var(--text-primary);--muted:var(--text-secondary)}*{box-sizing:border-box}::selection{background:var(--text-primary);color:var(--background)}html,body{max-width:100%;min-height:100%;overflow-x:clip}.layout-page-container,.layout-reading-container,.layout-wide-container{width:100%;padding-right:max(var(--layout-gutter), env(safe-area-inset-right));padding-left:max(var(--layout-gutter), env(safe-area-inset-left));margin-inline:auto}.layout-page-container{max-width:calc(var(--layout-page-max) + (2 * var(--layout-gutter)))}.layout-reading-container{max-width:calc(var(--layout-reading-max) + (2 * var(--layout-gutter)))}.layout-wide-container{max-width:calc(var(--layout-wide-max) + (2 * var(--layout-gutter)))}.layout-full-bleed{width:100vw;margin-inline:calc(50% - 50vw)}html{background:var(--background);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:auto}.home-session-gate{z-index:9999;background:var(--background);pointer-events:none;animation:0s linear 2s forwards home-session-gate-failsafe;position:fixed;inset:0}@keyframes home-session-gate-failsafe{to{visibility:hidden}}@supports not selector(::-webkit-scrollbar){html{scrollbar-color:#fff transparent;scrollbar-width:thin}}html::-webkit-scrollbar{width:6px}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:#fff;border-radius:999px;transition:background-color .18s}html::-webkit-scrollbar-thumb:hover{background:#fff}::-webkit-scrollbar-button{-webkit-appearance:none;background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:single-button{-webkit-appearance:none;background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:start:decrement{-webkit-appearance:none;background:0 0!important;width:0!important;height:0!important;display:none!important}::-webkit-scrollbar-button:vertical:end:increment{-webkit-appearance:none;background:0 0!important;width:0!important;height:0!important;display:none!important}body{background:var(--background);color:var(--ink);font-family:var(--font-sans);font-optical-sizing:auto;font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}.welcome-shell,.intro-shell{background:var(--background);min-height:100svh;position:relative;overflow:hidden}.welcome-shell{place-items:center;padding:2rem;display:grid}.welcome-content{text-align:center;flex-direction:column;align-items:center;width:min(100%,66rem);display:flex}.welcome-content,.welcome-content h1,.welcome-content .subtitle{font-family:var(--font-sans)}.welcome-logo-slot{aspect-ratio:854/152;pointer-events:none;width:clamp(9rem,16vw,12rem);margin-bottom:clamp(1.4rem,3vw,2.35rem)}.shared-brand-logo{z-index:51;width:var(--navbar-logo-width);aspect-ratio:854/152;opacity:0;pointer-events:none;visibility:hidden;will-change:transform, width, height;position:fixed;top:0;left:0}.shared-brand-logo img{object-fit:contain}.eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0 0 clamp(1.4rem,3vw,2.35rem);font-size:.68rem;font-weight:600}.title-clip{padding:0 .08em .12em;overflow:hidden}h1{letter-spacing:-.065em;margin:0;font-weight:400}.welcome-content h1{font-weight:500}.subtitle{color:var(--muted);letter-spacing:-.015em;margin:clamp(1.5rem,3vw,2.25rem) 0 0;font-size:clamp(.95rem,.9rem + .25vw,1.08rem);line-height:1.5}.portfolio-route>.intro-shell{padding-top:clamp(6rem,8vw,7rem)}.portfolio-route #introduction,.portfolio-route #a-little-more{scroll-margin-top:var(--navbar-scroll-offset,6rem)}.portfolio-navbar{animation:.7s cubic-bezier(.2,.7,.2,1) .18s both navbar-enter}@keyframes navbar-enter{0%{opacity:0;translate:0 -100%}}.brand-transitioning .portfolio-route{opacity:0}.interactive-cursor-overlay{z-index:2147483647;pointer-events:none;position:fixed;inset:0;overflow:visible}html.custom-scrollbar-rendered{scrollbar-width:none}html.custom-scrollbar-rendered::-webkit-scrollbar{width:0;height:0;display:none}.custom-scrollbar{z-index:2147483646;touch-action:none;background:0 0;outline:none;width:1rem;height:100dvh;position:fixed;top:0;right:0}.custom-scrollbar-thumb{will-change:height, transform;background:#fff;border-radius:999px;width:6px;min-height:2rem;position:absolute;top:0;right:0}html.custom-cursor-active .custom-scrollbar,html.custom-cursor-active .custom-scrollbar *{cursor:url(/cursor-arrow.svg) 3 2,auto}.custom-scrollbar:focus-visible .custom-scrollbar-thumb{outline-offset:-1px;outline:1px solid #ffffffb3}.interactive-cursor{z-index:2147483647;width:1.25rem;height:1.3125rem;box-shadow:none;filter:none;mix-blend-mode:normal;opacity:0;pointer-events:none;visibility:hidden;will-change:transform, opacity;display:block;position:fixed;top:0;left:0}.interactive-cursor svg{filter:none;width:100%;height:100%;display:block;overflow:visible}.interactive-cursor path{filter:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html.custom-cursor-active,html.custom-cursor-active body,html.custom-cursor-active a,html.custom-cursor-active button,html.custom-cursor-active [role=button],html.custom-cursor-active [data-cursor]{cursor:none}html.custom-cursor-active :is(p,h1,h2,h3,h4,h5,h6,li,dt,dd,blockquote,figcaption,label:not([for]),[data-cursor=text]){cursor:text}html.custom-cursor-active input,html.custom-cursor-active textarea,html.custom-cursor-active [contenteditable=true],html.custom-cursor-active [role=textbox],html.custom-cursor-active select{cursor:auto}html.custom-cursor-active button:disabled,html.custom-cursor-active [aria-disabled=true]{cursor:not-allowed}html.custom-cursor-active :is(.selected-work-viewport,[data-cursor=drag],[draggable=true]),html.custom-cursor-active :is(.selected-work-viewport,[data-cursor=drag]) *{cursor:grab}html.custom-cursor-active :is(.selected-work-viewport,[data-cursor=drag],[draggable=true])[data-dragging=true],html.custom-cursor-active :is(.selected-work-viewport,[data-cursor=drag])[data-dragging=true] *{cursor:grabbing}}@media (max-width:720px){.custom-scrollbar{display:none}.mobile-navigation-open .interactive-cursor-overlay,.mobile-navigation-open .custom-scrollbar,html.mobile-navigation-open nextjs-portal{display:none!important}}@media (hover:none),(pointer:coarse){.interactive-cursor{display:none}}.intro-shell{background:var(--background);color:var(--text-primary);padding:clamp(1.3rem,2.5vw,2rem);display:grid}.intro-footer{z-index:1;letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:2rem;font-size:clamp(.62rem,.8vw,.72rem);font-weight:600;display:flex;position:relative}.intro-footer p{margin:0}.intro-content{margin:0 auto}.intro-eyebrow{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(.62rem,.85vw,.73rem);font-weight:600}.intro-content h1{text-wrap:balance;margin-inline:auto}.scroll-cue{align-items:center;gap:.55rem;display:inline-flex}.scroll-cue svg{will-change:transform}.project-back-link:focus-visible{outline-offset:6px;outline:2px solid}.project-back-link{color:inherit;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.behind-build{background:var(--background);color:var(--ink);padding:0 clamp(1.25rem,4vw,4rem) clamp(7rem,14vw,14rem);position:relative;overflow:hidden}.build-intro{grid-template-columns:minmax(7rem,.45fr) minmax(0,1.55fr);column-gap:clamp(2rem,7vw,8rem);display:grid}.build-eyebrow{letter-spacing:.18em;text-transform:uppercase;margin:0;padding-top:.8rem;font-size:.65rem;font-weight:600}.build-intro h2{text-wrap:balance;margin:0}.build-steps{margin:0;padding:0;list-style:none}.build-step{align-items:center;display:flex}.build-step-content{will-change:transform, opacity;grid-template-columns:minmax(4rem,.28fr) minmax(0,1.72fr);column-gap:clamp(1.5rem,5vw,6rem);display:grid}.build-step-number{color:var(--muted);letter-spacing:.14em;margin:0;padding-top:clamp(.75rem,1.4vw,1.3rem);font-size:.7rem;font-weight:600}.build-step h3{text-wrap:balance;margin:0}.build-step-description{color:var(--muted);letter-spacing:-.02em;grid-column:2;margin:clamp(2rem,4vw,3.5rem) 0 0}.a-little-more{background:var(--background);color:var(--ink);padding:0 clamp(1.25rem,4vw,4rem) clamp(7rem,14vw,14rem);position:relative;overflow:hidden}.about-intro{grid-template-columns:minmax(7rem,.45fr) minmax(0,1.55fr);column-gap:clamp(2rem,7vw,8rem);display:grid}.about-eyebrow,.about-bio-label{letter-spacing:.18em;text-transform:uppercase;margin:0;font-size:.65rem;font-weight:600}.about-eyebrow{padding-top:.8rem}.about-intro h2{text-wrap:balance;margin:0}.about-subtitle{color:var(--muted);letter-spacing:-.015em;grid-column:2;margin:clamp(1.8rem,3vw,2.8rem) 0 0}.about-body{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;display:grid}.about-photo{aspect-ratio:4/5;background:var(--elevated);clip-path:inset(0%);grid-column:1/span 7;position:relative;overflow:hidden}.about-photo:after{border:1px solid var(--border-strong);content:"";position:absolute;inset:clamp(.8rem,1.5vw,1.4rem)}.about-photo p{z-index:1;color:var(--text-secondary);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.64rem;font-weight:600;position:absolute;bottom:clamp(1.4rem,2.5vw,2.5rem);left:clamp(1.4rem,2.5vw,2.5rem);right:clamp(1.4rem,2.5vw,2.5rem)}.about-bio{border-top:1px solid var(--border);grid-column:9/-1;padding-top:1.25rem}.about-bio-label{color:var(--muted)}.about-bio>p:last-child{letter-spacing:-.045em;margin:clamp(1.5rem,3vw,2.5rem) 0 0}@media (max-width:640px){.welcome-shell,.intro-shell{padding:1.25rem}.portfolio-route>.intro-shell{padding-top:5.75rem}.intro-footer{letter-spacing:.13em;gap:1rem;font-size:.58rem}.intro-content{width:100%}.intro-content h1{line-height:.92}.behind-build{padding-inline:1.25rem}.build-intro{display:block}.build-eyebrow{margin-bottom:1.5rem;padding-top:0}.build-step-content,.build-step:nth-child(2) .build-step-content,.build-step:nth-child(3) .build-step-content{grid-template-columns:2.5rem minmax(0,1fr);column-gap:.8rem;width:100%;margin-left:0}.build-step-number{padding-top:.55rem;font-size:.62rem}.build-step h3{line-height:.85}.build-step-description{font-size:1rem}.a-little-more{padding-inline:1.25rem}.about-intro{display:block}.about-eyebrow{margin-bottom:1.5rem;padding-top:0}.about-body{display:block}.about-photo{width:100%}}@media (max-width:390px){.intro-footer{align-items:flex-end}.scroll-cue{text-align:right;justify-content:flex-end;max-width:8rem}}@media (max-height:700px){.intro-eyebrow{margin-bottom:1rem}.intro-content h1{font-size:clamp(2.8rem,6.5vw,6rem)}}@media (max-width:640px) and (max-height:700px){.intro-content h1{font-size:clamp(2.65rem,12vw,4.2rem)}}h1,h2,h3,h4,.about-bio>p:last-child{font-family:var(--font-sans)}h1,h2,h3,h4{text-wrap:balance}.welcome-content h1{max-width:9.5ch;font-family:var(--font-sans);letter-spacing:-.055em;font-size:clamp(3.2rem,2.25rem + 4vw,6.25rem);line-height:.94}.welcome-content .subtitle{font-size:clamp(.95rem,.9rem + .25vw,1.08rem);line-height:1.5}.intro-eyebrow{margin-bottom:clamp(1rem,2vw,1.5rem)}.intro-content h1{max-width:15ch;font-family:var(--font-sans);letter-spacing:-.05em;font-size:clamp(3rem,6vw,6rem);line-height:.96}.build-intro,.about-intro{padding:0 0 var(--section-gap)}.build-intro h2,.about-intro h2{max-width:13ch;font-family:var(--font-sans);font-size:var(--type-display);letter-spacing:-.055em;font-weight:500;line-height:.95}.about-subtitle{max-width:40rem;margin-top:1.25rem;font-size:clamp(.95rem,1.2vw,1.08rem);line-height:1.55}.build-step{padding:clamp(3rem,5vw,5rem) 0}.build-step-content{width:min(100%,68rem)}.build-step:nth-child(2) .build-step-content{margin-left:clamp(0rem,5vw,5rem)}.build-step:nth-child(3) .build-step-content{margin-left:clamp(0rem,9vw,9rem)}.build-step h3{max-width:12ch;font-family:var(--font-sans);font-size:var(--type-step);letter-spacing:-.06em;font-weight:500;line-height:.9}.build-step-description{max-width:38rem;margin-top:clamp(1.25rem,2.5vw,2rem);font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.55}.about-body{gap:var(--content-gap)}.about-bio{margin-top:clamp(2.5rem,8vw,7rem)}.about-bio>p:last-child{max-width:22ch;margin-top:1.25rem;font-size:clamp(1.6rem,3vw,2.75rem);font-weight:450;line-height:1.12}@media (max-width:640px){:root{--type-display:clamp(2.5rem, 11vw, 3.75rem);--type-title:clamp(2rem, 9vw, 3rem);--type-step:clamp(2.75rem, 13vw, 4.25rem);--section-gap:2.25rem;--content-gap:1.75rem}.welcome-content h1{max-width:8ch}.intro-shell{min-height:auto}.intro-content h1{max-width:11ch;font-size:clamp(2.75rem,12vw,4.25rem)}.build-intro,.about-intro{padding:0 0 var(--section-gap)}.build-intro h2,.about-intro h2{max-width:12ch;font-size:var(--type-display)}.about-subtitle{max-width:34ch;margin-top:1rem}.build-step{min-height:0;padding:2.5rem 0}.build-step h3{font-size:var(--type-step)}.build-step-description{margin-top:1rem}.about-bio{margin-top:2.5rem}.about-bio>p:last-child{font-size:clamp(1.6rem,8vw,2.3rem)}}.intro-shell{padding-inline:clamp(1.25rem,2vw,2rem)}.intro-content{width:min(100%,75rem);max-width:1200px;text-align:initial;margin-inline:auto;padding:clamp(2.75rem,4vw,4.5rem) 0;position:relative}.intro-location{color:var(--text-secondary);letter-spacing:.055em;white-space:nowrap;align-items:center;margin:0;font-size:.72rem;font-weight:500;line-height:1;display:inline-flex;position:absolute;top:clamp(2.75rem,4vw,4.5rem);right:0}.intro-eyebrow{text-align:center;margin:0 0 clamp(2rem,4vw,3.5rem)}.intro-editorial-grid{grid-template-columns:1fr 380px 1fr;align-items:center;gap:2rem;display:grid}.intro-copy{flex-direction:column;gap:1.25rem;min-width:0;display:flex}.intro-copy-left{text-align:right;align-items:flex-end}.intro-copy-right{text-align:left;align-items:flex-start}.intro-copy h1,.intro-copy h2{max-width:11ch;font-family:var(--font-sans);letter-spacing:-.06em;text-wrap:balance;margin:0;font-size:clamp(2.25rem,3.1vw,3.5rem);font-weight:500;line-height:.98}.intro-copy p{max-width:21ch;color:var(--muted);letter-spacing:-.025em;text-wrap:balance;margin:0;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.45}.intro-portrait-card{aspect-ratio:4/5;border:1px solid var(--border);background:var(--surface);clip-path:inset(0 round 1.75rem);isolation:isolate;perspective:1200px;cursor:pointer;will-change:clip-path, transform;border-radius:1.75rem;justify-self:center;width:100%;max-width:380px;margin:0;position:relative;overflow:hidden;rotate:-2deg;box-shadow:0 28px 70px #0000006b}.intro-portrait-card:focus-visible{outline:2px solid var(--content-strong);outline-offset:5px}.intro-portrait-flip{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;position:relative}.intro-portrait-face{border-radius:inherit;backface-visibility:hidden;position:absolute;inset:0;overflow:hidden}.intro-portrait-front{background:var(--surface)}.intro-portrait-placeholder{z-index:0;background:radial-gradient(circle at 50% 35%, var(--wash-soft), transparent 36%), linear-gradient(145deg, var(--elevated), var(--surface-deep));color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.intro-portrait-placeholder:before{border:1px solid var(--wash-soft);content:"";border-radius:1.15rem;position:absolute;inset:1rem}.intro-portrait-placeholder span{letter-spacing:-.08em;font-size:clamp(4.5rem,8vw,7rem);font-weight:300;line-height:1}.intro-portrait-placeholder small{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.6rem;font-weight:600}.intro-portrait-image{z-index:1;object-fit:cover;will-change:transform;width:100%;height:100%;transform:scale(1.035)}@media (min-width:1025px){.intro-portrait-card{width:21.5rem;max-width:21.5rem}}.intro-portrait-overlay{z-index:2;border-radius:inherit;opacity:1;pointer-events:none;background:#0009;transition:opacity .6s cubic-bezier(.22,1,.36,1);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){.intro-portrait-card:hover .intro-portrait-overlay{opacity:0}}.intro-flip-hint{z-index:3;border:1px solid var(--stroke);color:var(--content-strong);letter-spacing:.1em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;background:#00000061;border-radius:999px;padding:.45rem .65rem;font-size:.62rem;font-weight:600;position:absolute;bottom:1.2rem;right:1.2rem}.intro-portrait-back{background:radial-gradient(circle at 80% 10%, var(--wash-soft), transparent 35%), linear-gradient(145deg, var(--elevated), var(--background));color:var(--text-primary);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(2rem,4vw,3rem);display:flex;transform:rotateY(180deg)}.intro-portrait-back:before{border:1px solid var(--wash-soft);content:"";pointer-events:none;border-radius:1.15rem;position:absolute;inset:1rem}.intro-portrait-back p,.intro-portrait-back h3,.intro-portrait-back span,.intro-portrait-back small{z-index:1;margin:0;position:relative}.intro-portrait-back p{color:var(--content-faint);letter-spacing:.18em;margin-bottom:1.1rem;font-size:.62rem;font-weight:600}.intro-portrait-back h3{letter-spacing:-.055em;max-width:8ch;font-size:clamp(2rem,3.1vw,2.8rem);font-weight:500;line-height:.98}.intro-portrait-back span{max-width:25ch;color:var(--muted);margin-top:1.4rem;font-size:.96rem;line-height:1.55}.intro-portrait-back small{color:var(--content-faint);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;font-weight:600;position:absolute;bottom:1.7rem;right:1.7rem}@media (max-width:1024px){.intro-shell{min-height:auto}.intro-content{padding:3.5rem 0;translate:0 -1.25rem}.intro-eyebrow{margin-bottom:2.5rem}.intro-editorial-grid{grid-template-columns:1fr;gap:2.5rem}.intro-copy-left,.intro-copy-right{text-align:center;align-items:center}.intro-copy h1,.intro-copy h2{max-width:12ch;font-size:clamp(2.4rem,7vw,3.6rem)}.intro-copy p{max-width:28ch}.intro-portrait-card{width:min(72vw,20rem)}}@media (max-width:640px){.intro-content{padding:2.75rem 0 3.5rem}.intro-location{justify-content:flex-end;margin-bottom:1.25rem;display:flex;position:static}.intro-editorial-grid{gap:2rem}.intro-copy{gap:.8rem}.intro-copy h1,.intro-copy h2{font-size:clamp(2.2rem,10vw,3rem)}.intro-copy p{max-width:24ch;font-size:.98rem}.intro-portrait-card{clip-path:inset(0 round 1.4rem);border-radius:1.4rem;width:min(76vw,18rem)}}@media (prefers-reduced-motion:reduce){.intro-portrait-overlay{transition-duration:.01ms}}html{scrollbar-gutter:stable;scroll-padding-top:6.5rem}body{overflow-wrap:break-word;min-width:20rem}button,input,textarea,select{font:inherit}img,svg{max-width:100%}:where(a,button,input,textarea,select,[role=button]):focus-visible{outline:2px solid var(--focus);outline-offset:3px}@media (min-width:1440px){.intro-content{width:min(100%,82rem);max-width:none}}@media (max-width:1024px){.build-intro,.about-intro{column-gap:2rem}}@media (max-width:900px){.build-intro,.about-intro{display:block}.build-eyebrow,.about-eyebrow{margin-bottom:1.25rem;padding-top:0}.about-subtitle{margin-top:1.25rem}}@media (max-width:768px){html{scroll-padding-top:5.75rem}}@media (hover:none),(pointer:coarse){.intro-flip-hint{background:#0000009e}}@media (max-width:560px){.welcome-shell{padding-right:max(1.125rem, env(safe-area-inset-right));padding-left:max(1.125rem, env(safe-area-inset-left))}.welcome-content h1{max-width:8.5ch}.welcome-logo-slot{width:clamp(7.5rem,36vw,10rem)}.subtitle{max-width:28ch}.portfolio-route>.intro-shell{padding-top:5.25rem}.intro-content{translate:0}.intro-footer{align-items:flex-end}.intro-footer p{max-width:9rem;line-height:1.4}.build-step-content,.build-step:nth-child(2) .build-step-content,.build-step:nth-child(3) .build-step-content{grid-template-columns:2.2rem minmax(0,1fr)}.about-bio>p:last-child{max-width:24ch;font-size:clamp(1.55rem,7.8vw,2.15rem)}}@media (max-height:700px) and (max-width:768px){.welcome-shell{min-height:100dvh;padding-block:4.5rem 3rem}.welcome-logo-slot{margin-bottom: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}.intro-portrait-card,.intro-portrait-flip,.intro-portrait-image{will-change:auto}}@media (min-width:1025px){.about-body{grid-template-columns:minmax(0,1fr) minmax(22rem,.62fr);align-items:center;column-gap:clamp(3.5rem,7vw,8rem)}.about-photo{grid-column:auto;justify-self:start;width:min(100%,42rem)}.about-bio{grid-column:auto;width:100%;margin-top:0}}@media (min-width:1440px){.build-step{padding-block:clamp(3.25rem,3.5vw,4.25rem)}}@media (min-width:1920px){:root{--type-display:clamp(5rem, 3.75vw, 6rem);--type-step:clamp(5.5rem, 4.5vw, 7rem)}.intro-content{width:min(100%,96rem)}.intro-editorial-grid{grid-template-columns:minmax(0,1fr) 24rem minmax(0,1fr);gap:clamp(3rem,5vw,7rem)}.intro-portrait-card{width:24rem;max-width:24rem}.intro-copy h1,.intro-copy h2{font-size:clamp(3.5rem,2.5vw,4rem)}.build-step-content{width:min(100%,82rem)}.about-photo{width:min(100%,44rem)}}.intro-shell,.behind-build,.a-little-more{padding-left:0;padding-right:0}.intro-shell{grid-template-rows:auto auto;min-height:0}.intro-content{padding-top:var(--section-space);padding-bottom:var(--section-space);align-self:auto;translate:0 -10%}.intro-footer{translate:0 -13svh}.behind-build,.a-little-more{padding-top:var(--section-space);padding-bottom:var(--section-space)}.build-intro,.about-intro{padding-top:0;padding-bottom:var(--section-gap)}.build-step{min-height:0;padding-top:clamp(2.75rem,4.5vw,4.5rem);padding-bottom:clamp(2.75rem,4.5vw,4.5rem)}@media (min-width:1440px){:root{--layout-gutter:clamp(4.75rem, 5.75vw, 7.5rem);--section-space:clamp(5rem, 5vw, 6rem);--section-gap:clamp(3rem, 3.5vw, 4rem)}}@media (max-width:1024px){:root{--layout-gutter:clamp(2.25rem, 5.75vw, 3.375rem);--section-space:clamp(4.5rem, 7vw, 5.5rem)}}@media (max-width:768px){:root{--layout-gutter:clamp(1.75rem, 5.75vw, 2.625rem);--section-space:clamp(4rem, 10vw, 5rem)}.intro-content{translate:0 -5%}}@media (max-width:560px){:root{--layout-gutter:1.75rem;--type-display:clamp(2.45rem, 11.5vw, 3.5rem);--type-title:clamp(1.85rem, 9vw, 2.75rem);--type-step:clamp(2.65rem, 13vw, 4rem)}}@media (max-width:374px){:root{--layout-gutter:1.375rem}}.selected-work{background:var(--background);padding-top:clamp(5.5rem,8vw,8.5rem);padding-bottom:clamp(6rem,9vw,9.5rem);position:relative;overflow:hidden}.selected-work-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:clamp(2rem,3.5vw,3.5rem);display:flex}.selected-work-title-row{align-items:center;gap:.8rem;display:flex}.selected-work-title-row h2,.selected-work-heading p{margin:0}.selected-work-title-row h2{letter-spacing:-.065em;font-size:clamp(2.6rem,5vw,5rem);font-weight:500;line-height:.95}.selected-work-heading>div>p{color:var(--text-secondary);margin-top:1rem;font-size:clamp(.95rem,1.3vw,1.08rem)}.selected-work-check-more{border:1px solid var(--stroke);background:var(--cream);min-height:2.75rem;color:var(--ink-dark);letter-spacing:-.01em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.35rem;font-size:.72rem;font-weight:650;text-decoration:none;display:inline-flex}.selected-work-check-more:focus-visible{outline:2px solid var(--focus);outline-offset:5px}.selected-work-carousel{position:relative}.selected-work-viewport{cursor:grab;overscroll-behavior-inline:contain;scroll-behavior:auto;scroll-snap-type:x mandatory;scrollbar-width:none;touch-action:manipulation;-webkit-overflow-scrolling:touch;overflow:auto hidden}.selected-work-viewport::-webkit-scrollbar{display:none}.selected-work-track{gap:clamp(1rem,1.7vw,1.6rem);width:max-content;padding:.75rem 0 2rem;display:flex}.selected-work-viewport[data-dragging=true]{cursor:grabbing}.selected-work-viewport[data-dragging=true] .selected-work-track{-webkit-user-select:none;user-select:none}.work-card{width:clamp(19rem, calc((min(100vw - (2 * var(--layout-gutter)), var(--layout-page-max)) - 3.2rem) / 3), 29rem);aspect-ratio:52/61.74;background:var(--surface);scroll-snap-align:start;scroll-snap-stop:always;isolation:isolate;border-radius:clamp(1.25rem,1.6vw,1.75rem);flex:none;position:relative;overflow:hidden;box-shadow:0 1.5rem 3.5rem #00000047}.work-card-link{color:var(--text-primary);touch-action:manipulation;text-decoration:none;display:block;position:absolute;inset:0}.work-card-media,.work-card-cover,.work-card-placeholder,.work-card-shade{position:absolute;inset:0}.work-card-media{background:var(--elevated);pointer-events:none;overflow:hidden}::view-transition{pointer-events:none}::view-transition-group(.project-card-morph){animation-duration:.52s;animation-timing-function:cubic-bezier(.22,1,.36,1)}.work-card-cover{object-fit:cover;filter:grayscale(0%);transition:filter .4s,transform .85s cubic-bezier(.22,1,.36,1);transform:scale(1.015)}.work-card-logo{z-index:2;object-fit:contain;pointer-events:none;width:clamp(8rem,42%,12rem);height:auto;max-height:18%;position:absolute;top:50%;left:50%;translate:-50% -50%;scale:.63}.work-card-shade{z-index:1;background:linear-gradient(180deg, #05050508 22%, #05050538 52%, #050505ed 100%), linear-gradient(120deg, var(--wash-soft), transparent 46%)}.work-card-placeholder{background:radial-gradient(circle at 76% 18%, var(--stroke), transparent 29%), linear-gradient(145deg, var(--elevated), var(--surface-deep))}.work-card-placeholder i{border:1px solid var(--stroke-subtle);background:var(--wash-subtle);border-radius:999px;position:absolute;transform:rotate(-28deg)}.work-card-placeholder i:first-of-type{width:78%;height:18%;bottom:28%;right:-14%}.work-card-placeholder i:nth-of-type(2){width:57%;height:13%;bottom:19%;right:-1%}.work-card-placeholder i:nth-of-type(3){width:34%;height:9%;bottom:12%;right:9%}.work-card-copy{z-index:2;pointer-events:none;position:absolute;bottom:clamp(1.25rem,2.2vw,2rem);left:clamp(1.25rem,2.2vw,2rem);right:clamp(1.25rem,2.2vw,2rem)}.work-card-title-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.work-card-title-row h3,.work-card-copy p{margin:0}.work-card-title-row h3{letter-spacing:-.05em;font-size:clamp(1.35rem,2vw,2rem);font-weight:550;line-height:1}.work-card-title-row svg{flex:none}.work-card-copy>p{min-height:3em;color:var(--content-strong);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.85rem;font-size:clamp(.78rem,.9vw,.88rem);line-height:1.5;display:-webkit-box;overflow:hidden}.work-card-meta{border-top:1px solid var(--stroke-strong);color:var(--content-muted);letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;gap:1rem;margin-top:1rem;padding-top:.85rem;font-size:.62rem;display:flex}.selected-work-arrow{z-index:4;width:3.25rem;height:3.25rem;color:var(--text-primary);cursor:pointer;-webkit-backdrop-filter:blur(12px);background:#ffffff1a;border:0;border-radius:50%;place-items:center;transition:background-color .25s,box-shadow .25s,opacity .25s,transform .25s;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 .65rem 1.6rem #0000003d,inset 0 1px #ffffff14}.selected-work-arrow-previous{left:-1.625rem}.selected-work-arrow-next{right:-1.625rem}.selected-work-arrow:hover:not(:disabled){background:#ffffff29;transform:translateY(-50%)scale(1.04);box-shadow:0 .7rem 1.7rem #00000047,inset 0 1px #ffffff21}.selected-work-arrow:active:not(:disabled){background:#ffffff17;transform:translateY(-50%)scale(.96)}.selected-work-arrow:focus-visible{outline:none;box-shadow:0 .65rem 1.6rem #0000003d,inset 0 1px #ffffff14,0 0 0 2px #ffffffa6}.selected-work-arrow:disabled{opacity:.52;cursor:default}@media (hover:hover) and (pointer:fine){.work-card:hover .work-card-cover{filter:grayscale();transform:scale(1.04)}}@media (max-width:1100px){.work-card{width:min(44rem, calc((100vw - (2 * var(--layout-gutter)) - 1.5rem) / 2))}}@media (max-width:700px){.selected-work{padding-top:5rem;padding-bottom:3.75rem}.selected-work-heading{align-items:flex-start;gap:1rem}.selected-work-heading>div{min-width:0}.selected-work-title-row h2{white-space:nowrap;font-size:clamp(2.1rem,10.5vw,2.75rem)}.selected-work-heading>div>p{margin-top:.75rem;font-size:clamp(.82rem,3.8vw,.95rem)}.selected-work-check-more{min-height:2.5rem;padding:.65rem 1rem;font-size:.68rem}.work-card{width:min(82vw,23rem)}.selected-work-track{padding-bottom:1.25rem;padding-right:10vw}.selected-work-arrow{width:3rem;height:3rem;top:50%;bottom:auto;right:auto;transform:translateY(-50%)}.selected-work-arrow-previous{left:-1.35rem}.selected-work-arrow-next{left:calc(min(82vw,23rem) - 1.65rem)}.selected-work-arrow:hover:not(:disabled){transform:translateY(-50%)scale(1.04)}.selected-work-arrow:active:not(:disabled){transform:translateY(-50%)scale(.96)}}@media (max-width:430px){.selected-work-heading{flex-direction:column;align-items:flex-start}.selected-work-check-more{align-self:flex-start}}.logo-marquee{border-bottom:1px solid var(--stroke-subtle);background:var(--background);padding-block:clamp(2.75rem,3.5vw,3.75rem);position:relative;overflow:hidden}.logo-marquee-heading{text-align:center;margin-bottom:clamp(1.75rem,2.5vw,2.5rem)}.logo-marquee-heading p,.logo-marquee-heading h2{margin:0}.logo-marquee-heading p{color:var(--content-faint);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.9rem;font-size:.63rem;font-weight:650}.logo-marquee-heading h2{letter-spacing:-.02em;white-space:nowrap;max-width:none;margin-inline:auto;font-size:clamp(1.375rem,1.7vw,1.625rem);font-weight:400;line-height:1.2}.logo-marquee-window{min-width:0;padding-block:.75rem;position:relative;overflow:hidden}.logo-marquee-track{will-change:transform;width:max-content;animation:34s linear infinite logo-marquee-scroll;display:flex}.logo-marquee-window:hover .logo-marquee-track,.logo-marquee-window:focus-within .logo-marquee-track{animation-play-state:paused}.logo-marquee-group{flex:none;gap:clamp(.75rem,1.4vw,1.25rem);margin:0;padding:0 clamp(.75rem,1.4vw,1.25rem) 0 0;list-style:none;display:flex}.logo-marquee-item{width:clamp(12.5rem,18vw,16.5rem);min-height:5.5rem;color:var(--content-muted);outline:none;flex:none;place-items:center;transition:color .3s;display:grid;position:relative;overflow:hidden}.logo-marquee-wordmark{opacity:.62;justify-content:center;align-items:center;width:min(100%,10rem);height:2.75rem;display:inline-flex}.logo-marquee-wordmark img{object-fit:contain;width:100%;height:100%;scale:var(--logo-visual-scale,1);display:block}.logo-marquee-wordmark[data-project-logo=elavd],.logo-marquee-wordmark[data-project-logo=estockeh]{--logo-visual-scale:.82}.logo-marquee-wordmark[data-project-logo=pointsxpert],.logo-marquee-wordmark[data-project-logo=hebahabib]{--logo-visual-scale:1.18}.logo-marquee-wordmark[data-project-logo=nashmico]{--logo-visual-scale:1.04}.logo-marquee-wordmark[data-project-logo=irapp]{--logo-visual-scale:1.22}.logo-marquee-wordmark[data-project-logo=project-07-placeholder]{--logo-visual-scale:1.2}@keyframes logo-marquee-scroll{to{transform:translate(-50%)}}@media (max-width:700px){.logo-marquee{padding-block:2.75rem}.logo-marquee-heading h2{white-space:normal;font-size:clamp(1.25rem,6vw,1.5rem)}.logo-marquee-item{width:12.5rem;min-height:5rem}}@media (prefers-reduced-motion:reduce){::view-transition-group(.project-card-morph){animation-duration:0s}.logo-marquee-window{scrollbar-width:none;overflow-x:auto}.logo-marquee-window::-webkit-scrollbar{display:none}.logo-marquee-track{will-change:auto;animation:none}.logo-marquee-group[aria-hidden=true]{display:none}}
