@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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--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;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--font-weight-semibold:600;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-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,ui-sans-serif, system-ui, 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;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{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{.pointer-events-auto{pointer-events:auto}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.\!grid{display:grid!important}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.min-h-14{min-height:calc(var(--spacing) * 14)}.min-w-\[162px\]{min-width:162px}.flex-shrink,.shrink{flex-shrink:1}.grow{flex-grow:1}.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}.items-center{align-items:center}.justify-center{justify-content:center}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.px-\[25px\]{padding-inline:25px}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.text-\[clamp\(17px\,1\.4vw\,22px\)\]{font-size:clamp(17px,1.4vw,22px)}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\[oklch\(0\.97_0_0\)\]{color:#f5f5f5}.no-underline{text-decoration-line:none}.shadow,.shadow\/throat{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media not all and (min-width:640px){.max-\[640px\]\:min-h-8{min-height:calc(var(--spacing) * 8)}.max-\[640px\]\:min-w-\[82px\]{min-width:82px}.max-\[640px\]\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-\[640px\]\:py-2{padding-block:calc(var(--spacing) * 2)}.max-\[640px\]\:text-\[11px\]{font-size:11px}}}@font-face{font-family:Saans;src:url(/fonts/saans-400.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Saans;src:url(/fonts/saans-500.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Saans;src:url(/fonts/saans-600.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Saans;src:url(/fonts/saans-700.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:lcddot;src:url(/fonts/lcddot.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}:root{--ink:oklch(20.5% 0 0);--chrome-bg:#141414;--hero-mobile-viewport-height:100svh;--page-bg:#f5f5f5;--page-gutter:clamp(28px, 1.7vw, 36px);--beam-green:#7cff55;--font-saans:"Saans", "saans Fallback", sans-serif;--font-lcddot:"lcddot", "lcddot Fallback", monospace;color-scheme:dark;background-color:var(--chrome-bg)}::selection{background-color:var(--beam-green);color:var(--ink)}html{background:var(--chrome-bg);overscroll-behavior-y:none;height:100%}body{background:var(--chrome-bg);min-height:100svh;color:var(--ink);font-family:var(--font-saans);font-synthesis:none;font-variation-settings:normal;overscroll-behavior-y:none;cursor:url(/cursors/arrow-cursor-outline.svg) 12 5,auto;margin:0;font-weight:600;overflow-x:hidden}a[href],button,[role=button],label,select,summary,input[type=button],input[type=submit],input[type=reset]{cursor:pointer}html.is-loader-scroll-locked,html.is-loader-scroll-locked body{overscroll-behavior:none;touch-action:none;height:100%;overflow:hidden!important}@supports (min-height:100dvh){body{min-height:100dvh}}body{font-family:var(--font-saans)}main{background:var(--page-bg)}.browser-bg{background:var(--chrome-bg);min-height:100svh}.mobile-bottom-chrome-backdrop{display:none}.page-surface{background:var(--page-bg);min-height:100svh;overflow:clip}@supports (-webkit-touch-callout:none){@media(hover:none)and (pointer:coarse){.mobile-bottom-chrome-backdrop{z-index:80;height:max(4px,calc(env(safe-area-inset-bottom,0px) - 90px));background:var(--chrome-bg);pointer-events:none;display:block;position:fixed;bottom:0;left:0;right:0;transform:translateZ(0)}}}*{box-sizing:border-box;font-family:inherit}button,input,label{font:inherit}body:before{content:"";z-index:-1;pointer-events:none;background:#141414;width:100vw;height:100lvh;position:fixed;top:0;left:0}.scene-shell{background:var(--page-bg);width:100%;height:100svh;position:relative;overflow:hidden}.pin-spacer,[data-scrolltrigger-pin-spacer],.hero-section,.about-section,.projects-section,.tech-stack-section,.scene-shell{background:var(--page-bg)}@supports (height:100dvh){.scene-shell{height:100dvh}}.scene-panel{top:env(safe-area-inset-top);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);background:var(--page-bg);position:absolute;overflow:hidden}.scene-canvas{pointer-events:none;display:block;position:absolute;width:100%!important;height:100%!important;inset:0!important}.scene-canvas-base{z-index:0}.scene-canvas-beam{z-index:22}@media(max-width:640px){html,body{background:var(--chrome-bg)}body{min-height:100svh}.scene-shell{height:var(--hero-mobile-viewport-height,100svh);min-height:var(--hero-mobile-viewport-height,100svh)}.scene-panel{top:env(safe-area-inset-top,0px);position:absolute;bottom:0;left:0;right:0}.typography-loader{position:absolute}}.profile-ticker,.profile-beam-spill{opacity:0;pointer-events:none}.scene-shell.is-hero-loading .site-nav,.scene-shell.is-hero-loading .hero-scroll-cue,.scene-shell.is-hero-loading .bottom-lockup{opacity:0;visibility:hidden}.scene-shell.is-hero-ready .site-nav,.scene-shell.is-hero-ready .hero-scroll-cue,.scene-shell.is-hero-ready .bottom-lockup{opacity:1;visibility:visible;transition:opacity .72s cubic-bezier(.22,1,.36,1),visibility linear}.scene-shell.is-hero-ready~.profile-ticker,.scene-shell.is-hero-ready~.profile-beam-spill,main:has(.scene-shell.is-hero-ready) .profile-ticker,main:has(.scene-shell.is-hero-ready) .profile-beam-spill,.browser-bg:has(.scene-shell.is-hero-ready)~.profile-ticker,.browser-bg:has(.scene-shell.is-hero-ready)~.profile-beam-spill{opacity:1;pointer-events:auto;transition:opacity .72s cubic-bezier(.22,1,.36,1)}.browser-bg:not(:has(.scene-shell))~.profile-ticker{opacity:1;pointer-events:auto}.typography-loader{z-index:30;background:var(--page-bg);opacity:1;pointer-events:none;perspective:900px;align-content:center;place-items:center;row-gap:clamp(8px,2.5vh,26px);transition:opacity .62s cubic-bezier(.22,1,.36,1),visibility 0s linear .62s;display:grid;position:absolute;inset:0}.typography-loader.is-hidden{opacity:0;visibility:hidden}.loader-progress{min-width:min(78vw,820px);color:var(--ink);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;transform-style:preserve-3d;justify-content:center;align-items:baseline;font-weight:700;line-height:.76;display:inline-flex}.loader-digit{--digit-height:.86em;width:.58em;height:var(--digit-height);font-size:clamp(96px,22vw,360px);line-height:var(--digit-height);text-align:center;font-variant-numeric:tabular-nums;display:block;position:relative;overflow:hidden}.loader-digit-strip{will-change:transform;flex-direction:column;align-items:center;display:flex}.loader-digit-strip span{height:var(--digit-height);line-height:var(--digit-height);display:block}.loader-progress-mark{color:var(--ink);margin-left:clamp(6px,1.2vw,18px);display:inline-block}@supports (color:color-mix(in lab,red,red)){.loader-progress-mark{color:color-mix(in oklab,var(--ink) 52%,var(--page-bg))}}.loader-progress-mark{font-size:clamp(32px,7vw,116px);transform:translateY(-.07em)}.loader-ufo{width:clamp(120px,16vw,210px);animation:3.2s ease-in-out infinite loader-ufo-bob}.loader-ufo-svg{width:100%;height:auto;display:block;overflow:visible}.loader-ufo-stroke{stroke:var(--ink);stroke-width:5px;stroke-linecap:round}.loader-ufo-fill-bg{fill:var(--page-bg)}.loader-ufo-fill-ink{fill:var(--ink)}.loader-beam-fill{fill:var(--ink);opacity:.1}.loader-beam,.loader-alien{opacity:0}.loader-saucer{transform-origin:100px 56px;animation:3.2s ease-in-out infinite loader-ufo-wobble}.loader-portholes-track{animation:1.9s linear infinite loader-ufo-portholes}@keyframes loader-ufo-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes loader-ufo-wobble{0%,to{transform:rotate(-3.5deg)}50%{transform:rotate(3.5deg)}}@keyframes loader-ufo-portholes{to{transform:translate(-144px)}}@media(prefers-reduced-motion:reduce){.loader-ufo,.loader-saucer,.loader-portholes-track{animation:none}}.site-nav{z-index:20;width:100%;padding:22px var(--page-gutter) 0;pointer-events:none;grid-template-columns:1fr 1fr auto;align-items:start;column-gap:clamp(20px,5vw,92px);display:grid;position:absolute;top:0;left:0}.nav-item{font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;color:var(--ink);text-transform:none;gap:0;font-weight:500;line-height:1.5;display:grid}.nav-item strong{font-variation-settings:normal;font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.2}.nav-item>span{color:#a1a1a1;font-variation-settings:normal;font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.2}.nav-item-left{justify-self:start}.nav-item-center{justify-self:start;min-width:min(28vw,260px)}.contact-label-mobile{display:none}.site-contact-button{overflow:clip}.contact-roll{display:grid}.contact-roll__layer{grid-area:1/1}.contact-roll__char{background-color:var(--ink)}.nav-copy-mobile{display:none}.hero-scroll-cue{z-index:25;color:var(--ink);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;pointer-events:none;align-items:center;gap:9px;font-size:clamp(18px,1.4vw,22px);font-weight:500;line-height:1.5;display:inline-flex;position:absolute;bottom:clamp(24px,2vw,34px)}.hero-scroll-cue-left{left:var(--page-gutter)}.hero-scroll-cue-right{right:var(--page-gutter)}.hero-scroll-arrow{font-size:1.08em;line-height:1;display:inline-block;transform:translateY(-.03em)}.bottom-lockup{--lockup-scale:1;z-index:20;pointer-events:none;width:max-content;max-width:none;transform:translate(-50%) scale(var(--lockup-scale));transform-origin:50% 100%;justify-items:center;row-gap:clamp(8px,.65vw,14px);padding:0 0 clamp(2px,.45vw,6px);display:grid;position:absolute;bottom:0;left:50%;right:auto}.bottom-meta{width:100%;font-family:var(--font-saans);font-variation-settings:normal;color:var(--ink);grid-template-columns:1fr auto 1fr;align-items:start;padding:0;font-size:clamp(18px,1.4vw,22px);font-weight:600;line-height:1.5;display:grid;transform:none}.beam-react-text{font-variation-settings:normal;transform-origin:50% 80%;will-change:transform,filter,color;font-weight:600;display:inline-block}.bottom-meta span:first-child{justify-self:start}.bottom-meta span:nth-child(2){justify-self:center}.bottom-meta span:nth-child(3){justify-self:end}.bottom-title{--beam-light-x:50%;--beam-light-width:22vw;width:max-content;height:.78em;color:var(--ink);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;text-transform:uppercase;white-space:nowrap;justify-content:center;align-items:flex-start;gap:0;margin:0 0 0 -.028em;padding-inline:0;font-size:clamp(64px,12.35vw,420px);font-weight:700;line-height:.76;display:flex;overflow:visible}.title-letter,.title-space{flex:none;display:inline-block}.title-letter{font-variation-settings:normal;transform-origin:50% 88%;will-change:transform,filter,color;margin-right:-.018em;font-weight:700;position:relative}.bottom-title,.bottom-title .title-letter{font-family:var(--font-saans);font-variation-settings:normal;font-weight:700}.title-letter.is-in-beam{color:var(--ink)}.title-space{flex:0 0 clamp(22px,2.8vw,58px);width:clamp(22px,2.8vw,58px)}.profile-beam-spill{opacity:0;pointer-events:none;position:fixed}.beam-react-text.is-in-beam{color:var(--ink)}.beam-react-text.is-being-absorbed{color:var(--ink);filter:none}.scene-shell-profile .bottom-lockup{z-index:20;bottom:clamp(168px,18vw,214px)}.profile-beam-spill{z-index:23;width:var(--spill-width,86px);height:var(--spill-height,190px);filter:blur(16px);mix-blend-mode:multiply;background:linear-gradient(#a6ff8d47,#82ff6421 45%,#0000);transition:opacity .12s linear}.profile-beam-spill-left{border-radius:74% 24% 68% 38%;transform:translate(-82%)skew(-11deg)}.profile-beam-spill-right{border-radius:24% 74% 38% 68%;transform:translate(-18%)skew(11deg)}.profile-ticker{z-index:24;color:#fff;pointer-events:auto;background:#171717;border-radius:18px;grid-template-columns:80px minmax(0,1fr) 46px;align-items:center;column-gap:14px;width:min(700px,100vw - 48px);min-height:98px;padding:9px 18px 9px 9px;display:grid;position:fixed;bottom:clamp(8px,2vw,18px);left:50%;overflow:visible;transform:translate(-50%);box-shadow:0 0 0 1px #ffffff14}.about-section{isolation:isolate;min-height:100svh;padding:clamp(72px,7vw,112px) var(--page-gutter) clamp(148px,15vw,220px);background:var(--page-bg);color:var(--ink);position:relative;overflow:hidden}.about-text-overlay,.asteroid-overlay{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.about-text-overlay{z-index:1}.asteroid-overlay{z-index:2;mix-blend-mode:multiply}.about-inner{z-index:0;position:relative}@supports (min-height:100dvh){.about-section{min-height:100dvh}}.about-inner{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;column-gap:clamp(16px,1.6vw,28px);width:100%;max-width:none;margin:0;display:grid}.about-content{flex-direction:column;align-items:flex-start;width:100%;display:flex}.about-title{color:#a1a1a1;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.02em;text-transform:uppercase;margin:0 0 clamp(20px,2.4vw,40px);font-size:clamp(16px,1.6vw,26px);font-weight:600;line-height:1}.about-description{color:#171717;width:100%;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;margin:0;font-size:clamp(36px,3.5vw,54px);font-style:normal;font-weight:600;line-height:1}@media(min-width:641px){.about-description{visibility:hidden}}.about-asteroid{flex-direction:column;align-items:stretch;width:100%;min-width:0;padding-top:clamp(40px,6vw,96px);display:flex}.asteroid-stage{aspect-ratio:1;pointer-events:none;width:100%;max-width:760px;margin:0 auto 0 0;position:relative;overflow:hidden}.projects-section{padding:clamp(58px,7.5vw,118px) var(--page-gutter) clamp(148px,14vw,220px);background:var(--page-bg);color:var(--ink);position:relative;overflow:hidden}.projects-title{color:var(--ink);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;text-transform:uppercase;justify-content:space-between;align-items:flex-start;gap:clamp(12px,2vw,32px);margin:0 0 clamp(28px,3vw,48px) -.03em;font-size:clamp(64px,12.5vw,232px);font-weight:700;line-height:.72;display:flex}.projects-title-year{white-space:nowrap;flex:none;align-self:flex-start}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.5vw,28px);width:100%;display:grid}.project-card{color:#fff;contain:paint;background:#171717;border-radius:18px;grid-template-rows:auto auto auto;min-width:0;padding:clamp(14px,1.15vw,22px);text-decoration:none;transition:transform .24s cubic-bezier(.22,.61,.36,1);display:grid;overflow:hidden}.project-card:hover{transform:translateY(-4px)}.project-card:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.project-media{aspect-ratio:1.42;object-fit:cover;background:#202020;border-radius:12px;width:100%;display:block}.project-meta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(14px,1.3vw,22px);padding:clamp(18px,1.6vw,26px) clamp(4px,.35vw,8px) clamp(14px,1vw,18px);display:grid}.project-name,.project-type{color:#fff;min-width:0;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;align-items:center;font-size:clamp(18px,1.25vw,24px);font-weight:600;line-height:1;display:inline-flex}.project-name{gap:13px}.project-name img{object-fit:cover;background:#f5f5f5;border-radius:999px;flex:none;width:clamp(34px,2.3vw,44px);height:clamp(34px,2.3vw,44px)}.project-name strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.project-type{color:#d4d4d4;text-align:right;white-space:nowrap;justify-self:end;gap:clamp(18px,1.3vw,28px)}.project-ticker-window{contain:paint;min-width:0;display:flex;position:relative;overflow:hidden}.project-ticker-window:before,.project-ticker-window:after{content:"";z-index:1;pointer-events:none;position:absolute;top:0;bottom:0}.project-ticker-window:before{background:linear-gradient(90deg,#141414,#14141400);width:18px;left:0}.project-ticker-window:after{background:linear-gradient(90deg,#14141400,#141414);width:44px;right:0}.project-ticker-list{color:#d4d4d4;font-family:var(--font-lcddot);letter-spacing:0;white-space:nowrap;backface-visibility:hidden;will-change:transform;flex:none;align-items:center;gap:11px;padding-right:11px;font-size:12px;font-weight:400;line-height:16px;animation:28s linear infinite paused ticker-marquee;display:flex;transform:translate(0)}.project-ticker-list span{align-items:center;display:inline-flex}.project-ticker-list span:after{content:","}.projects-see-all{color:#171717;width:fit-content;font-family:var(--font-saans);align-items:center;gap:12px;margin:clamp(36px,4vw,64px) auto 0;padding:6px 4px;font-size:26px;font-weight:500;line-height:38px;text-decoration:none;transition:opacity .18s;display:flex}.projects-see-all svg{transition:transform .22s cubic-bezier(.22,.61,.36,1)}.projects-see-all:hover svg,.projects-see-all:focus-visible svg{transform:translate(4px)}.projects-see-all:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}.projects-page{position:relative}.projects-archive{padding:clamp(132px,15vw,220px) var(--page-gutter) clamp(120px,12vw,180px);background:var(--page-bg);color:var(--ink);position:relative}.projects-archive-title{text-align:center;justify-content:center;margin-bottom:clamp(44px,5.5vw,90px);margin-left:0}.projects-collection-head{color:#a1a1a1;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:0;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:clamp(12px,1.2vw,18px);font-size:clamp(14px,1.25vw,19px);font-weight:500;line-height:1;display:flex}.projects-collection{background:var(--ink);border-radius:clamp(20px,2.2vw,34px);padding:clamp(14px,1.5vw,28px)}@supports (color:color-mix(in lab,red,red)){.projects-collection{background:color-mix(in oklab,var(--ink) 7%,var(--page-bg))}}.project-page{position:relative}.project-detail{--qual-card:#171717;--qual-panel:#262626;--qual-fg:#f5f5f5;--qual-muted:#a1a1a1;padding:clamp(120px,14vw,200px) var(--page-gutter) clamp(120px,12vw,180px);background:var(--page-bg)}.project-detail-card{background:var(--qual-card);color:var(--qual-fg);border-radius:clamp(24px,2.4vw,40px);padding:clamp(20px,2.4vw,44px)}.project-detail-title{font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:-.01em;text-align:center;text-transform:uppercase;margin:clamp(8px,1vw,22px) 0 clamp(26px,3vw,52px);font-size:clamp(40px,8.5vw,128px);font-weight:700;line-height:.9}.project-detail-panel{background:var(--qual-panel);border-radius:clamp(18px,1.8vw,30px);padding:clamp(20px,2.4vw,44px)}.project-detail-specs{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:clamp(16px,2.4vw,48px);display:grid}.project-spec{align-content:start;gap:clamp(12px,1.1vw,18px);display:grid}.project-spec--year{text-align:right;justify-items:end}.project-spec--stack{text-align:center;justify-items:center}.project-spec--stack .project-stack{justify-content:center}.project-spec-label{color:var(--qual-muted);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.01em;font-size:clamp(13px,1.1vw,17px);font-weight:500;line-height:1}.project-spec-value{color:var(--qual-fg);font-family:var(--font-saans);font-variation-settings:normal;font-size:clamp(22px,2vw,34px);font-weight:600;line-height:1}.project-spec-value--type{text-transform:capitalize}.project-stack{flex-wrap:wrap;gap:clamp(8px,.7vw,12px);margin:0;padding:0;list-style:none;display:flex}.project-stack li{background:var(--qual-fg);border-radius:999px;padding:clamp(7px,.55vw,10px) clamp(12px,1vw,16px)}@supports (color:color-mix(in lab,red,red)){.project-stack li{background:color-mix(in oklab,var(--qual-fg) 8%,transparent)}}.project-stack li{color:var(--qual-fg);font-family:var(--font-lcddot);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(12px,1vw,15px);font-weight:400;line-height:1}.project-summary{gap:clamp(12px,1.2vw,18px);margin-top:clamp(30px,3.4vw,56px);display:grid}.project-summary p{max-width:62ch;color:var(--qual-fg);font-family:var(--font-saans);font-variation-settings:normal;margin:0;font-size:clamp(18px,1.7vw,28px);font-weight:500;line-height:1.25}.project-visit{background:var(--ink);color:#f5f5f5;width:fit-content;box-shadow:0 0 0 4px var(--qual-panel),0 0 0 5.5px #f5f5f580;font-family:var(--font-saans);border:1.5px solid #f5f5f5bf;border-radius:999px;align-items:center;gap:10px;margin:clamp(26px,3vw,48px) auto 0;padding:14px 26px;font-size:clamp(15px,1.15vw,19px);font-weight:600;line-height:1;text-decoration:none;transition:transform .2s cubic-bezier(.22,.61,.36,1);display:inline-flex}.project-visit svg{transition:transform .2s cubic-bezier(.22,.61,.36,1)}.project-visit:hover{transform:translateY(-2px)}.project-visit:hover svg{transform:translate(2px,-2px)}.project-visit:focus-visible{outline-offset:4px;outline:2px solid oklch(97% 0 0)}.project-gallery{grid-template-columns:1fr 1fr;gap:clamp(12px,1.2vw,22px);margin-top:clamp(28px,3vw,48px);display:grid}.project-shot{aspect-ratio:1;background:#d9d9d9;border-radius:clamp(10px,1vw,16px);overflow:hidden}.project-shot--lg{aspect-ratio:1.5;grid-column:1/-1}.project-shot img{object-fit:cover;width:100%;height:100%;display:block}.about-page{position:relative}.about-hero{padding:clamp(140px,16vw,240px) var(--page-gutter) clamp(36px,5vw,80px);background:var(--page-bg);color:var(--ink);flex-direction:column;align-items:center;display:flex}.about-hero-figure{aspect-ratio:1;object-fit:cover;background:#d9d9d9;border-radius:clamp(18px,2vw,28px);width:clamp(160px,22vw,300px);margin-bottom:clamp(28px,4vw,72px)}.about-hero-meta{width:100%;font-family:var(--font-saans);font-variation-settings:normal;text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:start;margin-bottom:clamp(4px,.6vw,12px);font-size:clamp(16px,1.7vw,28px);font-weight:600;line-height:1.1;display:grid}.about-hero-meta span:first-child{justify-self:start}.about-hero-meta span:nth-child(2){justify-self:center}.about-hero-meta span:nth-child(3){justify-self:end}.about-hero-title{width:100%;min-width:0;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:-.01em;text-align:center;text-transform:uppercase;white-space:nowrap;margin:0;font-size:clamp(40px,11vw,300px);font-weight:700;line-height:.8}.about-me{padding:clamp(40px,6vw,96px) var(--page-gutter) clamp(120px,12vw,180px);background:var(--page-bg);color:var(--ink)}.about-me-heading{color:#a1a1a1;font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.02em;text-transform:uppercase;margin:0 0 clamp(20px,2.4vw,40px);font-size:clamp(16px,1.6vw,26px);font-weight:600;line-height:1}.about-me-body{font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.01em;font-size:clamp(18px,1.9vw,30px);font-weight:500;line-height:1.4}.about-me-body:after{content:"";clear:both;display:block}.about-me-body p{margin:0 0 1.1em}.about-me-body p:last-child{margin-bottom:0}.about-me-model{float:right;width:clamp(300px,44vw,620px);margin:clamp(2px,.5vw,8px) 0 clamp(16px,1.6vw,28px) clamp(24px,3vw,60px)}.about-me-model canvas{aspect-ratio:1;width:100%;display:block}.qualifications-section{--qual-card:#171717;--qual-panel:#262626;--qual-fg:#f5f5f5;--qual-muted:#a1a1a1;--qual-line:#f5f5f524;padding:clamp(216px,23vw,354px) var(--page-gutter) clamp(72px,9vw,132px);background:var(--page-bg);color:var(--qual-fg);position:relative;overflow:hidden}.qual-card{z-index:1;background:var(--qual-card);border-radius:clamp(24px,2.4vw,36px);width:100%;padding:clamp(24px,2.6vw,44px);position:relative}.qual-hand{pointer-events:none;width:100%;height:clamp(360px,46vw,680px);display:block;position:absolute;top:0;left:0}.qual-hand--back{z-index:0}.qual-hand--front{z-index:2}.qual-head{margin-bottom:clamp(72px,8vw,136px)}.qual-eyebrow{color:var(--qual-muted);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.04em;text-transform:uppercase;margin:0 0 clamp(14px,1.5vw,24px);font-size:clamp(13px,1.25vw,18px);font-weight:600;line-height:1}.qual-lead{max-width:24em;color:var(--qual-fg);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:-.01em;margin:0;font-size:clamp(28px,4vw,60px);font-weight:600;line-height:1.06}.qual-list{background:var(--qual-panel);border-radius:clamp(18px,1.8vw,28px);margin:0;padding:0;list-style:none;overflow:hidden}.qual-row{outline:none;grid-template-columns:clamp(48px,5vw,76px) minmax(0,1fr);column-gap:clamp(16px,1.6vw,28px);padding:clamp(22px,2.4vw,38px) clamp(20px,2.4vw,40px) clamp(14px,1.4vw,22px);transition:background-color .35s;display:grid}.qual-row+.qual-row{border-top:1px solid var(--qual-line)}.qual-row.is-active{background:var(--qual-fg)}@supports (color:color-mix(in lab,red,red)){.qual-row.is-active{background:color-mix(in oklab,var(--qual-fg) 5%,transparent)}}.qual-numcol{align-self:stretch;position:relative}.qual-num{z-index:1;color:var(--qual-muted);font-family:var(--font-lcddot);letter-spacing:.06em;align-items:flex-start;gap:clamp(1px,.2vw,3px);font-size:clamp(20px,1.9vw,30px);font-weight:400;line-height:1;transition:color .35s;display:inline-flex;position:relative}.qual-digit{will-change:transform;display:inline-block}.qual-row.is-active .qual-num{color:var(--beam-green)}.qual-content{padding-left:clamp(24px,3vw,56px);position:relative}.qual-content:before{content:"";background:var(--qual-line);width:1px;transition:background-color .35s;position:absolute;top:2px;bottom:2px;left:0}.qual-row.is-active .qual-content:before{background:var(--beam-green)}.qual-row-head{flex-direction:column;justify-content:center;min-height:clamp(112px,12vw,168px);padding-bottom:clamp(26px,2.6vw,40px);display:flex}.qual-name{color:var(--qual-fg);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:-.01em;margin:0;font-size:clamp(26px,3.1vw,50px);font-weight:600;line-height:1.04}.qual-tag{color:var(--qual-muted);font-family:var(--font-saans);font-variation-settings:normal;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;align-items:center;gap:8px;font-size:clamp(11px,.95vw,15px);font-weight:500;line-height:1;text-decoration:none;transition:color .35s;display:inline-flex;position:absolute;bottom:0;right:0}.qual-tag svg{width:clamp(15px,1.1vw,18px);height:clamp(15px,1.1vw,18px);transition:transform .35s}.qual-row.is-active .qual-tag{color:var(--beam-green)}.qual-row.is-active .qual-tag svg{transform:translate(4px)}.qual-details{height:0;overflow:hidden}.qual-details-inner{gap:clamp(14px,1.4vw,22px);padding:clamp(2px,.5vw,8px) 0 clamp(8px,1vw,14px);display:grid}.qual-detail-group{grid-template-columns:clamp(82px,8vw,124px) minmax(0,1fr);align-items:start;gap:clamp(12px,1.4vw,24px);display:grid}.qual-detail-label{color:var(--qual-muted);font-family:var(--font-saans);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(11px,.95vw,14px);font-weight:600;line-height:1.5}.qual-skills{flex-wrap:wrap;gap:clamp(8px,.7vw,12px);margin:0;padding:0;list-style:none;display:flex}.qual-skills li{background:var(--qual-fg);border-radius:999px;padding:clamp(7px,.55vw,10px) clamp(12px,1vw,16px)}@supports (color:color-mix(in lab,red,red)){.qual-skills li{background:color-mix(in oklab,var(--qual-fg) 8%,transparent)}}.qual-skills li{color:var(--qual-fg);font-family:var(--font-lcddot);letter-spacing:.04em;text-transform:uppercase;font-size:clamp(12px,1vw,15px);font-weight:400;line-height:1}.qual-detail-value{color:var(--qual-fg);font-family:var(--font-saans);font-size:clamp(15px,1.3vw,20px);font-weight:500;line-height:1.4}.tech-stack-section{isolation:isolate;--bh-gap:16px;--bh-top-nudge:.12em;background:var(--page-bg);color:var(--ink);position:relative;overflow:hidden}.tech-stack-pin{width:100%;height:100svh;position:relative}@supports (height:100lvh){.tech-stack-pin{height:100lvh}}.tech-stack-stage{z-index:0;pointer-events:none;height:91svh;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.tech-stack-canvas{width:100%;height:100%;display:block}.tech-stack-title{color:var(--ink);font-family:var(--font-saans);font-variation-settings:normal;text-transform:uppercase;margin:0;font-weight:700}.tech-stack-word{white-space:nowrap;text-align:center;letter-spacing:-.01em;line-height:.82;font-size:min(clamp(46px,9.5vw,176px),calc((100vw - (var(--page-gutter) * 2)) / 5.9));pointer-events:auto;display:block;position:absolute;left:50%;transform:translate(-50%)}.tech-stack-word--top{bottom:calc(50% + var(--bh-radius,29%) + var(--bh-gap,16px) + var(--bh-top-nudge,.12em))}.tech-stack-word--bottom{top:calc(50% + var(--bh-radius,29%) + var(--bh-gap,16px))}.tech-stack-depth{z-index:1;opacity:0;pointer-events:none;will-change:opacity;width:100%;height:100%;display:block;position:absolute;inset:0}.tech-stack-grid{z-index:2;pointer-events:none;perspective:900px;perspective-origin:50%;transform-style:preserve-3d;margin:0;padding:0;list-style:none;display:block;position:absolute;inset:0}.tech-tile{aspect-ratio:16/9;border:1px solid var(--page-bg);place-items:center;width:clamp(150px,19vw,250px);display:grid;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab,red,red)){.tech-tile{border:1px solid color-mix(in oklab,var(--page-bg) 24%,transparent)}}.tech-tile{opacity:0;transform-style:preserve-3d;backface-visibility:hidden;will-change:opacity,transform;background-color:#0d0e14d1;background-image:linear-gradient(155deg,#ffffff1a,#ffffff05 55%,#fff0);border-radius:16px;transform:translate(-50%,-50%)translateZ(-2400px);box-shadow:0 14px 34px #00000080,inset 0 1px #ffffff1f}.tech-tile__icon{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:72%;height:66%}@media(prefers-reduced-motion:reduce){.tech-stack-section{flex-direction:column;justify-content:center;align-items:center;padding-block:clamp(54px,10vw,110px);display:flex}.tech-stack-pin{height:auto}.tech-stack-stage{aspect-ratio:1;width:100%;max-width:720px;height:auto;margin-inline:auto;position:relative;inset:auto;transform:none}.tech-stack-depth{display:none}.tech-stack-grid{width:min(1100px,92vw);padding:var(--page-gutter);perspective:none;opacity:1;pointer-events:auto;grid-template-columns:repeat(3,minmax(0,1fr));align-content:center;justify-items:center;gap:clamp(16px,3vw,40px);margin:clamp(40px,8vw,80px) auto 0;display:grid;position:static;inset:auto}.tech-tile{opacity:1;width:100%;max-width:280px;position:static;top:auto;left:auto;transform:none}}@media(max-width:640px)and (prefers-reduced-motion:no-preference){.tech-tile{border-radius:13px;width:clamp(116px,34vw,180px)}}.profile-ticker:before{content:"";background:radial-gradient(ellipse at var(--bar-beam-x,50%) 0,oklab(93.0707% -.106662 .096549/.56) 0 16%,oklab(89.2575% -.17997 .154435/.26) 30%,transparent 64%);filter:blur(8px);height:18px;opacity:var(--bar-beam-opacity,0);pointer-events:none;border-radius:999px;position:absolute;top:-1px;left:20px;right:20px}.profile-ticker:after{content:"";background:radial-gradient(ellipse at var(--bar-beam-x,50%) 100%,oklab(93.1692% -.105283 .0979868/.26) 0 16%,oklab(89.2575% -.17997 .154435/.12) 32%,transparent 68%);filter:blur(18px);height:58px;opacity:var(--bar-beam-opacity,0);mix-blend-mode:multiply;pointer-events:none;position:absolute;inset:-34px -38px auto}.profile-ticker img{object-fit:cover;border-radius:13px;width:80px;height:80px}.profile-copy{gap:13px;min-width:0;padding-left:0;display:grid;overflow:hidden}.profile-copy strong{color:#fff;font-family:var(--font-saans);white-space:nowrap;font-size:clamp(16px,1.55vw,20px);font-weight:600;line-height:1}.ticker-window{min-width:0;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 44px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 44px),#0000)}.ticker-list{color:#d4d4d4;font-family:var(--font-lcddot);letter-spacing:0;white-space:nowrap;backface-visibility:hidden;will-change:transform;flex:none;align-items:center;gap:11px;padding-right:11px;font-size:12px;font-weight:400;line-height:16px;animation:28s linear infinite paused ticker-marquee;display:flex;transform:translate(0)}.ticker-list span{align-items:center;display:inline-flex}.ticker-list span:after{content:","}.profile-menu{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:999px;justify-self:end;place-items:center;width:42px;height:42px;display:inline-grid;position:relative}.profile-menu:before{content:"";border-radius:inherit;opacity:0;background:#ffffff0d;transition:opacity .16s;position:absolute;inset:2px}.profile-menu:hover:before{opacity:1}.profile-menu span{background:currentColor;border-radius:999px;width:22px;height:2px;transition:transform .18s,opacity .18s;display:block;position:absolute}.profile-menu span:first-child{transform:translateY(-7px)}.profile-menu span:nth-child(2){transform:translateY(0)}.profile-menu span:nth-child(3){transform:translateY(7px)}@keyframes ticker-marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}@media(max-width:640px){:root{--page-gutter:18px}.site-nav{padding:40px var(--page-gutter) 0;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:14px;position:absolute}.hero-scroll-cue,.nav-item-center,.nav-copy-desktop{display:none}.nav-copy-mobile{display:inline}.contact-label-desktop{display:none}.contact-label-mobile{display:inline}.nav-item strong,.nav-item>span{font-size:clamp(18px,4.6vw,21px);line-height:1.2}.site-contact-button{border-radius:999px;min-width:122px;min-height:48px;padding:0 18px;font-size:16px;line-height:1}.scene-shell-profile .bottom-lockup{z-index:20;transform-origin:50% 0;row-gap:clamp(214px,32svh,306px);width:100%;max-width:none;padding:0 6px;display:grid;position:absolute;inset:clamp(150px,17svh,168px) 0 auto;transform:none}.bottom-meta{text-align:center;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;padding:0 6px;font-size:clamp(18px,4.5vw,21px);line-height:1.5}.bottom-meta span:first-child{justify-self:start}.bottom-meta span:nth-child(2){justify-self:center}.bottom-meta span:nth-child(3){justify-self:end}.bottom-title{white-space:normal;flex-wrap:wrap;justify-content:center;align-items:flex-start;width:100%;max-width:100%;height:auto;margin-left:0;font-size:clamp(72px,20vw,96px);line-height:.77;display:flex}.title-space{flex:0 0 100%;width:100%;height:0}.profile-ticker{width:calc(100vw - 36px);min-height:78px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);border-radius:16px;grid-template-columns:62px minmax(0,1fr) 32px;column-gap:12px;padding:8px 14px 8px 8px;position:fixed}.about-section{padding:clamp(52px,14vw,76px) var(--page-gutter) clamp(128px,34vw,168px)}.about-inner{grid-template-columns:1fr;row-gap:clamp(28px,8vw,44px)}.about-description{white-space:normal;font-size:clamp(25px,6.7vw,31px);line-height:1.03}.about-break{display:none}.asteroid-stage{max-width:320px;margin:0 auto}.projects-section{padding:clamp(54px,14vw,82px) var(--page-gutter) clamp(132px,34vw,174px)}.projects-title{gap:8px;margin-bottom:clamp(22px,7vw,34px);font-size:clamp(40px,11.5vw,78px);line-height:.78}.projects-grid{grid-template-columns:1fr;gap:18px}.project-card{border-radius:16px;padding:12px}.project-media{aspect-ratio:1.18;border-radius:10px}.project-meta{grid-template-columns:1fr;gap:13px;padding:17px 4px 13px}.project-name,.project-type{width:100%;font-size:clamp(19px,5.1vw,23px)}.project-name img{width:38px;height:38px}.project-type{justify-content:space-between;justify-self:stretch;gap:16px}.project-ticker-list{font-size:14px;line-height:17px}.project-ticker-window:before{width:12px}.project-ticker-window:after{width:28px}.projects-archive{padding:clamp(104px,28vw,150px) var(--page-gutter) clamp(124px,30vw,168px)}.projects-collection{border-radius:18px;padding:10px}.project-detail{padding:clamp(104px,28vw,150px) var(--page-gutter) clamp(124px,30vw,168px)}.project-detail-card,.project-detail-panel{padding:clamp(16px,4.5vw,26px)}.project-detail-title{margin-bottom:clamp(22px,7vw,36px);font-size:clamp(34px,13vw,76px)}.project-detail-specs{grid-template-columns:1fr;gap:clamp(18px,5vw,26px)}.project-spec--year,.project-spec--stack{text-align:left;justify-items:start}.project-spec--stack .project-stack{justify-content:flex-start}.project-summary p{font-size:clamp(16px,4.4vw,20px)}.project-shot--lg{aspect-ratio:1.3}.about-hero{padding:clamp(104px,28vw,150px) var(--page-gutter) clamp(28px,8vw,48px)}.about-hero-meta{order:-1;margin-bottom:clamp(18px,6vw,32px);font-size:clamp(14px,4.2vw,20px)}.about-hero-figure{width:min(58vw,280px);margin-bottom:clamp(22px,7vw,40px)}.about-hero-title{white-space:normal;font-size:clamp(52px,18vw,104px);line-height:.82}.about-me{padding:clamp(36px,11vw,64px) var(--page-gutter) clamp(124px,30vw,168px)}.about-me-model{float:none;width:min(82vw,400px);margin:0 auto clamp(22px,6vw,34px)}.qualifications-section{padding:clamp(40px,12vw,72px) var(--page-gutter) clamp(48px,14vw,92px)}.qual-card{border-radius:clamp(20px,5vw,28px);padding:clamp(16px,4.5vw,26px)}.qual-head{margin-bottom:clamp(40px,10vw,64px)}.qual-eyebrow{margin-bottom:clamp(12px,3.5vw,20px);font-size:clamp(12px,3.2vw,15px)}.qual-lead{max-width:none;font-size:clamp(24px,6.6vw,38px)}.qual-list{border-radius:clamp(16px,4vw,22px);padding:0}.qual-row{grid-template-columns:clamp(40px,11vw,56px) minmax(0,1fr);column-gap:clamp(10px,3vw,18px);padding:clamp(18px,5vw,28px) clamp(14px,4vw,22px) clamp(12px,3vw,18px)}.qual-num{min-width:clamp(32px,9vw,48px);font-size:clamp(16px,5vw,24px)}.qual-content{padding-left:clamp(16px,4.5vw,28px)}.qual-row-head{min-height:clamp(88px,24vw,124px);padding-bottom:clamp(22px,6vw,30px)}.qual-name{font-size:clamp(22px,6.4vw,34px)}.qual-tag{gap:6px;font-size:clamp(10px,2.8vw,13px)}.qual-tag svg{width:clamp(13px,3.6vw,16px);height:clamp(13px,3.6vw,16px)}.qual-details-inner{gap:clamp(12px,3.5vw,18px);padding-bottom:clamp(6px,2vw,12px)}.qual-detail-group{grid-template-columns:1fr;gap:clamp(8px,2.5vw,12px)}.qual-skills{gap:clamp(7px,2vw,10px)}.qual-skills li{font-size:clamp(13px,3.4vw,15px)}.qual-detail-value{font-size:clamp(14px,3.8vw,17px)}.tech-stack-word{font-size:min(clamp(28px,11vw,72px),calc((100vw - (var(--page-gutter) * 2)) / 5.9))}.profile-ticker img{border-radius:10px;width:62px;height:62px}.profile-copy{gap:10px}.profile-copy strong{font-size:clamp(20px,5.1vw,23px)}.ticker-list{font-size:14px;line-height:17px}.ticker-window{-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 28px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 28px),#0000)}.profile-menu{width:34px;height:34px}.profile-menu span{width:18px;height:2px}.profile-menu span:first-child{transform:translateY(-6px)}.profile-menu span:nth-child(3){transform:translateY(6px)}}@supports (-webkit-touch-callout:none){@media(hover:none)and (pointer:coarse){.profile-ticker{z-index:90;position:fixed;transform:translate(-50%)translateZ(0)}.bottom-pill-nav,[data-bottom-nav]{z-index:90;position:fixed;transform:translateZ(0)}}}.transition{z-index:100;pointer-events:none;position:fixed;inset:0;overflow:clip}.transition__panel{color:#171717;visibility:hidden;background-color:currentColor;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:100%;left:0}.transition__panel-top{transform-origin:bottom;flex-flow:column;align-items:center;width:100%;height:0%;display:flex;position:absolute;bottom:calc(100% - 1px);left:0;overflow:hidden}.transition__panel-bottom{transform-origin:top;flex-flow:column;justify-content:flex-end;align-items:center;width:100%;height:0%;display:flex;position:absolute;top:calc(100% - 1px);left:0;overflow:hidden}.transition__panel-circle{aspect-ratio:auto;background-color:currentColor;border-radius:50%;width:125%;height:500%;position:absolute}.transition__logo{color:#f4f4f4;opacity:0;font-family:var(--font-saans);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:clamp(28px,5vw,64px);font-weight:700;line-height:1;display:flex;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.transition__logo span{will-change:transform;display:inline-block}.transition__logo-space{width:.42em}.is-page-entering .transition__panel{visibility:visible;transform:translateY(-100%)}.is-page-entering .transition__panel-top{height:15vw;transform:scaleY(1)}.is-page-entering .transition__panel-bottom{height:20vw;transform:scaleY(1)}.is-page-entering .transition__logo{opacity:1}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}@property --tw-ease{syntax:"*";inherits:false}
