/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--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-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-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-mono:"Geist Mono", ui-monospace, "SF Mono", monospace;--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-base:1rem;--text-base--line-height: 1.5 ;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--blur-sm:8px;--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);--color-bg:#101014;--color-fg:#e8e8e6;--color-muted:#aaaab3;--color-neon:#e8e8e6;--color-line:#ffffff1f;--color-panel:#17171c;--color-control-hover:#24242c;--color-control-line:#45454f;--radius-control:8px;--radius-panel:12px;--font-display:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif}}@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;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}html,body{margin:0;padding:0}html{scroll-snap-type:none;overscroll-behavior-y:none;overflow-x:hidden}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-display);-webkit-user-select:none;user-select:none;max-width:100vw;min-height:100dvh;overflow-x:clip}:focus{outline:none}:focus-visible{outline:2px solid var(--color-neon);outline-offset:3px;border-radius:4px}button:focus-visible,a:focus-visible{border-radius:inherit}}@layer components{#root{animation:.5s ease-out both app-fade-in}canvas{animation:.9s ease-out both app-fade-in}.vignette{z-index:1;pointer-events:none;background:radial-gradient(100% 100%,#0000 55%,#0000004d);position:fixed;inset:0}.panel{isolation:isolate;text-shadow:0 0 3px #000000d9,0 1px 10px #000000a6,0 2px 24px #00000073;position:relative}.panel:before{content:"";z-index:-1;pointer-events:none;filter:blur(6px);background:radial-gradient(62% 55%,#05050d99,#05050d8f 16%,#05050d75 30%,#05050d57,#05050d38,#05050d1f,#05050d0d 82%,#05050d03 92%,#0000);position:absolute;inset:-45% -28%}.panel>*{opacity:0;will-change:opacity,transform;transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}.panel.visible>:first-child{transition-delay:0s}.panel.visible>:nth-child(2){transition-delay:90ms}.panel.visible>:nth-child(3){transition-delay:.18s}.panel.visible>:nth-child(4){transition-delay:.27s}.panel.visible>:nth-child(5){transition-delay:.36s}.panel.visible>*{opacity:1;transform:translateY(0)}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}::view-transition-group(work-morph){animation-duration:.34s;animation-timing-function:cubic-bezier(.22,1,.36,1)}#sec-intro .panel{transition:opacity .3s}body.orbiting #sec-intro .panel,body.modal-open #mobile-bar,body.modal-open #desktop-dock,body.modal-open header,body.modal-open #nav{opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){*,:before,:after,::backdrop{scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.\!fixed{position:fixed!important}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-1\/2{top:50%}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-\[4vh\]{top:4vh}.top-\[max\(4vh\,env\(safe-area-inset-top\)\)\]{top:max(4vh,env(safe-area-inset-top))}.right-0{right:0}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-6{right:calc(var(--spacing) * 6)}.right-\[2\.4vw\]{right:2.4vw}.right-\[5vw\]{right:5vw}.bottom-0{bottom:0}.bottom-8{bottom:calc(var(--spacing) * 8)}.left-0{left:0}.left-1\/2{left:50%}.left-\[5vw\]{left:5vw}.z-0{z-index:0}.z-8{z-index:8}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[100\]{z-index:100}.m-0{margin:0}.mx-auto{margin-inline:auto}.-me-\[0\.16em\]{margin-inline-end:-.16em}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-\[2px\]{height:2px}.h-full{height:100%}.h-px{height:1px}.max-h-\[52dvh\]{max-height:52dvh}.max-h-\[85dvh\]{max-height:85dvh}.min-h-\[44px\]{min-height:44px}.min-h-\[100dvh\]{min-height:100dvh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-11{width:calc(var(--spacing) * 11)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\[30ch\]{max-width:30ch}.max-w-\[48ch\]{max-width:48ch}.max-w-\[70vw\]{max-width:70vw}.max-w-\[420px\]{max-width:420px}.max-w-\[490px\]{max-width:490px}.max-w-\[560px\]{max-width:560px}.max-w-\[650px\]{max-width:650px}.max-w-\[960px\]{max-width:960px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-x-0{--tw-scale-x:0%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-x-100{--tw-scale-x:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[1\.4rem\]{gap:1.4rem}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-\[var\(--radius-panel\)\]{border-radius:var(--radius-panel)}.rounded-full{border-radius:3.40282e38px}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--color-line\)\]{border-color:var(--color-line)}.border-\[var\(--color-neon\)\]{border-color:var(--color-neon)}.border-transparent{border-color:#0000}.bg-\[\#0a0a14\]{background-color:#0a0a14}.bg-\[\#05050de6\],.bg-\[rgba\(5\,5\,13\,0\.9\)\]{background-color:#05050de6}.bg-\[rgba\(5\,5\,13\,0\.78\)\]{background-color:#05050dc7}.bg-\[var\(--color-muted\)\]{background-color:var(--color-muted)}.bg-\[var\(--color-neon\)\]{background-color:var(--color-neon)}.bg-\[var\(--color-panel\)\]{background-color:var(--color-panel)}.bg-transparent{background-color:#0000}.bg-white\/\[0\.07\]{background-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.07\]{background-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.bg-white\/\[0\.14\]{background-color:#ffffff24}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.14\]{background-color:color-mix(in oklab,var(--color-white) 14%,transparent)}}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--color-bg\)\]{--tw-gradient-from:var(--color-bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.via-\[var\(--color-bg\)\]\/70{--tw-gradient-via:#101014b3}@supports (color:color-mix(in lab,red,red)){.via-\[var\(--color-bg\)\]\/70{--tw-gradient-via:color-mix(in oklab, var(--color-bg) 70%, transparent)}}.via-\[var\(--color-bg\)\]\/70{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-0{padding:0}.p-2{padding:calc(var(--spacing) * 2)}.p-5{padding:calc(var(--spacing) * 5)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-\[6vw\]{padding-inline:6vw}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-16{padding-block:calc(var(--spacing) * 16)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-\[11vh\]{padding-top:11vh}.pt-\[12vh\]{padding-top:12vh}.pt-\[min\(18vh\,9rem\)\]{padding-top:min(18vh,9rem)}.pb-\[max\(13rem\,24vh\)\]{padding-bottom:max(13rem,24vh)}.pb-\[max\(16px\,env\(safe-area-inset-bottom\)\)\]{padding-bottom:max(16px,env(safe-area-inset-bottom))}.pl-6{padding-left:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:var(--font-display)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.58rem\]{font-size:.58rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.66rem\]{font-size:.66rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.74rem\]{font-size:.74rem}.text-\[0\.76rem\]{font-size:.76rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.92rem\]{font-size:.92rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[0\.6875rem\]{font-size:.6875rem}.text-\[1rem\]{font-size:1rem}.text-\[clamp\(1\.6rem\,3\.2vw\,2\.2rem\)\]{font-size:clamp(1.6rem,3.2vw,2.2rem)}.text-\[clamp\(1rem\,1\.3vw\,1\.0625rem\)\]{font-size:clamp(1rem,1.3vw,1.0625rem)}.text-\[clamp\(2rem\,4vw\,2\.75rem\)\]{font-size:clamp(2rem,4vw,2.75rem)}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-\[1\.3\]{--tw-leading:1.3;line-height:1.3}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.65\]{--tw-leading:1.65;line-height:1.65}.leading-none{--tw-leading:1;line-height:1}.font-\[var\(--font-display\)\]{--tw-font-weight:var(--font-display);font-weight:var(--font-display)}.font-\[var\(--font-mono\)\]{--tw-font-weight:var(--font-mono);font-weight:var(--font-mono)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.13em\]{--tw-tracking:.13em;letter-spacing:.13em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.22em\]{--tw-tracking:.22em;letter-spacing:.22em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.36em\]{--tw-tracking:.36em;letter-spacing:.36em}.whitespace-nowrap{white-space:nowrap}.text-\[rgba\(244\,240\,255\,0\.6\)\]{color:#f4f0ff99}.text-\[rgba\(244\,240\,255\,0\.78\)\]{color:#f4f0ffc7}.text-\[rgba\(244\,240\,255\,0\.82\)\]{color:#f4f0ffd1}.text-\[var\(--color-fg\)\]{color:var(--color-fg)}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-30{opacity:.3}.opacity-100{opacity:1}.opacity-\[0\.06\]{opacity:.06}.mix-blend-overlay{mix-blend-mode:overlay}.shadow{--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)}.shadow-\[0_0_0_2px_rgba\(255\,107\,28\,0\.4\)\]{--tw-shadow:0 0 0 2px var(--tw-shadow-color,#ff6b1c66);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_0_10px_rgba\(255\,107\,28\,0\.6\)\]{--tw-shadow:0 0 10px var(--tw-shadow-color,#ff6b1c99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_24px_80px_-22px_rgba\(0\,0\,0\,0\.9\)\]{--tw-shadow:0 24px 80px -22px var(--tw-shadow-color,#000000e6);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\[box-shadow\:0_0_8px_var\(--color-neon\)\]{box-shadow:0 0 8px var(--color-neon)}.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,)}.grayscale{--tw-grayscale:grayscale(100%);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,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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))}.transition-\[border-color\,color\,transform\]{transition-property:border-color,color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,transform\]{transition-property:color,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-\[cubic-bezier\(0\.22\,1\,0\.36\,1\)\]{--tw-ease:cubic-bezier(.22,1,.36,1);transition-timing-function:cubic-bezier(.22,1,.36,1)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}@media(hover:hover){.group-hover\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-125:is(:where(.group):hover *){--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:scale-x-100:is(:where(.group):hover *){--tw-scale-x:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:-rotate-180:is(:where(.group):hover *){rotate:-180deg}.group-hover\:bg-\[var\(--color-fg\)\]:is(:where(.group):hover *){background-color:var(--color-fg)}.group-hover\:text-\[var\(--color-neon\)\]:is(:where(.group):hover *){color:var(--color-neon)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-focus-visible\:translate-x-0:is(:where(.group):focus-visible *){--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *){opacity:1}.placeholder\:text-\[var\(--color-muted\)\]::placeholder{color:var(--color-muted)}@media(hover:hover){.hover\:scale-\[1\.12\]:hover{scale:1.12}.hover\:border-\[var\(--color-fg\)\]:hover{border-color:var(--color-fg)}.hover\:border-\[var\(--color-neon\)\]:hover{border-color:var(--color-neon)}.hover\:text-\[var\(--color-fg\)\]:hover{color:var(--color-fg)}.hover\:text-\[var\(--color-neon\)\]:hover{color:var(--color-neon)}}.focus\:pointer-events-auto:focus{pointer-events:auto}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-\[60\]:focus{z-index:60}.focus\:rounded-full:focus{border-radius:3.40282e38px}.focus\:border:focus{border-style:var(--tw-border-style);border-width:1px}.focus\:border-\[var\(--color-neon\)\]:focus{border-color:var(--color-neon)}.focus\:bg-\[var\(--color-bg\)\]:focus{background-color:var(--color-bg)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-\[0\.72rem\]:focus{font-size:.72rem}.focus\:font-\[var\(--font-mono\)\]:focus{--tw-font-weight:var(--font-mono);font-weight:var(--font-mono)}.focus\:tracking-\[0\.2em\]:focus{--tw-tracking:.2em;letter-spacing:.2em}.focus\:text-\[var\(--color-fg\)\]:focus{color:var(--color-fg)}.focus\:uppercase:focus{text-transform:uppercase}.focus\:no-underline:focus{text-decoration-line:none}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-9{height:calc(var(--spacing) * 9)}.md\:h-\[22px\]{height:22px}.md\:min-h-0{min-height:0}.md\:w-9{width:calc(var(--spacing) * 9)}.md\:w-\[22px\]{width:22px}.md\:max-w-none{max-width:none}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-center{justify-content:center}.md\:justify-end{justify-content:flex-end}.md\:justify-start{justify-content:flex-start}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.md\:px-7{padding-inline:calc(var(--spacing) * 7)}.md\:px-\[5vw\]{padding-inline:5vw}.md\:py-0{padding-block:0}.md\:pt-6{padding-top:calc(var(--spacing) * 6)}.md\:pt-\[11rem\]{padding-top:11rem}.md\:pb-12{padding-bottom:calc(var(--spacing) * 12)}.md\:text-center{text-align:center}.md\:text-left{text-align:left}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}.\[\&\>li\]\:border-t>li{border-top-style:var(--tw-border-style);border-top-width:1px}.\[\&\>li\]\:border-white\/\[0\.07\]>li{border-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.\[\&\>li\]\:border-white\/\[0\.07\]>li{border-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}.\[\&\>li\]\:py-2\.5>li{padding-block:calc(var(--spacing) * 2.5)}.\[\&\>li\:last-child\]\:border-b>li:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&\>li\:last-child\]\:border-white\/\[0\.07\]>li:last-child{border-color:#ffffff12}@supports (color:color-mix(in lab,red,red)){.\[\&\>li\:last-child\]\:border-white\/\[0\.07\]>li:last-child{border-color:color-mix(in oklab,var(--color-white) 7%,transparent)}}}@keyframes app-fade-in{0%{opacity:0}to{opacity:1}}@font-face{font-family:Geist;src:url(../fonts/geist.woff2)format("woff2");font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(../fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-display:swap}:is(input:is(:autofill),textarea:is(:autofill)),input:is(:autofill),textarea:is(:autofill){-webkit-text-fill-color:var(--color-fg);caret-color:var(--color-fg);box-shadow:0 0 0 1000px var(--color-bg) inset}::selection{background:var(--color-fg);color:var(--color-bg)}input::selection{-webkit-text-fill-color:var(--color-bg)}textarea::selection{-webkit-text-fill-color:var(--color-bg)}@media(forced-colors:active){:is(button,[role=button],input,select,textarea,summary){forced-color-adjust:auto;border:1px solid buttontext!important}:is(dialog,[role=dialog]){color:canvastext;background:canvas;border:1px solid canvastext}:is([aria-pressed=true],[aria-selected=true],[aria-current=page],[aria-current=true]){border:2px solid highlight!important;border-bottom-width:4px!important}:focus-visible{outline-offset:3px;outline:2px dashed highlight!important}a[href]{text-decoration:underline}:is(input:is(:autofill),textarea:is(:autofill)),input:is(:autofill),textarea:is(:autofill){-webkit-text-fill-color:FieldText;caret-color:fieldtext;box-shadow:none;background:field}::selection{color:highlighttext;background:highlight}input::selection{-webkit-text-fill-color:HighlightText}textarea::selection{-webkit-text-fill-color:HighlightText}}:root{--portfolio-header-height:88px}body.modal-open .portfolio-header{visibility:hidden}@media(max-width:767px){:root{--portfolio-header-height:84px}}button:disabled{cursor:default}:is(#desktop-dock,#mobile-bar) :is(button,select):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}:is(.garage-project-links,.preview-states,.work-modal-footer,#desktop-dock,#mobile-bar) :is(a,button){transition:color .18s,border-color .18s,background-color .18s,transform .18s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){:is(.garage-project-links,.preview-states,.work-modal-footer,#desktop-dock,#mobile-bar) :is(a,button){transition:none}}:root{scrollbar-width:thin;scrollbar-color:#55545a #101014}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value: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-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}.car-choice{position:relative;display:flex;align-items:center;border-radius:var(--radius-control);background:transparent;pointer-events:auto}.car-choice button{cursor:pointer;background:transparent;border:0;color:var(--color-fg);min-height:44px}.car-choice .car-step{width:44px;min-width:44px;font:24px/1 var(--font-display);border-radius:var(--radius-control)}.car-choice-desktop{flex-shrink:0}.car-browse-trigger{display:flex;flex-direction:column;justify-content:center;align-items:center;width:144px;padding:4px 8px;font:12px/1.4 var(--font-display)}.car-browse-trigger small{color:#b9b9c0;font:12px/1.4 var(--font-display)}.car-choice button:hover{background:#ffffff0a}.car-choice button:focus-visible,.car-browser :is(button,a):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}.car-choice button[aria-disabled=true],.car-option[aria-disabled=true]{cursor:wait;opacity:.6}.car-choice-status{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.car-choice-status:empty{display:none}.car-browser{width:min(880px,calc(100vw - 32px));max-height:88dvh;padding:0;margin:auto;border:1px solid var(--color-line);border-radius:var(--radius-panel);color:var(--color-fg);background:var(--color-panel);overflow:hidden}.car-browser[open]{display:flex;flex-direction:column}.car-browser::backdrop{background:#05050de6}.car-browser-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--color-line);flex-shrink:0}.car-browser h2{margin:0;font:500 28px/1.1 var(--font-display);letter-spacing:-.04em}.car-browser-heading p{margin:8px 0 0;font:12px/1.4 var(--font-display);color:#b9b9c0}.car-browser-heading>button{min-height:44px;padding:8px 14px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:#101014;color:var(--color-fg);font:12px var(--font-display);cursor:pointer;white-space:nowrap}.car-browser-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:24px;overflow:auto;overscroll-behavior:contain;min-height:0}.car-option{display:block;width:100%;border:1px solid var(--color-line);border-radius:var(--radius-control);overflow:hidden;background:var(--color-panel);color:var(--color-fg);text-align:left;cursor:pointer;transition:border-color .16s ease}.car-browser:not(:has(:focus-visible)) .car-option:hover{border-color:#8c8c96}@media(forced-colors:active){.car-browser .car-option[aria-pressed=true]{border:1px solid ButtonText!important}}.car-option img,.car-preview-placeholder{width:100%;aspect-ratio:16 / 9;display:block;object-fit:contain}.car-preview-placeholder{display:grid;place-items:center;font:11px var(--font-display);color:#b9b9c0}.car-option-name{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:0 12px;font:12px/1.5 var(--font-display)}.car-option-code{display:block;padding:4px 12px 12px;font:10px/1.5 var(--font-mono);color:#b9b9c0}.car-browser-card>a{display:inline-flex;align-items:center;min-height:44px;padding:4px 2px;font:11px/1.4 var(--font-display);color:#b9b9c0}.car-browser-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:12px 24px;border-top:1px solid var(--color-line);font:11px/1.5 var(--font-display);color:#b9b9c0;flex-shrink:0}.car-browser-footer [role=status]:empty{display:none}@media(min-width:700px){.car-browser-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1000px){.car-browser-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:767px){.car-browser-heading,.car-browser-grid{padding:16px}.car-browser-grid{gap:12px}.car-browser h2{font-size:24px}.car-browser-footer{padding:12px 16px}}.car-browse-trigger>:is(span,small){display:block;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.all-controls-trigger{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:8px;color:var(--color-muted);font:12px/1.4 var(--font-display);cursor:pointer}.all-controls-trigger>[aria-hidden]{font-size:18px;line-height:1}.all-controls-trigger:hover{color:var(--color-fg)}.all-controls-trigger:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px;border-radius:var(--radius-control)}.command-menu-close{min-width:44px;min-height:44px;padding:8px;border:1px solid var(--color-line);border-radius:var(--radius-control);color:var(--color-muted);font:13px/1.4 var(--font-display);cursor:pointer}.command-menu-close:hover{color:var(--color-fg);border-color:var(--color-muted)}.command-menu-close:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}.command-menu-footer{border-top:1px solid var(--color-line);padding:10px 16px;font:12px/1.5 var(--font-display);color:#b9b9c0}@media(max-width:767px),(pointer:coarse){.keyboard-hint{display:none}.command-menu-footer:has(.keyboard-hint){border:0;padding:0}}@media(max-width:767px){.all-controls-trigger{flex:0 0 44px;pointer-events:auto}.all-controls-trigger>span:last-child{display:none}}#desktop-dock button[aria-label="Reset camera view"]{white-space:nowrap;flex-shrink:0}@media(min-width:768px)and (max-width:1023px){#desktop-dock button[aria-label="Reset camera view"]>span:last-child{display:none}}.car-controls-row{position:relative;display:flex;align-items:center;gap:6px;padding:6px;border:1px solid var(--color-line);border-radius:var(--radius-panel);background:#17171cf2;pointer-events:auto}.car-controls-row>*{min-width:0;flex-shrink:0}.scene-control-button,.car-controls-row .all-controls-trigger{min-height:44px;border-radius:var(--radius-control);color:#c9c9d0;font:12px/1.4 var(--font-display);letter-spacing:0;text-transform:none;transform:none;scale:none}.car-controls-row button:not(.swatch){min-height:44px;border-radius:var(--radius-control);transform:none;scale:none}.scene-control-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:8px;border:0;background:transparent;cursor:pointer;pointer-events:auto}.car-controls-row button:not(.swatch):hover{color:var(--color-fg);background:var(--color-control-hover)}.scene-control-button:disabled{opacity:.4;cursor:default}.scene-control-button[aria-pressed=true]{color:var(--color-fg)}.car-paint-slot,.car-action-slot{display:flex;align-items:center;justify-content:center;min-height:44px}.car-action-slot:empty{display:none}.car-livery{font:12px/1.4 var(--font-display);color:var(--color-muted)}.car-choice .car-browse-trigger{height:44px;min-width:0;font-size:13px}.car-action-slot>button{display:grid;grid-template-columns:14px minmax(0,1fr);width:100%;padding-inline:6px;gap:4px;text-align:left}.car-action-slot>button>[aria-hidden]{display:inline-grid;place-items:center;width:14px}.car-controls-row .swatch:not(span){width:24px;height:24px}.mobile-paint-chip{width:18px;height:18px;border:1px solid var(--color-line);border-radius:50%}#desktop-dock .car-choice{width:240px}#desktop-dock .car-action-slot{width:80px}#desktop-dock .car-controls-row>button{height:44px;white-space:nowrap}#desktop-dock .car-paint-slot{width:264px}#desktop-dock .car-paint-slot[data-fixed-livery]{width:112px}#desktop-dock .all-controls-trigger{width:100px}#desktop-dock .car-paint-slot>[role=group]{width:100%;justify-content:center}.car-controls-row button[aria-label^="Lighting:"] svg{width:16px;height:16px;flex-shrink:0}#desktop-dock button[aria-label^="Lighting:"]{width:88px;display:grid;grid-template-columns:16px minmax(0,1fr);text-align:left}#desktop-dock button[aria-label^="Lighting:"] .control-group-label{margin:0}@media(min-width:768px)and (max-width:1023px){.car-controls-row{gap:4px}#desktop-dock .car-choice{width:212px}#desktop-dock .car-paint-slot:not([data-fixed-livery]){width:212px}#desktop-dock .car-paint-slot>[role=group]{gap:4px}#desktop-dock .all-controls-trigger{width:92px}#desktop-dock button[aria-label^="Lighting:"]{width:44px;display:flex;gap:0}}@media(max-width:767px){#mobile-bar .car-controls-row{display:grid;width:min(360px,calc(100vw - 32px));grid-template-columns:minmax(0,1fr);gap:4px}#mobile-bar .car-control-buttons{display:flex;justify-content:center;align-items:center;gap:4px}#mobile-bar .car-paint-slot{flex:0 1 154px;min-width:0}#mobile-bar .car-paint-slot[data-fixed-livery]{flex:0 0 auto;padding-inline:8px}#mobile-bar .car-action-slot{flex:0 0 70px}#mobile-bar .car-choice-mobile{grid-column:1 / -1;width:100%;padding-bottom:6px;border-bottom:1px solid var(--color-line);border-radius:0}#mobile-bar .car-browse-trigger{flex:1;width:auto}#mobile-bar .car-paint-slot>button,#mobile-bar button[aria-label^="Lighting:"]{display:grid;width:100%;height:44px;grid-template-columns:18px minmax(0,1fr);gap:6px;text-align:left}#mobile-bar button[aria-label^="Lighting:"]{flex:0 0 74px;grid-template-columns:16px minmax(0,1fr)}#mobile-bar :is(.mobile-paint-name,.mobile-light-name){position:static;grid-column:2;grid-row:1;min-width:0;padding:0;border:0;background:transparent;color:var(--color-fg);font:12px/1.4 var(--font-display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mobile-bar .car-paint-slot .swatch,#mobile-bar button[aria-label^="Lighting:"] svg{grid-column:1;grid-row:1}}.camera-reset-button{position:absolute;bottom:calc(100% + 10px);right:0;width:108px;height:44px;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-panel);pointer-events:auto}.camera-reset-button>span:last-child{font:12px/1.4 var(--font-display);letter-spacing:0;text-transform:none}@media(max-width:1023px){.camera-reset-button{justify-content:center;width:44px}.camera-reset-button>span:last-child{display:none}}@media(min-width:768px)and (max-height:500px){#desktop-dock{display:none}}.mobile-paint-name{border-radius:4px}#mobile-bar button[aria-label^="Paint:"]{position:relative}.mobile-light-name{border-radius:4px}#mobile-bar button[aria-label^="Lighting:"]{position:relative}.control-group-label{font-size:12px;color:var(--color-muted);margin-right:4px}@media(max-width:1023px){.control-group-label{display:none}}.swatch[data-paint-name]{position:relative}.swatch[data-paint-name]:focus-visible:after{content:attr(data-paint-name);position:absolute;left:50%;bottom:calc(100% + 12px);transform:translate(-50%);padding:6px 10px;border:1px solid var(--color-line);border-radius:4px;background:var(--color-bg);color:var(--color-fg);font:11px var(--font-display);white-space:nowrap}#desktop-dock svg{width:16px;height:16px}#desktop-dock button[aria-label="Reset camera view"]{color:#a3a3ad}#desktop-dock [role=status]{max-width:240px;white-space:normal;padding:10px 12px;border-radius:6px;font:12px/1.4 var(--font-display);letter-spacing:0;text-transform:none}.garage-brand{font-size:13px;font-weight:500}#nav{font:13px/1.4 var(--font-display);text-transform:none;letter-spacing:0}.portfolio-header{position:fixed;inset:0 0 auto;z-index:40;display:flex;align-items:center;justify-content:space-between;height:var(--portfolio-header-height);padding:0 5vw;background:transparent;border-bottom:1px solid transparent;transition:background-color .18s ease,border-color .18s ease;pointer-events:none}.portfolio-header>header,.portfolio-header #nav{position:static}.portfolio-header>*{pointer-events:auto}.portfolio-header-reading{background:#101014;border-bottom:1px solid var(--color-line)}.portfolio-mobile-header{display:none}.portfolio-header #nav{gap:24px}.portfolio-menu summary:focus-visible{outline:2px solid #e8e8e6;outline-offset:3px}@media(min-width:768px)and (max-width:1023px){.portfolio-header #nav,.portfolio-header #nav>div{gap:14px}}@media(max-width:767px){.portfolio-header{padding:0 6vw}.portfolio-mobile-header{display:flex;align-items:center;gap:8px}.portfolio-mobile-header>a{padding:8px 12px;letter-spacing:0;font-family:var(--font-display);font-size:13px;border-radius:var(--radius-control);text-transform:none}.portfolio-menu summary{cursor:pointer;display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;font-size:13px;border:1px solid var(--color-control-line);background:var(--color-panel);border-radius:var(--radius-control);list-style:none}.portfolio-menu summary::-webkit-details-marker{display:none}.portfolio-menu summary>span{transition:transform .16s ease}.portfolio-menu[open] summary>span{transform:rotate(45deg)}.portfolio-menu nav{position:absolute;top:76px;left:6vw;right:6vw;padding:8px 20px;background:#101014;border:1px solid #64646e;border-radius:8px;box-shadow:0 20px 40px #0008}.portfolio-menu[open] nav{animation:dialog-enter .16s ease-out both}.portfolio-menu nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--color-line);color:#aaaab2;font-size:16px}.portfolio-menu nav a:last-child{border:0}.portfolio-menu nav a[aria-current]{color:var(--color-fg)}}.portfolio-menu nav{max-height:calc(100dvh - 100px);overflow-y:auto;overscroll-behavior:contain}.portfolio-menu summary{transition:color .18s ease,border-color .18s ease,background-color .18s ease,transform .18s cubic-bezier(.22,1,.36,1)}@media(prefers-reduced-motion:reduce){.portfolio-menu summary{transition:none}}.portfolio-menu nav{scrollbar-width:thin;scrollbar-color:#55545a #101014}.portfolio-header a[aria-label^=Résumé]{min-height:44px;padding:8px 14px;border-radius:var(--radius-control);border-color:var(--color-control-line);background:var(--color-panel);font:13px/1.4 var(--font-display);letter-spacing:0;text-transform:none}.scene-loading-note,.car-load-notice{position:fixed;left:50%;transform:translate(-50%);bottom:11rem;z-index:35;width:min(360px,calc(100vw - 40px));font-size:12px;line-height:1.6;text-align:center;color:var(--color-muted)}.car-load-notice{padding:16px;background:#17131bf5;border:1px solid var(--color-line);border-radius:5px}.car-load-notice button{min-height:44px;margin-top:8px;padding:0 16px;color:var(--color-fg);border:1px solid var(--color-line);cursor:pointer}@media(max-width:767px)and (max-height:740px){.scene-loading-note,.car-load-notice{bottom:140px;background:var(--color-bg);padding:10px}}#sec-about{min-height:auto;align-items:flex-start;padding-block:120px;background:var(--color-bg);user-select:text;-webkit-user-select:text;border-top:1px solid var(--color-line)}.about-details{margin-top:32px;border-top:1px solid var(--color-line)}.about-details>div{padding:14px 0;display:grid;grid-template-columns:110px minmax(0,1fr);gap:20px;border-bottom:1px solid var(--color-line)}.about-details dt{color:var(--color-muted);font:12px/1.7 var(--font-display)}.about-details dd{font-size:14px;line-height:1.7}@media(max-width:767px){#sec-about{padding-block:96px}.about-details>div{grid-template-columns:90px minmax(0,1fr);gap:12px}}#sec-about .panel>*{opacity:1;transform:none}#sec-about .panel{text-shadow:none}#sec-about .panel:before{display:none}@media(min-width:1024px){#sec-about .about-copy{max-width:1180px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(240px,1fr);column-gap:72px}.about-copy>:not(dl){grid-column:1}.about-copy .about-details{grid-column:2;grid-row:2 / span 3;align-self:start;margin-top:4px}}.model-credits-panel{position:relative;width:100%;max-width:440px;max-height:84dvh;overflow-y:auto;padding:24px;border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-panel);text-align:left;scrollbar-width:thin;scrollbar-color:#55545a var(--color-panel)}.model-credits-close{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--color-line);border-radius:50%;color:#b9b9c0;font-size:20px;cursor:pointer}.model-credits-title{padding-right:44px;font:500 20px/1.2 var(--font-display);letter-spacing:-.02em}.model-credits-description,.model-credits-notice{margin-top:12px;color:#b9b9c0;font:12px/1.6 var(--font-display)}.model-credits-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin:20px 0 0;padding:0;list-style:none}.model-credits-list li{min-width:0;font:12px/1.5 var(--font-display);overflow-wrap:anywhere}.model-credits-list :is(a,span){font-size:inherit;line-height:inherit}.model-credits-list a{display:inline-flex;align-items:center;min-height:32px;color:#b9b9c0}.model-credits-panel :is(a,button){transition:color .16s ease,border-color .16s ease}.model-credits-panel :is(a,button):hover{color:var(--color-fg);border-color:var(--color-muted)}.model-credits-panel :is(a,button):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}@media(max-width:767px){.model-credits-panel{padding:20px}.model-credits-list a{min-height:44px}}@media(max-width:380px){.model-credits-list{grid-template-columns:minmax(0,1fr)}}#sec-contact .panel>*{opacity:1;transform:none}#sec-contact{user-select:text;-webkit-user-select:text;position:relative;min-height:max(100dvh,568px);align-items:center;justify-content:center;padding-top:104px;padding-bottom:104px;background:radial-gradient(ellipse at center,#101014b3 0,#10101466 35%,#10101400 75%)}#sec-contact .panel{position:relative;isolation:isolate;width:100%;text-align:center;text-shadow:0 1px 6px #101014}#sec-contact .panel:before{content:"";position:absolute;inset:-32px -12px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse,#101014d9 20%,#10101499 48%,transparent 76%)}#sec-contact h2{margin-top:0}#sec-contact .panel>p{color:var(--color-fg)}.contact-email{margin-top:20px}.contact-email-actions{display:flex;justify-content:center;align-items:center;gap:8px}.contact-email-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;border-bottom:1px solid var(--color-muted);color:var(--color-fg);font-size:clamp(17px,2.4vw,23px);text-decoration:none;white-space:nowrap}.contact-email-link span{font-size:14px}.contact-copy{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;color:#b9b9c0;border-radius:var(--radius-control)}.contact-copy[data-copied]{color:var(--color-fg)}.contact-copy-status{min-height:3em;margin-top:4px;font:12px/1.5 var(--font-display);color:#b9b9c0}.contact-social-links{display:flex;justify-content:center;gap:24px}.contact-social-links a{display:inline-flex;align-items:center;gap:5px;min-height:44px;color:#b9b9c0;font-size:13px;text-decoration:none}.contact-footer{position:absolute;inset-inline:5vw;bottom:max(24px,env(safe-area-inset-bottom));pointer-events:auto;text-align:center}.contact-credits{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding-inline:8px;color:#b9b9c0;font:12px/1.5 var(--font-display);border-radius:var(--radius-control)}#sec-contact :is(a,button){transition:color .16s ease,border-color .16s ease}#sec-contact :is(a,button):hover{color:var(--color-fg);border-color:var(--color-fg)}#sec-contact :is(a,button):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}#sec-experience{padding-top:120px;align-items:flex-start}@media(max-width:767px){#sec-experience{padding-top:100px}}#sec-experience .panel>*{opacity:1;transform:none}.experience-outcome{display:grid;grid-template-columns:140px minmax(0,1fr) 18px;gap:18px;width:100%;text-align:left;border-top:1px solid var(--color-line);padding:16px 0;cursor:pointer;transition:background .16s}.experience-outcome-lead .experience-figure strong{font-size:28px;color:var(--color-fg)}.experience-outcome:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px;border-radius:var(--radius-control)}.experience-outcome:last-child{border-bottom:1px solid var(--color-line)}.experience-outcome:hover{background:#ffffff06}.experience-figure,.experience-story{display:flex;flex-direction:column;gap:5px}.experience-figure strong{font-size:21px;line-height:1.2;font-weight:500;letter-spacing:-.04em}.experience-figure span{font:9px/1.4 var(--font-mono);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em}.experience-story strong{font-size:14px;font-weight:500;line-height:1.4}.experience-story span{font-size:12px;color:var(--color-muted);line-height:1.5}.experience-arrow{color:var(--color-muted)}#sec-experience .panel{text-align:left}@media(max-width:767px){.experience-outcome{grid-template-columns:100px minmax(0,1fr) 12px;gap:12px;padding:18px 0}.experience-figure strong{font-size:18px}.experience-outcome-lead .experience-figure strong{font-size:22px}.experience-story strong{font-size:13px}#sec-experience li{flex-wrap:wrap;row-gap:2px}}@media(prefers-reduced-motion:reduce){.experience-outcome{transition:none}}#sec-experience{background:var(--color-bg)}@media(max-width:380px){.experience-role{display:block}.experience-role>span:last-child{display:block;margin-top:4px;font-size:11px}.experience-outcome{grid-template-columns:minmax(0,1fr) 16px;gap:12px}.experience-figure{grid-column:1;flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:6px 12px}.experience-figure span{font-size:10px}.experience-story{grid-column:1;grid-row:2}.experience-story span{font-size:13px;line-height:1.6}.experience-arrow{grid-column:2;grid-row:1}}#sec-experience{user-select:text;-webkit-user-select:text;min-height:auto;padding-bottom:64px}@media(max-width:767px){#sec-experience{padding-bottom:48px}}.experience-more summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;border-bottom:1px solid var(--color-line);font-size:13px;color:var(--color-muted)}.experience-more summary::-webkit-details-marker{display:none}.experience-more[open] summary span{transform:rotate(45deg)}.experience-more summary:hover{color:var(--color-fg)}.experience-open-source{display:grid;grid-template-columns:140px 1fr;gap:8px 18px;width:100%;padding:24px 0 0;text-align:left;cursor:pointer}.experience-open-source>span:first-child{grid-row:1 / 3;font:10px var(--font-mono);color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;padding-top:3px}.experience-open-source strong{font-size:14px;font-weight:500}.experience-open-source>span:last-child{font-size:12px;line-height:1.5;color:var(--color-muted)}#sec-experience .panel{text-shadow:none}#sec-experience .panel:before{display:none}@media(max-width:767px){.experience-open-source{grid-template-columns:100px 1fr;column-gap:12px}}.experience-company{display:block;margin-top:2px;font-size:12px}.experience-role{padding:8px 0}.experience-outcome:nth-child(-n+2) .experience-figure strong{font-size:28px;font-weight:600}@media(max-width:767px){.experience-outcome:nth-child(-n+2) .experience-figure strong{font-size:22px}}@media(min-width:1024px){#sec-experience .panel{max-width:1180px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);column-gap:64px}#sec-experience .panel>:is(span,h2,ul){grid-column:1}#sec-experience h2{font-size:clamp(32px,4vw,44px)}#sec-experience .panel>p{grid-column:2;grid-row:2;align-self:center;margin:0}#sec-experience .panel>div{grid-column:2;grid-row:3}#sec-experience .experience-more{grid-column:2;grid-row:4}#sec-experience .experience-open-source{grid-column:1;grid-row:4;align-self:start}}#sec-intro{position:relative;text-align:left;padding-top:15vh}.garage-intro{width:100%;max-width:none;text-shadow:none}.garage-intro:before{display:none}.garage-intro h1{font-size:clamp(72px,12vw,164px);font-weight:500;letter-spacing:-.075em;line-height:1;margin:0}.garage-intro p{margin-top:24px;font-size:16px;line-height:1.6}@media(max-width:767px){#sec-intro{padding-top:14vh}.garage-intro h1{font-size:clamp(58px,17vw,80px)}.garage-intro p{font-size:14px;margin-top:20px}}.orbit-invitation{position:fixed;bottom:7rem;left:50%;transform:translate(-50%);z-index:20;pointer-events:none;color:var(--color-muted);font-size:12px;white-space:nowrap;transition:opacity .4s}.orbit-invitation-used{opacity:0}@media(max-width:767px){.orbit-invitation{bottom:max(144px,calc(env(safe-area-inset-bottom) + 128px));font-size:12px}}@media(prefers-reduced-motion:reduce){.orbit-invitation{transition:none}}.orbit-status{display:none;pointer-events:none;position:fixed;z-index:35;left:0;right:0;bottom:150px;text-align:center;font:11px/1.5 var(--font-mono);color:var(--color-fg)}@media(max-width:767px)and (max-height:740px){#sec-intro{min-height:820px;padding-top:104px}#sec-intro .garage-intro h1{font-size:48px}#sec-intro .garage-intro p{font-size:12px;line-height:1.5;margin-top:12px}}@media(min-width:768px)and (max-height:500px){#sec-intro{padding-top:110px;min-height:620px}.garage-intro h1{font-size:64px}.garage-intro p{font-size:13px;margin-top:12px}}.garage-intro p{position:relative;max-width:45ch;text-wrap:pretty;color:#d0d0d3;text-shadow:0 1px 12px #0a0a14,0 1px 4px #0a0a14}@media(min-width:768px)and (max-height:800px){#sec-intro{padding-top:110px}.garage-intro h1{font-size:clamp(72px,10vw,136px)}.garage-intro p{margin-top:18px;max-width:32ch}}@media(pointer:coarse){body.orbiting .orbit-status{display:block}}#sec-work{padding-bottom:48px}.garage-work{width:100%;max-width:1180px;text-align:left;text-shadow:none}.garage-work:before{display:none}.garage-work-heading{display:flex;align-items:baseline;justify-content:space-between}.garage-work-heading h2{font-size:clamp(32px,4vw,44px);font-weight:500;letter-spacing:-.04em;line-height:1.1}.garage-work-heading span{font:13px/1.5 var(--font-display);color:#aaaab2}.garage-filters{display:flex;padding:18px 0}.garage-filters button{min-height:44px;font-size:13px;color:#aaaab2;cursor:pointer;border-bottom:1px solid transparent}.garage-project{padding:24px 0;border-top:1px solid var(--color-line)}.garage-project h3{font-size:24px;font-weight:500;letter-spacing:-.7px;margin-bottom:14px}.garage-project p{color:#b9b9c0;font-size:14px;line-height:1.7;max-width:550px}.garage-project .garage-stack{font:12px/1.7 var(--font-display);margin-top:20px}.garage-project figure{margin:0}.garage-project img{width:100%;height:auto;border:1px solid var(--color-line)}.garage-project figcaption{font:10px/1.6 var(--font-mono);color:#aaaab2;margin-top:10px}.garage-project-links{display:flex;gap:24px;margin-top:22px;font-size:13px}.garage-project-links>*{cursor:pointer;padding:8px 0;border-bottom:1px solid #777780}@media(max-width:767px){.garage-work-heading span{display:none}.garage-project-links>*{min-height:44px}}.garage-project img{object-fit:cover;object-position:top;background:#141419}.garage-project-featured{display:block}.garage-project-featured .garage-project-copy{display:grid;grid-template-columns:1fr 1.4fr auto;gap:16px 32px;align-items:start;margin-bottom:28px}.garage-project-featured h3,.garage-project-featured .garage-project-links{margin:0}.garage-project-featured .garage-stack{grid-column:2;margin:0}.garage-project-featured .garage-project-links{grid-column:3;grid-row:1 / 3}.garage-project img{max-height:none;display:block}@media(max-width:767px){.garage-project-featured .garage-project-copy{display:block}.garage-project-featured h3{margin-bottom:12px}#sec-work{padding-bottom:100px}}.project-toolbar{position:sticky;top:var(--portfolio-header-height);z-index:15;background:#101014;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--color-line);margin-bottom:8px}.project-browse{display:flex;align-items:center;gap:20px;color:#aaaab2;font-size:12px}.project-browse p{white-space:nowrap}.project-toolbar select{appearance:none;color-scheme:dark;background-color:#101014;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4.5 3 3 3-3' fill='none' stroke='%23b9b9c0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;border:1px solid var(--color-control-line);border-radius:var(--radius-control);color:var(--color-fg);min-height:44px;padding:8px 36px 8px 12px;font:13px/1.4 var(--font-display);cursor:pointer;transition:border-color .16s ease}.project-toolbar select:hover{border-color:#a3a3ad}.project-toolbar select:focus-visible{border-color:var(--color-fg)}@media(forced-colors:active){.project-toolbar select{appearance:auto;background-image:none;padding-inline-end:12px}}.project-toolbar select:focus-visible{outline:2px solid #e8e8e6;outline-offset:3px}@media(max-width:767px){.project-toolbar{flex-wrap:wrap;padding-bottom:12px}.garage-filters{padding:8px 0;width:100%;justify-content:space-between}.project-browse{width:100%;justify-content:space-between}}.project-group-label{padding:20px 0 8px;font:12px/1.5 var(--font-display);color:var(--color-muted)}.project-featured-group>.garage-project:first-of-type{padding-top:12px;border-top:0}.project-gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:48px 0 24px}.project-gallery-heading h3{font-size:24px;font-weight:500;letter-spacing:-.7px}.project-gallery-heading>span{font:11px var(--font-mono);color:var(--color-muted)}.project-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.project-gallery .garage-project-compact{display:flex;flex-direction:column;min-width:0;padding:24px 0 32px}.project-gallery .garage-project-compact .garage-project-copy{display:flex;flex-direction:column;align-items:stretch;gap:0;flex:1;margin-bottom:24px}.project-gallery .garage-project-compact h3{margin:0 0 12px}.project-gallery .garage-project-compact .garage-stack{margin-top:12px}.project-gallery .garage-project-compact .garage-project-links{margin-top:auto;padding-top:16px}.project-gallery .garage-project-compact .project-preview>span{position:static;display:block;border:0;background:transparent;padding:10px 0}@media(max-width:767px){.project-gallery{grid-template-columns:1fr}.project-gallery-heading{display:block;padding-top:36px}.project-gallery-heading>span{display:block;margin-top:8px}.project-gallery .garage-project-compact{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px}.project-gallery .garage-project-compact figure{grid-column:1;grid-row:1}.project-gallery .garage-project-compact .garage-project-copy{grid-column:2;margin-bottom:0}.project-gallery .garage-project-compact h3{font-size:20px;margin-bottom:8px}.project-gallery .garage-project-compact .garage-stack{display:none}.project-gallery .garage-project-compact p{font-size:12px;line-height:1.6}.project-gallery .garage-project-compact .garage-project-links{flex-wrap:wrap;gap:4px 16px;padding-top:8px}.project-gallery .garage-project-compact .project-preview>span{font-size:10px}}.preview-thumbnail{overflow:hidden}@media(max-width:767px){.project-gallery .preview-thumbnail{aspect-ratio:1;border:1px solid var(--color-line)}.project-gallery .preview-thumbnail img{height:100%;aspect-ratio:1;object-fit:cover;transform:scale(1.4);border:0}.project-gallery [data-project=platform] img{object-position:right;transform-origin:right center}.project-gallery [data-project=iguess] img{object-position:left top;transform-origin:left top}.project-gallery [data-project=wherever] img{object-position:right;transform-origin:right center}.project-gallery [data-project=bloomnote] img{object-position:right center;transform-origin:right center}.project-gallery [data-project=mrrp] img{object-position:right;transform-origin:right center}}#sec-work{user-select:text;-webkit-user-select:text}.garage-project-featured h3{font-size:clamp(28px,3vw,36px);line-height:1.1}.garage-project .garage-stack{color:var(--color-muted)}.garage-project-links button,.garage-project-links a{min-height:44px}.garage-project-links button{color:var(--color-fg)}.garage-project-links a{color:var(--color-muted)}.garage-project .preview-states button{border:0;border-bottom:1px solid var(--color-line);min-height:44px}.garage-project .preview-states button[aria-pressed=true]{background:transparent;color:var(--color-fg);border-bottom:2px solid var(--color-fg)}.garage-project-featured .project-preview[data-project=bloomnote][data-view="0"] img{object-position:center 18%}.garage-project-links :is(a,button):hover{color:var(--color-fg);border-color:var(--color-fg)}@media(min-width:768px)and (max-width:1023px){.garage-project-featured .garage-project-copy{display:block}.garage-project-featured .garage-project-links{margin-top:12px}}@media(max-width:767px){.garage-project-featured .garage-project-links{margin-top:12px;gap:20px}.garage-project-featured .garage-stack{margin-top:10px}.project-gallery-heading{padding-bottom:16px}}.project-role{font:10px/1.5 var(--font-mono);color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px}.garage-project-featured .project-preview[data-project=mrrp] img,.garage-project-featured .project-preview[data-project=bloomnote] img{object-fit:cover;object-position:center top}.garage-project .project-title .project-role{font:10px/1.5 var(--font-mono);margin:0 0 10px}.garage-project-featured .project-title{grid-column:1;grid-row:1 / 3}.garage-project-featured .project-preview img{max-height:520px}@media(max-width:767px){.garage-project-featured .project-preview img{max-height:none}}.garage-project-featured .project-preview[data-project=mrrp][data-view="0"] img{object-position:center 18%}#sec-work{background:var(--color-bg)}.garage-filters{align-items:center;gap:8px}.filter-label{margin-right:12px;font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.garage-filters button{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius-control)}.garage-filters button:hover{border-color:var(--color-line);color:var(--color-fg)}.garage-filters button[aria-pressed=true]{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.garage-project-featured .preview-thumbnail{border:1px solid var(--color-line);background:#17171b;padding:0}.garage-project-featured .project-preview img{aspect-ratio:16 / 10;object-fit:cover;object-position:center top;background:#101014;border:0}.garage-project-featured .project-preview>span{position:static;display:block;border:0;background:transparent;padding:12px 0 4px}.project-gallery .garage-project-compact figcaption{display:block;margin-top:0}.project-gallery .garage-project-compact:has(.contribution-panel){grid-column:1 / -1}@media(max-width:1023px){.filter-label{display:none}}@media(max-width:767px){.project-gallery .garage-project-compact:has(.contribution-panel){display:block}.project-gallery .garage-project-compact:has(.contribution-panel) .garage-project-copy{margin-bottom:24px}.garage-filters{gap:4px}.garage-filters button{gap:5px;padding:0 7px;font-size:11px}.garage-project-featured .preview-thumbnail{padding:7px}.project-gallery .garage-project-compact figcaption{display:none}}.garage-project-featured [data-project=bloomnote] img{object-fit:cover;object-position:top}@media(min-width:768px){.garage-project-featured .project-preview[data-project=bloomnote][data-view="0"] img{aspect-ratio:2 / 1;max-height:560px}.garage-project-featured .project-preview[data-project=mrrp][data-view="0"] img{aspect-ratio:3 / 2;max-height:640px}}.garage-project-featured figcaption{max-width:72ch;margin:12px 0 0;font:12px/1.7 var(--font-display);color:var(--color-muted)}.garage-project .preview-states{margin-bottom:0}@media(max-width:767px){.garage-project-featured figcaption{font-size:12px}.garage-project-featured{padding-block:28px}}.project-toolbar{padding-block:8px;box-shadow:0 12px 16px -12px #000}.garage-project{scroll-margin-top:190px}.garage-project-featured .project-preview[data-project=bloomnote][data-view="0"] img{transform:scale(1.6);transform-origin:center 15%}.garage-project-featured .project-preview[data-project=mrrp][data-view="0"] img{transform:scale(1.4);transform-origin:center 40%}@media(max-width:767px){.garage-project-featured .project-preview[data-project=bloomnote][data-view="0"] img{object-position:center top;transform-origin:center 8%}}.mobile-project-filter{display:none}@media(max-width:767px){.project-toolbar{display:grid;grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:10px;padding-block:8px}.project-toolbar .garage-filters{display:none}.mobile-project-filter{display:block}.project-browse{min-width:0;gap:0}.project-toolbar select{width:100%;min-width:0}.project-browse p{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.garage-project{scroll-margin-top:160px}}.garage-project .garage-stack{font-size:12px;line-height:1.6}#sec-work{padding-top:max(120px,13vh)}.garage-project-compact .project-preview[data-project=bloomnote] img{transform:scale(1.5);transform-origin:center 15%}.garage-project-compact .project-preview[data-project=mrrp] img{transform:scale(1.4);transform-origin:center 40%}.screenshot-unavailable{display:grid;place-items:center;min-height:180px;padding:24px;border:1px solid var(--color-line);color:var(--color-muted);background:var(--color-bg);font:12px/1.6 var(--font-display);text-align:center}.story-reading-progress{position:absolute;inset:0 0 auto;z-index:2;height:2px;pointer-events:none;background:var(--color-line)}.story-reading-progress>span{display:block;height:100%;background:var(--color-fg);transform-origin:left}.screenshot-image.is-loading{background:repeating-linear-gradient(135deg,#202025 0 12px,#242429 12px 24px);color:var(--color-muted)}:is(.preview-thumbnail,.story-image-crop){background:var(--color-bg);border-radius:8px;isolation:isolate}:is(.preview-thumbnail,.story-image-crop) .screenshot-image{display:block;width:100%;image-rendering:auto}:is(.project-preview,.story-image-trigger)+figcaption,.story-screenshot figcaption{color:var(--color-muted);font:12px/1.6 var(--font-display);text-wrap:pretty;overflow-wrap:anywhere}.screenshot-image:not(.is-loading){animation:app-fade-in .16s ease-out both}.preview-dialog{width:min(1400px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:20px;overflow:hidden;border:1px solid var(--color-line);border-radius:var(--radius-panel);background:var(--color-panel);color:var(--color-fg)}.preview-dialog[open]{display:flex;flex-direction:column}.preview-dialog::backdrop{background:#05050de6}.preview-dialog-heading{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;flex-shrink:0;gap:12px;margin-bottom:12px}.preview-dialog-heading>span{min-width:0;overflow-wrap:anywhere;font:500 14px/1.4 var(--font-display)}.preview-dialog-actions{display:flex;grid-column:2;grid-row:1;flex-wrap:wrap;align-items:center;gap:8px}.preview-dialog-close{grid-column:3;grid-row:1}.preview-dialog button,.preview-dialog-actions>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--color-line);border-radius:var(--radius-control);font:12px/1.4 var(--font-display);white-space:nowrap;cursor:pointer;transition:color .16s ease,border-color .16s ease,background-color .16s ease}.preview-dialog .preview-copy{min-width:128px}.preview-dialog-actions>button:not(.preview-copy){min-width:88px}.preview-dialog :is(button,a):hover{border-color:var(--color-muted);color:var(--color-fg);background-color:#ffffff06}.preview-dialog :is(button,a):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}.preview-view-navigation{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:8px;padding:8px 0;border-block:1px solid var(--color-line);font:12px/1.4 var(--font-display)}.preview-view-navigation button{flex:none;padding-inline:10px}.preview-view-navigation>span{min-width:0;text-align:center;overflow-wrap:anywhere}.preview-image{flex:1 1 auto;min-height:0;max-height:68dvh;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#55545a var(--color-panel)}.preview-image:focus-visible{outline:2px solid var(--color-fg);outline-offset:-3px}.preview-dialog img{width:100%;height:auto}.preview-image.is-zoomed img{width:max(100%,1000px);max-width:none}.preview-dialog>p{flex-shrink:0;margin-top:12px;color:#b9b9c0;font:12px/1.6 var(--font-display)}.preview-zoom-help{display:block;margin-bottom:8px;font:11px/1.5 var(--font-mono)}@media(max-width:600px){.preview-dialog{padding:16px}.preview-dialog-heading{grid-template-columns:minmax(0,1fr) auto}.preview-dialog-close{grid-column:2}.preview-dialog-actions{grid-column:1 / -1;grid-row:2}}.project-preview{display:block;width:100%;text-align:left;cursor:zoom-in;position:relative}.project-preview>span{position:static;display:block;background:transparent;border:0;padding:12px 0 4px;font-size:12px}.project-preview img{aspect-ratio:16 / 9;object-fit:cover;object-position:top}.preview-states{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.preview-states button{border:1px solid var(--color-line);background:transparent;color:var(--color-muted);padding:10px 12px;font:11px/1.4 var(--font-mono);cursor:pointer}.preview-states button[aria-pressed=true]{background:var(--color-fg);color:var(--color-bg);border-color:var(--color-fg)}.preview-states button:focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}.preview-view-links{display:flex;gap:18px;flex-wrap:wrap;margin:12px 0;font:10px/1.5 var(--font-mono);color:var(--color-muted)}.preview-view-links button{cursor:pointer;color:inherit;border:0;background:none;padding:0}.preview-view-links a{text-decoration:none}.preview-view-links>*{display:inline-flex;align-items:center;min-height:32px}@media(max-width:767px){.preview-view-links>*,.preview-states button{min-height:44px}}.contribution-flow{border-top:1px solid var(--color-line);margin-top:16px;font:12px/1.7 var(--font-mono)}.contribution-flow summary{cursor:pointer;color:var(--color-fg);padding:6px 0}.contribution-flow ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-left:24px}.contribution-flow li span{display:block;color:var(--color-muted);margin-top:8px}.contribution-flow p{color:var(--color-muted);font-size:10px}@media(max-width:767px){.contribution-flow ol{grid-template-columns:1fr;gap:12px}}.contribution-flow{padding:16px 24px}.contribution-panel{border:1px solid var(--color-line);background:#151519}.contribution-heading{display:flex;justify-content:space-between;gap:20px;padding:20px 24px;border-bottom:1px solid var(--color-line);font:11px/1.5 var(--font-mono);color:var(--color-muted)}.contribution-heading a{color:var(--color-fg)}.contribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.contribution-grid>a{display:flex;flex-direction:column;gap:14px;padding:28px 24px;text-decoration:none;border-right:1px solid var(--color-line)}.contribution-grid>a:last-child{border-right:0}.contribution-grid>a:hover{background:#ffffff05}.contribution-number,.contribution-label{font:10px var(--font-mono);color:var(--color-muted)}.contribution-number{margin-bottom:18px}.contribution-grid strong{font-size:22px;line-height:1.15;font-weight:500;letter-spacing:-.03em}.contribution-grid a>span:last-child{font-size:13px;line-height:1.65;color:var(--color-muted)}@media(max-width:767px){.contribution-heading{flex-wrap:wrap;gap:8px;padding:16px}.contribution-grid{grid-template-columns:1fr}.contribution-grid>a{padding:24px 16px;gap:10px;border-right:0;border-bottom:1px solid var(--color-line)}.contribution-grid>a:last-child{border-bottom:0}.contribution-number{margin-bottom:8px}}.work-story{font-size:.98rem;line-height:1.6;color:#c9c9ce}.work-story h4{font-size:12px;color:#aaaab2;margin-bottom:8px}.work-story section{margin-bottom:24px}.work-story summary{cursor:pointer;padding:14px 0;border-top:1px solid var(--color-line)}.work-story details p{margin-top:16px}.work-story{user-select:text;-webkit-user-select:text}.work-story-overview{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.work-story-overview:has(>div:only-child){grid-template-columns:1fr}.work-story-overview figure{margin:0;position:sticky;top:0}.work-story-overview img{width:100%;border:1px solid var(--color-line)}.work-story-overview figcaption{font:10px/1.6 var(--font-mono);color:var(--color-muted);margin-top:12px}@media(max-width:767px){.work-story-overview{grid-template-columns:1fr}.work-story-overview figure{position:static;grid-row:2}}.work-story-overview section p{margin-top:6px;max-width:58ch;line-height:1.65}.work-story-overview h4{font:10px/1.5 var(--font-mono);text-transform:uppercase}@media(max-width:767px){.work-story-overview{gap:28px}.work-story details p{line-height:1.7;margin:16px 0}}.work-story-overview section+section{border:0;padding-top:0;margin-top:24px}.work-story-overview h4{color:var(--color-fg);letter-spacing:.06em}@media(max-width:767px){.work-story-overview section{margin-bottom:16px}}.story-image-trigger{display:block;width:100%;text-align:left;cursor:pointer}.story-image-crop{display:block;aspect-ratio:16 / 10;overflow:hidden;border:1px solid var(--color-line)}.work-story-overview .story-image-crop img{width:100%;height:100%;object-fit:cover;object-position:center top;border:0}.story-screenshot:has(img[src*=mrrp-room]) .story-image-crop{aspect-ratio:4 / 3}.story-screenshot:has(img[src*=bloomnote-garden]) .story-image-crop{aspect-ratio:3 / 2}.story-image-crop img[src*=bloomnote-garden]{transform:scale(1.75);transform-origin:center 15%}.story-image-crop img[src*=mrrp-room]{transform:scale(1.6);transform-origin:center 40%}.story-image-crop:has(.screenshot-unavailable){aspect-ratio:auto;overflow:visible}.story-image-action{display:inline-block;margin-top:8px;padding:4px 0;border-bottom:1px solid var(--color-line);font:11px/1.5 var(--font-display);color:var(--color-muted)}.story-image-trigger:hover .story-image-action{color:var(--color-fg)}.story-image-trigger:focus-visible{outline:2px solid var(--color-fg);outline-offset:4px}.story-screenshot figcaption{font:11px/1.7 var(--font-display);margin-top:10px}.engineering-story{margin:32px 0;padding-top:24px;border-top:1px solid var(--color-line)}.engineering-story figure{margin:0}.engineering-story h4{color:var(--color-fg);font:10px/1.5 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.engineering-story p{margin:8px 0 0;font-size:14px;line-height:1.65}.engineering-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:20px 0 24px;padding:0}.engineering-flow li{position:relative;padding:16px;border:1px solid var(--color-line);background:#ffffff05}.engineering-step{display:block;margin-bottom:14px;color:var(--color-muted);font:10px/1 var(--font-mono)}.engineering-flow strong{color:var(--color-fg);font-size:14px;font-weight:500}.engineering-flow p{font-size:13px}.engineering-arrow{position:absolute;top:calc(50% - 10px);right:-23px;width:20px;height:20px;stroke:var(--color-muted);fill:none;stroke-width:1.25}.engineering-notes{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work-story .engineering-notes section{margin:0}@media(max-width:767px){.engineering-flow,.engineering-notes{grid-template-columns:1fr}.engineering-arrow{top:auto;right:calc(50% - 10px);bottom:-23px;transform:rotate(90deg)}}.story-scroll-shell{position:relative;display:flex;flex-direction:column;overflow:hidden;flex:1;min-height:0}.story-scroll-area{flex:1;min-height:0}.story-scroll-cue{position:absolute;bottom:0;left:0;right:0;padding:22px 0 8px;text-align:center;background:linear-gradient(transparent,#0a0a14 70%);pointer-events:none}.story-scroll-cue button{pointer-events:auto;cursor:pointer;border:1px solid var(--color-line);background:#0a0a14;color:var(--color-fg);min-height:44px;padding:8px 14px;border-radius:var(--radius-control);font:12px/1.4 var(--font-display)}.story-scroll-area:focus-visible{outline:2px solid var(--color-fg);outline-offset:-3px}.story-scroll-area{scrollbar-width:thin;scrollbar-color:#55545a #101014}.work-modal-panel{max-height:min(90dvh,960px);border-radius:var(--radius-panel);background:var(--color-bg)}.work-technologies{margin-top:24px;color:var(--color-muted);font:11px/1.8 var(--font-mono);letter-spacing:0}.work-modal-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 24px;padding:8px 28px;border-top:1px solid var(--color-line);flex-shrink:0}.work-modal-nav,.work-modal-links{border:0;padding:0}.work-modal-nav button{width:44px;height:44px;border-radius:var(--radius-control)}.work-modal-links{gap:20px}.work-modal-links :is(a,button){border:0;border-bottom:1px solid var(--color-line);border-radius:0;padding:0;min-height:44px;font:11px/1.5 var(--font-display);letter-spacing:0;text-transform:none}.work-modal-footer :is(a,button):focus-visible{outline:2px solid var(--color-fg);outline-offset:3px}@media(max-width:767px){.work-modal-footer{padding:8px 20px;gap:4px 16px}.work-modal-links{width:100%;justify-content:space-between;gap:8px 16px}}.story-share-status:empty{display:none}.story-share-status,.story-share-fallback{flex-basis:100%;min-width:0;font-size:12px}.story-share-status{color:var(--color-fg)}.story-share-fallback{padding:12px;background:#101014;color:var(--color-fg);border:1px solid var(--color-muted);border-radius:4px}.story-share-fallback:focus-visible{outline:2px solid var(--color-fg);outline-offset:2px}.work-modal-panel>button[aria-label=Close]{min-width:44px;min-height:44px}body:not([data-car-controls=visible]) #desktop-dock,body:not([data-car-controls=visible]) #mobile-bar,body:not([data-car-controls=visible]) .orbit-invitation,body:not([data-car-controls=visible]) .orbit-status{visibility:hidden;pointer-events:none}body[data-car-view=reading]:not([data-contact-view=visible]) .portfolio-scene,body[data-car-view=reading] #desktop-dock,body[data-car-view=reading] #mobile-bar,body[data-car-view=reading] .car-load-notice,body[data-car-view=reading] .car-loading-progress,body[data-car-view=reading] .scene-loading-note{visibility:hidden}body[data-car-view=reading] .portfolio-header{background:var(--color-bg);border-bottom:1px solid var(--color-line)}@keyframes dialog-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dialog-overlay,.car-browser::backdrop,.preview-dialog::backdrop{animation:app-fade-in .16s ease-out both}.dialog-panel,.car-browser[open],.preview-dialog[open]{animation:dialog-enter .18s cubic-bezier(.22,1,.36,1) both}
